Файловый менеджер - Редактировать - /home/bean7936/perfect-community.com/442aa3/popup-maker.tar
Назад
templates/index.php 0000644 00000000164 15174671772 0010404 0 ustar 00 <?php /** * Silence is golden. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ templates/popup.php 0000644 00000003141 15174671772 0010436 0 ustar 00 <?php /** * Popup Templates * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ $has_title = pum_get_popup_title() !== ''; ?> <div id="pum-<?php pum_popup_ID(); ?>" role="dialog" aria-modal="false" <?php if ( $has_title ) : ?> aria-labelledby="pum_popup_title_<?php pum_popup_ID(); ?>" <?php endif; ?> class="<?php pum_popup_classes(); ?>" <?php pum_popup_data_attr(); ?> > <div id="popmake-<?php pum_popup_ID(); ?>" class="<?php pum_popup_classes( null, 'container' ); ?>"> <?php do_action( 'pum_popup_before_title' ); ?> <?php do_action( 'popmake_popup_before_inner' ); // Backward compatibility. ?> <?php /** * Render the title if not empty. */ ?> <?php if ( $has_title ) : ?> <div id="pum_popup_title_<?php pum_popup_ID(); ?>" class="<?php pum_popup_classes( null, 'title' ); ?>"> <?php pum_popup_title(); ?> </div> <?php endif; ?> <?php do_action( 'pum_popup_before_content' ); ?> <?php /** * Render the content. */ ?> <div class="<?php pum_popup_classes( null, 'content' ); ?>" <?php pum_popup_content_tabindex_attr(); ?>> <?php pum_popup_content(); ?> </div> <?php do_action( 'pum_popup_after_content' ); ?> <?php do_action( 'popmake_popup_after_inner' ); // Backward compatibility. ?> <?php /** * Render the close button if needed. */ ?> <?php if ( pum_show_close_button() ) : ?> <button type="button" class="<?php pum_popup_classes( null, 'close' ); ?>" aria-label="<?php esc_attr_e( 'Close', 'popup-maker' ); ?>"> <?php pum_popup_close_text(); ?> </button> <?php endif; ?> </div> </div> templates/single-popup.php 0000644 00000000226 15174671772 0011716 0 ustar 00 <?php /** * Single-Popup Templates * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ get_header(); get_footer(); vendor-prefixed/psr/container/LICENSE 0000644 00000002171 15174671772 0013462 0 ustar 00 The MIT License (MIT) Copyright (c) 2013-2016 container-interop Copyright (c) 2016 PHP Framework Interoperability Group Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. vendor-prefixed/psr/container/src/ContainerInterface.php 0000644 00000002050 15174671772 0017514 0 ustar 00 <?php declare(strict_types=1); namespace PopupMaker\Vendor\Psr\Container; /** * Describes the interface of a container that exposes methods to read its entries. */ interface ContainerInterface { /** * Finds an entry of the container by its identifier and returns it. * * @param string $id Identifier of the entry to look for. * * @throws NotFoundExceptionInterface No entry was found for **this** identifier. * @throws ContainerExceptionInterface Error while retrieving the entry. * * @return mixed Entry. */ public function get(string $id); /** * Returns true if the container can return an entry for the given identifier. * Returns false otherwise. * * `has($id)` returning true does not mean that `get($id)` will not throw an exception. * It does however mean that `get($id)` will not throw a `NotFoundExceptionInterface`. * * @param string $id Identifier of the entry to look for. * * @return bool */ public function has(string $id): bool; } vendor-prefixed/psr/container/src/NotFoundExceptionInterface.php 0000644 00000000260 15174671772 0021206 0 ustar 00 <?php namespace PopupMaker\Vendor\Psr\Container; /** * No entry was found in the container. */ interface NotFoundExceptionInterface extends ContainerExceptionInterface { } vendor-prefixed/psr/container/src/ContainerExceptionInterface.php 0000644 00000000312 15174671772 0021372 0 ustar 00 <?php namespace PopupMaker\Vendor\Psr\Container; use Throwable; /** * Base interface representing a generic exception in a container. */ interface ContainerExceptionInterface extends Throwable { } vendor-prefixed/composer/autoload_namespaces.php 0000644 00000000331 15174671772 0016232 0 ustar 00 <?php // autoload_namespaces.php @generated by Composer $vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); return array( 'PopupMaker\\Vendor\\Pimple' => array($vendorDir . '/pimple/pimple/src'), ); vendor-prefixed/composer/autoload_psr4.php 0000644 00000000777 15174671772 0015021 0 ustar 00 <?php // autoload_psr4.php @generated by Composer $vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); return array( 'PopupMaker\\Vendor\\Psr\\Container\\' => array($vendorDir . '/psr/container/src'), 'PopupMaker\\Vendor\\CodeAtlantic\\PrerequisiteChecks\\' => array($vendorDir . '/code-atlantic/prerequisite-checks/src'), 'PopupMaker\\Vendor\\CodeAtlantic\\Autoloader\\' => array($vendorDir . '/code-atlantic/wp-autoloader/src'), 'PopupMaker\\' => array($baseDir . '/classes'), ); vendor-prefixed/composer/LICENSE 0000644 00000002054 15174671772 0012523 0 ustar 00 Copyright (c) Nils Adermann, Jordi Boggiano Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. vendor-prefixed/composer/installed.php 0000644 00000003371 15174671772 0014211 0 ustar 00 <?php return array ( 'root' => array ( 'name' => 'popupmaker/popup-maker', 'pretty_version' => 'dev-develop', 'version' => 'dev-develop', 'reference' => '2ecfb31e12f22e907ec8f9ba6646107c3ecf5e03', 'type' => 'wordpress-plugin', 'install_path' => __DIR__ . '/../', 'aliases' => array ( ), 'dev' => false, ), 'versions' => array ( 'code-atlantic/prerequisite-checks' => array ( 'pretty_version' => '1.3.1', 'version' => '1.3.1.0', 'reference' => '60c45fe359cc6c4b3a2c58f1d8ae53112ed4cea1', 'type' => 'library', 'install_path' => __DIR__ . '/../code-atlantic/prerequisite-checks', 'aliases' => array ( ), 'dev_requirement' => false, ), 'code-atlantic/wp-autoloader' => array ( 'pretty_version' => '1.1.0', 'version' => '1.1.0.0', 'reference' => 'fc53e1e327bb02c4cff04b5a719326d582056eff', 'type' => 'library', 'install_path' => __DIR__ . '/../code-atlantic/wp-autoloader', 'aliases' => array ( ), 'dev_requirement' => false, ), 'pimple/pimple' => array ( 'pretty_version' => 'v3.5.0', 'version' => '3.5.0.0', 'reference' => 'a94b3a4db7fb774b3d78dad2315ddc07629e1bed', 'type' => 'library', 'install_path' => __DIR__ . '/../pimple/pimple', 'aliases' => array ( ), 'dev_requirement' => false, ), 'psr/container' => array ( 'pretty_version' => '2.0.2', 'version' => '2.0.2.0', 'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array ( ), 'dev_requirement' => false, ), ), ); vendor-prefixed/composer/autoload_static.php 0000644 00000026540 15174671772 0015414 0 ustar 00 <?php // autoload_static.php @generated by Composer namespace PopupMaker\Vendor\Composer\Autoload; class ComposerStaticInit7e78b974c5a60c1892ae9c9ae7654fe0 { public static $prefixLengthsPsr4 = array ( 'P' => array ( 'PopupMaker\\Vendor\\Psr\\Container\\' => 32, 'PopupMaker\\Vendor\\CodeAtlantic\\PrerequisiteChecks\\' => 50, 'PopupMaker\\Vendor\\CodeAtlantic\\Autoloader\\' => 42, 'PopupMaker\\' => 11, ), ); public static $prefixDirsPsr4 = array ( 'PopupMaker\\Vendor\\Psr\\Container\\' => array ( 0 => __DIR__ . '/..' . '/psr/container/src', ), 'PopupMaker\\Vendor\\CodeAtlantic\\PrerequisiteChecks\\' => array ( 0 => __DIR__ . '/..' . '/code-atlantic/prerequisite-checks/src', ), 'PopupMaker\\Vendor\\CodeAtlantic\\Autoloader\\' => array ( 0 => __DIR__ . '/..' . '/code-atlantic/wp-autoloader/src', ), 'PopupMaker\\' => array ( 0 => __DIR__ . '/../..' . '/classes', ), ); public static $prefixesPsr0 = array ( 'P' => array ( 'PopupMaker\\Vendor\\Pimple' => array ( 0 => __DIR__ . '/..' . '/pimple/pimple/src', ), ), ); public static $classMap = array ( 'PopupMaker\\Vendor\\Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', 'PopupMaker\\Base\\CallToAction' => __DIR__ . '/../..' . '/classes/Base/CallToAction.php', 'PopupMaker\\Base\\Container' => __DIR__ . '/../..' . '/classes/Base/Container.php', 'PopupMaker\\Base\\Controller' => __DIR__ . '/../..' . '/classes/Base/Controller.php', 'PopupMaker\\Base\\Model\\Post' => __DIR__ . '/../..' . '/classes/Base/Model/Post.php', 'PopupMaker\\Base\\Service' => __DIR__ . '/../..' . '/classes/Base/Service.php', 'PopupMaker\\Base\\Service\\Repository' => __DIR__ . '/../..' . '/classes/Base/Service/Repository.php', 'PopupMaker\\Base\\Stream' => __DIR__ . '/../..' . '/classes/Base/Stream.php', 'PopupMaker\\Base\\Upgrade' => __DIR__ . '/../..' . '/classes/Base/Upgrade.php', 'PopupMaker\\CallToAction\\Link' => __DIR__ . '/../..' . '/classes/CallToAction/Link.php', 'PopupMaker\\Controllers\\Admin' => __DIR__ . '/../..' . '/classes/Controllers/Admin.php', 'PopupMaker\\Controllers\\Admin\\CallToActions' => __DIR__ . '/../..' . '/classes/Controllers/Admin/CallToActions.php', 'PopupMaker\\Controllers\\Admin\\Toolbar' => __DIR__ . '/../..' . '/classes/Controllers/Admin/Toolbar.php', 'PopupMaker\\Controllers\\Admin\\WP\\PluginsPage' => __DIR__ . '/../..' . '/classes/Controllers/Admin/WP/PluginsPage.php', 'PopupMaker\\Controllers\\Assets' => __DIR__ . '/../..' . '/classes/Controllers/Assets.php', 'PopupMaker\\Controllers\\CallToActions' => __DIR__ . '/../..' . '/classes/Controllers/CallToActions.php', 'PopupMaker\\Controllers\\Compatibility' => __DIR__ . '/../..' . '/classes/Controllers/Compatibility.php', 'PopupMaker\\Controllers\\Compatibility\\Backcompat\\Filters' => __DIR__ . '/../..' . '/classes/Controllers/Compatibility/Backcompat/Filters.php', 'PopupMaker\\Controllers\\Compatibility\\Builder\\Divi' => __DIR__ . '/../..' . '/classes/Controllers/Compatibility/Builder/Divi.php', 'PopupMaker\\Controllers\\Compatibility\\SEO\\Yoast' => __DIR__ . '/../..' . '/classes/Controllers/Compatibility/SEO/Yoast.php', 'PopupMaker\\Controllers\\Debug' => __DIR__ . '/../..' . '/classes/Controllers/Debug.php', 'PopupMaker\\Controllers\\Frontend' => __DIR__ . '/../..' . '/classes/Controllers/Frontend.php', 'PopupMaker\\Controllers\\Frontend\\Popups' => __DIR__ . '/../..' . '/classes/Controllers/Frontend/Popups.php', 'PopupMaker\\Controllers\\PostTypes' => __DIR__ . '/../..' . '/classes/Controllers/PostTypes.php', 'PopupMaker\\Controllers\\RestAPI' => __DIR__ . '/../..' . '/classes/Controllers/RestAPI.php', 'PopupMaker\\Controllers\\Upgrades' => __DIR__ . '/../..' . '/classes/Controllers/Upgrades.php', 'PopupMaker\\Controllers\\WP' => __DIR__ . '/../..' . '/classes/Controllers/WP.php', 'PopupMaker\\Controllers\\WP\\Blocks' => __DIR__ . '/../..' . '/classes/Controllers/WP/Blocks.php', 'PopupMaker\\Controllers\\WP\\Dashboard' => __DIR__ . '/../..' . '/classes/Controllers/WP/Dashboard.php', 'PopupMaker\\Controllers\\WP\\I18n' => __DIR__ . '/../..' . '/classes/Controllers/WP/I18n.php', 'PopupMaker\\Installers\\Install_Skin' => __DIR__ . '/../..' . '/classes/Installers/Install_Skin.php', 'PopupMaker\\Installers\\PluginSilentUpgrader' => __DIR__ . '/../..' . '/classes/Installers/PluginSilentUpgrader.php', 'PopupMaker\\Installers\\PluginSilentUpgraderSkin' => __DIR__ . '/../..' . '/classes/Installers/PluginSilentUpgraderSkin.php', 'PopupMaker\\Integration\\QueryMonitor\\Collector\\CacheFunc' => __DIR__ . '/../..' . '/classes/Integration/QueryMonitor/Collector/CacheFunc.php', 'PopupMaker\\Integration\\QueryMonitor\\Output\\Html\\CacheFunc' => __DIR__ . '/../..' . '/classes/Integration/QueryMonitor/Output/Html/CacheFunc.php', 'PopupMaker\\Interfaces\\CallToAction' => __DIR__ . '/../..' . '/classes/Interfaces/CallToAction.php', 'PopupMaker\\Interfaces\\Controller' => __DIR__ . '/../..' . '/classes/Interfaces/Controller.php', 'PopupMaker\\Interfaces\\Service' => __DIR__ . '/../..' . '/classes/Interfaces/Service.php', 'PopupMaker\\Interfaces\\Upgrade' => __DIR__ . '/../..' . '/classes/Interfaces/Upgrade.php', 'PopupMaker\\Models\\CallToAction' => __DIR__ . '/../..' . '/classes/Models/CallToAction.php', 'PopupMaker\\Plugin\\Container' => __DIR__ . '/../..' . '/classes/Plugin/Container.php', 'PopupMaker\\Plugin\\Controller' => __DIR__ . '/../..' . '/classes/Plugin/Controller.php', 'PopupMaker\\Plugin\\Core' => __DIR__ . '/../..' . '/classes/Plugin/Core.php', 'PopupMaker\\Plugin\\Extension' => __DIR__ . '/../..' . '/classes/Plugin/Extension.php', 'PopupMaker\\RestAPI\\Connect' => __DIR__ . '/../..' . '/classes/RestAPI/Connect.php', 'PopupMaker\\RestAPI\\License' => __DIR__ . '/../..' . '/classes/RestAPI/License.php', 'PopupMaker\\RestAPI\\ObjectSearch' => __DIR__ . '/../..' . '/classes/RestAPI/ObjectSearch.php', 'PopupMaker\\Services\\Collector\\CallToActionTypes' => __DIR__ . '/../..' . '/classes/Services/Collector/CallToActionTypes.php', 'PopupMaker\\Services\\Connect' => __DIR__ . '/../..' . '/classes/Services/Connect.php', 'PopupMaker\\Services\\Globals' => __DIR__ . '/../..' . '/classes/Services/Globals.php', 'PopupMaker\\Services\\License' => __DIR__ . '/../..' . '/classes/Services/License.php', 'PopupMaker\\Services\\Logging' => __DIR__ . '/../..' . '/classes/Services/Logging.php', 'PopupMaker\\Services\\Options' => __DIR__ . '/../..' . '/classes/Services/Options.php', 'PopupMaker\\Services\\Repository\\CallToActions' => __DIR__ . '/../..' . '/classes/Services/Repository/CallToActions.php', 'PopupMaker\\Services\\Repository\\Popups' => __DIR__ . '/../..' . '/classes/Services/Repository/Popups.php', 'PopupMaker\\Services\\UpgradeStream' => __DIR__ . '/../..' . '/classes/Services/UpgradeStream.php', 'PopupMaker\\Services\\Upgrader' => __DIR__ . '/../..' . '/classes/Services/Upgrader.php', 'PopupMaker\\Vendor\\CodeAtlantic\\Autoloader\\Autoloader' => __DIR__ . '/..' . '/code-atlantic/wp-autoloader/src/Autoloader.php', 'PopupMaker\\Vendor\\CodeAtlantic\\PrerequisiteChecks\\Prerequisites' => __DIR__ . '/..' . '/code-atlantic/prerequisite-checks/src/Prerequisites.php', 'PopupMaker\\Vendor\\Pimple\\Container' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Container.php', 'PopupMaker\\Vendor\\Pimple\\Exception\\ExpectedInvokableException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/ExpectedInvokableException.php', 'PopupMaker\\Vendor\\Pimple\\Exception\\FrozenServiceException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php', 'PopupMaker\\Vendor\\Pimple\\Exception\\InvalidServiceIdentifierException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/InvalidServiceIdentifierException.php', 'PopupMaker\\Vendor\\Pimple\\Exception\\UnknownIdentifierException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/UnknownIdentifierException.php', 'PopupMaker\\Vendor\\Pimple\\Psr11\\Container' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Psr11/Container.php', 'PopupMaker\\Vendor\\Pimple\\Psr11\\ServiceLocator' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Psr11/ServiceLocator.php', 'PopupMaker\\Vendor\\Pimple\\ServiceIterator' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/ServiceIterator.php', 'PopupMaker\\Vendor\\Pimple\\ServiceProviderInterface' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/ServiceProviderInterface.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\Fixtures\\Invokable' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/Invokable.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\Fixtures\\NonInvokable' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/NonInvokable.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\Fixtures\\PimpleServiceProvider' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/PimpleServiceProvider.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\Fixtures\\Service' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/Service.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\PimpleServiceProviderInterfaceTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/PimpleServiceProviderInterfaceTest.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\PimpleTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/PimpleTest.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\Psr11\\ContainerTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Psr11/ContainerTest.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\Psr11\\ServiceLocatorTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Psr11/ServiceLocatorTest.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\ServiceIteratorTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/ServiceIteratorTest.php', 'PopupMaker\\Vendor\\Psr\\Container\\ContainerExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerExceptionInterface.php', 'PopupMaker\\Vendor\\Psr\\Container\\ContainerInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerInterface.php', 'PopupMaker\\Vendor\\Psr\\Container\\NotFoundExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/NotFoundExceptionInterface.php', ); public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { $loader->prefixLengthsPsr4 = ComposerStaticInit7e78b974c5a60c1892ae9c9ae7654fe0::$prefixLengthsPsr4; $loader->prefixDirsPsr4 = ComposerStaticInit7e78b974c5a60c1892ae9c9ae7654fe0::$prefixDirsPsr4; $loader->prefixesPsr0 = ComposerStaticInit7e78b974c5a60c1892ae9c9ae7654fe0::$prefixesPsr0; $loader->classMap = ComposerStaticInit7e78b974c5a60c1892ae9c9ae7654fe0::$classMap; }, null, ClassLoader::class); } } vendor-prefixed/composer/installed.json 0000644 00000015516 15174671772 0014377 0 ustar 00 { "packages": { "0": { "name": "code-atlantic/prerequisite-checks", "version": "1.3.1", "version_normalized": "1.3.1.0", "source": { "type": "git", "url": "https://github.com/code-atlantic/prerequisite-checks.git", "reference": "60c45fe359cc6c4b3a2c58f1d8ae53112ed4cea1" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/code-atlantic/prerequisite-checks/zipball/60c45fe359cc6c4b3a2c58f1d8ae53112ed4cea1", "reference": "60c45fe359cc6c4b3a2c58f1d8ae53112ed4cea1", "shasum": "" }, "time": "2023-12-20T06:35:21+00:00", "type": "library", "installation-source": "dist", "autoload": { "psr-4": { "PopupMaker\\Vendor\\CodeAtlantic\\PrerequisiteChecks\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "GPL-2.0+" ], "description": "WordPress prerequisite checks for plugins and themes", "support": { "issues": "https://github.com/code-atlantic/prerequisite-checks/issues", "source": "https://github.com/code-atlantic/prerequisite-checks/tree/1.3.1" }, "install-path": "../code-atlantic/prerequisite-checks" }, "1": { "name": "code-atlantic/wp-autoloader", "version": "1.1.0", "version_normalized": "1.1.0.0", "source": { "type": "git", "url": "https://github.com/code-atlantic/wp-autoloader.git", "reference": "fc53e1e327bb02c4cff04b5a719326d582056eff" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/code-atlantic/wp-autoloader/zipball/fc53e1e327bb02c4cff04b5a719326d582056eff", "reference": "fc53e1e327bb02c4cff04b5a719326d582056eff", "shasum": "" }, "time": "2025-06-02T06:39:53+00:00", "type": "library", "installation-source": "dist", "autoload": { "psr-4": { "PopupMaker\\Vendor\\CodeAtlantic\\Autoloader\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "GPL-2.0+" ], "description": "A helper class to autoload composer deps in WordPress plugins", "support": { "issues": "https://github.com/code-atlantic/wp-autoloader/issues", "source": "https://github.com/code-atlantic/wp-autoloader/tree/v1.1.0" }, "install-path": "../code-atlantic/wp-autoloader" }, "3": { "name": "pimple/pimple", "version": "v3.5.0", "version_normalized": "3.5.0.0", "source": { "type": "git", "url": "https://github.com/silexphp/Pimple.git", "reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/silexphp/Pimple/zipball/a94b3a4db7fb774b3d78dad2315ddc07629e1bed", "reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed", "shasum": "" }, "require": { "php": ">=7.2.5", "psr/container": "^1.1 || ^2.0" }, "require-dev": { "symfony/phpunit-bridge": "^5.4@dev" }, "time": "2021-10-28T11:13:42+00:00", "type": "library", "extra": { "branch-alias": { "dev-master": "3.4.x-dev" } }, "installation-source": "dist", "autoload": { "psr-0": { "PopupMaker\\Vendor\\Pimple": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" } ], "description": "Pimple, a simple Dependency Injection Container", "homepage": "https://pimple.symfony.com", "keywords": [ "container", "dependency injection" ], "support": { "source": "https://github.com/silexphp/Pimple/tree/v3.5.0" }, "install-path": "../pimple/pimple" }, "4": { "name": "psr/container", "version": "2.0.2", "version_normalized": "2.0.2.0", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { "php": ">=7.4.0" }, "time": "2021-11-05T16:47:00+00:00", "type": "library", "extra": { "branch-alias": { "dev-master": "2.0.x-dev" } }, "installation-source": "dist", "autoload": { "psr-4": { "PopupMaker\\Vendor\\Psr\\Container\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", "homepage": "https://www.php-fig.org/" } ], "description": "Common Container Interface (PHP FIG PSR-11)", "homepage": "https://github.com/php-fig/container", "keywords": [ "PSR-11", "container", "container-interface", "container-interop", "psr" ], "support": { "issues": "https://github.com/php-fig/container/issues", "source": "https://github.com/php-fig/container/tree/2.0.2" }, "install-path": "../psr/container" } }, "dev": false, "dev-package-names": [] } vendor-prefixed/composer/autoload_classmap.php 0000644 00000021073 15174671772 0015724 0 ustar 00 <?php // autoload_classmap.php @generated by Composer $vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); return array( 'PopupMaker\\Vendor\\Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', 'PopupMaker\\Base\\CallToAction' => $baseDir . '/classes/Base/CallToAction.php', 'PopupMaker\\Base\\Container' => $baseDir . '/classes/Base/Container.php', 'PopupMaker\\Base\\Controller' => $baseDir . '/classes/Base/Controller.php', 'PopupMaker\\Base\\Model\\Post' => $baseDir . '/classes/Base/Model/Post.php', 'PopupMaker\\Base\\Service' => $baseDir . '/classes/Base/Service.php', 'PopupMaker\\Base\\Service\\Repository' => $baseDir . '/classes/Base/Service/Repository.php', 'PopupMaker\\Base\\Stream' => $baseDir . '/classes/Base/Stream.php', 'PopupMaker\\Base\\Upgrade' => $baseDir . '/classes/Base/Upgrade.php', 'PopupMaker\\CallToAction\\Link' => $baseDir . '/classes/CallToAction/Link.php', 'PopupMaker\\Controllers\\Admin' => $baseDir . '/classes/Controllers/Admin.php', 'PopupMaker\\Controllers\\Admin\\CallToActions' => $baseDir . '/classes/Controllers/Admin/CallToActions.php', 'PopupMaker\\Controllers\\Admin\\Toolbar' => $baseDir . '/classes/Controllers/Admin/Toolbar.php', 'PopupMaker\\Controllers\\Admin\\WP\\PluginsPage' => $baseDir . '/classes/Controllers/Admin/WP/PluginsPage.php', 'PopupMaker\\Controllers\\Assets' => $baseDir . '/classes/Controllers/Assets.php', 'PopupMaker\\Controllers\\CallToActions' => $baseDir . '/classes/Controllers/CallToActions.php', 'PopupMaker\\Controllers\\Compatibility' => $baseDir . '/classes/Controllers/Compatibility.php', 'PopupMaker\\Controllers\\Compatibility\\Backcompat\\Filters' => $baseDir . '/classes/Controllers/Compatibility/Backcompat/Filters.php', 'PopupMaker\\Controllers\\Compatibility\\Builder\\Divi' => $baseDir . '/classes/Controllers/Compatibility/Builder/Divi.php', 'PopupMaker\\Controllers\\Compatibility\\SEO\\Yoast' => $baseDir . '/classes/Controllers/Compatibility/SEO/Yoast.php', 'PopupMaker\\Controllers\\Debug' => $baseDir . '/classes/Controllers/Debug.php', 'PopupMaker\\Controllers\\Frontend' => $baseDir . '/classes/Controllers/Frontend.php', 'PopupMaker\\Controllers\\Frontend\\Popups' => $baseDir . '/classes/Controllers/Frontend/Popups.php', 'PopupMaker\\Controllers\\PostTypes' => $baseDir . '/classes/Controllers/PostTypes.php', 'PopupMaker\\Controllers\\RestAPI' => $baseDir . '/classes/Controllers/RestAPI.php', 'PopupMaker\\Controllers\\Upgrades' => $baseDir . '/classes/Controllers/Upgrades.php', 'PopupMaker\\Controllers\\WP' => $baseDir . '/classes/Controllers/WP.php', 'PopupMaker\\Controllers\\WP\\Blocks' => $baseDir . '/classes/Controllers/WP/Blocks.php', 'PopupMaker\\Controllers\\WP\\Dashboard' => $baseDir . '/classes/Controllers/WP/Dashboard.php', 'PopupMaker\\Controllers\\WP\\I18n' => $baseDir . '/classes/Controllers/WP/I18n.php', 'PopupMaker\\Installers\\Install_Skin' => $baseDir . '/classes/Installers/Install_Skin.php', 'PopupMaker\\Installers\\PluginSilentUpgrader' => $baseDir . '/classes/Installers/PluginSilentUpgrader.php', 'PopupMaker\\Installers\\PluginSilentUpgraderSkin' => $baseDir . '/classes/Installers/PluginSilentUpgraderSkin.php', 'PopupMaker\\Integration\\QueryMonitor\\Collector\\CacheFunc' => $baseDir . '/classes/Integration/QueryMonitor/Collector/CacheFunc.php', 'PopupMaker\\Integration\\QueryMonitor\\Output\\Html\\CacheFunc' => $baseDir . '/classes/Integration/QueryMonitor/Output/Html/CacheFunc.php', 'PopupMaker\\Interfaces\\CallToAction' => $baseDir . '/classes/Interfaces/CallToAction.php', 'PopupMaker\\Interfaces\\Controller' => $baseDir . '/classes/Interfaces/Controller.php', 'PopupMaker\\Interfaces\\Service' => $baseDir . '/classes/Interfaces/Service.php', 'PopupMaker\\Interfaces\\Upgrade' => $baseDir . '/classes/Interfaces/Upgrade.php', 'PopupMaker\\Models\\CallToAction' => $baseDir . '/classes/Models/CallToAction.php', 'PopupMaker\\Plugin\\Container' => $baseDir . '/classes/Plugin/Container.php', 'PopupMaker\\Plugin\\Controller' => $baseDir . '/classes/Plugin/Controller.php', 'PopupMaker\\Plugin\\Core' => $baseDir . '/classes/Plugin/Core.php', 'PopupMaker\\Plugin\\Extension' => $baseDir . '/classes/Plugin/Extension.php', 'PopupMaker\\RestAPI\\Connect' => $baseDir . '/classes/RestAPI/Connect.php', 'PopupMaker\\RestAPI\\License' => $baseDir . '/classes/RestAPI/License.php', 'PopupMaker\\RestAPI\\ObjectSearch' => $baseDir . '/classes/RestAPI/ObjectSearch.php', 'PopupMaker\\Services\\Collector\\CallToActionTypes' => $baseDir . '/classes/Services/Collector/CallToActionTypes.php', 'PopupMaker\\Services\\Connect' => $baseDir . '/classes/Services/Connect.php', 'PopupMaker\\Services\\Globals' => $baseDir . '/classes/Services/Globals.php', 'PopupMaker\\Services\\License' => $baseDir . '/classes/Services/License.php', 'PopupMaker\\Services\\Logging' => $baseDir . '/classes/Services/Logging.php', 'PopupMaker\\Services\\Options' => $baseDir . '/classes/Services/Options.php', 'PopupMaker\\Services\\Repository\\CallToActions' => $baseDir . '/classes/Services/Repository/CallToActions.php', 'PopupMaker\\Services\\Repository\\Popups' => $baseDir . '/classes/Services/Repository/Popups.php', 'PopupMaker\\Services\\UpgradeStream' => $baseDir . '/classes/Services/UpgradeStream.php', 'PopupMaker\\Services\\Upgrader' => $baseDir . '/classes/Services/Upgrader.php', 'PopupMaker\\Vendor\\CodeAtlantic\\Autoloader\\Autoloader' => $vendorDir . '/code-atlantic/wp-autoloader/src/Autoloader.php', 'PopupMaker\\Vendor\\CodeAtlantic\\PrerequisiteChecks\\Prerequisites' => $vendorDir . '/code-atlantic/prerequisite-checks/src/Prerequisites.php', 'PopupMaker\\Vendor\\Pimple\\Container' => $vendorDir . '/pimple/pimple/src/Pimple/Container.php', 'PopupMaker\\Vendor\\Pimple\\Exception\\ExpectedInvokableException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/ExpectedInvokableException.php', 'PopupMaker\\Vendor\\Pimple\\Exception\\FrozenServiceException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php', 'PopupMaker\\Vendor\\Pimple\\Exception\\InvalidServiceIdentifierException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/InvalidServiceIdentifierException.php', 'PopupMaker\\Vendor\\Pimple\\Exception\\UnknownIdentifierException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/UnknownIdentifierException.php', 'PopupMaker\\Vendor\\Pimple\\Psr11\\Container' => $vendorDir . '/pimple/pimple/src/Pimple/Psr11/Container.php', 'PopupMaker\\Vendor\\Pimple\\Psr11\\ServiceLocator' => $vendorDir . '/pimple/pimple/src/Pimple/Psr11/ServiceLocator.php', 'PopupMaker\\Vendor\\Pimple\\ServiceIterator' => $vendorDir . '/pimple/pimple/src/Pimple/ServiceIterator.php', 'PopupMaker\\Vendor\\Pimple\\ServiceProviderInterface' => $vendorDir . '/pimple/pimple/src/Pimple/ServiceProviderInterface.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\Fixtures\\Invokable' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/Invokable.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\Fixtures\\NonInvokable' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/NonInvokable.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\Fixtures\\PimpleServiceProvider' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/PimpleServiceProvider.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\Fixtures\\Service' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/Service.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\PimpleServiceProviderInterfaceTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/PimpleServiceProviderInterfaceTest.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\PimpleTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/PimpleTest.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\Psr11\\ContainerTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Psr11/ContainerTest.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\Psr11\\ServiceLocatorTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Psr11/ServiceLocatorTest.php', 'PopupMaker\\Vendor\\Pimple\\Tests\\ServiceIteratorTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/ServiceIteratorTest.php', 'PopupMaker\\Vendor\\Psr\\Container\\ContainerExceptionInterface' => $vendorDir . '/psr/container/src/ContainerExceptionInterface.php', 'PopupMaker\\Vendor\\Psr\\Container\\ContainerInterface' => $vendorDir . '/psr/container/src/ContainerInterface.php', 'PopupMaker\\Vendor\\Psr\\Container\\NotFoundExceptionInterface' => $vendorDir . '/psr/container/src/NotFoundExceptionInterface.php', ); vendor-prefixed/composer/InstalledVersions.php 0000644 00000042073 15174671772 0015704 0 ustar 00 <?php /* * This file is part of Composer. * * (c) Nils Adermann <naderman@naderman.de> * Jordi Boggiano <j.boggiano@seld.be> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace PopupMaker\Vendor\Composer; use PopupMaker\Vendor\Composer\Autoload\ClassLoader; use PopupMaker\Vendor\Composer\Semver\VersionParser; /** * This class is copied in every Composer installed project and available to all * * See also https://getcomposer.org/doc/07-runtime.md#installed-versions * * To require its presence, you can require `composer-runtime-api ^2.0` * * @final */ class InstalledVersions { /** * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to * @internal */ private static $selfDir = null; /** * @var mixed[]|null * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null */ private static $installed; /** * @var bool */ private static $installedIsLocalDir; /** * @var bool|null */ private static $canGetVendors; /** * @var array[] * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}> */ private static $installedByVendor = array(); /** * Returns a list of all package names which are present, either by being installed, replaced or provided * * @return string[] * @psalm-return list<string> */ public static function getInstalledPackages() { $packages = array(); foreach (self::getInstalled() as $installed) { $packages[] = array_keys($installed['versions']); } if (1 === \count($packages)) { return $packages[0]; } return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); } /** * Returns a list of all package names with a specific type e.g. 'library' * * @param string $type * @return string[] * @psalm-return list<string> */ public static function getInstalledPackagesByType($type) { $packagesByType = array(); foreach (self::getInstalled() as $installed) { foreach ($installed['versions'] as $name => $package) { if (isset($package['type']) && $package['type'] === $type) { $packagesByType[] = $name; } } } return $packagesByType; } /** * Checks whether the given package is installed * * This also returns true if the package name is provided or replaced by another package * * @param string $packageName * @param bool $includeDevRequirements * @return bool */ public static function isInstalled($packageName, $includeDevRequirements = true) { foreach (self::getInstalled() as $installed) { if (isset($installed['versions'][$packageName])) { return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false; } } return false; } /** * Checks whether the given package satisfies a version constraint * * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call: * * Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3') * * @param VersionParser $parser Install composer/semver to have access to this class and functionality * @param string $packageName * @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package * @return bool */ public static function satisfies(VersionParser $parser, $packageName, $constraint) { $constraint = $parser->parseConstraints((string) $constraint); $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); return $provided->matches($constraint); } /** * Returns a version constraint representing all the range(s) which are installed for a given package * * It is easier to use this via isInstalled() with the $constraint argument if you need to check * whether a given version of a package is installed, and not just whether it exists * * @param string $packageName * @return string Version constraint usable with composer/semver */ public static function getVersionRanges($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } $ranges = array(); if (isset($installed['versions'][$packageName]['pretty_version'])) { $ranges[] = $installed['versions'][$packageName]['pretty_version']; } if (array_key_exists('aliases', $installed['versions'][$packageName])) { $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); } if (array_key_exists('replaced', $installed['versions'][$packageName])) { $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); } if (array_key_exists('provided', $installed['versions'][$packageName])) { $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); } return implode(' || ', $ranges); } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } /** * @param string $packageName * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present */ public static function getVersion($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } if (!isset($installed['versions'][$packageName]['version'])) { return null; } return $installed['versions'][$packageName]['version']; } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } /** * @param string $packageName * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present */ public static function getPrettyVersion($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } if (!isset($installed['versions'][$packageName]['pretty_version'])) { return null; } return $installed['versions'][$packageName]['pretty_version']; } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } /** * @param string $packageName * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference */ public static function getReference($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } if (!isset($installed['versions'][$packageName]['reference'])) { return null; } return $installed['versions'][$packageName]['reference']; } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } /** * @param string $packageName * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path. */ public static function getInstallPath($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null; } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } /** * @return array * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool} */ public static function getRootPackage() { $installed = self::getInstalled(); return $installed[0]['root']; } /** * Returns the raw installed.php data for custom implementations * * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. * @return array[] * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} */ public static function getRawData() { @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED); if (null === self::$installed) { // only require the installed.php file if this file is loaded from its dumped location, // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 if (substr(__DIR__, -8, 1) !== 'C') { self::$installed = include __DIR__ . '/installed.php'; } else { self::$installed = array(); } } return self::$installed; } /** * Returns the raw data of all installed.php which are currently loaded for custom implementations * * @return array[] * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}> */ public static function getAllRawData() { return self::getInstalled(); } /** * Lets you reload the static array from another file * * This is only useful for complex integrations in which a project needs to use * this class but then also needs to execute another project's autoloader in process, * and wants to ensure both projects have access to their version of installed.php. * * A typical case would be PHPUnit, where it would need to make sure it reads all * the data it needs from this class, then call reload() with * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure * the project in which it runs can then also use this class safely, without * interference between PHPUnit's dependencies and the project's dependencies. * * @param array[] $data A vendor/composer/installed.php data set * @return void * * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data */ public static function reload($data) { self::$installed = $data; self::$installedByVendor = array(); // when using reload, we disable the duplicate protection to ensure that self::$installed data is // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not, // so we have to assume it does not, and that may result in duplicate data being returned when listing // all installed packages for example self::$installedIsLocalDir = false; } /** * @return string */ private static function getSelfDir() { if (self::$selfDir === null) { self::$selfDir = strtr(__DIR__, '\\', '/'); } return self::$selfDir; } /** * @return array[] * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}> */ private static function getInstalled() { if (null === self::$canGetVendors) { self::$canGetVendors = method_exists('PopupMaker\Vendor\Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); } $installed = array(); $copiedLocalDir = false; if (self::$canGetVendors) { $selfDir = self::getSelfDir(); foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { $vendorDir = strtr($vendorDir, '\\', '/'); if (isset(self::$installedByVendor[$vendorDir])) { $installed[] = self::$installedByVendor[$vendorDir]; } elseif (is_file($vendorDir.'/composer/installed.php')) { /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ $required = require $vendorDir.'/composer/installed.php'; self::$installedByVendor[$vendorDir] = $required; $installed[] = $required; if (self::$installed === null && $vendorDir.'/composer' === $selfDir) { self::$installed = $required; self::$installedIsLocalDir = true; } } if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) { $copiedLocalDir = true; } } } if (null === self::$installed) { // only require the installed.php file if this file is loaded from its dumped location, // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 if (substr(__DIR__, -8, 1) !== 'C') { /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ $required = require __DIR__ . '/installed.php'; self::$installed = $required; } else { self::$installed = array(); } } if (self::$installed !== array() && !$copiedLocalDir) { $installed[] = self::$installed; } return $installed; } } vendor-prefixed/composer/autoload_real.php 0000644 00000002270 15174671772 0015042 0 ustar 00 <?php // autoload_real.php @generated by Composer class ComposerAutoloaderInit7e78b974c5a60c1892ae9c9ae7654fe0 { private static $loader; public static function loadClassLoader($class) { if ('PopupMaker\Vendor\Composer\Autoload\ClassLoader' === $class) { require __DIR__ . '/ClassLoader.php'; } } /** * @return \PopupMaker\Vendor\Composer\Autoload\ClassLoader */ public static function getLoader() { if (null !== self::$loader) { return self::$loader; } spl_autoload_register(array('ComposerAutoloaderInit7e78b974c5a60c1892ae9c9ae7654fe0', 'loadClassLoader'), true, true); self::$loader = $loader = new \PopupMaker\Vendor\Composer\Autoload\ClassLoader(\dirname(__DIR__)); spl_autoload_unregister(array('ComposerAutoloaderInit7e78b974c5a60c1892ae9c9ae7654fe0', 'loadClassLoader')); require __DIR__ . '/autoload_static.php'; call_user_func(\PopupMaker\Vendor\Composer\Autoload\ComposerStaticInit7e78b974c5a60c1892ae9c9ae7654fe0::getInitializer($loader)); $loader->setClassMapAuthoritative(true); $loader->register(true); return $loader; } } vendor-prefixed/composer/ClassLoader.php 0000644 00000040036 15174671772 0014425 0 ustar 00 <?php /* * This file is part of Composer. * * (c) Nils Adermann <naderman@naderman.de> * Jordi Boggiano <j.boggiano@seld.be> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace PopupMaker\Vendor\Composer\Autoload; /** * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. * * $loader = new \PopupMaker\Vendor\Composer\Autoload\ClassLoader(); * * // register classes with namespaces * $loader->add('Symfony\Component', __DIR__.'/component'); * $loader->add('Symfony', __DIR__.'/framework'); * * // activate the autoloader * $loader->register(); * * // to enable searching the include path (eg. for PEAR packages) * $loader->setUseIncludePath(true); * * In this example, if you try to use a class in the Symfony\Component * namespace or one of its children (Symfony\Component\Console for instance), * the autoloader will first look for the class under the component/ * directory, and it will then fallback to the framework/ directory if not * found before giving up. * * This class is loosely based on the Symfony UniversalClassLoader. * * @author Fabien Potencier <fabien@symfony.com> * @author Jordi Boggiano <j.boggiano@seld.be> * @see https://www.php-fig.org/psr/psr-0/ * @see https://www.php-fig.org/psr/psr-4/ */ class ClassLoader { /** @var \Closure(string):void */ private static $includeFile; /** @var string|null */ private $vendorDir; // PSR-4 /** * @var array<string, array<string, int>> */ private $prefixLengthsPsr4 = array(); /** * @var array<string, list<string>> */ private $prefixDirsPsr4 = array(); /** * @var list<string> */ private $fallbackDirsPsr4 = array(); // PSR-0 /** * List of PSR-0 prefixes * * Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2'))) * * @var array<string, array<string, list<string>>> */ private $prefixesPsr0 = array(); /** * @var list<string> */ private $fallbackDirsPsr0 = array(); /** @var bool */ private $useIncludePath = false; /** * @var array<string, string> */ private $classMap = array(); /** @var bool */ private $classMapAuthoritative = false; /** * @var array<string, bool> */ private $missingClasses = array(); /** @var string|null */ private $apcuPrefix; /** * @var array<string, self> */ private static $registeredLoaders = array(); /** * @param string|null $vendorDir */ public function __construct($vendorDir = null) { $this->vendorDir = $vendorDir; self::initializeIncludeClosure(); } /** * @return array<string, list<string>> */ public function getPrefixes() { if (!empty($this->prefixesPsr0)) { return call_user_func_array('array_merge', array_values($this->prefixesPsr0)); } return array(); } /** * @return array<string, list<string>> */ public function getPrefixesPsr4() { return $this->prefixDirsPsr4; } /** * @return list<string> */ public function getFallbackDirs() { return $this->fallbackDirsPsr0; } /** * @return list<string> */ public function getFallbackDirsPsr4() { return $this->fallbackDirsPsr4; } /** * @return array<string, string> Array of classname => path */ public function getClassMap() { return $this->classMap; } /** * @param array<string, string> $classMap Class to filename map * * @return void */ public function addClassMap(array $classMap) { if ($this->classMap) { $this->classMap = array_merge($this->classMap, $classMap); } else { $this->classMap = $classMap; } } /** * Registers a set of PSR-0 directories for a given prefix, either * appending or prepending to the ones previously set for this prefix. * * @param string $prefix The prefix * @param list<string>|string $paths The PSR-0 root directories * @param bool $prepend Whether to prepend the directories * * @return void */ public function add($prefix, $paths, $prepend = false) { $paths = (array) $paths; if (!$prefix) { if ($prepend) { $this->fallbackDirsPsr0 = array_merge( $paths, $this->fallbackDirsPsr0 ); } else { $this->fallbackDirsPsr0 = array_merge( $this->fallbackDirsPsr0, $paths ); } return; } $first = $prefix[0]; if (!isset($this->prefixesPsr0[$first][$prefix])) { $this->prefixesPsr0[$first][$prefix] = $paths; return; } if ($prepend) { $this->prefixesPsr0[$first][$prefix] = array_merge( $paths, $this->prefixesPsr0[$first][$prefix] ); } else { $this->prefixesPsr0[$first][$prefix] = array_merge( $this->prefixesPsr0[$first][$prefix], $paths ); } } /** * Registers a set of PSR-4 directories for a given namespace, either * appending or prepending to the ones previously set for this namespace. * * @param string $prefix The prefix/namespace, with trailing '\\' * @param list<string>|string $paths The PSR-4 base directories * @param bool $prepend Whether to prepend the directories * * @throws \InvalidArgumentException * * @return void */ public function addPsr4($prefix, $paths, $prepend = false) { $paths = (array) $paths; if (!$prefix) { // Register directories for the root namespace. if ($prepend) { $this->fallbackDirsPsr4 = array_merge( $paths, $this->fallbackDirsPsr4 ); } else { $this->fallbackDirsPsr4 = array_merge( $this->fallbackDirsPsr4, $paths ); } } elseif (!isset($this->prefixDirsPsr4[$prefix])) { // Register directories for a new namespace. $length = strlen($prefix); if ('\\' !== $prefix[$length - 1]) { throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; $this->prefixDirsPsr4[$prefix] = $paths; } elseif ($prepend) { // Prepend directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( $paths, $this->prefixDirsPsr4[$prefix] ); } else { // Append directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( $this->prefixDirsPsr4[$prefix], $paths ); } } /** * Registers a set of PSR-0 directories for a given prefix, * replacing any others previously set for this prefix. * * @param string $prefix The prefix * @param list<string>|string $paths The PSR-0 base directories * * @return void */ public function set($prefix, $paths) { if (!$prefix) { $this->fallbackDirsPsr0 = (array) $paths; } else { $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; } } /** * Registers a set of PSR-4 directories for a given namespace, * replacing any others previously set for this namespace. * * @param string $prefix The prefix/namespace, with trailing '\\' * @param list<string>|string $paths The PSR-4 base directories * * @throws \InvalidArgumentException * * @return void */ public function setPsr4($prefix, $paths) { if (!$prefix) { $this->fallbackDirsPsr4 = (array) $paths; } else { $length = strlen($prefix); if ('\\' !== $prefix[$length - 1]) { throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; $this->prefixDirsPsr4[$prefix] = (array) $paths; } } /** * Turns on searching the include path for class files. * * @param bool $useIncludePath * * @return void */ public function setUseIncludePath($useIncludePath) { $this->useIncludePath = $useIncludePath; } /** * Can be used to check if the autoloader uses the include path to check * for classes. * * @return bool */ public function getUseIncludePath() { return $this->useIncludePath; } /** * Turns off searching the prefix and fallback directories for classes * that have not been registered with the class map. * * @param bool $classMapAuthoritative * * @return void */ public function setClassMapAuthoritative($classMapAuthoritative) { $this->classMapAuthoritative = $classMapAuthoritative; } /** * Should class lookup fail if not found in the current class map? * * @return bool */ public function isClassMapAuthoritative() { return $this->classMapAuthoritative; } /** * APCu prefix to use to cache found/not-found classes, if the extension is enabled. * * @param string|null $apcuPrefix * * @return void */ public function setApcuPrefix($apcuPrefix) { $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; } /** * The APCu prefix in use, or null if APCu caching is not enabled. * * @return string|null */ public function getApcuPrefix() { return $this->apcuPrefix; } /** * Registers this instance as an autoloader. * * @param bool $prepend Whether to prepend the autoloader or not * * @return void */ public function register($prepend = false) { spl_autoload_register(array($this, 'loadClass'), true, $prepend); if (null === $this->vendorDir) { return; } if ($prepend) { self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders; } else { unset(self::$registeredLoaders[$this->vendorDir]); self::$registeredLoaders[$this->vendorDir] = $this; } } /** * Unregisters this instance as an autoloader. * * @return void */ public function unregister() { spl_autoload_unregister(array($this, 'loadClass')); if (null !== $this->vendorDir) { unset(self::$registeredLoaders[$this->vendorDir]); } } /** * Loads the given class or interface. * * @param string $class The name of the class * @return true|null True if loaded, null otherwise */ public function loadClass($class) { if ($file = $this->findFile($class)) { $includeFile = self::$includeFile; $includeFile($file); return true; } return null; } /** * Finds the path to the file where the class is defined. * * @param string $class The name of the class * * @return string|false The path if found, false otherwise */ public function findFile($class) { // class map lookup if (isset($this->classMap[$class])) { return $this->classMap[$class]; } if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { return false; } if (null !== $this->apcuPrefix) { $file = apcu_fetch($this->apcuPrefix.$class, $hit); if ($hit) { return $file; } } $file = $this->findFileWithExtension($class, '.php'); // Search for Hack files if we are running on HHVM if (false === $file && defined('HHVM_VERSION')) { $file = $this->findFileWithExtension($class, '.hh'); } if (null !== $this->apcuPrefix) { apcu_add($this->apcuPrefix.$class, $file); } if (false === $file) { // Remember that this class does not exist. $this->missingClasses[$class] = true; } return $file; } /** * Returns the currently registered loaders keyed by their corresponding vendor directories. * * @return array<string, self> */ public static function getRegisteredLoaders() { return self::$registeredLoaders; } /** * @param string $class * @param string $ext * @return string|false */ private function findFileWithExtension($class, $ext) { // PSR-4 lookup $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; $first = $class[0]; if (isset($this->prefixLengthsPsr4[$first])) { $subPath = $class; while (false !== $lastPos = strrpos($subPath, '\\')) { $subPath = substr($subPath, 0, $lastPos); $search = $subPath . '\\'; if (isset($this->prefixDirsPsr4[$search])) { $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); foreach ($this->prefixDirsPsr4[$search] as $dir) { if (file_exists($file = $dir . $pathEnd)) { return $file; } } } } } // PSR-4 fallback dirs foreach ($this->fallbackDirsPsr4 as $dir) { if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { return $file; } } // PSR-0 lookup if (false !== $pos = strrpos($class, '\\')) { // namespaced class name $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); } else { // PEAR-like class name $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; } if (isset($this->prefixesPsr0[$first])) { foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { if (0 === strpos($class, $prefix)) { foreach ($dirs as $dir) { if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { return $file; } } } } } // PSR-0 fallback dirs foreach ($this->fallbackDirsPsr0 as $dir) { if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { return $file; } } // PSR-0 include paths. if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { return $file; } return false; } /** * @return void */ private static function initializeIncludeClosure() { if (self::$includeFile !== null) { return; } /** * Scope isolated include. * * Prevents access to $this/self from included files. * * @param string $file * @return void */ self::$includeFile = \Closure::bind(static function($file) { include $file; }, null, null); } } vendor-prefixed/autoload.php 0000644 00000001354 15174671772 0012212 0 ustar 00 <?php // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { if (!headers_sent()) { header('HTTP/1.1 500 Internal Server Error'); } $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; if (!ini_get('display_errors')) { if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { fwrite(STDERR, $err); } elseif (!headers_sent()) { echo $err; } } throw new RuntimeException($err); } require_once __DIR__ . '/composer/autoload_real.php'; return ComposerAutoloaderInit7e78b974c5a60c1892ae9c9ae7654fe0::getLoader(); vendor-prefixed/code-atlantic/prerequisite-checks/src/Prerequisites.php 0000644 00000027120 15174671772 0022522 0 ustar 00 <?php /** * Prerequisite handler. * * @package PopupMaker\Vendor\CodeAtlantic\PrerequisiteChecks; */ namespace PopupMaker\Vendor\CodeAtlantic\PrerequisiteChecks; defined( 'ABSPATH' ) || exit; /** * Prerequisite handler. * * @version 1.3.1 */ class Prerequisites { /** * Cache accessible across instances. * * @var array */ public static $cache = []; /** * Array of checks to perform. * * @var array */ protected $checks = []; /** * Array of detected failures. * * @var array */ protected $failures = []; /** * Array of config arguments. * * @var array */ protected $config = []; /** * Instantiate prerequisite checker. * * @param array $requirements Array of requirements. * @param string $text_domain Text domain. */ public function __construct( $requirements = [], $config = [] ) { $this->config = wp_parse_args( $config, [ 'slug' => null, 'name' => null, 'text_domain' => 'default', ] ); foreach ( $requirements as $arguments ) { switch ( $arguments['type'] ) { case 'php': $this->checks[] = wp_parse_args( $arguments, [ 'type' => 'php', 'version' => '5.6', ] ); break; // phpcs:ignore WordPress.WP.CapitalPDangit.MisspelledInText case 'wordpress': case 'wp': $this->checks[] = wp_parse_args( $arguments, [ 'type' => 'wp', 'version' => '5.6', ] ); break; case 'plugin': // If slug is set and basename is empty, set basename from slug. if ( empty( $arguments['basename'] ) ) { // If $slug does not contain / & .php, assume its a folder name & append. if ( false === strpos( $arguments['slug'], '/' ) || false === strpos( $arguments['slug'], '.php' ) ) { $arguments['basename'] = $arguments['slug'] . '/' . $arguments['slug'] . '.php'; } else { $arguments['basename'] = $arguments['slug']; } } if ( isset( $arguments['check_installed'] ) ) { $arguments['required'] = true; } $this->checks[] = wp_parse_args( $arguments, [ 'type' => 'plugin', // Slug or basename. 'slug' => '', 'basename' => '', 'name' => '', 'version' => '', 'required' => false, // Deprecated, use required. 'check_installed' => false, 'dep_label' => '', ] ); break; default: break; } } } /** * Check requirements. * * @param boolean $return_on_fail Whether it should stop processing if one fails. * * @return bool */ public function check( $return_on_fail = false ) { $end_result = true; foreach ( $this->checks as $check ) { $result = $this->check_handler( $check ); if ( false === $result ) { if ( true === $return_on_fail ) { return false; } $end_result = false; } } return $end_result; } /** * Render notices when appropriate. */ public function setup_notices() { add_action( 'admin_notices', [ $this, 'render_notices' ] ); } /** * Handle individual checks by mapping them to methods. * * @param array $check Requirement check arguments. * * @return bool */ public function check_handler( $check ) { return method_exists( $this, 'check_' . $check['type'] ) ? $this->{'check_' . $check['type']}( $check ) : false; } /** * Report failure notice to the queue. * * @param array $check_args Array of check arguments. */ public function report_failure( $check_args ) { $this->failures[] = $check_args; } /** * Get a list of failures. * * @return array */ public function get_failures() { return $this->failures; } /** * Check PHP version against args. * * @param array $check_args Array of args. * * @return bool */ public function check_php( $check_args ) { if ( false === version_compare( phpversion(), $check_args['version'], '>=' ) ) { $this->report_failure( $check_args ); return false; } return true; } /** * Check PHP version against args. * * @param array $check_args Array of args. * * @return bool */ public function check_wp( $check_args ) { global $wp_version; if ( false === version_compare( $wp_version, $check_args['version'], '>=' ) ) { $this->report_failure( $check_args ); return false; } return true; } /** * Check plugin requirements. * * @param array $check_args Array of args. * * @return bool */ public function check_plugin( $check_args ) { $plugin_basename = $check_args['basename']; $installed = $this->plugin_is_installed( $plugin_basename ); if ( $check_args['required'] && ! $installed ) { // Check if not installed, if so the plugin is not activated. $this->report_failure( array_merge( $check_args, [ // Report not_activated status. 'not_installed' => true, ] ) ); return false; } elseif ( ! $check_args['required'] && ! $installed ) { // If not required and not installed, we can bail now > true. return true; } $active = $installed && $this->plugin_is_active( $plugin_basename ); /** * The following checks are performed in this order for performance reasons. * * We start with most cached option, to least in hopes of a hit early. * * 1. If active and not checking version. * 2. If active and outdated. * 3. If not active and installed. * 4. If not installed */ if ( true === $active ) { // If required version is set & plugin is active, check that first. if ( isset( $check_args['version'] ) ) { $version = $this->get_plugin_data( $plugin_basename, 'Version' ); // If its higher than the required version, we can bail now > true. if ( version_compare( $version, $check_args['version'], '>=' ) ) { return true; } else { // If not updated, report the failure and bail > false. $this->report_failure( array_merge( $check_args, [ // Report not_updated status. 'not_updated' => true, ] ) ); return false; } } else { // If the plugin is active, with no required version, were done > true. return true; } } elseif ( $installed ) { $this->report_failure( array_merge( $check_args, [ // Report not_activated status. 'not_activated' => true, ] ) ); return false; } return false; } /** * Internally cached get_plugin_data/get_file_data wrapper. * * @param string $slug Plugins `folder/file.php` slug. * @param string $header Specific plugin header needed. * @return mixed */ private function get_plugin_data( $slug, $header = null ) { if ( ! isset( static::$cache['get_plugin_data'][ $slug ] ) ) { $headers = \get_file_data( WP_PLUGIN_DIR . '/' . $slug, [ 'Name' => 'Plugin Name', 'Version' => 'Version', ], 'plugin' ); static::$cache['get_plugin_data'][ $slug ] = $headers; } $plugin_data = static::$cache['get_plugin_data'][ $slug ]; if ( empty( $header ) ) { return $plugin_data; } return isset( $plugin_data[ $header ] ) ? $plugin_data[ $header ] : null; } /** * Check if an addon is installed. * * @param string $plugin_basename Plugin slug. * * @return bool */ public function plugin_is_installed( $plugin_basename ) { static $installed_plugins = null; if ( null === $installed_plugins ) { if ( ! function_exists( 'get_plugins' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } $installed_plugins = \get_plugins(); } return isset( $installed_plugins[ $plugin_basename ] ); } /** * Check if plugin is active. * * @param string $plugin_basename Plugin basename to check for. * * @return bool */ protected function plugin_is_active( $plugin_basename ) { return is_plugin_active( $plugin_basename ); } /** * Get php error message. * * @param array $failed_check_args Check arguments. * * @return string */ public function get_php_message( $failed_check_args ) { return sprintf( /* translators: 1. Plugin Name, Requirement name (WordPress|PHP)., 2. Version Number. */ __( 'The plugin "%1$s" requires <b>%2$s v%3$s</b> or higher in order to run.', $this->config['text_domain'] ), isset( $this->config['name'] ) ? $this->config['name'] : '', __( 'PHP', 'default', $this->config['text_domain'] ), $failed_check_args['version'] ); } /** * Get wp error message. * * @param array $failed_check_args Check arguments. * * @return string */ public function get_wp_message( $failed_check_args ) { return sprintf( /* translators: 1. Plugin Name, Requirement name (WordPress|PHP)., 2. Version Number. */ __( 'The plugin "%1$s" requires <b>%2$s v%3$s</b> or higher in order to run.', $this->config['text_domain'] ), isset( $this->config['name'] ) ? $this->config['name'] : '', __( 'WordPress', 'default', $this->config['text_domain'] ), $failed_check_args['version'] ); } /** * Get plugin error message. * * @param array $failed_check_args Get helpful error message. * * @return string */ public function get_plugin_message( $failed_check_args ) { $slug = $failed_check_args['slug']; // Without file path. $short_slug = explode( '/', $slug ); $short_slug = $short_slug[0]; $name = $failed_check_args['name']; if ( isset( $failed_check_args['not_activated'] ) ) { $url = esc_url( wp_nonce_url( admin_url( 'plugins.php?action=activate&plugin=' . $slug ), 'activate-plugin_' . $slug ) ); $link = '<a href="' . $url . '">' . __( 'activate it', $this->config['text_domain'] ) . '</a>'; $text = sprintf( /* translators: 1. Plugin Name, 2. Required Plugin Name, 4. `activate it` link. */ __( 'The plugin "%1$s" requires %2$s! Please %3$s to continue!', $this->config['text_domain'] ), isset( $this->config['name'] ) ? $this->config['name'] : '', '<strong>' . $name . '</strong>', $link ); } elseif ( isset( $failed_check_args['not_updated'] ) ) { $url = esc_url( wp_nonce_url( admin_url( 'update.php?action=upgrade-plugin&plugin=' . $slug ), 'upgrade-plugin_' . $slug ) ); $link = '<a href="' . $url . '">' . __( 'update it', $this->config['text_domain'] ) . '</a>'; $text = sprintf( /* translators: 1. Plugin Name, 2. Required Plugin Name, 3. Version number, 4. `update it` link. */ __( 'The plugin "%1$s" requires %2$s v%3$s or higher! Please %4$s to continue!', $this->config['text_domain'] ), isset( $this->config['name'] ) ? $this->config['name'] : '', '<strong>' . $name . '</strong>', '<strong>' . $failed_check_args['version'] . '</strong>', $link ); } else { $url = esc_url( wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . $short_slug ), 'install-plugin_' . $short_slug ) ); $link = '<a href="' . $url . '">' . __( 'install it', $this->config['text_domain'] ) . '</a>'; $text = sprintf( /* translators: 1. Plugin Name, 2. Required Plugin Name, 3. `install it` link. */ __( 'The plugin "%1$s" requires %2$s! Please %3$s to continue!', $this->config['text_domain'] ), isset( $this->config['name'] ) ? $this->config['name'] : '', '<strong>' . $name . '</strong>', $link ); } return $text; } /** * Render needed admin notices. * * @return void */ public function render_notices() { foreach ( $this->failures as $failure ) { $class = 'notice notice-error'; $message = method_exists( $this, 'get_' . $failure['type'] . '_message' ) ? $this->{'get_' . $failure['type'] . '_message'}( $failure ) : false; /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ printf( '<div class="%1$s"><p>%2$s</p></div>', esc_attr( $class ), $message ); } } } vendor-prefixed/code-atlantic/wp-autoloader/src/Autoloader.php 0000644 00000003732 15174671772 0020564 0 ustar 00 <?php /** * Includes the composer Autoloader used for packages and classes in the classes/ directory. * * @package CodeAtlantic\Autoloader */ namespace PopupMaker\Vendor\CodeAtlantic\Autoloader; defined( 'ABSPATH' ) || exit; /** * Autoloader class. */ class Autoloader { /** * Static-only class. */ private function __construct() { } /** * Require the autoloader and return the result. * * If the autoloader is not present, let's log the failure and display a nice admin notice. * * @param string $name Plugin name for error messaging. * @param string $path Plugin path. * @param string $failure_notice Failure notice to display. * * @return boolean */ public static function init( $name = '', $path = '', $failure_notice = null ) { // If $path includes autoload.php, use it directly, otherwise append /vendor/autoload.php if ( str_ends_with( $path, '.php' ) ) { $autoloader = $path; } else { $autoloader = $path . '/vendor/autoload.php'; } if ( ! \is_readable( $autoloader ) ) { self::missing_autoloader( $name, $failure_notice ); return false; } return require $autoloader; } /** * If the autoloader is missing, add an admin notice. * * @param string $plugin_name Plugin name for error messaging. * @param string $failure_notice Failure notice to display. */ protected static function missing_autoloader( $plugin_name = '', $failure_notice = null ) { /* translators: 1. Plugin name */ $message = $failure_notice ? $failure_notice : sprintf( esc_html__( 'Your installation of %1$s is incomplete. If you installed %1$s from GitHub, please refer to this document to set up your development environment.' ), $plugin_name ); if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) { error_log( // phpcs:ignore $message ); } add_action( 'admin_notices', function () use ( $message ) { ?> <div class="notice notice-error"> <p><?php echo esc_html( $message ); ?></p> </div> <?php } ); } } vendor-prefixed/pimple/pimple/LICENSE 0000644 00000002051 15174671772 0013445 0 ustar 00 Copyright (c) 2009-2020 Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. vendor-prefixed/pimple/pimple/src/Pimple/Container.php 0000644 00000022456 15174671772 0017123 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple; use PopupMaker\Vendor\Pimple\Exception\ExpectedInvokableException; use PopupMaker\Vendor\Pimple\Exception\FrozenServiceException; use PopupMaker\Vendor\Pimple\Exception\InvalidServiceIdentifierException; use PopupMaker\Vendor\Pimple\Exception\UnknownIdentifierException; /** * Container main class. * * @author Fabien Potencier */ class Container implements \ArrayAccess { private $values = []; private $factories; private $protected; private $frozen = []; private $raw = []; private $keys = []; /** * Instantiates the container. * * Objects and parameters can be passed as argument to the constructor. * * @param array $values The parameters or objects */ public function __construct(array $values = []) { $this->factories = new \SplObjectStorage(); $this->protected = new \SplObjectStorage(); foreach ($values as $key => $value) { $this->offsetSet($key, $value); } } /** * Sets a parameter or an object. * * Objects must be defined as Closures. * * Allowing any PHP callable leads to difficult to debug problems * as function names (strings) are callable (creating a function with * the same name as an existing parameter would break your container). * * @param string $id The unique identifier for the parameter or object * @param mixed $value The value of the parameter or a closure to define an object * * @return void * * @throws FrozenServiceException Prevent override of a frozen service */ #[\ReturnTypeWillChange] public function offsetSet($id, $value) { if (isset($this->frozen[$id])) { throw new FrozenServiceException($id); } $this->values[$id] = $value; $this->keys[$id] = true; } /** * Gets a parameter or an object. * * @param string $id The unique identifier for the parameter or object * * @return mixed The value of the parameter or an object * * @throws UnknownIdentifierException If the identifier is not defined */ #[\ReturnTypeWillChange] public function offsetGet($id) { if (!isset($this->keys[$id])) { throw new UnknownIdentifierException($id); } if ( isset($this->raw[$id]) || !\is_object($this->values[$id]) || isset($this->protected[$this->values[$id]]) || !\method_exists($this->values[$id], '__invoke') ) { return $this->values[$id]; } if (isset($this->factories[$this->values[$id]])) { return $this->values[$id]($this); } $raw = $this->values[$id]; $val = $this->values[$id] = $raw($this); $this->raw[$id] = $raw; $this->frozen[$id] = true; return $val; } /** * Checks if a parameter or an object is set. * * @param string $id The unique identifier for the parameter or object * * @return bool */ #[\ReturnTypeWillChange] public function offsetExists($id) { return isset($this->keys[$id]); } /** * Unsets a parameter or an object. * * @param string $id The unique identifier for the parameter or object * * @return void */ #[\ReturnTypeWillChange] public function offsetUnset($id) { if (isset($this->keys[$id])) { if (\is_object($this->values[$id])) { unset($this->factories[$this->values[$id]], $this->protected[$this->values[$id]]); } unset($this->values[$id], $this->frozen[$id], $this->raw[$id], $this->keys[$id]); } } /** * Marks a callable as being a factory service. * * @param callable $callable A service definition to be used as a factory * * @return callable The passed callable * * @throws ExpectedInvokableException Service definition has to be a closure or an invokable object */ public function factory($callable) { if (!\is_object($callable) || !\method_exists($callable, '__invoke')) { throw new ExpectedInvokableException('Service definition is not a Closure or invokable object.'); } $this->factories->attach($callable); return $callable; } /** * Protects a callable from being interpreted as a service. * * This is useful when you want to store a callable as a parameter. * * @param callable $callable A callable to protect from being evaluated * * @return callable The passed callable * * @throws ExpectedInvokableException Service definition has to be a closure or an invokable object */ public function protect($callable) { if (!\is_object($callable) || !\method_exists($callable, '__invoke')) { throw new ExpectedInvokableException('Callable is not a Closure or invokable object.'); } $this->protected->attach($callable); return $callable; } /** * Gets a parameter or the closure defining an object. * * @param string $id The unique identifier for the parameter or object * * @return mixed The value of the parameter or the closure defining an object * * @throws UnknownIdentifierException If the identifier is not defined */ public function raw($id) { if (!isset($this->keys[$id])) { throw new UnknownIdentifierException($id); } if (isset($this->raw[$id])) { return $this->raw[$id]; } return $this->values[$id]; } /** * Extends an object definition. * * Useful when you want to extend an existing object definition, * without necessarily loading that object. * * @param string $id The unique identifier for the object * @param callable $callable A service definition to extend the original * * @return callable The wrapped callable * * @throws UnknownIdentifierException If the identifier is not defined * @throws FrozenServiceException If the service is frozen * @throws InvalidServiceIdentifierException If the identifier belongs to a parameter * @throws ExpectedInvokableException If the extension callable is not a closure or an invokable object */ public function extend($id, $callable) { if (!isset($this->keys[$id])) { throw new UnknownIdentifierException($id); } if (isset($this->frozen[$id])) { throw new FrozenServiceException($id); } if (!\is_object($this->values[$id]) || !\method_exists($this->values[$id], '__invoke')) { throw new InvalidServiceIdentifierException($id); } if (isset($this->protected[$this->values[$id]])) { @\trigger_error(\sprintf('How Pimple behaves when extending protected closures will be fixed in Pimple 4. Are you sure "%s" should be protected?', $id), E_USER_DEPRECATED); } if (!\is_object($callable) || !\method_exists($callable, '__invoke')) { throw new ExpectedInvokableException('Extension service definition is not a Closure or invokable object.'); } $factory = $this->values[$id]; $extended = function ($c) use ($callable, $factory) { return $callable($factory($c), $c); }; if (isset($this->factories[$factory])) { $this->factories->detach($factory); $this->factories->attach($extended); } return $this[$id] = $extended; } /** * Returns all defined value names. * * @return array An array of value names */ public function keys() { return \array_keys($this->values); } /** * Registers a service provider. * * @param array $values An array of values that customizes the provider * * @return static */ public function register(ServiceProviderInterface $provider, array $values = []) { $provider->register($this); foreach ($values as $key => $value) { $this[$key] = $value; } return $this; } } vendor-prefixed/pimple/pimple/src/Pimple/Exception/InvalidServiceIdentifierException.php 0000644 00000003326 15174671772 0025723 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple\Exception; use PopupMaker\Vendor\Psr\Container\NotFoundExceptionInterface; /** * An attempt to perform an operation that requires a service identifier was made. * * @author Pascal Luna <skalpa@zetareticuli.org> */ class InvalidServiceIdentifierException extends \InvalidArgumentException implements NotFoundExceptionInterface { /** * @param string $id The invalid identifier */ public function __construct($id) { parent::__construct(\sprintf('Identifier "%s" does not contain an object definition.', $id)); } } vendor-prefixed/pimple/pimple/src/Pimple/Exception/UnknownIdentifierException.php 0000644 00000003245 15174671772 0024453 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple\Exception; use PopupMaker\Vendor\Psr\Container\NotFoundExceptionInterface; /** * The identifier of a valid service or parameter was expected. * * @author Pascal Luna <skalpa@zetareticuli.org> */ class UnknownIdentifierException extends \InvalidArgumentException implements NotFoundExceptionInterface { /** * @param string $id The unknown identifier */ public function __construct($id) { parent::__construct(\sprintf('Identifier "%s" is not defined.', $id)); } } vendor-prefixed/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php 0000644 00000003235 15174671772 0023574 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple\Exception; use PopupMaker\Vendor\Psr\Container\ContainerExceptionInterface; /** * An attempt to modify a frozen service was made. * * @author Pascal Luna <skalpa@zetareticuli.org> */ class FrozenServiceException extends \RuntimeException implements ContainerExceptionInterface { /** * @param string $id Identifier of the frozen service */ public function __construct($id) { parent::__construct(\sprintf('Cannot override frozen service "%s".', $id)); } } vendor-prefixed/pimple/pimple/src/Pimple/Exception/ExpectedInvokableException.php 0000644 00000002726 15174671772 0024410 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple\Exception; use PopupMaker\Vendor\Psr\Container\ContainerExceptionInterface; /** * A closure or invokable object was expected. * * @author Pascal Luna <skalpa@zetareticuli.org> */ class ExpectedInvokableException extends \InvalidArgumentException implements ContainerExceptionInterface { } vendor-prefixed/pimple/pimple/src/Pimple/ServiceProviderInterface.php 0000644 00000003051 15174671772 0022123 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple; /** * Pimple service provider interface. * * @author Fabien Potencier * @author Dominik Zogg */ interface ServiceProviderInterface { /** * Registers services on the given container. * * This method should only be used to configure services and parameters. * It should not get services. */ public function register(Container $pimple); } vendor-prefixed/pimple/pimple/src/Pimple/ServiceIterator.php 0000644 00000004310 15174671772 0020300 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple; /** * Lazy service iterator. * * @author Pascal Luna <skalpa@zetareticuli.org> */ final class ServiceIterator implements \Iterator { private $container; private $ids; public function __construct(Container $container, array $ids) { $this->container = $container; $this->ids = $ids; } /** * @return void */ #[\ReturnTypeWillChange] public function rewind() { \reset($this->ids); } /** * @return mixed */ #[\ReturnTypeWillChange] public function current() { return $this->container[\current($this->ids)]; } /** * @return mixed */ #[\ReturnTypeWillChange] public function key() { return \current($this->ids); } /** * @return void */ #[\ReturnTypeWillChange] public function next() { \next($this->ids); } /** * @return bool */ #[\ReturnTypeWillChange] public function valid() { return null !== \key($this->ids); } } vendor-prefixed/pimple/pimple/src/Pimple/Psr11/Container.php 0000644 00000003362 15174671772 0020024 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009-2017 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple\Psr11; use PopupMaker\Vendor\Pimple\Container as PimpleContainer; use PopupMaker\Vendor\Psr\Container\ContainerInterface; /** * PSR-11 compliant wrapper. * * @author Pascal Luna <skalpa@zetareticuli.org> */ final class Container implements ContainerInterface { private $pimple; public function __construct(PimpleContainer $pimple) { $this->pimple = $pimple; } public function get(string $id) { return $this->pimple[$id]; } public function has(string $id): bool { return isset($this->pimple[$id]); } } vendor-prefixed/pimple/pimple/src/Pimple/Psr11/ServiceLocator.php 0000644 00000004661 15174671772 0021031 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple\Psr11; use PopupMaker\Vendor\Pimple\Container as PimpleContainer; use PopupMaker\Vendor\Pimple\Exception\UnknownIdentifierException; use PopupMaker\Vendor\Psr\Container\ContainerInterface; /** * Pimple PSR-11 service locator. * * @author Pascal Luna <skalpa@zetareticuli.org> */ class ServiceLocator implements ContainerInterface { private $container; private $aliases = []; /** * @param \PimpleContainer $container The Container instance used to locate services * @param array $ids Array of service ids that can be located. String keys can be used to define aliases */ public function __construct(PimpleContainer $container, array $ids) { $this->container = $container; foreach ($ids as $key => $id) { $this->aliases[\is_int($key) ? $id : $key] = $id; } } /** * {@inheritdoc} */ public function get(string $id) { if (!isset($this->aliases[$id])) { throw new UnknownIdentifierException($id); } return $this->container[$this->aliases[$id]]; } /** * {@inheritdoc} */ public function has(string $id): bool { return isset($this->aliases[$id]) && isset($this->container[$this->aliases[$id]]); } } vendor-prefixed/pimple/pimple/src/Pimple/Tests/Fixtures/NonInvokable.php 0000644 00000002406 15174671772 0022472 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple\Tests\Fixtures; class NonInvokable { public function __call($a, $b) { } } vendor-prefixed/pimple/pimple/src/Pimple/Tests/Fixtures/PimpleServiceProvider.php 0000644 00000003501 15174671772 0024364 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple\Tests\Fixtures; use PopupMaker\Vendor\Pimple\Container; use PopupMaker\Vendor\Pimple\ServiceProviderInterface; class PimpleServiceProvider implements ServiceProviderInterface { /** * Registers services on the given container. * * This method should only be used to configure services and parameters. * It should not get services. */ public function register(Container $pimple) { $pimple['param'] = 'value'; $pimple['service'] = function () { return new Service(); }; $pimple['factory'] = $pimple->factory(function () { return new Service(); }); } } vendor-prefixed/pimple/pimple/src/Pimple/Tests/Fixtures/Invokable.php 0000644 00000002552 15174671772 0022021 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple\Tests\Fixtures; class Invokable { public function __invoke($value = null) { $service = new Service(); $service->value = $value; return $service; } } vendor-prefixed/pimple/pimple/src/Pimple/Tests/Fixtures/Service.php 0000644 00000002430 15174671772 0021502 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple\Tests\Fixtures; /** * @author Igor Wiedler <igor@wiedler.ch> */ class Service { public $value; } vendor-prefixed/pimple/pimple/src/Pimple/Tests/PimpleServiceProviderInterfaceTest.php 0000644 00000005531 15174671772 0025241 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple\Tests; use PHPUnit\Framework\TestCase; use PopupMaker\Vendor\Pimple\Container; /** * @author Dominik Zogg <dominik.zogg@gmail.com> */ class PimpleServiceProviderInterfaceTest extends TestCase { public function testProvider() { $pimple = new Container(); $pimpleServiceProvider = new Fixtures\PimpleServiceProvider(); $pimpleServiceProvider->register($pimple); $this->assertEquals('value', $pimple['param']); $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\Service', $pimple['service']); $serviceOne = $pimple['factory']; $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\Service', $serviceOne); $serviceTwo = $pimple['factory']; $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\Service', $serviceTwo); $this->assertNotSame($serviceOne, $serviceTwo); } public function testProviderWithRegisterMethod() { $pimple = new Container(); $pimple->register(new Fixtures\PimpleServiceProvider(), [ 'anotherParameter' => 'anotherValue', ]); $this->assertEquals('value', $pimple['param']); $this->assertEquals('anotherValue', $pimple['anotherParameter']); $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\Service', $pimple['service']); $serviceOne = $pimple['factory']; $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\Service', $serviceOne); $serviceTwo = $pimple['factory']; $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\Service', $serviceTwo); $this->assertNotSame($serviceOne, $serviceTwo); } } vendor-prefixed/pimple/pimple/src/Pimple/Tests/Psr11/ContainerTest.php 0000644 00000005047 15174671772 0021770 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009-2017 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple\Tests\Psr11; use PHPUnit\Framework\TestCase; use PopupMaker\Vendor\Pimple\Container; use PopupMaker\Vendor\Pimple\Psr11\Container as PsrContainer; use PopupMaker\Vendor\Pimple\Tests\Fixtures\Service; class ContainerTest extends TestCase { public function testGetReturnsExistingService() { $pimple = new Container(); $pimple['service'] = function () { return new Service(); }; $psr = new PsrContainer($pimple); $this->assertSame($pimple['service'], $psr->get('service')); } public function testGetThrowsExceptionIfServiceIsNotFound() { $this->expectException(\PopupMaker\Vendor\Psr\Container\NotFoundExceptionInterface::class); $this->expectExceptionMessage('Identifier "service" is not defined.'); $pimple = new Container(); $psr = new PsrContainer($pimple); $psr->get('service'); } public function testHasReturnsTrueIfServiceExists() { $pimple = new Container(); $pimple['service'] = function () { return new Service(); }; $psr = new PsrContainer($pimple); $this->assertTrue($psr->has('service')); } public function testHasReturnsFalseIfServiceDoesNotExist() { $pimple = new Container(); $psr = new PsrContainer($pimple); $this->assertFalse($psr->has('service')); } } vendor-prefixed/pimple/pimple/src/Pimple/Tests/Psr11/ServiceLocatorTest.php 0000644 00000010722 15174671772 0022766 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple\Tests\Psr11; use PHPUnit\Framework\TestCase; use PopupMaker\Vendor\Pimple\Container; use PopupMaker\Vendor\Pimple\Psr11\ServiceLocator; use PopupMaker\Vendor\Pimple\Tests\Fixtures; /** * ServiceLocator test case. * * @author Pascal Luna <skalpa@zetareticuli.org> */ class ServiceLocatorTest extends TestCase { public function testCanAccessServices() { $pimple = new Container(); $pimple['service'] = function () { return new Fixtures\Service(); }; $locator = new ServiceLocator($pimple, ['service']); $this->assertSame($pimple['service'], $locator->get('service')); } public function testCanAccessAliasedServices() { $pimple = new Container(); $pimple['service'] = function () { return new Fixtures\Service(); }; $locator = new ServiceLocator($pimple, ['alias' => 'service']); $this->assertSame($pimple['service'], $locator->get('alias')); } public function testCannotAccessAliasedServiceUsingRealIdentifier() { $this->expectException(\PopupMaker\Vendor\Pimple\Exception\UnknownIdentifierException::class); $this->expectExceptionMessage('Identifier "service" is not defined.'); $pimple = new Container(); $pimple['service'] = function () { return new Fixtures\Service(); }; $locator = new ServiceLocator($pimple, ['alias' => 'service']); $service = $locator->get('service'); } public function testGetValidatesServiceCanBeLocated() { $this->expectException(\PopupMaker\Vendor\Pimple\Exception\UnknownIdentifierException::class); $this->expectExceptionMessage('Identifier "foo" is not defined.'); $pimple = new Container(); $pimple['service'] = function () { return new Fixtures\Service(); }; $locator = new ServiceLocator($pimple, ['alias' => 'service']); $service = $locator->get('foo'); } public function testGetValidatesTargetServiceExists() { $this->expectException(\PopupMaker\Vendor\Pimple\Exception\UnknownIdentifierException::class); $this->expectExceptionMessage('Identifier "invalid" is not defined.'); $pimple = new Container(); $pimple['service'] = function () { return new Fixtures\Service(); }; $locator = new ServiceLocator($pimple, ['alias' => 'invalid']); $service = $locator->get('alias'); } public function testHasValidatesServiceCanBeLocated() { $pimple = new Container(); $pimple['service1'] = function () { return new Fixtures\Service(); }; $pimple['service2'] = function () { return new Fixtures\Service(); }; $locator = new ServiceLocator($pimple, ['service1']); $this->assertTrue($locator->has('service1')); $this->assertFalse($locator->has('service2')); } public function testHasChecksIfTargetServiceExists() { $pimple = new Container(); $pimple['service'] = function () { return new Fixtures\Service(); }; $locator = new ServiceLocator($pimple, ['foo' => 'service', 'bar' => 'invalid']); $this->assertTrue($locator->has('foo')); $this->assertFalse($locator->has('bar')); } } vendor-prefixed/pimple/pimple/src/Pimple/Tests/PimpleTest.php 0000644 00000044600 15174671772 0020364 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple\Tests; use PHPUnit\Framework\TestCase; use PopupMaker\Vendor\Pimple\Container; /** * @author Igor Wiedler <igor@wiedler.ch> */ class PimpleTest extends TestCase { public function testWithString() { $pimple = new Container(); $pimple['param'] = 'value'; $this->assertEquals('value', $pimple['param']); } public function testWithClosure() { $pimple = new Container(); $pimple['service'] = function () { return new Fixtures\Service(); }; $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\Service', $pimple['service']); } public function testServicesShouldBeDifferent() { $pimple = new Container(); $pimple['service'] = $pimple->factory(function () { return new Fixtures\Service(); }); $serviceOne = $pimple['service']; $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\Service', $serviceOne); $serviceTwo = $pimple['service']; $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\Service', $serviceTwo); $this->assertNotSame($serviceOne, $serviceTwo); } public function testShouldPassContainerAsParameter() { $pimple = new Container(); $pimple['service'] = function () { return new Fixtures\Service(); }; $pimple['container'] = function ($container) { return $container; }; $this->assertNotSame($pimple, $pimple['service']); $this->assertSame($pimple, $pimple['container']); } public function testIsset() { $pimple = new Container(); $pimple['param'] = 'value'; $pimple['service'] = function () { return new Fixtures\Service(); }; $pimple['null'] = null; $this->assertTrue(isset($pimple['param'])); $this->assertTrue(isset($pimple['service'])); $this->assertTrue(isset($pimple['null'])); $this->assertFalse(isset($pimple['non_existent'])); } public function testConstructorInjection() { $params = ['param' => 'value']; $pimple = new Container($params); $this->assertSame($params['param'], $pimple['param']); } public function testOffsetGetValidatesKeyIsPresent() { $this->expectException(\PopupMaker\Vendor\Pimple\Exception\UnknownIdentifierException::class); $this->expectExceptionMessage('Identifier "foo" is not defined.'); $pimple = new Container(); echo $pimple['foo']; } /** * @group legacy */ public function testLegacyOffsetGetValidatesKeyIsPresent() { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('Identifier "foo" is not defined.'); $pimple = new Container(); echo $pimple['foo']; } public function testOffsetGetHonorsNullValues() { $pimple = new Container(); $pimple['foo'] = null; $this->assertNull($pimple['foo']); } public function testUnset() { $pimple = new Container(); $pimple['param'] = 'value'; $pimple['service'] = function () { return new Fixtures\Service(); }; unset($pimple['param'], $pimple['service']); $this->assertFalse(isset($pimple['param'])); $this->assertFalse(isset($pimple['service'])); } /** * @dataProvider serviceDefinitionProvider */ public function testShare($service) { $pimple = new Container(); $pimple['shared_service'] = $service; $serviceOne = $pimple['shared_service']; $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\Service', $serviceOne); $serviceTwo = $pimple['shared_service']; $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\Service', $serviceTwo); $this->assertSame($serviceOne, $serviceTwo); } /** * @dataProvider serviceDefinitionProvider */ public function testProtect($service) { $pimple = new Container(); $pimple['protected'] = $pimple->protect($service); $this->assertSame($service, $pimple['protected']); } public function testGlobalFunctionNameAsParameterValue() { $pimple = new Container(); $pimple['global_function'] = 'strlen'; $this->assertSame('strlen', $pimple['global_function']); } public function testRaw() { $pimple = new Container(); $pimple['service'] = $definition = $pimple->factory(function () { return 'foo'; }); $this->assertSame($definition, $pimple->raw('service')); } public function testRawHonorsNullValues() { $pimple = new Container(); $pimple['foo'] = null; $this->assertNull($pimple->raw('foo')); } public function testFluentRegister() { $pimple = new Container(); $this->assertSame($pimple, $pimple->register($this->getMockBuilder('PopupMaker\Vendor\Pimple\ServiceProviderInterface')->getMock())); } public function testRawValidatesKeyIsPresent() { $this->expectException(\PopupMaker\Vendor\Pimple\Exception\UnknownIdentifierException::class); $this->expectExceptionMessage('Identifier "foo" is not defined.'); $pimple = new Container(); $pimple->raw('foo'); } /** * @group legacy */ public function testLegacyRawValidatesKeyIsPresent() { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('Identifier "foo" is not defined.'); $pimple = new Container(); $pimple->raw('foo'); } /** * @dataProvider serviceDefinitionProvider */ public function testExtend($service) { $pimple = new Container(); $pimple['shared_service'] = function () { return new Fixtures\Service(); }; $pimple['factory_service'] = $pimple->factory(function () { return new Fixtures\Service(); }); $pimple->extend('shared_service', $service); $serviceOne = $pimple['shared_service']; $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\Service', $serviceOne); $serviceTwo = $pimple['shared_service']; $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\Service', $serviceTwo); $this->assertSame($serviceOne, $serviceTwo); $this->assertSame($serviceOne->value, $serviceTwo->value); $pimple->extend('factory_service', $service); $serviceOne = $pimple['factory_service']; $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\Service', $serviceOne); $serviceTwo = $pimple['factory_service']; $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\Service', $serviceTwo); $this->assertNotSame($serviceOne, $serviceTwo); $this->assertNotSame($serviceOne->value, $serviceTwo->value); } public function testExtendDoesNotLeakWithFactories() { if (\extension_loaded('pimple')) { $this->markTestSkipped('Pimple extension does not support this test'); } $pimple = new Container(); $pimple['foo'] = $pimple->factory(function () { return; }); $pimple['foo'] = $pimple->extend('foo', function ($foo, $pimple) { return; }); unset($pimple['foo']); $p = new \ReflectionProperty($pimple, 'values'); $p->setAccessible(true); $this->assertEmpty($p->getValue($pimple)); $p = new \ReflectionProperty($pimple, 'factories'); $p->setAccessible(true); $this->assertCount(0, $p->getValue($pimple)); } public function testExtendValidatesKeyIsPresent() { $this->expectException(\PopupMaker\Vendor\Pimple\Exception\UnknownIdentifierException::class); $this->expectExceptionMessage('Identifier "foo" is not defined.'); $pimple = new Container(); $pimple->extend('foo', function () { }); } /** * @group legacy */ public function testLegacyExtendValidatesKeyIsPresent() { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('Identifier "foo" is not defined.'); $pimple = new Container(); $pimple->extend('foo', function () { }); } public function testKeys() { $pimple = new Container(); $pimple['foo'] = 123; $pimple['bar'] = 123; $this->assertEquals(['foo', 'bar'], $pimple->keys()); } /** @test */ public function settingAnInvokableObjectShouldTreatItAsFactory() { $pimple = new Container(); $pimple['invokable'] = new Fixtures\Invokable(); $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\Service', $pimple['invokable']); } /** @test */ public function settingNonInvokableObjectShouldTreatItAsParameter() { $pimple = new Container(); $pimple['non_invokable'] = new Fixtures\NonInvokable(); $this->assertInstanceOf('PopupMaker\Vendor\Pimple\Tests\Fixtures\NonInvokable', $pimple['non_invokable']); } /** * @dataProvider badServiceDefinitionProvider */ public function testFactoryFailsForInvalidServiceDefinitions($service) { $this->expectException(\PopupMaker\Vendor\Pimple\Exception\ExpectedInvokableException::class); $this->expectExceptionMessage('Service definition is not a Closure or invokable object.'); $pimple = new Container(); $pimple->factory($service); } /** * @group legacy * @dataProvider badServiceDefinitionProvider */ public function testLegacyFactoryFailsForInvalidServiceDefinitions($service) { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('Service definition is not a Closure or invokable object.'); $pimple = new Container(); $pimple->factory($service); } /** * @dataProvider badServiceDefinitionProvider */ public function testProtectFailsForInvalidServiceDefinitions($service) { $this->expectException(\PopupMaker\Vendor\Pimple\Exception\ExpectedInvokableException::class); $this->expectExceptionMessage('Callable is not a Closure or invokable object.'); $pimple = new Container(); $pimple->protect($service); } /** * @group legacy * @dataProvider badServiceDefinitionProvider */ public function testLegacyProtectFailsForInvalidServiceDefinitions($service) { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('Callable is not a Closure or invokable object.'); $pimple = new Container(); $pimple->protect($service); } /** * @dataProvider badServiceDefinitionProvider */ public function testExtendFailsForKeysNotContainingServiceDefinitions($service) { $this->expectException(\PopupMaker\Vendor\Pimple\Exception\InvalidServiceIdentifierException::class); $this->expectExceptionMessage('Identifier "foo" does not contain an object definition.'); $pimple = new Container(); $pimple['foo'] = $service; $pimple->extend('foo', function () { }); } /** * @group legacy * @dataProvider badServiceDefinitionProvider */ public function testLegacyExtendFailsForKeysNotContainingServiceDefinitions($service) { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('Identifier "foo" does not contain an object definition.'); $pimple = new Container(); $pimple['foo'] = $service; $pimple->extend('foo', function () { }); } /** * @group legacy * @expectedDeprecation How Pimple behaves when extending protected closures will be fixed in Pimple 4. Are you sure "foo" should be protected? */ public function testExtendingProtectedClosureDeprecation() { $pimple = new Container(); $pimple['foo'] = $pimple->protect(function () { return 'bar'; }); $pimple->extend('foo', function ($value) { return $value.'-baz'; }); $this->assertSame('bar-baz', $pimple['foo']); } /** * @dataProvider badServiceDefinitionProvider */ public function testExtendFailsForInvalidServiceDefinitions($service) { $this->expectException(\PopupMaker\Vendor\Pimple\Exception\ExpectedInvokableException::class); $this->expectExceptionMessage('Extension service definition is not a Closure or invokable object.'); $pimple = new Container(); $pimple['foo'] = function () { }; $pimple->extend('foo', $service); } /** * @group legacy * @dataProvider badServiceDefinitionProvider */ public function testLegacyExtendFailsForInvalidServiceDefinitions($service) { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('Extension service definition is not a Closure or invokable object.'); $pimple = new Container(); $pimple['foo'] = function () { }; $pimple->extend('foo', $service); } public function testExtendFailsIfFrozenServiceIsNonInvokable() { $this->expectException(\PopupMaker\Vendor\Pimple\Exception\FrozenServiceException::class); $this->expectExceptionMessage('Cannot override frozen service "foo".'); $pimple = new Container(); $pimple['foo'] = function () { return new Fixtures\NonInvokable(); }; $foo = $pimple['foo']; $pimple->extend('foo', function () { }); } public function testExtendFailsIfFrozenServiceIsInvokable() { $this->expectException(\PopupMaker\Vendor\Pimple\Exception\FrozenServiceException::class); $this->expectExceptionMessage('Cannot override frozen service "foo".'); $pimple = new Container(); $pimple['foo'] = function () { return new Fixtures\Invokable(); }; $foo = $pimple['foo']; $pimple->extend('foo', function () { }); } /** * Provider for invalid service definitions. */ public function badServiceDefinitionProvider() { return [ [123], [new Fixtures\NonInvokable()], ]; } /** * Provider for service definitions. */ public function serviceDefinitionProvider() { return [ [function ($value) { $service = new Fixtures\Service(); $service->value = $value; return $service; }], [new Fixtures\Invokable()], ]; } public function testDefiningNewServiceAfterFreeze() { $pimple = new Container(); $pimple['foo'] = function () { return 'foo'; }; $foo = $pimple['foo']; $pimple['bar'] = function () { return 'bar'; }; $this->assertSame('bar', $pimple['bar']); } public function testOverridingServiceAfterFreeze() { $this->expectException(\PopupMaker\Vendor\Pimple\Exception\FrozenServiceException::class); $this->expectExceptionMessage('Cannot override frozen service "foo".'); $pimple = new Container(); $pimple['foo'] = function () { return 'foo'; }; $foo = $pimple['foo']; $pimple['foo'] = function () { return 'bar'; }; } /** * @group legacy */ public function testLegacyOverridingServiceAfterFreeze() { $this->expectException(\RuntimeException::class); $this->expectExceptionMessage('Cannot override frozen service "foo".'); $pimple = new Container(); $pimple['foo'] = function () { return 'foo'; }; $foo = $pimple['foo']; $pimple['foo'] = function () { return 'bar'; }; } public function testRemovingServiceAfterFreeze() { $pimple = new Container(); $pimple['foo'] = function () { return 'foo'; }; $foo = $pimple['foo']; unset($pimple['foo']); $pimple['foo'] = function () { return 'bar'; }; $this->assertSame('bar', $pimple['foo']); } public function testExtendingService() { $pimple = new Container(); $pimple['foo'] = function () { return 'foo'; }; $pimple['foo'] = $pimple->extend('foo', function ($foo, $app) { return "$foo.bar"; }); $pimple['foo'] = $pimple->extend('foo', function ($foo, $app) { return "$foo.baz"; }); $this->assertSame('foo.bar.baz', $pimple['foo']); } public function testExtendingServiceAfterOtherServiceFreeze() { $pimple = new Container(); $pimple['foo'] = function () { return 'foo'; }; $pimple['bar'] = function () { return 'bar'; }; $foo = $pimple['foo']; $pimple['bar'] = $pimple->extend('bar', function ($bar, $app) { return "$bar.baz"; }); $this->assertSame('bar.baz', $pimple['bar']); } } vendor-prefixed/pimple/pimple/src/Pimple/Tests/ServiceIteratorTest.php 0000644 00000003677 15174671772 0022261 0 ustar 00 <?php /* * This file is part of Pimple. * * Copyright (c) 2009 Fabien Potencier * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished * to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ namespace PopupMaker\Vendor\Pimple\Tests; use PHPUnit\Framework\TestCase; use PopupMaker\Vendor\Pimple\Container; use PopupMaker\Vendor\Pimple\ServiceIterator; use PopupMaker\Vendor\Pimple\Tests\Fixtures\Service; class ServiceIteratorTest extends TestCase { public function testIsIterable() { $pimple = new Container(); $pimple['service1'] = function () { return new Service(); }; $pimple['service2'] = function () { return new Service(); }; $pimple['service3'] = function () { return new Service(); }; $iterator = new ServiceIterator($pimple, ['service1', 'service2']); $this->assertSame(['service1' => $pimple['service1'], 'service2' => $pimple['service2']], iterator_to_array($iterator)); } } uninstall.php 0000644 00000000006 15174671772 0007303 0 ustar 00 <?php includes/entry--failsafes.php 0000644 00000003326 15174671772 0012261 0 ustar 00 <?php /** * Failsafes * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! function_exists( 'popmake_get_option' ) ) { /** * @param string $key * @param bool $default_value * * @return bool */ function popmake_get_option( $key = '', $default_value = false ) { return $default_value; } } if ( ! function_exists( 'popmake_is_admin_page' ) ) { /** * @return bool */ function popmake_is_admin_page() { return false; } } if ( ! function_exists( 'pum_is_admin_page' ) ) { /** * @return bool */ function pum_is_admin_page() { return false; } } if ( ! function_exists( 'popmake_is_admin_popup_page' ) ) { /** * @return bool */ function popmake_is_admin_popup_page() { return false; } } if ( ! function_exists( 'pum_is_popup_editor' ) ) { /** * @return bool */ function pum_is_popup_editor() { return false; } } if ( ! function_exists( 'pum_is_settings_page' ) ) { /** * @return bool */ function pum_is_settings_page() { return false; } } if ( ! function_exists( 'pum_is_func_disabled' ) ) { /** * Checks whether function is disabled. * * @since 1.4 * * @param string $function_name Name of the function. * * @return bool Whether or not function is disabled. */ function pum_is_func_disabled( $function_name ) { $disabled = explode( ',', ini_get( 'disable_functions' ) ); return in_array( $function_name, $disabled, true ); } } if ( ! function_exists( 'popmake_get_template_part' ) ) { /** * @param $slug * @param null $name * @param bool $load * * @return string */ function popmake_get_template_part( $slug, $name = null, $load = true ) { if ( $load ) { return; } return __DIR__ . '/index.php'; } } includes/pum-install-functions.php 0000644 00000063070 15174671772 0013365 0 ustar 00 <?php /** * Install Functions * * @package PUM * @subpackage Functions/Install * @copyright Copyright (c) 2023, Code Atlantic LLC * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License * @since 1.4 */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Creates the example popups * * @since 1.14.0 * * @return void */ function pum_install_example_popups() { $example_popups = [ 'auto_open_announcement' => [ 'post_title' => 'Example: Auto-opening announcement popup', 'post_type' => 'popup', 'post_content' => 'You can see how this popup was set up in our step-by-step guide: https://wppopupmaker.com/guides/auto-opening-announcement-popups/', 'post_status' => 'publish', 'popup_title' => 'Our Spring Sale Has Started', 'popup_settings' => 'a:39:{s:8:"triggers";a:1:{i:0;a:2:{s:4:"type";s:9:"auto_open";s:8:"settings";a:2:{s:11:"cookie_name";a:1:{i:0;s:8:"pum-2094";}s:5:"delay";i:500;}}}s:7:"cookies";a:1:{i:0;a:2:{s:5:"event";s:14:"on_popup_close";s:8:"settings";a:5:{s:4:"name";s:8:"pum-2094";s:3:"key";s:0:"";s:7:"session";b:0;s:4:"time";s:7:"1 month";s:4:"path";s:1:"1";}}}s:10:"conditions";a:1:{i:0;a:1:{i:0;a:1:{s:6:"target";s:13:"is_front_page";}}}s:8:"theme_id";s:4:"2085";s:4:"size";s:6:"medium";s:20:"responsive_min_width";s:2:"0%";s:20:"responsive_max_width";s:4:"100%";s:12:"custom_width";s:5:"640px";s:13:"custom_height";s:5:"380px";s:14:"animation_type";s:4:"fade";s:15:"animation_speed";s:3:"350";s:16:"animation_origin";s:10:"center top";s:10:"open_sound";s:4:"none";s:12:"custom_sound";s:0:"";s:8:"location";s:6:"center";s:12:"position_top";s:3:"100";s:15:"position_bottom";s:1:"0";s:13:"position_left";s:1:"0";s:14:"position_right";s:1:"0";s:6:"zindex";s:10:"1999999999";s:10:"close_text";s:0:"";s:18:"close_button_delay";s:1:"0";s:30:"close_on_form_submission_delay";s:1:"0";s:17:"disable_on_mobile";b:0;s:17:"disable_on_tablet";b:0;s:18:"custom_height_auto";b:0;s:18:"scrollable_content";b:0;s:21:"position_from_trigger";b:0;s:14:"position_fixed";b:0;s:16:"overlay_disabled";b:0;s:9:"stackable";b:0;s:18:"disable_reposition";b:0;s:24:"close_on_form_submission";b:0;s:22:"close_on_overlay_click";b:0;s:18:"close_on_esc_press";b:0;s:17:"close_on_f4_press";b:0;s:19:"disable_form_reopen";b:0;s:21:"disable_accessibility";b:0;s:10:"theme_slug";s:13:"default-theme";}', ], // Always append new popups to the end of the array. This will be required until we have key based installations. ]; $example_popup_count = count( $example_popups ); /** * Stores the number of example popups installed. * * @var int|false False if skipped, null if not set, or the number of example popups installed. */ $example_popups_installed = get_option( 'pum_example_popups_installed', 0 ); if ( $example_popups_installed >= $example_popup_count || false === $example_popups_installed ) { return; } // Check if the popups are installed. // Check for the post meta key pum_example_popup. $popups = get_posts( [ 'post_type' => 'popup', 'post_status' => 'any', // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query 'meta_query' => [ 'relation' => 'AND', [ 'key' => 'pum_example_popup', 'compare' => 'EXISTS', ], ], 'posts_per_page' => - 1, ] ); if ( count( $popups ) > 0 ) { $example_popup_count = count( $popups ); } elseif ( 0 === $example_popups_installed ) { // Check by post_title `'Example: Auto-opening announcement popup'`. $popups = get_posts( [ 'post_type' => 'popup', 'post_status' => 'any', 'post_title' => 'Example: Auto-opening announcement popup', 'posts_per_page' => - 1, ] ); if ( count( $popups ) > 0 ) { // Set it to 1 as that is how many existed at the time this was written. $example_popups_installed = 1; } } if ( $example_popups_installed >= $example_popup_count ) { update_option( 'pum_example_popups_installed', $example_popups_installed, true ); return; } // Remove the first X example popups where X is the number of example popups installed. $example_popups = array_slice( $example_popups, (int) $example_popups_installed ); // Loop through the example popups. foreach ( $example_popups as $key => $popup ) { // Get post_title, type, content & status into a new array. $popup_post = array_intersect_key( $popup, array_flip( [ 'post_title', 'post_type', 'post_content', 'post_status' ] ) ); // Get popup ID after inserting the post. $popup_id = wp_insert_post( $popup_post ); // Set the post meta. update_post_meta( $popup_id, 'popup_title', $popup['popup_title'] ); update_post_meta( $popup_id, 'enabled', 0 ); update_post_meta( $popup_id, 'pum_example_popup', $key ); // Sets up popup settings and saves it as the post meta. $popup_settings = maybe_unserialize( $popup['popup_settings'] ); // Update cookie names to be prefixed with the popup ID. $popup_settings['triggers'][0]['settings']['cookie_name'] = "pum-$popup_id"; $popup_settings['cookies'][0]['settings']['name'] = "pum-$popup_id"; // Set the theme ID. $popup_settings['theme_id'] = pum_get_default_theme_id(); // Update the post meta. update_post_meta( $popup_id, 'popup_settings', $popup_settings ); ++$example_popups_installed; } update_option( 'pum_example_popups_installed', $example_popups_installed, true ); } /** * Enqueues our install theme function on wp_loaded if Popup Maker core was updated. * * @since 1.11.0 * * @return void */ function pum_install_new_themes_on_update() { add_action( 'wp_loaded', 'pum_install_built_in_themes' ); } add_action( 'pum_update_core_version', 'pum_install_new_themes_on_update' ); /** * Installs the built in themes. * * @param bool $network_wide Whether to install the themes for all sites in the network. * * @return void */ function pum_install_built_in_themes( $network_wide = false ) { $installed_themes = get_option( '_pum_installed_themes', [] ); $built_in_themes = [ 'lightbox' => [ 'post_title' => __( 'Light Box', 'popup-maker' ), 'meta_input' => [ 'popup_theme_settings' => 'a:67:{s:24:"overlay_background_color";s:7:"#000000";s:26:"overlay_background_opacity";s:2:"60";s:17:"container_padding";s:2:"18";s:26:"container_background_color";s:7:"#ffffff";s:28:"container_background_opacity";s:3:"100";s:22:"container_border_style";s:5:"solid";s:22:"container_border_color";s:7:"#000000";s:22:"container_border_width";s:1:"8";s:23:"container_border_radius";s:1:"3";s:25:"container_boxshadow_inset";s:2:"no";s:30:"container_boxshadow_horizontal";s:1:"0";s:28:"container_boxshadow_vertical";s:1:"0";s:24:"container_boxshadow_blur";s:2:"30";s:26:"container_boxshadow_spread";s:1:"0";s:25:"container_boxshadow_color";s:7:"#020202";s:27:"container_boxshadow_opacity";s:3:"100";s:16:"title_font_color";s:7:"#000000";s:17:"title_line_height";s:2:"36";s:15:"title_font_size";s:2:"32";s:17:"title_font_family";s:7:"inherit";s:17:"title_font_weight";s:3:"100";s:16:"title_font_style";s:0:"";s:16:"title_text_align";s:4:"left";s:27:"title_textshadow_horizontal";s:1:"0";s:25:"title_textshadow_vertical";s:1:"0";s:21:"title_textshadow_blur";s:1:"0";s:22:"title_textshadow_color";s:7:"#020202";s:24:"title_textshadow_opacity";s:2:"23";s:18:"content_font_color";s:7:"#000000";s:19:"content_font_family";s:7:"inherit";s:19:"content_font_weight";s:3:"100";s:18:"content_font_style";s:0:"";s:10:"close_text";s:7:"×";s:14:"close_location";s:8:"topright";s:18:"close_position_top";s:3:"-13";s:19:"close_position_left";s:1:"0";s:21:"close_position_bottom";s:1:"0";s:20:"close_position_right";s:3:"-13";s:13:"close_padding";s:1:"0";s:12:"close_height";s:2:"26";s:11:"close_width";s:2:"26";s:22:"close_background_color";s:7:"#000000";s:24:"close_background_opacity";s:3:"100";s:16:"close_font_color";s:7:"#ffffff";s:17:"close_line_height";s:2:"24";s:15:"close_font_size";s:2:"24";s:17:"close_font_family";s:5:"Arial";s:17:"close_font_weight";s:3:"100";s:16:"close_font_style";s:0:"";s:18:"close_border_style";s:5:"solid";s:18:"close_border_color";s:7:"#ffffff";s:18:"close_border_width";s:1:"2";s:19:"close_border_radius";s:2:"26";s:21:"close_boxshadow_inset";s:2:"no";s:26:"close_boxshadow_horizontal";s:1:"0";s:24:"close_boxshadow_vertical";s:1:"0";s:20:"close_boxshadow_blur";s:2:"15";s:22:"close_boxshadow_spread";s:1:"1";s:21:"close_boxshadow_color";s:7:"#020202";s:23:"close_boxshadow_opacity";s:2:"75";s:27:"close_textshadow_horizontal";s:1:"0";s:25:"close_textshadow_vertical";s:1:"0";s:21:"close_textshadow_blur";s:1:"0";s:22:"close_textshadow_color";s:7:"#000000";s:24:"close_textshadow_opacity";s:2:"23";s:13:"atc_promotion";N;s:22:"close_position_outside";i:0;}', 'popup_theme_data_version' => 3, ], ], 'enterprise-blue' => [ 'post_title' => __( 'Enterprise Blue', 'popup-maker' ), 'meta_input' => [ 'popup_theme_settings' => 'a:67:{s:24:"overlay_background_color";s:7:"#000000";s:26:"overlay_background_opacity";s:2:"70";s:17:"container_padding";s:2:"28";s:26:"container_background_color";s:7:"#ffffff";s:28:"container_background_opacity";s:3:"100";s:22:"container_border_style";s:4:"none";s:22:"container_border_color";s:7:"#000000";s:22:"container_border_width";s:1:"1";s:23:"container_border_radius";s:1:"5";s:25:"container_boxshadow_inset";s:2:"no";s:30:"container_boxshadow_horizontal";s:1:"0";s:28:"container_boxshadow_vertical";s:2:"10";s:24:"container_boxshadow_blur";s:2:"25";s:26:"container_boxshadow_spread";s:1:"4";s:25:"container_boxshadow_color";s:7:"#020202";s:27:"container_boxshadow_opacity";s:2:"50";s:16:"title_font_color";s:7:"#315b7c";s:17:"title_line_height";s:2:"36";s:15:"title_font_size";s:2:"34";s:17:"title_font_family";s:7:"inherit";s:17:"title_font_weight";s:3:"100";s:16:"title_font_style";s:0:"";s:16:"title_text_align";s:4:"left";s:27:"title_textshadow_horizontal";s:1:"0";s:25:"title_textshadow_vertical";s:1:"0";s:21:"title_textshadow_blur";s:1:"0";s:22:"title_textshadow_color";s:7:"#020202";s:24:"title_textshadow_opacity";s:2:"23";s:18:"content_font_color";s:7:"#2d2d2d";s:19:"content_font_family";s:7:"inherit";s:19:"content_font_weight";s:3:"100";s:18:"content_font_style";s:0:"";s:10:"close_text";s:2:"×";s:14:"close_location";s:8:"topright";s:18:"close_position_top";s:1:"8";s:19:"close_position_left";s:1:"0";s:21:"close_position_bottom";s:1:"0";s:20:"close_position_right";s:1:"8";s:13:"close_padding";s:1:"4";s:12:"close_height";s:2:"28";s:11:"close_width";s:2:"28";s:22:"close_background_color";s:7:"#315b7c";s:24:"close_background_opacity";s:3:"100";s:16:"close_font_color";s:7:"#ffffff";s:17:"close_line_height";s:2:"20";s:15:"close_font_size";s:2:"20";s:17:"close_font_family";s:15:"Times New Roman";s:17:"close_font_weight";s:3:"100";s:16:"close_font_style";s:0:"";s:18:"close_border_style";s:4:"none";s:18:"close_border_color";s:7:"#ffffff";s:18:"close_border_width";s:1:"1";s:19:"close_border_radius";s:2:"42";s:21:"close_boxshadow_inset";s:2:"no";s:26:"close_boxshadow_horizontal";s:1:"0";s:24:"close_boxshadow_vertical";s:1:"0";s:20:"close_boxshadow_blur";s:1:"0";s:22:"close_boxshadow_spread";s:1:"0";s:21:"close_boxshadow_color";s:7:"#020202";s:23:"close_boxshadow_opacity";s:2:"23";s:27:"close_textshadow_horizontal";s:1:"0";s:25:"close_textshadow_vertical";s:1:"0";s:21:"close_textshadow_blur";s:1:"0";s:22:"close_textshadow_color";s:7:"#000000";s:24:"close_textshadow_opacity";s:2:"23";s:13:"atc_promotion";N;s:22:"close_position_outside";i:0;}', 'popup_theme_data_version' => 3, ], ], 'hello-box' => [ 'post_title' => __( 'Hello Box', 'popup-maker' ), 'meta_input' => [ 'popup_theme_settings' => 'a:67:{s:24:"overlay_background_color";s:7:"#000000";s:26:"overlay_background_opacity";s:2:"75";s:17:"container_padding";s:2:"30";s:26:"container_background_color";s:7:"#ffffff";s:28:"container_background_opacity";s:3:"100";s:22:"container_border_style";s:5:"solid";s:22:"container_border_color";s:7:"#81d742";s:22:"container_border_width";s:2:"14";s:23:"container_border_radius";s:2:"80";s:25:"container_boxshadow_inset";s:2:"no";s:30:"container_boxshadow_horizontal";s:1:"0";s:28:"container_boxshadow_vertical";s:1:"0";s:24:"container_boxshadow_blur";s:1:"0";s:26:"container_boxshadow_spread";s:1:"0";s:25:"container_boxshadow_color";s:7:"#020202";s:27:"container_boxshadow_opacity";s:1:"0";s:16:"title_font_color";s:7:"#2d2d2d";s:17:"title_line_height";s:2:"36";s:15:"title_font_size";s:2:"32";s:17:"title_font_family";s:10:"Montserrat";s:17:"title_font_weight";s:3:"100";s:16:"title_font_style";s:0:"";s:16:"title_text_align";s:4:"left";s:27:"title_textshadow_horizontal";s:1:"0";s:25:"title_textshadow_vertical";s:1:"0";s:21:"title_textshadow_blur";s:1:"0";s:22:"title_textshadow_color";s:7:"#020202";s:24:"title_textshadow_opacity";s:2:"23";s:18:"content_font_color";s:7:"#2d2d2d";s:19:"content_font_family";s:7:"inherit";s:19:"content_font_weight";s:3:"100";s:18:"content_font_style";s:0:"";s:10:"close_text";s:2:"×";s:14:"close_location";s:8:"topright";s:18:"close_position_top";s:3:"-30";s:19:"close_position_left";s:3:"-30";s:21:"close_position_bottom";s:1:"0";s:20:"close_position_right";s:3:"-30";s:13:"close_padding";s:1:"0";s:12:"close_height";s:1:"0";s:11:"close_width";s:1:"0";s:22:"close_background_color";s:7:"#ffffff";s:24:"close_background_opacity";s:3:"100";s:16:"close_font_color";s:7:"#2d2d2d";s:17:"close_line_height";s:2:"28";s:15:"close_font_size";s:2:"32";s:17:"close_font_family";s:15:"Times New Roman";s:17:"close_font_weight";s:3:"100";s:16:"close_font_style";s:0:"";s:18:"close_border_style";s:4:"none";s:18:"close_border_color";s:7:"#ffffff";s:18:"close_border_width";s:1:"1";s:19:"close_border_radius";s:2:"28";s:21:"close_boxshadow_inset";s:2:"no";s:26:"close_boxshadow_horizontal";s:1:"0";s:24:"close_boxshadow_vertical";s:1:"0";s:20:"close_boxshadow_blur";s:1:"0";s:22:"close_boxshadow_spread";s:1:"0";s:21:"close_boxshadow_color";s:7:"#020202";s:23:"close_boxshadow_opacity";s:2:"23";s:27:"close_textshadow_horizontal";s:1:"0";s:25:"close_textshadow_vertical";s:1:"0";s:21:"close_textshadow_blur";s:1:"0";s:22:"close_textshadow_color";s:7:"#000000";s:24:"close_textshadow_opacity";s:2:"23";s:13:"atc_promotion";N;s:22:"close_position_outside";i:0;}', 'popup_theme_data_version' => 3, ], ], 'cutting-edge' => [ 'post_title' => __( 'Cutting Edge', 'popup-maker' ), 'meta_input' => [ 'popup_theme_settings' => 'a:67:{s:24:"overlay_background_color";s:7:"#000000";s:26:"overlay_background_opacity";s:2:"50";s:17:"container_padding";s:2:"18";s:26:"container_background_color";s:7:"#1e73be";s:28:"container_background_opacity";s:3:"100";s:22:"container_border_style";s:4:"none";s:22:"container_border_color";s:7:"#000000";s:22:"container_border_width";s:1:"1";s:23:"container_border_radius";s:1:"0";s:25:"container_boxshadow_inset";s:2:"no";s:30:"container_boxshadow_horizontal";s:1:"0";s:28:"container_boxshadow_vertical";s:2:"10";s:24:"container_boxshadow_blur";s:2:"25";s:26:"container_boxshadow_spread";s:1:"0";s:25:"container_boxshadow_color";s:7:"#020202";s:27:"container_boxshadow_opacity";s:2:"50";s:16:"title_font_color";s:7:"#ffffff";s:17:"title_line_height";s:2:"28";s:15:"title_font_size";s:2:"26";s:17:"title_font_family";s:10:"Sans-Serif";s:17:"title_font_weight";s:3:"100";s:16:"title_font_style";s:0:"";s:16:"title_text_align";s:4:"left";s:27:"title_textshadow_horizontal";s:1:"0";s:25:"title_textshadow_vertical";s:1:"0";s:21:"title_textshadow_blur";s:1:"0";s:22:"title_textshadow_color";s:7:"#020202";s:24:"title_textshadow_opacity";s:2:"23";s:18:"content_font_color";s:7:"#ffffff";s:19:"content_font_family";s:7:"inherit";s:19:"content_font_weight";s:3:"100";s:18:"content_font_style";s:0:"";s:10:"close_text";s:2:"×";s:14:"close_location";s:8:"topright";s:18:"close_position_top";s:1:"0";s:19:"close_position_left";s:1:"0";s:21:"close_position_bottom";s:1:"0";s:20:"close_position_right";s:1:"0";s:13:"close_padding";s:1:"0";s:12:"close_height";s:2:"24";s:11:"close_width";s:2:"24";s:22:"close_background_color";s:7:"#eeee22";s:24:"close_background_opacity";s:3:"100";s:16:"close_font_color";s:7:"#1e73be";s:17:"close_line_height";s:2:"24";s:15:"close_font_size";s:2:"32";s:17:"close_font_family";s:15:"Times New Roman";s:17:"close_font_weight";s:3:"100";s:16:"close_font_style";s:0:"";s:18:"close_border_style";s:4:"none";s:18:"close_border_color";s:7:"#ffffff";s:18:"close_border_width";s:1:"1";s:19:"close_border_radius";s:1:"0";s:21:"close_boxshadow_inset";s:2:"no";s:26:"close_boxshadow_horizontal";s:2:"-1";s:24:"close_boxshadow_vertical";s:1:"1";s:20:"close_boxshadow_blur";s:1:"1";s:22:"close_boxshadow_spread";s:1:"0";s:21:"close_boxshadow_color";s:7:"#020202";s:23:"close_boxshadow_opacity";s:2:"10";s:27:"close_textshadow_horizontal";s:2:"-1";s:25:"close_textshadow_vertical";s:1:"1";s:21:"close_textshadow_blur";s:1:"1";s:22:"close_textshadow_color";s:7:"#000000";s:24:"close_textshadow_opacity";s:2:"10";s:13:"atc_promotion";N;s:22:"close_position_outside";i:0;}', 'popup_theme_data_version' => 3, ], ], 'framed-border' => [ 'post_title' => __( 'Framed Border', 'popup-maker' ), 'meta_input' => [ 'popup_theme_settings' => 'a:67:{s:24:"overlay_background_color";s:7:"#ffffff";s:26:"overlay_background_opacity";s:2:"50";s:17:"container_padding";s:2:"18";s:26:"container_background_color";s:7:"#fffbef";s:28:"container_background_opacity";s:3:"100";s:22:"container_border_style";s:6:"outset";s:22:"container_border_color";s:7:"#dd3333";s:22:"container_border_width";s:2:"20";s:23:"container_border_radius";s:1:"0";s:25:"container_boxshadow_inset";s:3:"yes";s:30:"container_boxshadow_horizontal";s:1:"1";s:28:"container_boxshadow_vertical";s:1:"1";s:24:"container_boxshadow_blur";s:1:"3";s:26:"container_boxshadow_spread";s:1:"0";s:25:"container_boxshadow_color";s:7:"#020202";s:27:"container_boxshadow_opacity";s:2:"97";s:16:"title_font_color";s:7:"#000000";s:17:"title_line_height";s:2:"36";s:15:"title_font_size";s:2:"32";s:17:"title_font_family";s:7:"inherit";s:17:"title_font_weight";s:3:"100";s:16:"title_font_style";s:0:"";s:16:"title_text_align";s:4:"left";s:27:"title_textshadow_horizontal";s:1:"0";s:25:"title_textshadow_vertical";s:1:"0";s:21:"title_textshadow_blur";s:1:"0";s:22:"title_textshadow_color";s:7:"#020202";s:24:"title_textshadow_opacity";s:2:"23";s:18:"content_font_color";s:7:"#2d2d2d";s:19:"content_font_family";s:7:"inherit";s:19:"content_font_weight";s:3:"100";s:18:"content_font_style";s:0:"";s:10:"close_text";s:2:"×";s:14:"close_location";s:8:"topright";s:18:"close_position_top";s:3:"-20";s:19:"close_position_left";s:3:"-20";s:21:"close_position_bottom";s:1:"0";s:20:"close_position_right";s:3:"-20";s:13:"close_padding";s:1:"0";s:12:"close_height";s:2:"20";s:11:"close_width";s:2:"20";s:22:"close_background_color";s:7:"#000000";s:24:"close_background_opacity";s:2:"55";s:16:"close_font_color";s:7:"#ffffff";s:17:"close_line_height";s:2:"18";s:15:"close_font_size";s:2:"16";s:17:"close_font_family";s:6:"Tahoma";s:17:"close_font_weight";s:3:"700";s:16:"close_font_style";s:0:"";s:18:"close_border_style";s:4:"none";s:18:"close_border_color";s:7:"#ffffff";s:18:"close_border_width";s:1:"1";s:19:"close_border_radius";s:1:"0";s:21:"close_boxshadow_inset";s:2:"no";s:26:"close_boxshadow_horizontal";s:1:"0";s:24:"close_boxshadow_vertical";s:1:"0";s:20:"close_boxshadow_blur";s:1:"0";s:22:"close_boxshadow_spread";s:1:"0";s:21:"close_boxshadow_color";s:7:"#020202";s:23:"close_boxshadow_opacity";s:2:"23";s:27:"close_textshadow_horizontal";s:1:"0";s:25:"close_textshadow_vertical";s:1:"0";s:21:"close_textshadow_blur";s:1:"0";s:22:"close_textshadow_color";s:7:"#000000";s:24:"close_textshadow_opacity";s:2:"23";s:13:"atc_promotion";N;s:22:"close_position_outside";i:0;}', 'popup_theme_data_version' => 3, ], ], 'floating-bar' => [ 'post_title' => __( 'Floating Bar - Soft Blue', 'popup-maker' ), 'meta_input' => [ 'popup_theme_settings' => 'a:67:{s:24:"overlay_background_color";s:7:"#ffffff";s:26:"overlay_background_opacity";s:1:"0";s:13:"atc_promotion";N;s:17:"container_padding";s:1:"8";s:23:"container_border_radius";s:1:"0";s:26:"container_background_color";s:7:"#eef6fc";s:28:"container_background_opacity";s:3:"100";s:22:"container_border_style";s:4:"none";s:22:"container_border_color";s:7:"#000000";s:22:"container_border_width";s:1:"1";s:25:"container_boxshadow_color";s:7:"#020202";s:27:"container_boxshadow_opacity";s:2:"23";s:30:"container_boxshadow_horizontal";s:1:"1";s:28:"container_boxshadow_vertical";s:1:"1";s:24:"container_boxshadow_blur";s:1:"3";s:26:"container_boxshadow_spread";s:1:"0";s:25:"container_boxshadow_inset";s:2:"no";s:16:"title_font_color";s:7:"#505050";s:15:"title_font_size";s:2:"32";s:17:"title_line_height";s:2:"36";s:17:"title_font_family";s:7:"inherit";s:17:"title_font_weight";s:3:"400";s:16:"title_font_style";s:0:"";s:16:"title_text_align";s:4:"left";s:22:"title_textshadow_color";s:7:"#020202";s:24:"title_textshadow_opacity";s:2:"23";s:27:"title_textshadow_horizontal";s:1:"0";s:25:"title_textshadow_vertical";s:1:"0";s:21:"title_textshadow_blur";s:1:"0";s:18:"content_font_color";s:7:"#505050";s:19:"content_font_family";s:7:"inherit";s:19:"content_font_weight";s:3:"400";s:18:"content_font_style";s:0:"";s:10:"close_text";s:2:"×";s:22:"close_position_outside";i:0;s:14:"close_location";s:11:"middleright";s:18:"close_position_top";s:1:"0";s:21:"close_position_bottom";s:1:"0";s:19:"close_position_left";s:1:"0";s:20:"close_position_right";s:1:"5";s:13:"close_padding";s:1:"0";s:12:"close_height";s:2:"18";s:11:"close_width";s:2:"18";s:19:"close_border_radius";s:2:"15";s:22:"close_background_color";s:7:"#ffffff";s:24:"close_background_opacity";s:1:"0";s:16:"close_font_color";s:7:"#505050";s:15:"close_font_size";s:2:"15";s:17:"close_line_height";s:2:"18";s:17:"close_font_family";s:10:"Sans-Serif";s:17:"close_font_weight";s:3:"700";s:16:"close_font_style";s:0:"";s:18:"close_border_style";s:5:"solid";s:18:"close_border_color";s:7:"#505050";s:18:"close_border_width";s:1:"1";s:21:"close_boxshadow_color";s:7:"#020202";s:23:"close_boxshadow_opacity";s:1:"0";s:26:"close_boxshadow_horizontal";s:1:"0";s:24:"close_boxshadow_vertical";s:1:"0";s:20:"close_boxshadow_blur";s:1:"0";s:22:"close_boxshadow_spread";s:1:"0";s:21:"close_boxshadow_inset";s:2:"no";s:22:"close_textshadow_color";s:7:"#000000";s:24:"close_textshadow_opacity";s:1:"0";s:27:"close_textshadow_horizontal";s:1:"0";s:25:"close_textshadow_vertical";s:1:"0";s:21:"close_textshadow_blur";s:1:"0";}', 'popup_theme_data_version' => 3, ], ], 'content-only' => [ 'post_title' => __( 'Content Only - For use with page builders or block editor', 'popup-maker' ), 'meta_input' => [ 'popup_theme_settings' => 'a:67:{s:24:"overlay_background_color";s:7:"#000000";s:26:"overlay_background_opacity";s:2:"70";s:13:"atc_promotion";N;s:17:"container_padding";s:1:"0";s:23:"container_border_radius";s:1:"0";s:26:"container_background_color";s:0:"";s:28:"container_background_opacity";s:1:"0";s:22:"container_border_style";s:4:"none";s:22:"container_border_color";s:7:"#000000";s:22:"container_border_width";s:1:"1";s:25:"container_boxshadow_color";s:7:"#020202";s:27:"container_boxshadow_opacity";s:1:"0";s:30:"container_boxshadow_horizontal";s:1:"0";s:28:"container_boxshadow_vertical";s:1:"0";s:24:"container_boxshadow_blur";s:1:"0";s:26:"container_boxshadow_spread";s:1:"0";s:25:"container_boxshadow_inset";s:2:"no";s:16:"title_font_color";s:7:"#000000";s:15:"title_font_size";s:2:"32";s:17:"title_line_height";s:2:"36";s:17:"title_font_family";s:7:"inherit";s:17:"title_font_weight";s:3:"400";s:16:"title_font_style";s:0:"";s:16:"title_text_align";s:4:"left";s:22:"title_textshadow_color";s:7:"#020202";s:24:"title_textshadow_opacity";s:2:"23";s:27:"title_textshadow_horizontal";s:1:"0";s:25:"title_textshadow_vertical";s:1:"0";s:21:"title_textshadow_blur";s:1:"0";s:18:"content_font_color";s:7:"#8c8c8c";s:19:"content_font_family";s:7:"inherit";s:19:"content_font_weight";s:3:"400";s:18:"content_font_style";s:0:"";s:10:"close_text";s:2:"×";s:22:"close_position_outside";i:0;s:14:"close_location";s:8:"topright";s:18:"close_position_top";s:1:"7";s:21:"close_position_bottom";s:1:"0";s:19:"close_position_left";s:1:"0";s:20:"close_position_right";s:1:"7";s:13:"close_padding";s:1:"0";s:12:"close_height";s:2:"18";s:11:"close_width";s:2:"18";s:19:"close_border_radius";s:2:"15";s:22:"close_background_color";s:7:"#ffffff";s:24:"close_background_opacity";s:1:"0";s:16:"close_font_color";s:7:"#000000";s:15:"close_font_size";s:2:"20";s:17:"close_line_height";s:2:"20";s:17:"close_font_family";s:7:"inherit";s:17:"close_font_weight";s:3:"700";s:16:"close_font_style";s:0:"";s:18:"close_border_style";s:4:"none";s:18:"close_border_color";s:7:"#ffffff";s:18:"close_border_width";s:1:"1";s:21:"close_boxshadow_color";s:7:"#020202";s:23:"close_boxshadow_opacity";s:1:"0";s:26:"close_boxshadow_horizontal";s:1:"0";s:24:"close_boxshadow_vertical";s:1:"0";s:20:"close_boxshadow_blur";s:1:"0";s:22:"close_boxshadow_spread";s:1:"0";s:21:"close_boxshadow_inset";s:2:"no";s:22:"close_textshadow_color";s:7:"#000000";s:24:"close_textshadow_opacity";s:1:"0";s:27:"close_textshadow_horizontal";s:1:"0";s:25:"close_textshadow_vertical";s:1:"0";s:21:"close_textshadow_blur";s:1:"0";}', 'popup_theme_data_version' => 3, ], ], ]; $new_theme_installed = false; foreach ( $built_in_themes as $post_name => $_theme ) { if ( ! in_array( $post_name, $installed_themes, true ) ) { $_theme['post_name'] = $post_name; $_theme['post_type'] = 'popup_theme'; $_theme['post_status'] = 'publish'; $_theme['meta_input']['_pum_built_in'] = $post_name; foreach ( $_theme['meta_input'] as $key => $value ) { $_theme['meta_input'][ $key ] = maybe_unserialize( $value ); } wp_insert_post( $_theme ); $installed_themes[] = $post_name; $new_theme_installed = true; } } if ( $new_theme_installed ) { pum_reset_assets(); update_option( '_pum_installed_themes', $installed_themes ); } } includes/pum-sdk/class-pum-extension-activation.php 0000644 00000005467 15174671772 0016555 0 ustar 00 <?php /** * Activation handler * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Popup Maker Extension Activation Handler Class * * @since 1.0.0 */ class PUM_Extension_Activation { /** * Plugin Name. * * @var string */ public $plugin_name; /** * Plugin Path. * * @var string */ public $plugin_path; /** * Plugin File. * * @var string */ public $plugin_file; /** * Popup Maker Installed * * @var boolean */ public $has_popmake; /** * Popup Maker Base Path. * * @var string */ public $popmake_base; /** * Setup the activation class * * @access public * @since 1.0.0 * * @param string $plugin_path Path. * @param string $plugin_file File. */ public function __construct( $plugin_path, $plugin_file ) { // We need plugin.php! require_once ABSPATH . 'wp-admin/includes/plugin.php'; $plugins = get_plugins(); // Set plugin directory. $plugin_path = array_filter( explode( '/', $plugin_path ) ); $this->plugin_path = end( $plugin_path ); // Set plugin file. $this->plugin_file = $plugin_file; // Set plugin name. if ( isset( $plugins[ $this->plugin_path . '/' . $this->plugin_file ]['Name'] ) ) { $this->plugin_name = str_replace( 'Popup Maker - ', '', $plugins[ $this->plugin_path . '/' . $this->plugin_file ]['Name'] ); } else { $this->plugin_name = __( 'This plugin', 'popup-maker' ); } // Is Popup Maker installed. foreach ( $plugins as $plugin_path => $plugin ) { if ( 'Popup Maker' === $plugin['Name'] ) { $this->has_popmake = true; $this->popmake_base = $plugin_path; break; } } } /** * Process plugin deactivation * * @access public * @since 1.0.0 * @return void */ public function run() { // Display notice. add_action( 'admin_notices', [ $this, 'missing_popmake_notice' ] ); } /** * Display notice if Popup Maker isn't installed */ public function missing_popmake_notice() { if ( $this->has_popmake ) { $url = esc_url( wp_nonce_url( admin_url( 'plugins.php?action=activate&plugin=' . $this->popmake_base ), 'activate-plugin_' . $this->popmake_base ) ); $link = '<a href="' . $url . '">' . __( 'activate it', 'popup-maker' ) . '</a>'; } else { $url = esc_url( wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=popup-maker' ), 'install-plugin_popup-maker' ) ); $link = '<a href="' . $url . '">' . __( 'install it', 'popup-maker' ) . '</a>'; } echo '<div class="error"><p>' . wp_kses( $this->plugin_name . sprintf( /* translators: 1. plugin name. */ __( ' requires Popup Maker! Please %s to continue!', 'popup-maker' ), $link ), wp_kses_allowed_html( 'data' ) ) . '</p></div>'; } } includes/google-fonts.json 0000644 00000776340 15174671772 0011712 0 ustar 00 { "Roboto": { "family": "Roboto", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Open Sans": { "family": "Open Sans", "variants": [ "300", "regular", "500", "600", "700", "800", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Noto Sans JP": { "family": "Noto Sans JP", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Montserrat": { "family": "Montserrat", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Inter": { "family": "Inter", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Poppins": { "family": "Poppins", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Lato": { "family": "Lato", "variants": [ "100", "100italic", "300", "300italic", "regular", "italic", "700", "700italic", "900", "900italic" ] }, "Material Icons": { "family": "Material Icons", "variants": [ "regular" ] }, "Roboto Condensed": { "family": "Roboto Condensed", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Roboto Mono": { "family": "Roboto Mono", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Arimo": { "family": "Arimo", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Oswald": { "family": "Oswald", "variants": [ "200", "300", "regular", "500", "600", "700" ] }, "Noto Sans": { "family": "Noto Sans", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Raleway": { "family": "Raleway", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Nunito Sans": { "family": "Nunito Sans", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Nunito": { "family": "Nunito", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Ubuntu": { "family": "Ubuntu", "variants": [ "300", "300italic", "regular", "italic", "500", "500italic", "700", "700italic" ] }, "Rubik": { "family": "Rubik", "variants": [ "300", "regular", "500", "600", "700", "800", "900", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Playfair Display": { "family": "Playfair Display", "variants": [ "regular", "500", "600", "700", "800", "900", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Roboto Slab": { "family": "Roboto Slab", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Merriweather": { "family": "Merriweather", "variants": [ "300", "regular", "500", "600", "700", "800", "900", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "DM Sans": { "family": "DM Sans", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Noto Sans KR": { "family": "Noto Sans KR", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Work Sans": { "family": "Work Sans", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "PT Sans": { "family": "PT Sans", "variants": [ "regular", "italic", "700", "700italic" ] }, "Kanit": { "family": "Kanit", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Quicksand": { "family": "Quicksand", "variants": [ "300", "regular", "500", "600", "700" ] }, "Material Symbols Outlined": { "family": "Material Symbols Outlined", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Lora": { "family": "Lora", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Noto Sans TC": { "family": "Noto Sans TC", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Mulish": { "family": "Mulish", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Inconsolata": { "family": "Inconsolata", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Fira Sans": { "family": "Fira Sans", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Manrope": { "family": "Manrope", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "IBM Plex Sans": { "family": "IBM Plex Sans", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Outfit": { "family": "Outfit", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Barlow": { "family": "Barlow", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Material Icons Outlined": { "family": "Material Icons Outlined", "variants": [ "regular" ] }, "Titillium Web": { "family": "Titillium Web", "variants": [ "200", "200italic", "300", "300italic", "regular", "italic", "600", "600italic", "700", "700italic", "900" ] }, "Bebas Neue": { "family": "Bebas Neue", "variants": [ "regular" ] }, "PT Serif": { "family": "PT Serif", "variants": [ "regular", "italic", "700", "700italic" ] }, "Figtree": { "family": "Figtree", "variants": [ "300", "regular", "500", "600", "700", "800", "900", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Material Symbols Rounded": { "family": "Material Symbols Rounded", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Karla": { "family": "Karla", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Heebo": { "family": "Heebo", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Source Sans 3": { "family": "Source Sans 3", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Prompt": { "family": "Prompt", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Noto Serif": { "family": "Noto Serif", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Jost": { "family": "Jost", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Archivo Black": { "family": "Archivo Black", "variants": [ "regular" ] }, "Saira": { "family": "Saira", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Archivo": { "family": "Archivo", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Libre Baskerville": { "family": "Libre Baskerville", "variants": [ "regular", "italic", "700" ] }, "Noto Color Emoji": { "family": "Noto Color Emoji", "variants": [ "regular" ] }, "Source Code Pro": { "family": "Source Code Pro", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Dancing Script": { "family": "Dancing Script", "variants": [ "regular", "500", "600", "700" ] }, "Libre Franklin": { "family": "Libre Franklin", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Hind Siliguri": { "family": "Hind Siliguri", "variants": [ "300", "regular", "500", "600", "700" ] }, "Josefin Sans": { "family": "Josefin Sans", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Mukta": { "family": "Mukta", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Share Tech": { "family": "Share Tech", "variants": [ "regular" ] }, "Smooch Sans": { "family": "Smooch Sans", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Schibsted Grotesk": { "family": "Schibsted Grotesk", "variants": [ "regular", "500", "600", "700", "800", "900", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Noto Serif JP": { "family": "Noto Serif JP", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Dosis": { "family": "Dosis", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Cabin": { "family": "Cabin", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Cairo": { "family": "Cairo", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Barlow Condensed": { "family": "Barlow Condensed", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Anton": { "family": "Anton", "variants": [ "regular" ] }, "Plus Jakarta Sans": { "family": "Plus Jakarta Sans", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "EB Garamond": { "family": "EB Garamond", "variants": [ "regular", "500", "600", "700", "800", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Fjalla One": { "family": "Fjalla One", "variants": [ "regular" ] }, "Public Sans": { "family": "Public Sans", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Material Icons Round": { "family": "Material Icons Round", "variants": [ "regular" ] }, "Bitter": { "family": "Bitter", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Roboto Flex": { "family": "Roboto Flex", "variants": [ "regular" ] }, "Noto Sans SC": { "family": "Noto Sans SC", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Nanum Gothic": { "family": "Nanum Gothic", "variants": [ "regular", "700", "800" ] }, "Assistant": { "family": "Assistant", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Exo 2": { "family": "Exo 2", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Alfa Slab One": { "family": "Alfa Slab One", "variants": [ "regular" ] }, "Space Grotesk": { "family": "Space Grotesk", "variants": [ "300", "regular", "500", "600", "700" ] }, "Slabo 27px": { "family": "Slabo 27px", "variants": [ "regular" ] }, "Red Hat Display": { "family": "Red Hat Display", "variants": [ "300", "regular", "500", "600", "700", "800", "900", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Gravitas One": { "family": "Gravitas One", "variants": [ "regular" ] }, "Overpass": { "family": "Overpass", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Lexend": { "family": "Lexend", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "M PLUS Rounded 1c": { "family": "M PLUS Rounded 1c", "variants": [ "100", "300", "regular", "500", "700", "800", "900" ] }, "Hind": { "family": "Hind", "variants": [ "300", "regular", "500", "600", "700" ] }, "Pacifico": { "family": "Pacifico", "variants": [ "regular" ] }, "Crimson Text": { "family": "Crimson Text", "variants": [ "regular", "italic", "600", "600italic", "700", "700italic" ] }, "Oxygen": { "family": "Oxygen", "variants": [ "300", "regular", "700" ] }, "Inter Tight": { "family": "Inter Tight", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Lobster": { "family": "Lobster", "variants": [ "regular" ] }, "Comfortaa": { "family": "Comfortaa", "variants": [ "300", "regular", "500", "600", "700" ] }, "PT Sans Narrow": { "family": "PT Sans Narrow", "variants": [ "regular", "700" ] }, "Noto Sans Telugu": { "family": "Noto Sans Telugu", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Urbanist": { "family": "Urbanist", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Ramabhadra": { "family": "Ramabhadra", "variants": [ "regular" ] }, "Caveat": { "family": "Caveat", "variants": [ "regular", "500", "600", "700" ] }, "Anek Telugu": { "family": "Anek Telugu", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Arvo": { "family": "Arvo", "variants": [ "regular", "italic", "700", "700italic" ] }, "Tajawal": { "family": "Tajawal", "variants": [ "200", "300", "regular", "500", "700", "800", "900" ] }, "Abel": { "family": "Abel", "variants": [ "regular" ] }, "Changa One": { "family": "Changa One", "variants": [ "regular", "italic" ] }, "Rajdhani": { "family": "Rajdhani", "variants": [ "300", "regular", "500", "600", "700" ] }, "Material Icons Sharp": { "family": "Material Icons Sharp", "variants": [ "regular" ] }, "Cormorant Garamond": { "family": "Cormorant Garamond", "variants": [ "300", "regular", "500", "600", "700", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "DM Serif Display": { "family": "DM Serif Display", "variants": [ "regular", "italic" ] }, "Sora": { "family": "Sora", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Shadows Into Light": { "family": "Shadows Into Light", "variants": [ "regular" ] }, "Teko": { "family": "Teko", "variants": [ "300", "regular", "500", "600", "700" ] }, "Material Icons Two Tone": { "family": "Material Icons Two Tone", "variants": [ "regular" ] }, "IBM Plex Mono": { "family": "IBM Plex Mono", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic" ] }, "Lilita One": { "family": "Lilita One", "variants": [ "regular" ] }, "Play": { "family": "Play", "variants": [ "regular", "700" ] }, "Satisfy": { "family": "Satisfy", "variants": [ "regular" ] }, "Source Serif 4": { "family": "Source Serif 4", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Domine": { "family": "Domine", "variants": [ "regular", "500", "600", "700" ] }, "Maven Pro": { "family": "Maven Pro", "variants": [ "regular", "500", "600", "700", "800", "900" ] }, "Asap": { "family": "Asap", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Merriweather Sans": { "family": "Merriweather Sans", "variants": [ "300", "regular", "500", "600", "700", "800", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Barlow Semi Condensed": { "family": "Barlow Semi Condensed", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Luckiest Guy": { "family": "Luckiest Guy", "variants": [ "regular" ] }, "Abril Fatface": { "family": "Abril Fatface", "variants": [ "regular" ] }, "M PLUS 1p": { "family": "M PLUS 1p", "variants": [ "100", "300", "regular", "500", "700", "800", "900" ] }, "Almarai": { "family": "Almarai", "variants": [ "300", "regular", "700", "800" ] }, "Be Vietnam Pro": { "family": "Be Vietnam Pro", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Noto Sans Arabic": { "family": "Noto Sans Arabic", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Varela Round": { "family": "Varela Round", "variants": [ "regular" ] }, "Lexend Deca": { "family": "Lexend Deca", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Questrial": { "family": "Questrial", "variants": [ "regular" ] }, "Indie Flower": { "family": "Indie Flower", "variants": [ "regular" ] }, "Zilla Slab": { "family": "Zilla Slab", "variants": [ "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic" ] }, "Lobster Two": { "family": "Lobster Two", "variants": [ "regular", "italic", "700", "700italic" ] }, "Fira Sans Condensed": { "family": "Fira Sans Condensed", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Michroma": { "family": "Michroma", "variants": [ "regular" ] }, "Chakra Petch": { "family": "Chakra Petch", "variants": [ "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic" ] }, "Noto Sans Thai": { "family": "Noto Sans Thai", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Bricolage Grotesque": { "family": "Bricolage Grotesque", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Bungee": { "family": "Bungee", "variants": [ "regular" ] }, "IBM Plex Serif": { "family": "IBM Plex Serif", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic" ] }, "Cinzel": { "family": "Cinzel", "variants": [ "regular", "500", "600", "700", "800", "900" ] }, "Orbitron": { "family": "Orbitron", "variants": [ "regular", "500", "600", "700", "800", "900" ] }, "Archivo Narrow": { "family": "Archivo Narrow", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Permanent Marker": { "family": "Permanent Marker", "variants": [ "regular" ] }, "Rowdies": { "family": "Rowdies", "variants": [ "300", "regular", "700" ] }, "Signika Negative": { "family": "Signika Negative", "variants": [ "300", "regular", "500", "600", "700" ] }, "Titan One": { "family": "Titan One", "variants": [ "regular" ] }, "Zen Kaku Gothic New": { "family": "Zen Kaku Gothic New", "variants": [ "300", "regular", "500", "700", "900" ] }, "Signika": { "family": "Signika", "variants": [ "300", "regular", "500", "600", "700" ] }, "Marcellus": { "family": "Marcellus", "variants": [ "regular" ] }, "Exo": { "family": "Exo", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Nanum Myeongjo": { "family": "Nanum Myeongjo", "variants": [ "regular", "700", "800" ] }, "Bodoni Moda": { "family": "Bodoni Moda", "variants": [ "regular", "500", "600", "700", "800", "900", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "IBM Plex Sans Arabic": { "family": "IBM Plex Sans Arabic", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Vollkorn": { "family": "Vollkorn", "variants": [ "regular", "500", "600", "700", "800", "900", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Noto Kufi Arabic": { "family": "Noto Kufi Arabic", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Cormorant": { "family": "Cormorant", "variants": [ "300", "regular", "500", "600", "700", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Noto Sans Display": { "family": "Noto Sans Display", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Spectral": { "family": "Spectral", "variants": [ "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic" ] }, "ABeeZee": { "family": "ABeeZee", "variants": [ "regular", "italic" ] }, "Hind Madurai": { "family": "Hind Madurai", "variants": [ "300", "regular", "500", "600", "700" ] }, "Bree Serif": { "family": "Bree Serif", "variants": [ "regular" ] }, "Sanchez": { "family": "Sanchez", "variants": [ "regular", "italic" ] }, "Sarabun": { "family": "Sarabun", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic" ] }, "Frank Ruhl Libre": { "family": "Frank Ruhl Libre", "variants": [ "300", "regular", "500", "600", "700", "800", "900" ] }, "Catamaran": { "family": "Catamaran", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Oleo Script": { "family": "Oleo Script", "variants": [ "regular", "700" ] }, "Montserrat Alternates": { "family": "Montserrat Alternates", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Alegreya Sans": { "family": "Alegreya Sans", "variants": [ "100", "100italic", "300", "300italic", "regular", "italic", "500", "500italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Righteous": { "family": "Righteous", "variants": [ "regular" ] }, "Newsreader": { "family": "Newsreader", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Fredoka": { "family": "Fredoka", "variants": [ "300", "regular", "500", "600", "700" ] }, "Albert Sans": { "family": "Albert Sans", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Encode Sans": { "family": "Encode Sans", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Kalam": { "family": "Kalam", "variants": [ "300", "regular", "700" ] }, "Alegreya": { "family": "Alegreya", "variants": [ "regular", "500", "600", "700", "800", "900", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "League Spartan": { "family": "League Spartan", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Amatic SC": { "family": "Amatic SC", "variants": [ "regular", "700" ] }, "Great Vibes": { "family": "Great Vibes", "variants": [ "regular" ] }, "Instrument Sans": { "family": "Instrument Sans", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Acme": { "family": "Acme", "variants": [ "regular" ] }, "Saira Condensed": { "family": "Saira Condensed", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Geologica": { "family": "Geologica", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Rubik Mono One": { "family": "Rubik Mono One", "variants": [ "regular" ] }, "DM Mono": { "family": "DM Mono", "variants": [ "300", "300italic", "regular", "italic", "500", "500italic" ] }, "Noto Serif TC": { "family": "Noto Serif TC", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Sofia Sans": { "family": "Sofia Sans", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "JetBrains Mono": { "family": "JetBrains Mono", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Creepster": { "family": "Creepster", "variants": [ "regular" ] }, "Instrument Serif": { "family": "Instrument Serif", "variants": [ "regular", "italic" ] }, "Antic Slab": { "family": "Antic Slab", "variants": [ "regular" ] }, "Space Mono": { "family": "Space Mono", "variants": [ "regular", "italic", "700", "700italic" ] }, "Noto Serif KR": { "family": "Noto Serif KR", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Yanone Kaffeesatz": { "family": "Yanone Kaffeesatz", "variants": [ "200", "300", "regular", "500", "600", "700" ] }, "Changa": { "family": "Changa", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Cardo": { "family": "Cardo", "variants": [ "regular", "italic", "700" ] }, "Prata": { "family": "Prata", "variants": [ "regular" ] }, "Paytone One": { "family": "Paytone One", "variants": [ "regular" ] }, "Tinos": { "family": "Tinos", "variants": [ "regular", "italic", "700", "700italic" ] }, "Russo One": { "family": "Russo One", "variants": [ "regular" ] }, "Advent Pro": { "family": "Advent Pro", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Unbounded": { "family": "Unbounded", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Noto Sans HK": { "family": "Noto Sans HK", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Amiri": { "family": "Amiri", "variants": [ "regular", "italic", "700", "700italic" ] }, "Bangers": { "family": "Bangers", "variants": [ "regular" ] }, "Zen Maru Gothic": { "family": "Zen Maru Gothic", "variants": [ "300", "regular", "500", "700", "900" ] }, "PT Sans Caption": { "family": "PT Sans Caption", "variants": [ "regular", "700" ] }, "Press Start 2P": { "family": "Press Start 2P", "variants": [ "regular" ] }, "Chivo": { "family": "Chivo", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Courgette": { "family": "Courgette", "variants": [ "regular" ] }, "IBM Plex Sans JP": { "family": "IBM Plex Sans JP", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Gothic A1": { "family": "Gothic A1", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Patua One": { "family": "Patua One", "variants": [ "regular" ] }, "Comic Neue": { "family": "Comic Neue", "variants": [ "300", "300italic", "regular", "italic", "700", "700italic" ] }, "Delius": { "family": "Delius", "variants": [ "regular" ] }, "Noticia Text": { "family": "Noticia Text", "variants": [ "regular", "italic", "700", "700italic" ] }, "Fugaz One": { "family": "Fugaz One", "variants": [ "regular" ] }, "Hanken Grotesk": { "family": "Hanken Grotesk", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Martel": { "family": "Martel", "variants": [ "200", "300", "regular", "600", "700", "800", "900" ] }, "Sawarabi Mincho": { "family": "Sawarabi Mincho", "variants": [ "regular" ] }, "Fraunces": { "family": "Fraunces", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Roboto Serif": { "family": "Roboto Serif", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Nanum Gothic Coding": { "family": "Nanum Gothic Coding", "variants": [ "regular", "700" ] }, "Noto Serif SC": { "family": "Noto Serif SC", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Alata": { "family": "Alata", "variants": [ "regular" ] }, "Cantarell": { "family": "Cantarell", "variants": [ "regular", "italic", "700", "700italic" ] }, "Gruppo": { "family": "Gruppo", "variants": [ "regular" ] }, "Yellowtail": { "family": "Yellowtail", "variants": [ "regular" ] }, "Red Hat Text": { "family": "Red Hat Text", "variants": [ "300", "regular", "500", "600", "700", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "News Cycle": { "family": "News Cycle", "variants": [ "regular", "700" ] }, "DM Serif Text": { "family": "DM Serif Text", "variants": [ "regular", "italic" ] }, "Andada Pro": { "family": "Andada Pro", "variants": [ "regular", "500", "600", "700", "800", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Kumbh Sans": { "family": "Kumbh Sans", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Readex Pro": { "family": "Readex Pro", "variants": [ "200", "300", "regular", "500", "600", "700" ] }, "Courier Prime": { "family": "Courier Prime", "variants": [ "regular", "italic", "700", "700italic" ] }, "Passion One": { "family": "Passion One", "variants": [ "regular", "700", "900" ] }, "Gloria Hallelujah": { "family": "Gloria Hallelujah", "variants": [ "regular" ] }, "Viga": { "family": "Viga", "variants": [ "regular" ] }, "Crete Round": { "family": "Crete Round", "variants": [ "regular", "italic" ] }, "Syne": { "family": "Syne", "variants": [ "regular", "500", "600", "700", "800" ] }, "Eczar": { "family": "Eczar", "variants": [ "regular", "500", "600", "700", "800" ] }, "Atkinson Hyperlegible": { "family": "Atkinson Hyperlegible", "variants": [ "regular", "italic", "700", "700italic" ] }, "Google Sans Code": { "family": "Google Sans Code", "variants": [ "300", "regular", "500", "600", "700", "800", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Francois One": { "family": "Francois One", "variants": [ "regular" ] }, "Crimson Pro": { "family": "Crimson Pro", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Alumni Sans": { "family": "Alumni Sans", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Tenor Sans": { "family": "Tenor Sans", "variants": [ "regular" ] }, "Concert One": { "family": "Concert One", "variants": [ "regular" ] }, "Ubuntu Condensed": { "family": "Ubuntu Condensed", "variants": [ "regular" ] }, "Didact Gothic": { "family": "Didact Gothic", "variants": [ "regular" ] }, "Encode Sans Condensed": { "family": "Encode Sans Condensed", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Sawarabi Gothic": { "family": "Sawarabi Gothic", "variants": [ "regular" ] }, "Onest": { "family": "Onest", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Old Standard TT": { "family": "Old Standard TT", "variants": [ "regular", "italic", "700" ] }, "Noto Sans Bengali": { "family": "Noto Sans Bengali", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Kaushan Script": { "family": "Kaushan Script", "variants": [ "regular" ] }, "Sacramento": { "family": "Sacramento", "variants": [ "regular" ] }, "Zeyada": { "family": "Zeyada", "variants": [ "regular" ] }, "Allura": { "family": "Allura", "variants": [ "regular" ] }, "Philosopher": { "family": "Philosopher", "variants": [ "regular", "italic", "700", "700italic" ] }, "Berkshire Swash": { "family": "Berkshire Swash", "variants": [ "regular" ] }, "Vazirmatn": { "family": "Vazirmatn", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Sen": { "family": "Sen", "variants": [ "regular", "500", "600", "700", "800" ] }, "Shippori Mincho": { "family": "Shippori Mincho", "variants": [ "regular", "500", "600", "700", "800" ] }, "Fira Code": { "family": "Fira Code", "variants": [ "300", "regular", "500", "600", "700" ] }, "Baskervville": { "family": "Baskervville", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Quattrocento": { "family": "Quattrocento", "variants": [ "regular", "700" ] }, "Literata": { "family": "Literata", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Rock Salt": { "family": "Rock Salt", "variants": [ "regular" ] }, "Noto Naskh Arabic": { "family": "Noto Naskh Arabic", "variants": [ "regular", "500", "600", "700" ] }, "El Messiri": { "family": "El Messiri", "variants": [ "regular", "500", "600", "700" ] }, "Patrick Hand": { "family": "Patrick Hand", "variants": [ "regular" ] }, "Libre Caslon Text": { "family": "Libre Caslon Text", "variants": [ "regular", "italic", "700" ] }, "Hammersmith One": { "family": "Hammersmith One", "variants": [ "regular" ] }, "BIZ UDPGothic": { "family": "BIZ UDPGothic", "variants": [ "regular", "700" ] }, "Commissioner": { "family": "Commissioner", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Monoton": { "family": "Monoton", "variants": [ "regular" ] }, "Josefin Slab": { "family": "Josefin Slab", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Libre Barcode 39": { "family": "Libre Barcode 39", "variants": [ "regular" ] }, "Aleo": { "family": "Aleo", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Jura": { "family": "Jura", "variants": [ "300", "regular", "500", "600", "700" ] }, "Material Symbols Sharp": { "family": "Material Symbols Sharp", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Yantramanav": { "family": "Yantramanav", "variants": [ "100", "300", "regular", "500", "700", "900" ] }, "Actor": { "family": "Actor", "variants": [ "regular" ] }, "Rokkitt": { "family": "Rokkitt", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Unna": { "family": "Unna", "variants": [ "regular", "italic", "700", "700italic" ] }, "Special Elite": { "family": "Special Elite", "variants": [ "regular" ] }, "Noto Sans Mono": { "family": "Noto Sans Mono", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Geist": { "family": "Geist", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Baloo 2": { "family": "Baloo 2", "variants": [ "regular", "500", "600", "700", "800" ] }, "Epilogue": { "family": "Epilogue", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Golos Text": { "family": "Golos Text", "variants": [ "regular", "500", "600", "700", "800", "900" ] }, "Quattrocento Sans": { "family": "Quattrocento Sans", "variants": [ "regular", "italic", "700", "700italic" ] }, "Noto Sans Tamil": { "family": "Noto Sans Tamil", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Cookie": { "family": "Cookie", "variants": [ "regular" ] }, "Macondo": { "family": "Macondo", "variants": [ "regular" ] }, "Sorts Mill Goudy": { "family": "Sorts Mill Goudy", "variants": [ "regular", "italic" ] }, "VT323": { "family": "VT323", "variants": [ "regular" ] }, "IBM Plex Sans Condensed": { "family": "IBM Plex Sans Condensed", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic" ] }, "Khand": { "family": "Khand", "variants": [ "300", "regular", "500", "600", "700" ] }, "Sofia Sans Condensed": { "family": "Sofia Sans Condensed", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Architects Daughter": { "family": "Architects Daughter", "variants": [ "regular" ] }, "STIX Two Text": { "family": "STIX Two Text", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Asap Condensed": { "family": "Asap Condensed", "variants": [ "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Zen Old Mincho": { "family": "Zen Old Mincho", "variants": [ "regular", "500", "600", "700", "900" ] }, "Rammetto One": { "family": "Rammetto One", "variants": [ "regular" ] }, "Libre Bodoni": { "family": "Libre Bodoni", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Parisienne": { "family": "Parisienne", "variants": [ "regular" ] }, "Neuton": { "family": "Neuton", "variants": [ "200", "300", "regular", "italic", "700", "800" ] }, "Black Han Sans": { "family": "Black Han Sans", "variants": [ "regular" ] }, "Oxanium": { "family": "Oxanium", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Taviraj": { "family": "Taviraj", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Gilda Display": { "family": "Gilda Display", "variants": [ "regular" ] }, "Italianno": { "family": "Italianno", "variants": [ "regular" ] }, "League Gothic": { "family": "League Gothic", "variants": [ "regular" ] }, "Ropa Sans": { "family": "Ropa Sans", "variants": [ "regular", "italic" ] }, "Kosugi Maru": { "family": "Kosugi Maru", "variants": [ "regular" ] }, "Playfair Display SC": { "family": "Playfair Display SC", "variants": [ "regular", "italic", "700", "700italic", "900", "900italic" ] }, "PT Mono": { "family": "PT Mono", "variants": [ "regular" ] }, "Poiret One": { "family": "Poiret One", "variants": [ "regular" ] }, "Playfair": { "family": "Playfair", "variants": [ "300", "regular", "500", "600", "700", "800", "900", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Alexandria": { "family": "Alexandria", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Blinker": { "family": "Blinker", "variants": [ "100", "200", "300", "regular", "600", "700", "800", "900" ] }, "Antonio": { "family": "Antonio", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Amaranth": { "family": "Amaranth", "variants": [ "regular", "italic", "700", "700italic" ] }, "Tangerine": { "family": "Tangerine", "variants": [ "regular", "700" ] }, "Audiowide": { "family": "Audiowide", "variants": [ "regular" ] }, "Handlee": { "family": "Handlee", "variants": [ "regular" ] }, "Ultra": { "family": "Ultra", "variants": [ "regular" ] }, "Pridi": { "family": "Pridi", "variants": [ "200", "300", "regular", "500", "600", "700" ] }, "Krub": { "family": "Krub", "variants": [ "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic" ] }, "Mitr": { "family": "Mitr", "variants": [ "200", "300", "regular", "500", "600", "700" ] }, "Pathway Gothic One": { "family": "Pathway Gothic One", "variants": [ "regular" ] }, "Caveat Brush": { "family": "Caveat Brush", "variants": [ "regular" ] }, "Radio Canada": { "family": "Radio Canada", "variants": [ "300", "regular", "500", "600", "700", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Staatliches": { "family": "Staatliches", "variants": [ "regular" ] }, "Forum": { "family": "Forum", "variants": [ "regular" ] }, "Alice": { "family": "Alice", "variants": [ "regular" ] }, "Gelasio": { "family": "Gelasio", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Homemade Apple": { "family": "Homemade Apple", "variants": [ "regular" ] }, "Lusitana": { "family": "Lusitana", "variants": [ "regular", "700" ] }, "Bungee Spice": { "family": "Bungee Spice", "variants": [ "regular" ] }, "Cuprum": { "family": "Cuprum", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Bai Jamjuree": { "family": "Bai Jamjuree", "variants": [ "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic" ] }, "Merienda": { "family": "Merienda", "variants": [ "300", "regular", "500", "600", "700", "800", "900" ] }, "Reenie Beanie": { "family": "Reenie Beanie", "variants": [ "regular" ] }, "Yeseva One": { "family": "Yeseva One", "variants": [ "regular" ] }, "Alex Brush": { "family": "Alex Brush", "variants": [ "regular" ] }, "Hind Guntur": { "family": "Hind Guntur", "variants": [ "300", "regular", "500", "600", "700" ] }, "Abhaya Libre": { "family": "Abhaya Libre", "variants": [ "regular", "500", "600", "700", "800" ] }, "Londrina Solid": { "family": "Londrina Solid", "variants": [ "100", "300", "regular", "900" ] }, "Lexend Giga": { "family": "Lexend Giga", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Arsenal": { "family": "Arsenal", "variants": [ "regular", "italic", "700", "700italic" ] }, "Itim": { "family": "Itim", "variants": [ "regular" ] }, "Geist Mono": { "family": "Geist Mono", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Ubuntu Mono": { "family": "Ubuntu Mono", "variants": [ "regular", "italic", "700", "700italic" ] }, "M PLUS 1": { "family": "M PLUS 1", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Faustina": { "family": "Faustina", "variants": [ "300", "regular", "500", "600", "700", "800", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Istok Web": { "family": "Istok Web", "variants": [ "regular", "italic", "700", "700italic" ] }, "Quantico": { "family": "Quantico", "variants": [ "regular", "italic", "700", "700italic" ] }, "Noto Sans Devanagari": { "family": "Noto Sans Devanagari", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Fira Mono": { "family": "Fira Mono", "variants": [ "regular", "500", "700" ] }, "Mada": { "family": "Mada", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Dela Gothic One": { "family": "Dela Gothic One", "variants": [ "regular" ] }, "Petrona": { "family": "Petrona", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Noto Serif Bengali": { "family": "Noto Serif Bengali", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Chango": { "family": "Chango", "variants": [ "regular" ] }, "Eater": { "family": "Eater", "variants": [ "regular" ] }, "Goldman": { "family": "Goldman", "variants": [ "regular", "700" ] }, "Anonymous Pro": { "family": "Anonymous Pro", "variants": [ "regular", "italic", "700", "700italic" ] }, "Andika": { "family": "Andika", "variants": [ "regular", "italic", "700", "700italic" ] }, "Mukta Malar": { "family": "Mukta Malar", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Saira Extra Condensed": { "family": "Saira Extra Condensed", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Sofia Sans Extra Condensed": { "family": "Sofia Sans Extra Condensed", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Noto Sans Hebrew": { "family": "Noto Sans Hebrew", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Noto Sans Symbols": { "family": "Noto Sans Symbols", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Nothing You Could Do": { "family": "Nothing You Could Do", "variants": [ "regular" ] }, "Unica One": { "family": "Unica One", "variants": [ "regular" ] }, "Lustria": { "family": "Lustria", "variants": [ "regular" ] }, "Pangolin": { "family": "Pangolin", "variants": [ "regular" ] }, "Fira Sans Extra Condensed": { "family": "Fira Sans Extra Condensed", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Carter One": { "family": "Carter One", "variants": [ "regular" ] }, "Monda": { "family": "Monda", "variants": [ "regular", "500", "600", "700" ] }, "Volkhov": { "family": "Volkhov", "variants": [ "regular", "italic", "700", "700italic" ] }, "Vidaloka": { "family": "Vidaloka", "variants": [ "regular" ] }, "Hind Vadodara": { "family": "Hind Vadodara", "variants": [ "300", "regular", "500", "600", "700" ] }, "Calistoga": { "family": "Calistoga", "variants": [ "regular" ] }, "Mr Dafoe": { "family": "Mr Dafoe", "variants": [ "regular" ] }, "Sriracha": { "family": "Sriracha", "variants": [ "regular" ] }, "Pinyon Script": { "family": "Pinyon Script", "variants": [ "regular" ] }, "Share Tech Mono": { "family": "Share Tech Mono", "variants": [ "regular" ] }, "Gudea": { "family": "Gudea", "variants": [ "regular", "italic", "700" ] }, "Anuphan": { "family": "Anuphan", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Sofia": { "family": "Sofia", "variants": [ "regular" ] }, "Rethink Sans": { "family": "Rethink Sans", "variants": [ "regular", "500", "600", "700", "800", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Leckerli One": { "family": "Leckerli One", "variants": [ "regular" ] }, "Cabin Condensed": { "family": "Cabin Condensed", "variants": [ "regular", "500", "600", "700" ] }, "Cousine": { "family": "Cousine", "variants": [ "regular", "italic", "700", "700italic" ] }, "Racing Sans One": { "family": "Racing Sans One", "variants": [ "regular" ] }, "Bad Script": { "family": "Bad Script", "variants": [ "regular" ] }, "Cormorant Infant": { "family": "Cormorant Infant", "variants": [ "300", "regular", "500", "600", "700", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Amita": { "family": "Amita", "variants": [ "regular", "700" ] }, "Playball": { "family": "Playball", "variants": [ "regular" ] }, "Cinzel Decorative": { "family": "Cinzel Decorative", "variants": [ "regular", "700", "900" ] }, "Marck Script": { "family": "Marck Script", "variants": [ "regular" ] }, "Black Ops One": { "family": "Black Ops One", "variants": [ "regular" ] }, "Nanum Pen Script": { "family": "Nanum Pen Script", "variants": [ "regular" ] }, "Anek Latin": { "family": "Anek Latin", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Saira Semi Condensed": { "family": "Saira Semi Condensed", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Yatra One": { "family": "Yatra One", "variants": [ "regular" ] }, "Lalezar": { "family": "Lalezar", "variants": [ "regular" ] }, "Varela": { "family": "Varela", "variants": [ "regular" ] }, "Syncopate": { "family": "Syncopate", "variants": [ "regular", "700" ] }, "Pontano Sans": { "family": "Pontano Sans", "variants": [ "300", "regular", "500", "600", "700" ] }, "Silkscreen": { "family": "Silkscreen", "variants": [ "regular", "700" ] }, "Julius Sans One": { "family": "Julius Sans One", "variants": [ "regular" ] }, "GFS Didot": { "family": "GFS Didot", "variants": [ "regular" ] }, "Ruda": { "family": "Ruda", "variants": [ "regular", "500", "600", "700", "800", "900" ] }, "Economica": { "family": "Economica", "variants": [ "regular", "italic", "700", "700italic" ] }, "Gabarito": { "family": "Gabarito", "variants": [ "regular", "500", "600", "700", "800", "900" ] }, "Pragati Narrow": { "family": "Pragati Narrow", "variants": [ "regular", "700" ] }, "Just Another Hand": { "family": "Just Another Hand", "variants": [ "regular" ] }, "Six Caps": { "family": "Six Caps", "variants": [ "regular" ] }, "Noto Serif Display": { "family": "Noto Serif Display", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "IBM Plex Sans Thai": { "family": "IBM Plex Sans Thai", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "BenchNine": { "family": "BenchNine", "variants": [ "300", "regular", "700" ] }, "Covered By Your Grace": { "family": "Covered By Your Grace", "variants": [ "regular" ] }, "Mrs Saint Delafield": { "family": "Mrs Saint Delafield", "variants": [ "regular" ] }, "Bowlby One SC": { "family": "Bowlby One SC", "variants": [ "regular" ] }, "Lateef": { "family": "Lateef", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Reddit Sans": { "family": "Reddit Sans", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Boogaloo": { "family": "Boogaloo", "variants": [ "regular" ] }, "Cedarville Cursive": { "family": "Cedarville Cursive", "variants": [ "regular" ] }, "Damion": { "family": "Damion", "variants": [ "regular" ] }, "Charm": { "family": "Charm", "variants": [ "regular", "700" ] }, "Averia Serif Libre": { "family": "Averia Serif Libre", "variants": [ "300", "300italic", "regular", "italic", "700", "700italic" ] }, "Sarala": { "family": "Sarala", "variants": [ "regular", "700" ] }, "Arapey": { "family": "Arapey", "variants": [ "regular", "italic" ] }, "Zen Kaku Gothic Antique": { "family": "Zen Kaku Gothic Antique", "variants": [ "300", "regular", "500", "700", "900" ] }, "Coda": { "family": "Coda", "variants": [ "regular", "800" ] }, "Cutive Mono": { "family": "Cutive Mono", "variants": [ "regular" ] }, "Reem Kufi": { "family": "Reem Kufi", "variants": [ "regular", "500", "600", "700" ] }, "Sansita": { "family": "Sansita", "variants": [ "regular", "italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Mona Sans": { "family": "Mona Sans", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Niramit": { "family": "Niramit", "variants": [ "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic" ] }, "Belanosima": { "family": "Belanosima", "variants": [ "regular", "600", "700" ] }, "Basic": { "family": "Basic", "variants": [ "regular" ] }, "Palanquin": { "family": "Palanquin", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Bevan": { "family": "Bevan", "variants": [ "regular", "italic" ] }, "Khula": { "family": "Khula", "variants": [ "300", "regular", "600", "700", "800" ] }, "Tektur": { "family": "Tektur", "variants": [ "regular", "500", "600", "700", "800", "900" ] }, "Shippori Mincho B1": { "family": "Shippori Mincho B1", "variants": [ "regular", "500", "600", "700", "800" ] }, "Arbutus Slab": { "family": "Arbutus Slab", "variants": [ "regular" ] }, "Electrolize": { "family": "Electrolize", "variants": [ "regular" ] }, "Martel Sans": { "family": "Martel Sans", "variants": [ "200", "300", "regular", "600", "700", "800", "900" ] }, "Belleza": { "family": "Belleza", "variants": [ "regular" ] }, "Lemonada": { "family": "Lemonada", "variants": [ "300", "regular", "500", "600", "700" ] }, "Shrikhand": { "family": "Shrikhand", "variants": [ "regular" ] }, "Secular One": { "family": "Secular One", "variants": [ "regular" ] }, "Chewy": { "family": "Chewy", "variants": [ "regular" ] }, "Alegreya Sans SC": { "family": "Alegreya Sans SC", "variants": [ "100", "100italic", "300", "300italic", "regular", "italic", "500", "500italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Kaisei Decol": { "family": "Kaisei Decol", "variants": [ "regular", "500", "700" ] }, "Noto Sans Malayalam": { "family": "Noto Sans Malayalam", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Noto Nastaliq Urdu": { "family": "Noto Nastaliq Urdu", "variants": [ "regular", "500", "600", "700" ] }, "Ms Madi": { "family": "Ms Madi", "variants": [ "regular" ] }, "Tomorrow": { "family": "Tomorrow", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Allison": { "family": "Allison", "variants": [ "regular" ] }, "Pirata One": { "family": "Pirata One", "variants": [ "regular" ] }, "Squada One": { "family": "Squada One", "variants": [ "regular" ] }, "Rufina": { "family": "Rufina", "variants": [ "regular", "700" ] }, "Wix Madefor Display": { "family": "Wix Madefor Display", "variants": [ "regular", "500", "600", "700", "800" ] }, "Grandstander": { "family": "Grandstander", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "La Belle Aurore": { "family": "La Belle Aurore", "variants": [ "regular" ] }, "Overpass Mono": { "family": "Overpass Mono", "variants": [ "300", "regular", "500", "600", "700" ] }, "Georama": { "family": "Georama", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Corben": { "family": "Corben", "variants": [ "regular", "700" ] }, "MuseoModerno": { "family": "MuseoModerno", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Spline Sans": { "family": "Spline Sans", "variants": [ "300", "regular", "500", "600", "700" ] }, "Yrsa": { "family": "Yrsa", "variants": [ "300", "regular", "500", "600", "700", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Rubik Bubbles": { "family": "Rubik Bubbles", "variants": [ "regular" ] }, "Inria Serif": { "family": "Inria Serif", "variants": [ "300", "300italic", "regular", "italic", "700", "700italic" ] }, "Days One": { "family": "Days One", "variants": [ "regular" ] }, "Cabin Sketch": { "family": "Cabin Sketch", "variants": [ "regular", "700" ] }, "Ovo": { "family": "Ovo", "variants": [ "regular" ] }, "Livvic": { "family": "Livvic", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "900", "900italic" ] }, "Nixie One": { "family": "Nixie One", "variants": [ "regular" ] }, "Potta One": { "family": "Potta One", "variants": [ "regular" ] }, "Bowlby One": { "family": "Bowlby One", "variants": [ "regular" ] }, "Atkinson Hyperlegible Next": { "family": "Atkinson Hyperlegible Next", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Kameron": { "family": "Kameron", "variants": [ "regular", "500", "600", "700" ] }, "Adamina": { "family": "Adamina", "variants": [ "regular" ] }, "Darker Grotesque": { "family": "Darker Grotesque", "variants": [ "300", "regular", "500", "600", "700", "800", "900" ] }, "Alatsi": { "family": "Alatsi", "variants": [ "regular" ] }, "Palanquin Dark": { "family": "Palanquin Dark", "variants": [ "regular", "500", "600", "700" ] }, "Gochi Hand": { "family": "Gochi Hand", "variants": [ "regular" ] }, "Chonburi": { "family": "Chonburi", "variants": [ "regular" ] }, "Alef": { "family": "Alef", "variants": [ "regular", "700" ] }, "Fredericka the Great": { "family": "Fredericka the Great", "variants": [ "regular" ] }, "Neucha": { "family": "Neucha", "variants": [ "regular" ] }, "Kreon": { "family": "Kreon", "variants": [ "300", "regular", "500", "600", "700" ] }, "Laila": { "family": "Laila", "variants": [ "300", "regular", "500", "600", "700" ] }, "Akshar": { "family": "Akshar", "variants": [ "300", "regular", "500", "600", "700" ] }, "Caladea": { "family": "Caladea", "variants": [ "regular", "italic", "700", "700italic" ] }, "Proza Libre": { "family": "Proza Libre", "variants": [ "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic" ] }, "Hachi Maru Pop": { "family": "Hachi Maru Pop", "variants": [ "regular" ] }, "Judson": { "family": "Judson", "variants": [ "regular", "italic", "700" ] }, "Marcellus SC": { "family": "Marcellus SC", "variants": [ "regular" ] }, "Protest Revolution": { "family": "Protest Revolution", "variants": [ "regular" ] }, "Yuji Mai": { "family": "Yuji Mai", "variants": [ "regular" ] }, "Limelight": { "family": "Limelight", "variants": [ "regular" ] }, "Wix Madefor Text": { "family": "Wix Madefor Text", "variants": [ "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic" ] }, "Allerta Stencil": { "family": "Allerta Stencil", "variants": [ "regular" ] }, "Kiwi Maru": { "family": "Kiwi Maru", "variants": [ "300", "regular", "500" ] }, "Nobile": { "family": "Nobile", "variants": [ "regular", "italic", "500", "500italic", "700", "700italic" ] }, "K2D": { "family": "K2D", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic" ] }, "Tilt Warp": { "family": "Tilt Warp", "variants": [ "regular" ] }, "Shadows Into Light Two": { "family": "Shadows Into Light Two", "variants": [ "regular" ] }, "Do Hyeon": { "family": "Do Hyeon", "variants": [ "regular" ] }, "Rakkas": { "family": "Rakkas", "variants": [ "regular" ] }, "Anton SC": { "family": "Anton SC", "variants": [ "regular" ] }, "Pattaya": { "family": "Pattaya", "variants": [ "regular" ] }, "Sintony": { "family": "Sintony", "variants": [ "regular", "700" ] }, "Afacad": { "family": "Afacad", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Mali": { "family": "Mali", "variants": [ "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic" ] }, "Aclonica": { "family": "Aclonica", "variants": [ "regular" ] }, "Sometype Mono": { "family": "Sometype Mono", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Rozha One": { "family": "Rozha One", "variants": [ "regular" ] }, "Rye": { "family": "Rye", "variants": [ "regular" ] }, "Mandali": { "family": "Mandali", "variants": [ "regular" ] }, "PT Serif Caption": { "family": "PT Serif Caption", "variants": [ "regular", "italic" ] }, "Besley": { "family": "Besley", "variants": [ "regular", "500", "600", "700", "800", "900", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Ubuntu Sans": { "family": "Ubuntu Sans", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Honk": { "family": "Honk", "variants": [ "regular" ] }, "Herr Von Muellerhoff": { "family": "Herr Von Muellerhoff", "variants": [ "regular" ] }, "Athiti": { "family": "Athiti", "variants": [ "200", "300", "regular", "500", "600", "700" ] }, "M PLUS 2": { "family": "M PLUS 2", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Jua": { "family": "Jua", "variants": [ "regular" ] }, "Rochester": { "family": "Rochester", "variants": [ "regular" ] }, "Henny Penny": { "family": "Henny Penny", "variants": [ "regular" ] }, "Stardos Stencil": { "family": "Stardos Stencil", "variants": [ "regular", "700" ] }, "Italiana": { "family": "Italiana", "variants": [ "regular" ] }, "Podkova": { "family": "Podkova", "variants": [ "regular", "500", "600", "700", "800" ] }, "Kosugi": { "family": "Kosugi", "variants": [ "regular" ] }, "Karma": { "family": "Karma", "variants": [ "300", "regular", "500", "600", "700" ] }, "Krona One": { "family": "Krona One", "variants": [ "regular" ] }, "Aldrich": { "family": "Aldrich", "variants": [ "regular" ] }, "Gloock": { "family": "Gloock", "variants": [ "regular" ] }, "Glegoo": { "family": "Glegoo", "variants": [ "regular", "700" ] }, "Gantari": { "family": "Gantari", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Sofia Sans Semi Condensed": { "family": "Sofia Sans Semi Condensed", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Hepta Slab": { "family": "Hepta Slab", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Bona Nova SC": { "family": "Bona Nova SC", "variants": [ "regular", "italic", "700" ] }, "Fahkwang": { "family": "Fahkwang", "variants": [ "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic" ] }, "Armata": { "family": "Armata", "variants": [ "regular" ] }, "Dongle": { "family": "Dongle", "variants": [ "300", "regular", "700" ] }, "Averia Libre": { "family": "Averia Libre", "variants": [ "300", "300italic", "regular", "italic", "700", "700italic" ] }, "Balsamiq Sans": { "family": "Balsamiq Sans", "variants": [ "regular", "italic", "700", "700italic" ] }, "Spicy Rice": { "family": "Spicy Rice", "variants": [ "regular" ] }, "Contrail One": { "family": "Contrail One", "variants": [ "regular" ] }, "Nova Square": { "family": "Nova Square", "variants": [ "regular" ] }, "Enriqueta": { "family": "Enriqueta", "variants": [ "regular", "500", "600", "700" ] }, "Material Symbols": { "family": "Material Symbols", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Baloo Bhaijaan 2": { "family": "Baloo Bhaijaan 2", "variants": [ "regular", "500", "600", "700", "800" ] }, "Candal": { "family": "Candal", "variants": [ "regular" ] }, "Castoro": { "family": "Castoro", "variants": [ "regular", "italic" ] }, "Aboreto": { "family": "Aboreto", "variants": [ "regular" ] }, "Cormorant Upright": { "family": "Cormorant Upright", "variants": [ "300", "regular", "500", "600", "700" ] }, "Overlock": { "family": "Overlock", "variants": [ "regular", "italic", "700", "700italic", "900", "900italic" ] }, "Spinnaker": { "family": "Spinnaker", "variants": [ "regular" ] }, "Koulen": { "family": "Koulen", "variants": [ "regular" ] }, "Antic": { "family": "Antic", "variants": [ "regular" ] }, "Major Mono Display": { "family": "Major Mono Display", "variants": [ "regular" ] }, "REM": { "family": "REM", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Montagu Slab": { "family": "Montagu Slab", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Gowun Batang": { "family": "Gowun Batang", "variants": [ "regular", "700" ] }, "Brygada 1918": { "family": "Brygada 1918", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Caudex": { "family": "Caudex", "variants": [ "regular", "italic", "700", "700italic" ] }, "Nanum Brush Script": { "family": "Nanum Brush Script", "variants": [ "regular" ] }, "Rancho": { "family": "Rancho", "variants": [ "regular" ] }, "Annie Use Your Telescope": { "family": "Annie Use Your Telescope", "variants": [ "regular" ] }, "Fustat": { "family": "Fustat", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Host Grotesk": { "family": "Host Grotesk", "variants": [ "300", "regular", "500", "600", "700", "800", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Oooh Baby": { "family": "Oooh Baby", "variants": [ "regular" ] }, "Graduate": { "family": "Graduate", "variants": [ "regular" ] }, "Biryani": { "family": "Biryani", "variants": [ "200", "300", "regular", "600", "700", "800", "900" ] }, "BIZ UDGothic": { "family": "BIZ UDGothic", "variants": [ "regular", "700" ] }, "Yesteryear": { "family": "Yesteryear", "variants": [ "regular" ] }, "Norican": { "family": "Norican", "variants": [ "regular" ] }, "Lexend Exa": { "family": "Lexend Exa", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "BioRhyme": { "family": "BioRhyme", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Suez One": { "family": "Suez One", "variants": [ "regular" ] }, "Poller One": { "family": "Poller One", "variants": [ "regular" ] }, "Coming Soon": { "family": "Coming Soon", "variants": [ "regular" ] }, "Trirong": { "family": "Trirong", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Alegreya SC": { "family": "Alegreya SC", "variants": [ "regular", "italic", "500", "500italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Bellefair": { "family": "Bellefair", "variants": [ "regular" ] }, "Arizonia": { "family": "Arizonia", "variants": [ "regular" ] }, "Oranienbaum": { "family": "Oranienbaum", "variants": [ "regular" ] }, "Halant": { "family": "Halant", "variants": [ "300", "regular", "500", "600", "700" ] }, "Cantata One": { "family": "Cantata One", "variants": [ "regular" ] }, "Wallpoet": { "family": "Wallpoet", "variants": [ "regular" ] }, "Sigmar One": { "family": "Sigmar One", "variants": [ "regular" ] }, "Monsieur La Doulaise": { "family": "Monsieur La Doulaise", "variants": [ "regular" ] }, "Noto Serif Devanagari": { "family": "Noto Serif Devanagari", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Funnel Sans": { "family": "Funnel Sans", "variants": [ "300", "regular", "500", "600", "700", "800", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Ma Shan Zheng": { "family": "Ma Shan Zheng", "variants": [ "regular" ] }, "Megrim": { "family": "Megrim", "variants": [ "regular" ] }, "Knewave": { "family": "Knewave", "variants": [ "regular" ] }, "Schoolbell": { "family": "Schoolbell", "variants": [ "regular" ] }, "Azeret Mono": { "family": "Azeret Mono", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Radley": { "family": "Radley", "variants": [ "regular", "italic" ] }, "Mouse Memoirs": { "family": "Mouse Memoirs", "variants": [ "regular" ] }, "Trocchi": { "family": "Trocchi", "variants": [ "regular" ] }, "Share": { "family": "Share", "variants": [ "regular", "italic", "700", "700italic" ] }, "Style Script": { "family": "Style Script", "variants": [ "regular" ] }, "Agbalumo": { "family": "Agbalumo", "variants": [ "regular" ] }, "Familjen Grotesk": { "family": "Familjen Grotesk", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Oxygen Mono": { "family": "Oxygen Mono", "variants": [ "regular" ] }, "Metrophobic": { "family": "Metrophobic", "variants": [ "regular" ] }, "Telex": { "family": "Telex", "variants": [ "regular" ] }, "McLaren": { "family": "McLaren", "variants": [ "regular" ] }, "Skranji": { "family": "Skranji", "variants": [ "regular", "700" ] }, "Julee": { "family": "Julee", "variants": [ "regular" ] }, "Grand Hotel": { "family": "Grand Hotel", "variants": [ "regular" ] }, "Bentham": { "family": "Bentham", "variants": [ "regular" ] }, "Kristi": { "family": "Kristi", "variants": [ "regular" ] }, "SUSE": { "family": "SUSE", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "UnifrakturMaguntia": { "family": "UnifrakturMaguntia", "variants": [ "regular" ] }, "Niconne": { "family": "Niconne", "variants": [ "regular" ] }, "Marmelad": { "family": "Marmelad", "variants": [ "regular" ] }, "Libre Barcode 39 Text": { "family": "Libre Barcode 39 Text", "variants": [ "regular" ] }, "Funnel Display": { "family": "Funnel Display", "variants": [ "300", "regular", "500", "600", "700", "800" ] }, "Allerta": { "family": "Allerta", "variants": [ "regular" ] }, "Licorice": { "family": "Licorice", "variants": [ "regular" ] }, "Maitree": { "family": "Maitree", "variants": [ "200", "300", "regular", "500", "600", "700" ] }, "Imbue": { "family": "Imbue", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Encode Sans Expanded": { "family": "Encode Sans Expanded", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Dawning of a New Day": { "family": "Dawning of a New Day", "variants": [ "regular" ] }, "Love Ya Like A Sister": { "family": "Love Ya Like A Sister", "variants": [ "regular" ] }, "Croissant One": { "family": "Croissant One", "variants": [ "regular" ] }, "Solway": { "family": "Solway", "variants": [ "300", "regular", "500", "700", "800" ] }, "Red Rose": { "family": "Red Rose", "variants": [ "300", "regular", "500", "600", "700" ] }, "Libre Caslon Display": { "family": "Libre Caslon Display", "variants": [ "regular" ] }, "Young Serif": { "family": "Young Serif", "variants": [ "regular" ] }, "Manjari": { "family": "Manjari", "variants": [ "100", "regular", "700" ] }, "Baloo Da 2": { "family": "Baloo Da 2", "variants": [ "regular", "500", "600", "700", "800" ] }, "Glory": { "family": "Glory", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Irish Grover": { "family": "Irish Grover", "variants": [ "regular" ] }, "Geo": { "family": "Geo", "variants": [ "regular", "italic" ] }, "Amiko": { "family": "Amiko", "variants": [ "regular", "600", "700" ] }, "Jaldi": { "family": "Jaldi", "variants": [ "regular", "700" ] }, "Anek Bangla": { "family": "Anek Bangla", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Tilt Neon": { "family": "Tilt Neon", "variants": [ "regular" ] }, "Klee One": { "family": "Klee One", "variants": [ "regular", "600" ] }, "Murecho": { "family": "Murecho", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Noto Sans Math": { "family": "Noto Sans Math", "variants": [ "regular" ] }, "Petit Formal Script": { "family": "Petit Formal Script", "variants": [ "regular" ] }, "Faster One": { "family": "Faster One", "variants": [ "regular" ] }, "Mochiy Pop One": { "family": "Mochiy Pop One", "variants": [ "regular" ] }, "Rosario": { "family": "Rosario", "variants": [ "300", "regular", "500", "600", "700", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Markazi Text": { "family": "Markazi Text", "variants": [ "regular", "500", "600", "700" ] }, "Rampart One": { "family": "Rampart One", "variants": [ "regular" ] }, "Waiting for the Sunrise": { "family": "Waiting for the Sunrise", "variants": [ "regular" ] }, "Goudy Bookletter 1911": { "family": "Goudy Bookletter 1911", "variants": [ "regular" ] }, "Fjord One": { "family": "Fjord One", "variants": [ "regular" ] }, "Cormorant SC": { "family": "Cormorant SC", "variants": [ "300", "regular", "500", "600", "700" ] }, "Kalnia": { "family": "Kalnia", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Hahmlet": { "family": "Hahmlet", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Meddon": { "family": "Meddon", "variants": [ "regular" ] }, "Whisper": { "family": "Whisper", "variants": [ "regular" ] }, "Modak": { "family": "Modak", "variants": [ "regular" ] }, "Bubblegum Sans": { "family": "Bubblegum Sans", "variants": [ "regular" ] }, "Jockey One": { "family": "Jockey One", "variants": [ "regular" ] }, "Carrois Gothic": { "family": "Carrois Gothic", "variants": [ "regular" ] }, "IBM Plex Sans Hebrew": { "family": "IBM Plex Sans Hebrew", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Fondamento": { "family": "Fondamento", "variants": [ "regular", "italic" ] }, "Over the Rainbow": { "family": "Over the Rainbow", "variants": [ "regular" ] }, "Libre Barcode 128": { "family": "Libre Barcode 128", "variants": [ "regular" ] }, "Kantumruy Pro": { "family": "Kantumruy Pro", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Chivo Mono": { "family": "Chivo Mono", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Ibarra Real Nova": { "family": "Ibarra Real Nova", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Calligraffitti": { "family": "Calligraffitti", "variants": [ "regular" ] }, "Grenze Gotisch": { "family": "Grenze Gotisch", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Antic Didone": { "family": "Antic Didone", "variants": [ "regular" ] }, "Average Sans": { "family": "Average Sans", "variants": [ "regular" ] }, "Encode Sans Semi Condensed": { "family": "Encode Sans Semi Condensed", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Arya": { "family": "Arya", "variants": [ "regular", "700" ] }, "Spectral SC": { "family": "Spectral SC", "variants": [ "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic" ] }, "Mansalva": { "family": "Mansalva", "variants": [ "regular" ] }, "Turret Road": { "family": "Turret Road", "variants": [ "200", "300", "regular", "500", "700", "800" ] }, "Noto Sans Sinhala": { "family": "Noto Sans Sinhala", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Cairo Play": { "family": "Cairo Play", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Scada": { "family": "Scada", "variants": [ "regular", "italic", "700", "700italic" ] }, "IM Fell English SC": { "family": "IM Fell English SC", "variants": [ "regular" ] }, "Sniglet": { "family": "Sniglet", "variants": [ "regular", "800" ] }, "Kadwa": { "family": "Kadwa", "variants": [ "regular", "700" ] }, "Anybody": { "family": "Anybody", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Cambay": { "family": "Cambay", "variants": [ "regular", "italic", "700", "700italic" ] }, "Lexend Zetta": { "family": "Lexend Zetta", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Mate": { "family": "Mate", "variants": [ "regular", "italic" ] }, "RocknRoll One": { "family": "RocknRoll One", "variants": [ "regular" ] }, "Nova Mono": { "family": "Nova Mono", "variants": [ "regular" ] }, "DotGothic16": { "family": "DotGothic16", "variants": [ "regular" ] }, "ADLaM Display": { "family": "ADLaM Display", "variants": [ "regular" ] }, "Yusei Magic": { "family": "Yusei Magic", "variants": [ "regular" ] }, "Lexend Peta": { "family": "Lexend Peta", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Chelsea Market": { "family": "Chelsea Market", "variants": [ "regular" ] }, "Noto Emoji": { "family": "Noto Emoji", "variants": [ "300", "regular", "500", "600", "700" ] }, "Baloo Thambi 2": { "family": "Baloo Thambi 2", "variants": [ "regular", "500", "600", "700", "800" ] }, "Odibee Sans": { "family": "Odibee Sans", "variants": [ "regular" ] }, "Tienne": { "family": "Tienne", "variants": [ "regular", "700", "900" ] }, "Bigshot One": { "family": "Bigshot One", "variants": [ "regular" ] }, "Syne Mono": { "family": "Syne Mono", "variants": [ "regular" ] }, "Fragment Mono": { "family": "Fragment Mono", "variants": [ "regular", "italic" ] }, "Amarante": { "family": "Amarante", "variants": [ "regular" ] }, "Gabriela": { "family": "Gabriela", "variants": [ "regular" ] }, "Rambla": { "family": "Rambla", "variants": [ "regular", "italic", "700", "700italic" ] }, "IM Fell English": { "family": "IM Fell English", "variants": [ "regular", "italic" ] }, "Caprasimo": { "family": "Caprasimo", "variants": [ "regular" ] }, "Notable": { "family": "Notable", "variants": [ "regular" ] }, "Bellota Text": { "family": "Bellota Text", "variants": [ "300", "300italic", "regular", "italic", "700", "700italic" ] }, "Anek Devanagari": { "family": "Anek Devanagari", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Hurricane": { "family": "Hurricane", "variants": [ "regular" ] }, "Vesper Libre": { "family": "Vesper Libre", "variants": [ "regular", "500", "700", "900" ] }, "Seaweed Script": { "family": "Seaweed Script", "variants": [ "regular" ] }, "Kelly Slab": { "family": "Kelly Slab", "variants": [ "regular" ] }, "Copse": { "family": "Copse", "variants": [ "regular" ] }, "Barriecito": { "family": "Barriecito", "variants": [ "regular" ] }, "Coustard": { "family": "Coustard", "variants": [ "regular", "900" ] }, "Baloo Tamma 2": { "family": "Baloo Tamma 2", "variants": [ "regular", "500", "600", "700", "800" ] }, "WindSong": { "family": "WindSong", "variants": [ "regular", "500" ] }, "Ruslan Display": { "family": "Ruslan Display", "variants": [ "regular" ] }, "Magra": { "family": "Magra", "variants": [ "regular", "700" ] }, "Pathway Extreme": { "family": "Pathway Extreme", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "ZCOOL XiaoWei": { "family": "ZCOOL XiaoWei", "variants": [ "regular" ] }, "Average": { "family": "Average", "variants": [ "regular" ] }, "BIZ UDPMincho": { "family": "BIZ UDPMincho", "variants": [ "regular", "700" ] }, "Libre Barcode 39 Extended Text": { "family": "Libre Barcode 39 Extended Text", "variants": [ "regular" ] }, "Bungee Inline": { "family": "Bungee Inline", "variants": [ "regular" ] }, "Pompiere": { "family": "Pompiere", "variants": [ "regular" ] }, "DynaPuff": { "family": "DynaPuff", "variants": [ "regular", "500", "600", "700" ] }, "Recursive": { "family": "Recursive", "variants": [ "300", "regular", "500", "600", "700", "800", "900" ] }, "Expletus Sans": { "family": "Expletus Sans", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "KoHo": { "family": "KoHo", "variants": [ "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic" ] }, "Hina Mincho": { "family": "Hina Mincho", "variants": [ "regular" ] }, "David Libre": { "family": "David Libre", "variants": [ "regular", "500", "700" ] }, "Marvel": { "family": "Marvel", "variants": [ "regular", "italic", "700", "700italic" ] }, "Fresca": { "family": "Fresca", "variants": [ "regular" ] }, "Baloo Chettan 2": { "family": "Baloo Chettan 2", "variants": [ "regular", "500", "600", "700", "800" ] }, "Quintessential": { "family": "Quintessential", "variants": [ "regular" ] }, "Alike": { "family": "Alike", "variants": [ "regular" ] }, "Pixelify Sans": { "family": "Pixelify Sans", "variants": [ "regular", "500", "600", "700" ] }, "B612 Mono": { "family": "B612 Mono", "variants": [ "regular", "italic", "700", "700italic" ] }, "Fascinate": { "family": "Fascinate", "variants": [ "regular" ] }, "Inria Sans": { "family": "Inria Sans", "variants": [ "300", "300italic", "regular", "italic", "700", "700italic" ] }, "Qwigley": { "family": "Qwigley", "variants": [ "regular" ] }, "IM Fell DW Pica": { "family": "IM Fell DW Pica", "variants": [ "regular", "italic" ] }, "Parkinsans": { "family": "Parkinsans", "variants": [ "300", "regular", "500", "600", "700", "800" ] }, "Shantell Sans": { "family": "Shantell Sans", "variants": [ "300", "regular", "500", "600", "700", "800", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Della Respira": { "family": "Della Respira", "variants": [ "regular" ] }, "Prosto One": { "family": "Prosto One", "variants": [ "regular" ] }, "Meie Script": { "family": "Meie Script", "variants": [ "regular" ] }, "Birthstone": { "family": "Birthstone", "variants": [ "regular" ] }, "Jomhuria": { "family": "Jomhuria", "variants": [ "regular" ] }, "Fanwood Text": { "family": "Fanwood Text", "variants": [ "regular", "italic" ] }, "Miriam Libre": { "family": "Miriam Libre", "variants": [ "regular", "500", "600", "700" ] }, "Aladin": { "family": "Aladin", "variants": [ "regular" ] }, "Mr De Haviland": { "family": "Mr De Haviland", "variants": [ "regular" ] }, "Corinthia": { "family": "Corinthia", "variants": [ "regular", "700" ] }, "Short Stack": { "family": "Short Stack", "variants": [ "regular" ] }, "Farro": { "family": "Farro", "variants": [ "300", "regular", "500", "700" ] }, "Asul": { "family": "Asul", "variants": [ "regular", "700" ] }, "Mina": { "family": "Mina", "variants": [ "regular", "700" ] }, "Gurajada": { "family": "Gurajada", "variants": [ "regular" ] }, "Kaisei Opti": { "family": "Kaisei Opti", "variants": [ "regular", "500", "700" ] }, "Voltaire": { "family": "Voltaire", "variants": [ "regular" ] }, "Mountains of Christmas": { "family": "Mountains of Christmas", "variants": [ "regular", "700" ] }, "Vast Shadow": { "family": "Vast Shadow", "variants": [ "regular" ] }, "Imprima": { "family": "Imprima", "variants": [ "regular" ] }, "Kurale": { "family": "Kurale", "variants": [ "regular" ] }, "Aguafina Script": { "family": "Aguafina Script", "variants": [ "regular" ] }, "Noto Sans Lao Looped": { "family": "Noto Sans Lao Looped", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Aref Ruqaa": { "family": "Aref Ruqaa", "variants": [ "regular", "700" ] }, "Vina Sans": { "family": "Vina Sans", "variants": [ "regular" ] }, "B612": { "family": "B612", "variants": [ "regular", "italic", "700", "700italic" ] }, "Gotu": { "family": "Gotu", "variants": [ "regular" ] }, "Zen Dots": { "family": "Zen Dots", "variants": [ "regular" ] }, "Cormorant Unicase": { "family": "Cormorant Unicase", "variants": [ "300", "regular", "500", "600", "700" ] }, "Lekton": { "family": "Lekton", "variants": [ "regular", "italic", "700" ] }, "Supermercado One": { "family": "Supermercado One", "variants": [ "regular" ] }, "Inknut Antiqua": { "family": "Inknut Antiqua", "variants": [ "300", "regular", "500", "600", "700", "800", "900" ] }, "Monomaniac One": { "family": "Monomaniac One", "variants": [ "regular" ] }, "Holtwood One SC": { "family": "Holtwood One SC", "variants": [ "regular" ] }, "Saira Stencil One": { "family": "Saira Stencil One", "variants": [ "regular" ] }, "Sansita Swashed": { "family": "Sansita Swashed", "variants": [ "300", "regular", "500", "600", "700", "800", "900" ] }, "Poly": { "family": "Poly", "variants": [ "regular", "italic" ] }, "Sigmar": { "family": "Sigmar", "variants": [ "regular" ] }, "Gluten": { "family": "Gluten", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Metamorphous": { "family": "Metamorphous", "variants": [ "regular" ] }, "Noto Sans Khmer": { "family": "Noto Sans Khmer", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Thasadith": { "family": "Thasadith", "variants": [ "regular", "italic", "700", "700italic" ] }, "Federo": { "family": "Federo", "variants": [ "regular" ] }, "Noto Sans Myanmar": { "family": "Noto Sans Myanmar", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Piazzolla": { "family": "Piazzolla", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Noto Sans Georgian": { "family": "Noto Sans Georgian", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Capriola": { "family": "Capriola", "variants": [ "regular" ] }, "Fauna One": { "family": "Fauna One", "variants": [ "regular" ] }, "Baloo Paaji 2": { "family": "Baloo Paaji 2", "variants": [ "regular", "500", "600", "700", "800" ] }, "Radio Canada Big": { "family": "Radio Canada Big", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Truculenta": { "family": "Truculenta", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Rasa": { "family": "Rasa", "variants": [ "300", "regular", "500", "600", "700", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "IBM Plex Sans KR": { "family": "IBM Plex Sans KR", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Sarpanch": { "family": "Sarpanch", "variants": [ "regular", "500", "600", "700", "800", "900" ] }, "Rouge Script": { "family": "Rouge Script", "variants": [ "regular" ] }, "Esteban": { "family": "Esteban", "variants": [ "regular" ] }, "Noto Sans Meetei Mayek": { "family": "Noto Sans Meetei Mayek", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Battambang": { "family": "Battambang", "variants": [ "100", "300", "regular", "700", "900" ] }, "Tiro Bangla": { "family": "Tiro Bangla", "variants": [ "regular", "italic" ] }, "Vibur": { "family": "Vibur", "variants": [ "regular" ] }, "Oregano": { "family": "Oregano", "variants": [ "regular", "italic" ] }, "Wendy One": { "family": "Wendy One", "variants": [ "regular" ] }, "Sue Ellen Francisco": { "family": "Sue Ellen Francisco", "variants": [ "regular" ] }, "Zen Antique Soft": { "family": "Zen Antique Soft", "variants": [ "regular" ] }, "Fuzzy Bubbles": { "family": "Fuzzy Bubbles", "variants": [ "regular", "700" ] }, "Hanuman": { "family": "Hanuman", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Bungee Shade": { "family": "Bungee Shade", "variants": [ "regular" ] }, "Walter Turncoat": { "family": "Walter Turncoat", "variants": [ "regular" ] }, "Gentium Plus": { "family": "Gentium Plus", "variants": [ "regular", "italic", "700", "700italic" ] }, "Give You Glory": { "family": "Give You Glory", "variants": [ "regular" ] }, "Qwitcher Grypen": { "family": "Qwitcher Grypen", "variants": [ "regular", "700" ] }, "Quando": { "family": "Quando", "variants": [ "regular" ] }, "Mukta Vaani": { "family": "Mukta Vaani", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Balthazar": { "family": "Balthazar", "variants": [ "regular" ] }, "Fuggles": { "family": "Fuggles", "variants": [ "regular" ] }, "Gamja Flower": { "family": "Gamja Flower", "variants": [ "regular" ] }, "Nosifer": { "family": "Nosifer", "variants": [ "regular" ] }, "Crafty Girls": { "family": "Crafty Girls", "variants": [ "regular" ] }, "Almendra": { "family": "Almendra", "variants": [ "regular", "italic", "700", "700italic" ] }, "Molengo": { "family": "Molengo", "variants": [ "regular" ] }, "Encode Sans Semi Expanded": { "family": "Encode Sans Semi Expanded", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Red Hat Mono": { "family": "Red Hat Mono", "variants": [ "300", "regular", "500", "600", "700", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Mukta Mahee": { "family": "Mukta Mahee", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Sevillana": { "family": "Sevillana", "variants": [ "regular" ] }, "Slackey": { "family": "Slackey", "variants": [ "regular" ] }, "Shojumaru": { "family": "Shojumaru", "variants": [ "regular" ] }, "Cherry Bomb One": { "family": "Cherry Bomb One", "variants": [ "regular" ] }, "Kodchasan": { "family": "Kodchasan", "variants": [ "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic" ] }, "Brawler": { "family": "Brawler", "variants": [ "regular", "700" ] }, "Allan": { "family": "Allan", "variants": [ "regular", "700" ] }, "Orelega One": { "family": "Orelega One", "variants": [ "regular" ] }, "Numans": { "family": "Numans", "variants": [ "regular" ] }, "Oleo Script Swash Caps": { "family": "Oleo Script Swash Caps", "variants": [ "regular", "700" ] }, "Bayon": { "family": "Bayon", "variants": [ "regular" ] }, "Charis SIL": { "family": "Charis SIL", "variants": [ "regular", "italic", "700", "700italic" ] }, "Gowun Dodum": { "family": "Gowun Dodum", "variants": [ "regular" ] }, "Salsa": { "family": "Salsa", "variants": [ "regular" ] }, "Montez": { "family": "Montez", "variants": [ "regular" ] }, "Goblin One": { "family": "Goblin One", "variants": [ "regular" ] }, "Sarina": { "family": "Sarina", "variants": [ "regular" ] }, "Loved by the King": { "family": "Loved by the King", "variants": [ "regular" ] }, "Afacad Flux": { "family": "Afacad Flux", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Doppio One": { "family": "Doppio One", "variants": [ "regular" ] }, "Shippori Antique": { "family": "Shippori Antique", "variants": [ "regular" ] }, "MedievalSharp": { "family": "MedievalSharp", "variants": [ "regular" ] }, "Atma": { "family": "Atma", "variants": [ "300", "regular", "500", "600", "700" ] }, "AR One Sans": { "family": "AR One Sans", "variants": [ "regular", "500", "600", "700" ] }, "Sancreek": { "family": "Sancreek", "variants": [ "regular" ] }, "Noto Serif HK": { "family": "Noto Serif HK", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Lacquer": { "family": "Lacquer", "variants": [ "regular" ] }, "Euphoria Script": { "family": "Euphoria Script", "variants": [ "regular" ] }, "Ephesis": { "family": "Ephesis", "variants": [ "regular" ] }, "Coiny": { "family": "Coiny", "variants": [ "regular" ] }, "Big Shoulders": { "family": "Big Shoulders", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Playpen Sans": { "family": "Playpen Sans", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Playwrite HU": { "family": "Playwrite HU", "variants": [ "100", "200", "300", "regular" ] }, "Zen Antique": { "family": "Zen Antique", "variants": [ "regular" ] }, "Suranna": { "family": "Suranna", "variants": [ "regular" ] }, "Happy Monkey": { "family": "Happy Monkey", "variants": [ "regular" ] }, "Sunflower": { "family": "Sunflower", "variants": [ "300", "500", "700" ] }, "Finger Paint": { "family": "Finger Paint", "variants": [ "regular" ] }, "Baloo Bhai 2": { "family": "Baloo Bhai 2", "variants": [ "regular", "500", "600", "700", "800" ] }, "Inder": { "family": "Inder", "variants": [ "regular" ] }, "Vujahday Script": { "family": "Vujahday Script", "variants": [ "regular" ] }, "Delicious Handrawn": { "family": "Delicious Handrawn", "variants": [ "regular" ] }, "Kode Mono": { "family": "Kode Mono", "variants": [ "regular", "500", "600", "700" ] }, "Carlito": { "family": "Carlito", "variants": [ "regular", "italic", "700", "700italic" ] }, "Zen Kurenaido": { "family": "Zen Kurenaido", "variants": [ "regular" ] }, "Cutive": { "family": "Cutive", "variants": [ "regular" ] }, "Agdasima": { "family": "Agdasima", "variants": [ "regular", "700" ] }, "Edu SA Beginner": { "family": "Edu SA Beginner", "variants": [ "regular", "500", "600", "700" ] }, "Bilbo Swash Caps": { "family": "Bilbo Swash Caps", "variants": [ "regular" ] }, "Buenard": { "family": "Buenard", "variants": [ "regular", "500", "600", "700" ] }, "Noto Serif Hebrew": { "family": "Noto Serif Hebrew", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Bellota": { "family": "Bellota", "variants": [ "300", "300italic", "regular", "italic", "700", "700italic" ] }, "Bakbak One": { "family": "Bakbak One", "variants": [ "regular" ] }, "League Script": { "family": "League Script", "variants": [ "regular" ] }, "Anek Malayalam": { "family": "Anek Malayalam", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Headland One": { "family": "Headland One", "variants": [ "regular" ] }, "Beth Ellen": { "family": "Beth Ellen", "variants": [ "regular" ] }, "Kranky": { "family": "Kranky", "variants": [ "regular" ] }, "Gemunu Libre": { "family": "Gemunu Libre", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Cherry Cream Soda": { "family": "Cherry Cream Soda", "variants": [ "regular" ] }, "Unkempt": { "family": "Unkempt", "variants": [ "regular", "700" ] }, "Kablammo": { "family": "Kablammo", "variants": [ "regular" ] }, "Sedgwick Ave": { "family": "Sedgwick Ave", "variants": [ "regular" ] }, "Cambo": { "family": "Cambo", "variants": [ "regular" ] }, "ZCOOL KuaiLe": { "family": "ZCOOL KuaiLe", "variants": [ "regular" ] }, "Sofadi One": { "family": "Sofadi One", "variants": [ "regular" ] }, "Fontdiner Swanky": { "family": "Fontdiner Swanky", "variants": [ "regular" ] }, "Amethysta": { "family": "Amethysta", "variants": [ "regular" ] }, "Hi Melody": { "family": "Hi Melody", "variants": [ "regular" ] }, "Slabo 13px": { "family": "Slabo 13px", "variants": [ "regular" ] }, "Iceberg": { "family": "Iceberg", "variants": [ "regular" ] }, "Averia Sans Libre": { "family": "Averia Sans Libre", "variants": [ "300", "300italic", "regular", "italic", "700", "700italic" ] }, "Viaoda Libre": { "family": "Viaoda Libre", "variants": [ "regular" ] }, "Meow Script": { "family": "Meow Script", "variants": [ "regular" ] }, "Just Me Again Down Here": { "family": "Just Me Again Down Here", "variants": [ "regular" ] }, "Mako": { "family": "Mako", "variants": [ "regular" ] }, "Prociono": { "family": "Prociono", "variants": [ "regular" ] }, "Reddit Sans Condensed": { "family": "Reddit Sans Condensed", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Scheherazade New": { "family": "Scheherazade New", "variants": [ "regular", "500", "600", "700" ] }, "Mallanna": { "family": "Mallanna", "variants": [ "regular" ] }, "Mirza": { "family": "Mirza", "variants": [ "regular", "500", "600", "700" ] }, "Redressed": { "family": "Redressed", "variants": [ "regular" ] }, "Noto Sans Warang Citi": { "family": "Noto Sans Warang Citi", "variants": [ "regular" ] }, "IM Fell Double Pica": { "family": "IM Fell Double Pica", "variants": [ "regular", "italic" ] }, "Kufam": { "family": "Kufam", "variants": [ "regular", "500", "600", "700", "800", "900", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Artifika": { "family": "Artifika", "variants": [ "regular" ] }, "Platypi": { "family": "Platypi", "variants": [ "300", "regular", "500", "600", "700", "800", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Noto Sans Kannada": { "family": "Noto Sans Kannada", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Charmonman": { "family": "Charmonman", "variants": [ "regular", "700" ] }, "Gulzar": { "family": "Gulzar", "variants": [ "regular" ] }, "The Girl Next Door": { "family": "The Girl Next Door", "variants": [ "regular" ] }, "Grape Nuts": { "family": "Grape Nuts", "variants": [ "regular" ] }, "Tenali Ramakrishna": { "family": "Tenali Ramakrishna", "variants": [ "regular" ] }, "Uncial Antiqua": { "family": "Uncial Antiqua", "variants": [ "regular" ] }, "Monofett": { "family": "Monofett", "variants": [ "regular" ] }, "Ribeye": { "family": "Ribeye", "variants": [ "regular" ] }, "Sunshiney": { "family": "Sunshiney", "variants": [ "regular" ] }, "Original Surfer": { "family": "Original Surfer", "variants": [ "regular" ] }, "Bubbler One": { "family": "Bubbler One", "variants": [ "regular" ] }, "Libre Barcode 128 Text": { "family": "Libre Barcode 128 Text", "variants": [ "regular" ] }, "Madimi One": { "family": "Madimi One", "variants": [ "regular" ] }, "Elsie": { "family": "Elsie", "variants": [ "regular", "900" ] }, "Square Peg": { "family": "Square Peg", "variants": [ "regular" ] }, "Clicker Script": { "family": "Clicker Script", "variants": [ "regular" ] }, "Xanh Mono": { "family": "Xanh Mono", "variants": [ "regular", "italic" ] }, "Nokora": { "family": "Nokora", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Chathura": { "family": "Chathura", "variants": [ "100", "300", "regular", "700", "800" ] }, "Codystar": { "family": "Codystar", "variants": [ "300", "regular" ] }, "Alike Angular": { "family": "Alike Angular", "variants": [ "regular" ] }, "Vollkorn SC": { "family": "Vollkorn SC", "variants": [ "regular", "600", "700", "900" ] }, "Sumana": { "family": "Sumana", "variants": [ "regular", "700" ] }, "Patrick Hand SC": { "family": "Patrick Hand SC", "variants": [ "regular" ] }, "Noto Sans Thai Looped": { "family": "Noto Sans Thai Looped", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Mogra": { "family": "Mogra", "variants": [ "regular" ] }, "Hedvig Letters Serif": { "family": "Hedvig Letters Serif", "variants": [ "regular" ] }, "Baloo Tammudu 2": { "family": "Baloo Tammudu 2", "variants": [ "regular", "500", "600", "700", "800" ] }, "Metal Mania": { "family": "Metal Mania", "variants": [ "regular" ] }, "Nova Round": { "family": "Nova Round", "variants": [ "regular" ] }, "ZCOOL QingKe HuangYou": { "family": "ZCOOL QingKe HuangYou", "variants": [ "regular" ] }, "Vampiro One": { "family": "Vampiro One", "variants": [ "regular" ] }, "New Rocker": { "family": "New Rocker", "variants": [ "regular" ] }, "Lily Script One": { "family": "Lily Script One", "variants": [ "regular" ] }, "Padauk": { "family": "Padauk", "variants": [ "regular", "700" ] }, "Anaheim": { "family": "Anaheim", "variants": [ "regular", "500", "600", "700", "800" ] }, "Arima": { "family": "Arima", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Noto Serif Khojki": { "family": "Noto Serif Khojki", "variants": [ "regular", "500", "600", "700" ] }, "Road Rage": { "family": "Road Rage", "variants": [ "regular" ] }, "Cantora One": { "family": "Cantora One", "variants": [ "regular" ] }, "Gugi": { "family": "Gugi", "variants": [ "regular" ] }, "Angkor": { "family": "Angkor", "variants": [ "regular" ] }, "Train One": { "family": "Train One", "variants": [ "regular" ] }, "NTR": { "family": "NTR", "variants": [ "regular" ] }, "Rhodium Libre": { "family": "Rhodium Libre", "variants": [ "regular" ] }, "Shanti": { "family": "Shanti", "variants": [ "regular" ] }, "Gentium Book Plus": { "family": "Gentium Book Plus", "variants": [ "regular", "italic", "700", "700italic" ] }, "Tiro Devanagari Hindi": { "family": "Tiro Devanagari Hindi", "variants": [ "regular", "italic" ] }, "Wire One": { "family": "Wire One", "variants": [ "regular" ] }, "UnifrakturCook": { "family": "UnifrakturCook", "variants": [ "700" ] }, "Nova Flat": { "family": "Nova Flat", "variants": [ "regular" ] }, "Englebert": { "family": "Englebert", "variants": [ "regular" ] }, "Swanky and Moo Moo": { "family": "Swanky and Moo Moo", "variants": [ "regular" ] }, "Zain": { "family": "Zain", "variants": [ "200", "300", "300italic", "regular", "italic", "700", "800", "900" ] }, "Bokor": { "family": "Bokor", "variants": [ "regular" ] }, "Rosarivo": { "family": "Rosarivo", "variants": [ "regular", "italic" ] }, "Noto Serif Telugu": { "family": "Noto Serif Telugu", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Raleway Dots": { "family": "Raleway Dots", "variants": [ "regular" ] }, "Martian Mono": { "family": "Martian Mono", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Duru Sans": { "family": "Duru Sans", "variants": [ "regular" ] }, "Delius Unicase": { "family": "Delius Unicase", "variants": [ "regular", "700" ] }, "Puritan": { "family": "Puritan", "variants": [ "regular", "italic", "700", "700italic" ] }, "Noto Sans Armenian": { "family": "Noto Sans Armenian", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Iceland": { "family": "Iceland", "variants": [ "regular" ] }, "Poetsen One": { "family": "Poetsen One", "variants": [ "regular" ] }, "Dynalight": { "family": "Dynalight", "variants": [ "regular" ] }, "Mochiy Pop P One": { "family": "Mochiy Pop P One", "variants": [ "regular" ] }, "Stick No Bills": { "family": "Stick No Bills", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Ga Maamli": { "family": "Ga Maamli", "variants": [ "regular" ] }, "Carattere": { "family": "Carattere", "variants": [ "regular" ] }, "Yuji Syuku": { "family": "Yuji Syuku", "variants": [ "regular" ] }, "Rubik Glitch": { "family": "Rubik Glitch", "variants": [ "regular" ] }, "Life Savers": { "family": "Life Savers", "variants": [ "regular", "700", "800" ] }, "Dangrek": { "family": "Dangrek", "variants": [ "regular" ] }, "Moul": { "family": "Moul", "variants": [ "regular" ] }, "Benne": { "family": "Benne", "variants": [ "regular" ] }, "Comic Relief": { "family": "Comic Relief", "variants": [ "regular", "700" ] }, "Harmattan": { "family": "Harmattan", "variants": [ "regular", "500", "600", "700" ] }, "The Nautigal": { "family": "The Nautigal", "variants": [ "regular", "700" ] }, "Galada": { "family": "Galada", "variants": [ "regular" ] }, "Carme": { "family": "Carme", "variants": [ "regular" ] }, "Asar": { "family": "Asar", "variants": [ "regular" ] }, "Rubik Dirt": { "family": "Rubik Dirt", "variants": [ "regular" ] }, "Convergence": { "family": "Convergence", "variants": [ "regular" ] }, "Reggae One": { "family": "Reggae One", "variants": [ "regular" ] }, "Scope One": { "family": "Scope One", "variants": [ "regular" ] }, "Modern Antiqua": { "family": "Modern Antiqua", "variants": [ "regular" ] }, "Chicle": { "family": "Chicle", "variants": [ "regular" ] }, "Ceviche One": { "family": "Ceviche One", "variants": [ "regular" ] }, "Noto Sans Linear B": { "family": "Noto Sans Linear B", "variants": [ "regular" ] }, "Kaisei Tokumin": { "family": "Kaisei Tokumin", "variants": [ "regular", "500", "700", "800" ] }, "Gaegu": { "family": "Gaegu", "variants": [ "300", "regular", "700" ] }, "Noto Serif Thai": { "family": "Noto Serif Thai", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "MonteCarlo": { "family": "MonteCarlo", "variants": [ "regular" ] }, "Lemon": { "family": "Lemon", "variants": [ "regular" ] }, "Freehand": { "family": "Freehand", "variants": [ "regular" ] }, "Freckle Face": { "family": "Freckle Face", "variants": [ "regular" ] }, "M PLUS 1 Code": { "family": "M PLUS 1 Code", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Eagle Lake": { "family": "Eagle Lake", "variants": [ "regular" ] }, "Manuale": { "family": "Manuale", "variants": [ "300", "regular", "500", "600", "700", "800", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Peralta": { "family": "Peralta", "variants": [ "regular" ] }, "IM Fell DW Pica SC": { "family": "IM Fell DW Pica SC", "variants": [ "regular" ] }, "BhuTuka Expanded One": { "family": "BhuTuka Expanded One", "variants": [ "regular" ] }, "Baumans": { "family": "Baumans", "variants": [ "regular" ] }, "Jaro": { "family": "Jaro", "variants": [ "regular" ] }, "Rubik Moonrocks": { "family": "Rubik Moonrocks", "variants": [ "regular" ] }, "Borel": { "family": "Borel", "variants": [ "regular" ] }, "Mohave": { "family": "Mohave", "variants": [ "300", "regular", "500", "600", "700", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Alkalami": { "family": "Alkalami", "variants": [ "regular" ] }, "Miniver": { "family": "Miniver", "variants": [ "regular" ] }, "Flow Circular": { "family": "Flow Circular", "variants": [ "regular" ] }, "Trade Winds": { "family": "Trade Winds", "variants": [ "regular" ] }, "Noto Sans Tagalog": { "family": "Noto Sans Tagalog", "variants": [ "regular" ] }, "Crushed": { "family": "Crushed", "variants": [ "regular" ] }, "Montaga": { "family": "Montaga", "variants": [ "regular" ] }, "Noto Sans Gujarati": { "family": "Noto Sans Gujarati", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Cal Sans": { "family": "Cal Sans", "variants": [ "regular" ] }, "Sail": { "family": "Sail", "variants": [ "regular" ] }, "Freeman": { "family": "Freeman", "variants": [ "regular" ] }, "Kdam Thmor Pro": { "family": "Kdam Thmor Pro", "variants": [ "regular" ] }, "Ysabeau Office": { "family": "Ysabeau Office", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Noto Serif Georgian": { "family": "Noto Serif Georgian", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Akronim": { "family": "Akronim", "variants": [ "regular" ] }, "IM Fell French Canon": { "family": "IM Fell French Canon", "variants": [ "regular", "italic" ] }, "Miltonian Tattoo": { "family": "Miltonian Tattoo", "variants": [ "regular" ] }, "Maiden Orange": { "family": "Maiden Orange", "variants": [ "regular" ] }, "Zalando Sans": { "family": "Zalando Sans", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Macondo Swash Caps": { "family": "Macondo Swash Caps", "variants": [ "regular" ] }, "Sulphur Point": { "family": "Sulphur Point", "variants": [ "300", "regular", "700" ] }, "Orienta": { "family": "Orienta", "variants": [ "regular" ] }, "Gayathri": { "family": "Gayathri", "variants": [ "100", "regular", "700" ] }, "Noto Serif Malayalam": { "family": "Noto Serif Malayalam", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Germania One": { "family": "Germania One", "variants": [ "regular" ] }, "Dokdo": { "family": "Dokdo", "variants": [ "regular" ] }, "Timmana": { "family": "Timmana", "variants": [ "regular" ] }, "Frijole": { "family": "Frijole", "variants": [ "regular" ] }, "Fascinate Inline": { "family": "Fascinate Inline", "variants": [ "regular" ] }, "Kavivanar": { "family": "Kavivanar", "variants": [ "regular" ] }, "Yomogi": { "family": "Yomogi", "variants": [ "regular" ] }, "Moon Dance": { "family": "Moon Dance", "variants": [ "regular" ] }, "Homenaje": { "family": "Homenaje", "variants": [ "regular" ] }, "Sour Gummy": { "family": "Sour Gummy", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Abyssinica SIL": { "family": "Abyssinica SIL", "variants": [ "regular" ] }, "Bona Nova": { "family": "Bona Nova", "variants": [ "regular", "italic", "700" ] }, "Song Myung": { "family": "Song Myung", "variants": [ "regular" ] }, "Varta": { "family": "Varta", "variants": [ "300", "regular", "500", "600", "700" ] }, "IM Fell Great Primer": { "family": "IM Fell Great Primer", "variants": [ "regular", "italic" ] }, "East Sea Dokdo": { "family": "East Sea Dokdo", "variants": [ "regular" ] }, "Delius Swash Caps": { "family": "Delius Swash Caps", "variants": [ "regular" ] }, "Zilla Slab Highlight": { "family": "Zilla Slab Highlight", "variants": [ "regular", "700" ] }, "Atomic Age": { "family": "Atomic Age", "variants": [ "regular" ] }, "Medula One": { "family": "Medula One", "variants": [ "regular" ] }, "Barrio": { "family": "Barrio", "variants": [ "regular" ] }, "Akaya Telivigala": { "family": "Akaya Telivigala", "variants": [ "regular" ] }, "Ysabeau SC": { "family": "Ysabeau SC", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Rationale": { "family": "Rationale", "variants": [ "regular" ] }, "BBH Sans Bartle": { "family": "BBH Sans Bartle", "variants": [ "regular" ] }, "Gafata": { "family": "Gafata", "variants": [ "regular" ] }, "Fenix": { "family": "Fenix", "variants": [ "regular" ] }, "Mooli": { "family": "Mooli", "variants": [ "regular" ] }, "Asset": { "family": "Asset", "variants": [ "regular" ] }, "Waterfall": { "family": "Waterfall", "variants": [ "regular" ] }, "Emilys Candy": { "family": "Emilys Candy", "variants": [ "regular" ] }, "Belgrano": { "family": "Belgrano", "variants": [ "regular" ] }, "Unlock": { "family": "Unlock", "variants": [ "regular" ] }, "Alkatra": { "family": "Alkatra", "variants": [ "regular", "500", "600", "700" ] }, "BBH Sans Hegarty": { "family": "BBH Sans Hegarty", "variants": [ "regular" ] }, "Qahiri": { "family": "Qahiri", "variants": [ "regular" ] }, "Katibeh": { "family": "Katibeh", "variants": [ "regular" ] }, "Tiny5": { "family": "Tiny5", "variants": [ "regular" ] }, "Zhi Mang Xing": { "family": "Zhi Mang Xing", "variants": [ "regular" ] }, "Ledger": { "family": "Ledger", "variants": [ "regular" ] }, "IM Fell Great Primer SC": { "family": "IM Fell Great Primer SC", "variants": [ "regular" ] }, "Teachers": { "family": "Teachers", "variants": [ "regular", "500", "600", "700", "800", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Stick": { "family": "Stick", "variants": [ "regular" ] }, "Overlock SC": { "family": "Overlock SC", "variants": [ "regular" ] }, "Tauri": { "family": "Tauri", "variants": [ "regular" ] }, "Genos": { "family": "Genos", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Akaya Kanadaka": { "family": "Akaya Kanadaka", "variants": [ "regular" ] }, "Caesar Dressing": { "family": "Caesar Dressing", "variants": [ "regular" ] }, "Kenia": { "family": "Kenia", "variants": [ "regular" ] }, "Dekko": { "family": "Dekko", "variants": [ "regular" ] }, "BBH Sans Bogle": { "family": "BBH Sans Bogle", "variants": [ "regular" ] }, "Strait": { "family": "Strait", "variants": [ "regular" ] }, "Cherry Swash": { "family": "Cherry Swash", "variants": [ "regular", "700" ] }, "Inclusive Sans": { "family": "Inclusive Sans", "variants": [ "300", "regular", "500", "600", "700", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Castoro Titling": { "family": "Castoro Titling", "variants": [ "regular" ] }, "Doto": { "family": "Doto", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Liu Jian Mao Cao": { "family": "Liu Jian Mao Cao", "variants": [ "regular" ] }, "Nova Slim": { "family": "Nova Slim", "variants": [ "regular" ] }, "Aoboshi One": { "family": "Aoboshi One", "variants": [ "regular" ] }, "IM Fell Double Pica SC": { "family": "IM Fell Double Pica SC", "variants": [ "regular" ] }, "Voces": { "family": "Voces", "variants": [ "regular" ] }, "Lavishly Yours": { "family": "Lavishly Yours", "variants": [ "regular" ] }, "Gupter": { "family": "Gupter", "variants": [ "regular", "500", "700" ] }, "Protest Riot": { "family": "Protest Riot", "variants": [ "regular" ] }, "Birthstone Bounce": { "family": "Birthstone Bounce", "variants": [ "regular", "500" ] }, "Smythe": { "family": "Smythe", "variants": [ "regular" ] }, "Gorditas": { "family": "Gorditas", "variants": [ "regular", "700" ] }, "Protest Strike": { "family": "Protest Strike", "variants": [ "regular" ] }, "Mynerve": { "family": "Mynerve", "variants": [ "regular" ] }, "Rubik Doodle Shadow": { "family": "Rubik Doodle Shadow", "variants": [ "regular" ] }, "Baloo Bhaina 2": { "family": "Baloo Bhaina 2", "variants": [ "regular", "500", "600", "700", "800" ] }, "Denk One": { "family": "Denk One", "variants": [ "regular" ] }, "Sono": { "family": "Sono", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Edu TAS Beginner": { "family": "Edu TAS Beginner", "variants": [ "regular", "500", "600", "700" ] }, "Long Cang": { "family": "Long Cang", "variants": [ "regular" ] }, "Jersey 15": { "family": "Jersey 15", "variants": [ "regular" ] }, "Anta": { "family": "Anta", "variants": [ "regular" ] }, "Karantina": { "family": "Karantina", "variants": [ "300", "regular", "700" ] }, "Stylish": { "family": "Stylish", "variants": [ "regular" ] }, "Imperial Script": { "family": "Imperial Script", "variants": [ "regular" ] }, "Londrina Outline": { "family": "Londrina Outline", "variants": [ "regular" ] }, "Special Gothic Condensed One": { "family": "Special Gothic Condensed One", "variants": [ "regular" ] }, "Astloch": { "family": "Astloch", "variants": [ "regular", "700" ] }, "Ruthie": { "family": "Ruthie", "variants": [ "regular" ] }, "Kulim Park": { "family": "Kulim Park", "variants": [ "200", "200italic", "300", "300italic", "regular", "italic", "600", "600italic", "700", "700italic" ] }, "Nerko One": { "family": "Nerko One", "variants": [ "regular" ] }, "Akatab": { "family": "Akatab", "variants": [ "regular", "500", "600", "700", "800", "900" ] }, "Noto Sans Lao": { "family": "Noto Sans Lao", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Pavanam": { "family": "Pavanam", "variants": [ "regular" ] }, "My Soul": { "family": "My Soul", "variants": [ "regular" ] }, "Poltawski Nowy": { "family": "Poltawski Nowy", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Solitreo": { "family": "Solitreo", "variants": [ "regular" ] }, "Texturina": { "family": "Texturina", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "IM Fell French Canon SC": { "family": "IM Fell French Canon SC", "variants": [ "regular" ] }, "Darumadrop One": { "family": "Darumadrop One", "variants": [ "regular" ] }, "Noto Music": { "family": "Noto Music", "variants": [ "regular" ] }, "Habibi": { "family": "Habibi", "variants": [ "regular" ] }, "Underdog": { "family": "Underdog", "variants": [ "regular" ] }, "Jolly Lodger": { "family": "Jolly Lodger", "variants": [ "regular" ] }, "Dorsa": { "family": "Dorsa", "variants": [ "regular" ] }, "Khmer": { "family": "Khmer", "variants": [ "regular" ] }, "Playwrite US Trad": { "family": "Playwrite US Trad", "variants": [ "100", "200", "300", "regular" ] }, "Sonsie One": { "family": "Sonsie One", "variants": [ "regular" ] }, "Sedgwick Ave Display": { "family": "Sedgwick Ave Display", "variants": [ "regular" ] }, "Nova Cut": { "family": "Nova Cut", "variants": [ "regular" ] }, "Faculty Glyphic": { "family": "Faculty Glyphic", "variants": [ "regular" ] }, "Reddit Mono": { "family": "Reddit Mono", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Chau Philomene One": { "family": "Chau Philomene One", "variants": [ "regular", "italic" ] }, "Redacted": { "family": "Redacted", "variants": [ "regular" ] }, "Nova Script": { "family": "Nova Script", "variants": [ "regular" ] }, "Ranchers": { "family": "Ranchers", "variants": [ "regular" ] }, "Lexend Mega": { "family": "Lexend Mega", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Comforter Brush": { "family": "Comforter Brush", "variants": [ "regular" ] }, "Flamenco": { "family": "Flamenco", "variants": [ "300", "regular" ] }, "Spline Sans Mono": { "family": "Spline Sans Mono", "variants": [ "300", "regular", "500", "600", "700", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Single Day": { "family": "Single Day", "variants": [ "regular" ] }, "Cute Font": { "family": "Cute Font", "variants": [ "regular" ] }, "Stalemate": { "family": "Stalemate", "variants": [ "regular" ] }, "Noto Sans Ethiopic": { "family": "Noto Sans Ethiopic", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Jomolhari": { "family": "Jomolhari", "variants": [ "regular" ] }, "Anek Gujarati": { "family": "Anek Gujarati", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Miltonian": { "family": "Miltonian", "variants": [ "regular" ] }, "Phudu": { "family": "Phudu", "variants": [ "300", "regular", "500", "600", "700", "800", "900" ] }, "Erica One": { "family": "Erica One", "variants": [ "regular" ] }, "Passions Conflict": { "family": "Passions Conflict", "variants": [ "regular" ] }, "Margarine": { "family": "Margarine", "variants": [ "regular" ] }, "Noto Sans Oriya": { "family": "Noto Sans Oriya", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Nova Oval": { "family": "Nova Oval", "variants": [ "regular" ] }, "Chocolate Classical Sans": { "family": "Chocolate Classical Sans", "variants": [ "regular" ] }, "Keania One": { "family": "Keania One", "variants": [ "regular" ] }, "Shalimar": { "family": "Shalimar", "variants": [ "regular" ] }, "Mystery Quest": { "family": "Mystery Quest", "variants": [ "regular" ] }, "Metal": { "family": "Metal", "variants": [ "regular" ] }, "Rum Raisin": { "family": "Rum Raisin", "variants": [ "regular" ] }, "Hubot Sans": { "family": "Hubot Sans", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Piedra": { "family": "Piedra", "variants": [ "regular" ] }, "TikTok Sans": { "family": "TikTok Sans", "variants": [ "300", "regular", "500", "600", "700", "800", "900" ] }, "Jersey 25": { "family": "Jersey 25", "variants": [ "regular" ] }, "Mate SC": { "family": "Mate SC", "variants": [ "regular" ] }, "Tillana": { "family": "Tillana", "variants": [ "regular", "500", "600", "700", "800" ] }, "Noto Serif Kannada": { "family": "Noto Serif Kannada", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Ruwudu": { "family": "Ruwudu", "variants": [ "regular", "500", "600", "700" ] }, "Lumanosimo": { "family": "Lumanosimo", "variants": [ "regular" ] }, "Bitcount Prop Single Ink": { "family": "Bitcount Prop Single Ink", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Jacques Francois Shadow": { "family": "Jacques Francois Shadow", "variants": [ "regular" ] }, "Stint Ultra Condensed": { "family": "Stint Ultra Condensed", "variants": [ "regular" ] }, "Fasthand": { "family": "Fasthand", "variants": [ "regular" ] }, "Noto Sans Symbols 2": { "family": "Noto Sans Symbols 2", "variants": [ "regular" ] }, "Beau Rivage": { "family": "Beau Rivage", "variants": [ "regular" ] }, "Jersey 10": { "family": "Jersey 10", "variants": [ "regular" ] }, "Port Lligat Slab": { "family": "Port Lligat Slab", "variants": [ "regular" ] }, "Island Moments": { "family": "Island Moments", "variants": [ "regular" ] }, "IBM Plex Sans Thai Looped": { "family": "IBM Plex Sans Thai Looped", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Winky Sans": { "family": "Winky Sans", "variants": [ "300", "regular", "500", "600", "700", "800", "900", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Lovers Quarrel": { "family": "Lovers Quarrel", "variants": [ "regular" ] }, "Farsan": { "family": "Farsan", "variants": [ "regular" ] }, "Joan": { "family": "Joan", "variants": [ "regular" ] }, "Carrois Gothic SC": { "family": "Carrois Gothic SC", "variants": [ "regular" ] }, "Tourney": { "family": "Tourney", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Arbutus": { "family": "Arbutus", "variants": [ "regular" ] }, "Grenze": { "family": "Grenze", "variants": [ "100", "100italic", "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Srisakdi": { "family": "Srisakdi", "variants": [ "regular", "700" ] }, "Kapakana": { "family": "Kapakana", "variants": [ "300", "regular" ] }, "BIZ UDMincho": { "family": "BIZ UDMincho", "variants": [ "regular", "700" ] }, "Junge": { "family": "Junge", "variants": [ "regular" ] }, "Sura": { "family": "Sura", "variants": [ "regular", "700" ] }, "Trispace": { "family": "Trispace", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Rubik Scribble": { "family": "Rubik Scribble", "variants": [ "regular" ] }, "Handjet": { "family": "Handjet", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Tilt Prism": { "family": "Tilt Prism", "variants": [ "regular" ] }, "Sree Krushnadevaraya": { "family": "Sree Krushnadevaraya", "variants": [ "regular" ] }, "Suwannaphum": { "family": "Suwannaphum", "variants": [ "100", "300", "regular", "700", "900" ] }, "Gwendolyn": { "family": "Gwendolyn", "variants": [ "regular", "700" ] }, "Content": { "family": "Content", "variants": [ "regular", "700" ] }, "Anek Tamil": { "family": "Anek Tamil", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Engagement": { "family": "Engagement", "variants": [ "regular" ] }, "Climate Crisis": { "family": "Climate Crisis", "variants": [ "regular" ] }, "Ribeye Marrow": { "family": "Ribeye Marrow", "variants": [ "regular" ] }, "Kavoon": { "family": "Kavoon", "variants": [ "regular" ] }, "Sansation": { "family": "Sansation", "variants": [ "300", "300italic", "regular", "italic", "700", "700italic" ] }, "Comforter": { "family": "Comforter", "variants": [ "regular" ] }, "Luxurious Script": { "family": "Luxurious Script", "variants": [ "regular" ] }, "Spirax": { "family": "Spirax", "variants": [ "regular" ] }, "Paprika": { "family": "Paprika", "variants": [ "regular" ] }, "TASA Orbiter": { "family": "TASA Orbiter", "variants": [ "regular", "500", "600", "700", "800" ] }, "Stint Ultra Expanded": { "family": "Stint Ultra Expanded", "variants": [ "regular" ] }, "Victor Mono": { "family": "Victor Mono", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Offside": { "family": "Offside", "variants": [ "regular" ] }, "Anek Kannada": { "family": "Anek Kannada", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Zen Tokyo Zoo": { "family": "Zen Tokyo Zoo", "variants": [ "regular" ] }, "Shippori Antique B1": { "family": "Shippori Antique B1", "variants": [ "regular" ] }, "Almendra SC": { "family": "Almendra SC", "variants": [ "regular" ] }, "Chela One": { "family": "Chela One", "variants": [ "regular" ] }, "Kaisei HarunoUmi": { "family": "Kaisei HarunoUmi", "variants": [ "regular", "500", "700" ] }, "Kite One": { "family": "Kite One", "variants": [ "regular" ] }, "Ewert": { "family": "Ewert", "variants": [ "regular" ] }, "Romanesco": { "family": "Romanesco", "variants": [ "regular" ] }, "Tac One": { "family": "Tac One", "variants": [ "regular" ] }, "Cagliostro": { "family": "Cagliostro", "variants": [ "regular" ] }, "Tiro Devanagari Sanskrit": { "family": "Tiro Devanagari Sanskrit", "variants": [ "regular", "italic" ] }, "Seymour One": { "family": "Seymour One", "variants": [ "regular" ] }, "Bruno Ace": { "family": "Bruno Ace", "variants": [ "regular" ] }, "Baskervville SC": { "family": "Baskervville SC", "variants": [ "regular", "500", "600", "700" ] }, "Simonetta": { "family": "Simonetta", "variants": [ "regular", "italic", "900", "900italic" ] }, "Autour One": { "family": "Autour One", "variants": [ "regular" ] }, "Trykker": { "family": "Trykker", "variants": [ "regular" ] }, "Boldonse": { "family": "Boldonse", "variants": [ "regular" ] }, "Noto Sans Sora Sompeng": { "family": "Noto Sans Sora Sompeng", "variants": [ "regular", "500", "600", "700" ] }, "Noto Sans Canadian Aboriginal": { "family": "Noto Sans Canadian Aboriginal", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Updock": { "family": "Updock", "variants": [ "regular" ] }, "Noto Sans Buhid": { "family": "Noto Sans Buhid", "variants": [ "regular" ] }, "Smooch": { "family": "Smooch", "variants": [ "regular" ] }, "Braah One": { "family": "Braah One", "variants": [ "regular" ] }, "Chilanka": { "family": "Chilanka", "variants": [ "regular" ] }, "Rubik Iso": { "family": "Rubik Iso", "variants": [ "regular" ] }, "Noto Sans Tai Viet": { "family": "Noto Sans Tai Viet", "variants": [ "regular" ] }, "Bungee Tint": { "family": "Bungee Tint", "variants": [ "regular" ] }, "Liter": { "family": "Liter", "variants": [ "regular" ] }, "Edu NSW ACT Cursive": { "family": "Edu NSW ACT Cursive", "variants": [ "regular", "500", "600", "700" ] }, "Londrina Shadow": { "family": "Londrina Shadow", "variants": [ "regular" ] }, "Playwrite DE Grund": { "family": "Playwrite DE Grund", "variants": [ "100", "200", "300", "regular" ] }, "Bonheur Royale": { "family": "Bonheur Royale", "variants": [ "regular" ] }, "Ysabeau": { "family": "Ysabeau", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Milonga": { "family": "Milonga", "variants": [ "regular" ] }, "Girassol": { "family": "Girassol", "variants": [ "regular" ] }, "Stoke": { "family": "Stoke", "variants": [ "300", "regular" ] }, "Lexend Tera": { "family": "Lexend Tera", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Rubik Wet Paint": { "family": "Rubik Wet Paint", "variants": [ "regular" ] }, "Twinkle Star": { "family": "Twinkle Star", "variants": [ "regular" ] }, "Comme": { "family": "Comme", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Devonshire": { "family": "Devonshire", "variants": [ "regular" ] }, "Alan Sans": { "family": "Alan Sans", "variants": [ "300", "regular", "500", "600", "700", "800", "900" ] }, "Ramaraja": { "family": "Ramaraja", "variants": [ "regular" ] }, "New Tegomin": { "family": "New Tegomin", "variants": [ "regular" ] }, "Noto Serif Ahom": { "family": "Noto Serif Ahom", "variants": [ "regular" ] }, "Flow Rounded": { "family": "Flow Rounded", "variants": [ "regular" ] }, "Special Gothic Expanded One": { "family": "Special Gothic Expanded One", "variants": [ "regular" ] }, "Preahvihear": { "family": "Preahvihear", "variants": [ "regular" ] }, "Bruno Ace SC": { "family": "Bruno Ace SC", "variants": [ "regular" ] }, "Federant": { "family": "Federant", "variants": [ "regular" ] }, "Marhey": { "family": "Marhey", "variants": [ "300", "regular", "500", "600", "700" ] }, "Ballet": { "family": "Ballet", "variants": [ "regular" ] }, "Festive": { "family": "Festive", "variants": [ "regular" ] }, "Averia Gruesa Libre": { "family": "Averia Gruesa Libre", "variants": [ "regular" ] }, "Almendra Display": { "family": "Almendra Display", "variants": [ "regular" ] }, "Ruluko": { "family": "Ruluko", "variants": [ "regular" ] }, "Galindo": { "family": "Galindo", "variants": [ "regular" ] }, "Noto Sans Gurmukhi": { "family": "Noto Sans Gurmukhi", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Mea Culpa": { "family": "Mea Culpa", "variants": [ "regular" ] }, "Inika": { "family": "Inika", "variants": [ "regular", "700" ] }, "Water Brush": { "family": "Water Brush", "variants": [ "regular" ] }, "Hubballi": { "family": "Hubballi", "variants": [ "regular" ] }, "Gideon Roman": { "family": "Gideon Roman", "variants": [ "regular" ] }, "Condiment": { "family": "Condiment", "variants": [ "regular" ] }, "Odor Mean Chey": { "family": "Odor Mean Chey", "variants": [ "regular" ] }, "Yaldevi": { "family": "Yaldevi", "variants": [ "200", "300", "regular", "500", "600", "700" ] }, "Smokum": { "family": "Smokum", "variants": [ "regular" ] }, "Linden Hill": { "family": "Linden Hill", "variants": [ "regular", "italic" ] }, "Bodoni Moda SC": { "family": "Bodoni Moda SC", "variants": [ "regular", "500", "600", "700", "800", "900", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Elsie Swash Caps": { "family": "Elsie Swash Caps", "variants": [ "regular", "900" ] }, "Bilbo": { "family": "Bilbo", "variants": [ "regular" ] }, "Glass Antiqua": { "family": "Glass Antiqua", "variants": [ "regular" ] }, "IBM Plex Sans Devanagari": { "family": "IBM Plex Sans Devanagari", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Tulpen One": { "family": "Tulpen One", "variants": [ "regular" ] }, "Bagel Fat One": { "family": "Bagel Fat One", "variants": [ "regular" ] }, "Jacques Francois": { "family": "Jacques Francois", "variants": [ "regular" ] }, "Fleur De Leah": { "family": "Fleur De Leah", "variants": [ "regular" ] }, "Text Me One": { "family": "Text Me One", "variants": [ "regular" ] }, "Risque": { "family": "Risque", "variants": [ "regular" ] }, "Plaster": { "family": "Plaster", "variants": [ "regular" ] }, "Bungee Hairline": { "family": "Bungee Hairline", "variants": [ "regular" ] }, "Meera Inimai": { "family": "Meera Inimai", "variants": [ "regular" ] }, "Ysabeau Infant": { "family": "Ysabeau Infant", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Alumni Sans Pinstripe": { "family": "Alumni Sans Pinstripe", "variants": [ "regular", "italic" ] }, "Ranga": { "family": "Ranga", "variants": [ "regular", "700" ] }, "Koh Santepheap": { "family": "Koh Santepheap", "variants": [ "100", "300", "regular", "700", "900" ] }, "Sahitya": { "family": "Sahitya", "variants": [ "regular", "700" ] }, "Gasoek One": { "family": "Gasoek One", "variants": [ "regular" ] }, "Donegal One": { "family": "Donegal One", "variants": [ "regular" ] }, "Libre Barcode 39 Extended": { "family": "Libre Barcode 39 Extended", "variants": [ "regular" ] }, "Edu AU VIC WA NT Hand": { "family": "Edu AU VIC WA NT Hand", "variants": [ "regular", "500", "600", "700" ] }, "Kotta One": { "family": "Kotta One", "variants": [ "regular" ] }, "Noto Sans Gothic": { "family": "Noto Sans Gothic", "variants": [ "regular" ] }, "Marko One": { "family": "Marko One", "variants": [ "regular" ] }, "Port Lligat Sans": { "family": "Port Lligat Sans", "variants": [ "regular" ] }, "Playwrite IS": { "family": "Playwrite IS", "variants": [ "100", "200", "300", "regular" ] }, "Encode Sans SC": { "family": "Encode Sans SC", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Playwrite AU SA": { "family": "Playwrite AU SA", "variants": [ "100", "200", "300", "regular" ] }, "Bitcount Single Ink": { "family": "Bitcount Single Ink", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Kumar One": { "family": "Kumar One", "variants": [ "regular" ] }, "Yeon Sung": { "family": "Yeon Sung", "variants": [ "regular" ] }, "Noto Sans Anatolian Hieroglyphs": { "family": "Noto Sans Anatolian Hieroglyphs", "variants": [ "regular" ] }, "Noto Serif Lao": { "family": "Noto Serif Lao", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Dai Banna SIL": { "family": "Dai Banna SIL", "variants": [ "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic" ] }, "Lugrasimo": { "family": "Lugrasimo", "variants": [ "regular" ] }, "Siemreap": { "family": "Siemreap", "variants": [ "regular" ] }, "New Amsterdam": { "family": "New Amsterdam", "variants": [ "regular" ] }, "Reem Kufi Ink": { "family": "Reem Kufi Ink", "variants": [ "regular" ] }, "Caramel": { "family": "Caramel", "variants": [ "regular" ] }, "Inspiration": { "family": "Inspiration", "variants": [ "regular" ] }, "Alumni Sans Collegiate One": { "family": "Alumni Sans Collegiate One", "variants": [ "regular", "italic" ] }, "Luxurious Roman": { "family": "Luxurious Roman", "variants": [ "regular" ] }, "Joti One": { "family": "Joti One", "variants": [ "regular" ] }, "Geostar Fill": { "family": "Geostar Fill", "variants": [ "regular" ] }, "Peddana": { "family": "Peddana", "variants": [ "regular" ] }, "Jacquard 12": { "family": "Jacquard 12", "variants": [ "regular" ] }, "Sedan SC": { "family": "Sedan SC", "variants": [ "regular" ] }, "Playwrite CU": { "family": "Playwrite CU", "variants": [ "100", "200", "300", "regular" ] }, "Poor Story": { "family": "Poor Story", "variants": [ "regular" ] }, "Fruktur": { "family": "Fruktur", "variants": [ "regular", "italic" ] }, "Agu Display": { "family": "Agu Display", "variants": [ "regular" ] }, "Lancelot": { "family": "Lancelot", "variants": [ "regular" ] }, "Amiri Quran": { "family": "Amiri Quran", "variants": [ "regular" ] }, "Felipa": { "family": "Felipa", "variants": [ "regular" ] }, "Edu VIC WA NT Beginner": { "family": "Edu VIC WA NT Beginner", "variants": [ "regular", "500", "600", "700" ] }, "Finlandica": { "family": "Finlandica", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Playwrite US Modern": { "family": "Playwrite US Modern", "variants": [ "100", "200", "300", "regular" ] }, "Epunda Sans": { "family": "Epunda Sans", "variants": [ "300", "regular", "500", "600", "700", "800", "900", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Emblema One": { "family": "Emblema One", "variants": [ "regular" ] }, "Noto Serif Tamil": { "family": "Noto Serif Tamil", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Purple Purse": { "family": "Purple Purse", "variants": [ "regular" ] }, "Oi": { "family": "Oi", "variants": [ "regular" ] }, "Jaini": { "family": "Jaini", "variants": [ "regular" ] }, "Grey Qo": { "family": "Grey Qo", "variants": [ "regular" ] }, "Rubik Distressed": { "family": "Rubik Distressed", "variants": [ "regular" ] }, "Buda": { "family": "Buda", "variants": [ "300" ] }, "Montserrat Underline": { "family": "Montserrat Underline", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Uchen": { "family": "Uchen", "variants": [ "regular" ] }, "Mr Bedfort": { "family": "Mr Bedfort", "variants": [ "regular" ] }, "Passero One": { "family": "Passero One", "variants": [ "regular" ] }, "Micro 5": { "family": "Micro 5", "variants": [ "regular" ] }, "Griffy": { "family": "Griffy", "variants": [ "regular" ] }, "Nata Sans": { "family": "Nata Sans", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Anek Gurmukhi": { "family": "Anek Gurmukhi", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Bungee Outline": { "family": "Bungee Outline", "variants": [ "regular" ] }, "Galdeano": { "family": "Galdeano", "variants": [ "regular" ] }, "Monomakh": { "family": "Monomakh", "variants": [ "regular" ] }, "Dr Sugiyama": { "family": "Dr Sugiyama", "variants": [ "regular" ] }, "Snippet": { "family": "Snippet", "variants": [ "regular" ] }, "Tiro Kannada": { "family": "Tiro Kannada", "variants": [ "regular", "italic" ] }, "LXGW WenKai TC": { "family": "LXGW WenKai TC", "variants": [ "300", "regular", "700" ] }, "Bacasime Antique": { "family": "Bacasime Antique", "variants": [ "regular" ] }, "Lakki Reddy": { "family": "Lakki Reddy", "variants": [ "regular" ] }, "Noto Rashi Hebrew": { "family": "Noto Rashi Hebrew", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Edu NSW ACT Foundation": { "family": "Edu NSW ACT Foundation", "variants": [ "regular", "500", "600", "700" ] }, "Love Light": { "family": "Love Light", "variants": [ "regular" ] }, "Noto Sans Carian": { "family": "Noto Sans Carian", "variants": [ "regular" ] }, "Revalia": { "family": "Revalia", "variants": [ "regular" ] }, "Ojuju": { "family": "Ojuju", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Winky Rough": { "family": "Winky Rough", "variants": [ "300", "regular", "500", "600", "700", "800", "900", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "SUSE Mono": { "family": "SUSE Mono", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Kumar One Outline": { "family": "Kumar One Outline", "variants": [ "regular" ] }, "Miss Fajardose": { "family": "Miss Fajardose", "variants": [ "regular" ] }, "Libre Barcode EAN13 Text": { "family": "Libre Barcode EAN13 Text", "variants": [ "regular" ] }, "Noto Serif Armenian": { "family": "Noto Serif Armenian", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Noto Sans Samaritan": { "family": "Noto Sans Samaritan", "variants": [ "regular" ] }, "Bahiana": { "family": "Bahiana", "variants": [ "regular" ] }, "Mozilla Text": { "family": "Mozilla Text", "variants": [ "200", "300", "regular", "500", "600", "700" ] }, "Rubik Vinyl": { "family": "Rubik Vinyl", "variants": [ "regular" ] }, "Praise": { "family": "Praise", "variants": [ "regular" ] }, "Jersey 20": { "family": "Jersey 20", "variants": [ "regular" ] }, "Explora": { "family": "Explora", "variants": [ "regular" ] }, "Wellfleet": { "family": "Wellfleet", "variants": [ "regular" ] }, "Tiro Devanagari Marathi": { "family": "Tiro Devanagari Marathi", "variants": [ "regular", "italic" ] }, "Yuji Boku": { "family": "Yuji Boku", "variants": [ "regular" ] }, "Edu AU VIC WA NT Pre": { "family": "Edu AU VIC WA NT Pre", "variants": [ "regular", "500", "600", "700" ] }, "Anek Odia": { "family": "Anek Odia", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Ancizar Sans": { "family": "Ancizar Sans", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Wittgenstein": { "family": "Wittgenstein", "variants": [ "regular", "500", "600", "700", "800", "900", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Reem Kufi Fun": { "family": "Reem Kufi Fun", "variants": [ "regular", "500", "600", "700" ] }, "Princess Sofia": { "family": "Princess Sofia", "variants": [ "regular" ] }, "National Park": { "family": "National Park", "variants": [ "200", "300", "regular", "500", "600", "700", "800" ] }, "Bitcount Grid Double": { "family": "Bitcount Grid Double", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Playwrite AU NSW": { "family": "Playwrite AU NSW", "variants": [ "100", "200", "300", "regular" ] }, "Butcherman": { "family": "Butcherman", "variants": [ "regular" ] }, "Mozilla Headline": { "family": "Mozilla Headline", "variants": [ "200", "300", "regular", "500", "600", "700" ] }, "Neonderthaw": { "family": "Neonderthaw", "variants": [ "regular" ] }, "Ole": { "family": "Ole", "variants": [ "regular" ] }, "Gidugu": { "family": "Gidugu", "variants": [ "regular" ] }, "Diplomata": { "family": "Diplomata", "variants": [ "regular" ] }, "Arsenal SC": { "family": "Arsenal SC", "variants": [ "regular", "italic", "700", "700italic" ] }, "Ravi Prakash": { "family": "Ravi Prakash", "variants": [ "regular" ] }, "Mrs Sheppards": { "family": "Mrs Sheppards", "variants": [ "regular" ] }, "Asta Sans": { "family": "Asta Sans", "variants": [ "300", "regular", "500", "600", "700", "800" ] }, "Noto Serif Gujarati": { "family": "Noto Serif Gujarati", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Flavors": { "family": "Flavors", "variants": [ "regular" ] }, "Sirin Stencil": { "family": "Sirin Stencil", "variants": [ "regular" ] }, "Rubik Gemstones": { "family": "Rubik Gemstones", "variants": [ "regular" ] }, "Chenla": { "family": "Chenla", "variants": [ "regular" ] }, "Big Shoulders Stencil": { "family": "Big Shoulders Stencil", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Aref Ruqaa Ink": { "family": "Aref Ruqaa Ink", "variants": [ "regular", "700" ] }, "Babylonica": { "family": "Babylonica", "variants": [ "regular" ] }, "Diplomata SC": { "family": "Diplomata SC", "variants": [ "regular" ] }, "Blaka": { "family": "Blaka", "variants": [ "regular" ] }, "Londrina Sketch": { "family": "Londrina Sketch", "variants": [ "regular" ] }, "Ponomar": { "family": "Ponomar", "variants": [ "regular" ] }, "Hanalei Fill": { "family": "Hanalei Fill", "variants": [ "regular" ] }, "Stalinist One": { "family": "Stalinist One", "variants": [ "regular" ] }, "Cactus Classical Serif": { "family": "Cactus Classical Serif", "variants": [ "regular" ] }, "Trochut": { "family": "Trochut", "variants": [ "regular", "italic", "700" ] }, "Playwrite DE SAS": { "family": "Playwrite DE SAS", "variants": [ "100", "200", "300", "regular" ] }, "Bigelow Rules": { "family": "Bigelow Rules", "variants": [ "regular" ] }, "Playwrite AU QLD": { "family": "Playwrite AU QLD", "variants": [ "100", "200", "300", "regular" ] }, "Jim Nightshade": { "family": "Jim Nightshade", "variants": [ "regular" ] }, "Bonbon": { "family": "Bonbon", "variants": [ "regular" ] }, "Kirang Haerang": { "family": "Kirang Haerang", "variants": [ "regular" ] }, "Tsukimi Rounded": { "family": "Tsukimi Rounded", "variants": [ "300", "regular", "500", "600", "700" ] }, "Grechen Fuemen": { "family": "Grechen Fuemen", "variants": [ "regular" ] }, "Playwrite PL": { "family": "Playwrite PL", "variants": [ "100", "200", "300", "regular" ] }, "Lunasima": { "family": "Lunasima", "variants": [ "regular", "700" ] }, "Konkhmer Sleokchher": { "family": "Konkhmer Sleokchher", "variants": [ "regular" ] }, "Ruge Boogie": { "family": "Ruge Boogie", "variants": [ "regular" ] }, "Noto Sans Nandinagari": { "family": "Noto Sans Nandinagari", "variants": [ "regular" ] }, "Diphylleia": { "family": "Diphylleia", "variants": [ "regular" ] }, "Molle": { "family": "Molle", "variants": [ "italic" ] }, "Playwrite IN": { "family": "Playwrite IN", "variants": [ "100", "200", "300", "regular" ] }, "Dhurjati": { "family": "Dhurjati", "variants": [ "regular" ] }, "Noto Sans Osmanya": { "family": "Noto Sans Osmanya", "variants": [ "regular" ] }, "Langar": { "family": "Langar", "variants": [ "regular" ] }, "Playwrite DE Grund Guides": { "family": "Playwrite DE Grund Guides", "variants": [ "regular" ] }, "GFS Neohellenic": { "family": "GFS Neohellenic", "variants": [ "regular", "italic", "700", "700italic" ] }, "Vibes": { "family": "Vibes", "variants": [ "regular" ] }, "Atkinson Hyperlegible Mono": { "family": "Atkinson Hyperlegible Mono", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic" ] }, "Manufacturing Consent": { "family": "Manufacturing Consent", "variants": [ "regular" ] }, "Edu AU VIC WA NT Dots": { "family": "Edu AU VIC WA NT Dots", "variants": [ "regular", "500", "600", "700" ] }, "Hedvig Letters Sans": { "family": "Hedvig Letters Sans", "variants": [ "regular" ] }, "Tiro Telugu": { "family": "Tiro Telugu", "variants": [ "regular", "italic" ] }, "Playwrite HR": { "family": "Playwrite HR", "variants": [ "100", "200", "300", "regular" ] }, "Butterfly Kids": { "family": "Butterfly Kids", "variants": [ "regular" ] }, "Moderustic": { "family": "Moderustic", "variants": [ "300", "regular", "500", "600", "700", "800" ] }, "Noto Serif Khmer": { "family": "Noto Serif Khmer", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Foldit": { "family": "Foldit", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Rubik Glitch Pop": { "family": "Rubik Glitch Pop", "variants": [ "regular" ] }, "Noto Serif Balinese": { "family": "Noto Serif Balinese", "variants": [ "regular" ] }, "Oldenburg": { "family": "Oldenburg", "variants": [ "regular" ] }, "Noto Serif Sinhala": { "family": "Noto Serif Sinhala", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "BioRhyme Expanded": { "family": "BioRhyme Expanded", "variants": [ "200", "300", "regular", "700", "800" ] }, "Beiruti": { "family": "Beiruti", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Orbit": { "family": "Orbit", "variants": [ "regular" ] }, "Aubrey": { "family": "Aubrey", "variants": [ "regular" ] }, "Noto Sans Javanese": { "family": "Noto Sans Javanese", "variants": [ "regular", "500", "600", "700" ] }, "Noto Sans Coptic": { "family": "Noto Sans Coptic", "variants": [ "regular" ] }, "Flow Block": { "family": "Flow Block", "variants": [ "regular" ] }, "Noto Sans Syloti Nagri": { "family": "Noto Sans Syloti Nagri", "variants": [ "regular" ] }, "Tagesschrift": { "family": "Tagesschrift", "variants": [ "regular" ] }, "Noto Serif Tibetan": { "family": "Noto Serif Tibetan", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Tiro Tamil": { "family": "Tiro Tamil", "variants": [ "regular", "italic" ] }, "Big Shoulders Inline": { "family": "Big Shoulders Inline", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Palette Mosaic": { "family": "Palette Mosaic", "variants": [ "regular" ] }, "Sedan": { "family": "Sedan", "variants": [ "regular", "italic" ] }, "Send Flowers": { "family": "Send Flowers", "variants": [ "regular" ] }, "Sassy Frass": { "family": "Sassy Frass", "variants": [ "regular" ] }, "Rubik Beastly": { "family": "Rubik Beastly", "variants": [ "regular" ] }, "Alumni Sans Inline One": { "family": "Alumni Sans Inline One", "variants": [ "regular", "italic" ] }, "Playwrite VN Guides": { "family": "Playwrite VN Guides", "variants": [ "regular" ] }, "Tai Heritage Pro": { "family": "Tai Heritage Pro", "variants": [ "regular", "700" ] }, "Sirivennela": { "family": "Sirivennela", "variants": [ "regular" ] }, "Ancizar Serif": { "family": "Ancizar Serif", "variants": [ "300", "regular", "500", "600", "700", "800", "900", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Nuosu SIL": { "family": "Nuosu SIL", "variants": [ "regular" ] }, "Cascadia Code": { "family": "Cascadia Code", "variants": [ "200", "300", "regular", "500", "600", "700", "200italic", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Combo": { "family": "Combo", "variants": [ "regular" ] }, "Noto Serif Vithkuqi": { "family": "Noto Serif Vithkuqi", "variants": [ "regular", "500", "600", "700" ] }, "Sixtyfour": { "family": "Sixtyfour", "variants": [ "regular" ] }, "Taprom": { "family": "Taprom", "variants": [ "regular" ] }, "Protest Guerrilla": { "family": "Protest Guerrilla", "variants": [ "regular" ] }, "LXGW WenKai Mono TC": { "family": "LXGW WenKai Mono TC", "variants": [ "300", "regular", "700" ] }, "Labrada": { "family": "Labrada", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "M PLUS Code Latin": { "family": "M PLUS Code Latin", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Redacted Script": { "family": "Redacted Script", "variants": [ "300", "regular", "700" ] }, "Rubik Spray Paint": { "family": "Rubik Spray Paint", "variants": [ "regular" ] }, "Noto Sans Cypro Minoan": { "family": "Noto Sans Cypro Minoan", "variants": [ "regular" ] }, "Jacquard 24": { "family": "Jacquard 24", "variants": [ "regular" ] }, "Cascadia Mono": { "family": "Cascadia Mono", "variants": [ "200", "300", "regular", "500", "600", "700", "200italic", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Playpen Sans Arabic": { "family": "Playpen Sans Arabic", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Kalnia Glaze": { "family": "Kalnia Glaze", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Playwrite GB S": { "family": "Playwrite GB S", "variants": [ "100", "200", "300", "regular", "100italic", "200italic", "300italic", "italic" ] }, "Special Gothic": { "family": "Special Gothic", "variants": [ "regular", "500", "600", "700" ] }, "Nabla": { "family": "Nabla", "variants": [ "regular" ] }, "Libertinus Sans": { "family": "Libertinus Sans", "variants": [ "regular", "italic", "700" ] }, "Noto Sans Linear A": { "family": "Noto Sans Linear A", "variants": [ "regular" ] }, "Kings": { "family": "Kings", "variants": [ "regular" ] }, "Ubuntu Sans Mono": { "family": "Ubuntu Sans Mono", "variants": [ "regular", "500", "600", "700", "italic", "500italic", "600italic", "700italic" ] }, "Danfo": { "family": "Danfo", "variants": [ "regular" ] }, "Rubik Puddles": { "family": "Rubik Puddles", "variants": [ "regular" ] }, "TASA Explorer": { "family": "TASA Explorer", "variants": [ "regular", "500", "600", "700", "800" ] }, "Matemasie": { "family": "Matemasie", "variants": [ "regular" ] }, "Geostar": { "family": "Geostar", "variants": [ "regular" ] }, "Noto Sans Gunjala Gondi": { "family": "Noto Sans Gunjala Gondi", "variants": [ "regular", "500", "600", "700" ] }, "Cossette Titre": { "family": "Cossette Titre", "variants": [ "regular", "700" ] }, "Suravaram": { "family": "Suravaram", "variants": [ "regular" ] }, "Mingzat": { "family": "Mingzat", "variants": [ "regular" ] }, "Matangi": { "family": "Matangi", "variants": [ "300", "regular", "500", "600", "700", "800", "900" ] }, "Chiron GoRound TC": { "family": "Chiron GoRound TC", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Grandiflora One": { "family": "Grandiflora One", "variants": [ "regular" ] }, "Huninn": { "family": "Huninn", "variants": [ "regular" ] }, "Noto Serif Tangut": { "family": "Noto Serif Tangut", "variants": [ "regular" ] }, "Libertinus Serif": { "family": "Libertinus Serif", "variants": [ "regular", "italic", "600", "600italic", "700", "700italic" ] }, "Splash": { "family": "Splash", "variants": [ "regular" ] }, "Bahianita": { "family": "Bahianita", "variants": [ "regular" ] }, "Rubik Burned": { "family": "Rubik Burned", "variants": [ "regular" ] }, "Snowburst One": { "family": "Snowburst One", "variants": [ "regular" ] }, "WDXL Lubrifont TC": { "family": "WDXL Lubrifont TC", "variants": [ "regular" ] }, "Black And White Picture": { "family": "Black And White Picture", "variants": [ "regular" ] }, "Rock 3D": { "family": "Rock 3D", "variants": [ "regular" ] }, "Zen Loop": { "family": "Zen Loop", "variants": [ "regular", "italic" ] }, "Story Script": { "family": "Story Script", "variants": [ "regular" ] }, "Kolker Brush": { "family": "Kolker Brush", "variants": [ "regular" ] }, "Zalando Sans Expanded": { "family": "Zalando Sans Expanded", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Annapurna SIL": { "family": "Annapurna SIL", "variants": [ "regular", "700" ] }, "Gidole": { "family": "Gidole", "variants": [ "regular" ] }, "Noto Traditional Nushu": { "family": "Noto Traditional Nushu", "variants": [ "300", "regular", "500", "600", "700" ] }, "Noto Sans Hanunoo": { "family": "Noto Sans Hanunoo", "variants": [ "regular" ] }, "Tapestry": { "family": "Tapestry", "variants": [ "regular" ] }, "Cherish": { "family": "Cherish", "variants": [ "regular" ] }, "Iansui": { "family": "Iansui", "variants": [ "regular" ] }, "Noto Sans Batak": { "family": "Noto Sans Batak", "variants": [ "regular" ] }, "Sixtyfour Convergence": { "family": "Sixtyfour Convergence", "variants": [ "regular" ] }, "Bitcount": { "family": "Bitcount", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Workbench": { "family": "Workbench", "variants": [ "regular" ] }, "Rubik Microbe": { "family": "Rubik Microbe", "variants": [ "regular" ] }, "Noto Sans Duployan": { "family": "Noto Sans Duployan", "variants": [ "regular", "700" ] }, "Libertinus Serif Display": { "family": "Libertinus Serif Display", "variants": [ "regular" ] }, "Edu QLD Beginner": { "family": "Edu QLD Beginner", "variants": [ "regular", "500", "600", "700" ] }, "Slackside One": { "family": "Slackside One", "variants": [ "regular" ] }, "Playwrite IT Moderna": { "family": "Playwrite IT Moderna", "variants": [ "100", "200", "300", "regular" ] }, "Shizuru": { "family": "Shizuru", "variants": [ "regular" ] }, "Moo Lah Lah": { "family": "Moo Lah Lah", "variants": [ "regular" ] }, "WDXL Lubrifont JP N": { "family": "WDXL Lubrifont JP N", "variants": [ "regular" ] }, "Epunda Slab": { "family": "Epunda Slab", "variants": [ "300", "regular", "500", "600", "700", "800", "900", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Moulpali": { "family": "Moulpali", "variants": [ "regular" ] }, "Noto Serif Ethiopic": { "family": "Noto Serif Ethiopic", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Noto Sans Marchen": { "family": "Noto Sans Marchen", "variants": [ "regular" ] }, "Petemoss": { "family": "Petemoss", "variants": [ "regular" ] }, "Noto Sans Tangsa": { "family": "Noto Sans Tangsa", "variants": [ "regular", "500", "600", "700" ] }, "Noto Sans Adlam": { "family": "Noto Sans Adlam", "variants": [ "regular", "500", "600", "700" ] }, "Rubik 80s Fade": { "family": "Rubik 80s Fade", "variants": [ "regular" ] }, "Chiron Hei HK": { "family": "Chiron Hei HK", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Noto Sans Takri": { "family": "Noto Sans Takri", "variants": [ "regular" ] }, "Hanalei": { "family": "Hanalei", "variants": [ "regular" ] }, "Tiro Gurmukhi": { "family": "Tiro Gurmukhi", "variants": [ "regular", "italic" ] }, "Estonia": { "family": "Estonia", "variants": [ "regular" ] }, "Playwrite DK Loopet": { "family": "Playwrite DK Loopet", "variants": [ "100", "200", "300", "regular" ] }, "Libertinus Mono": { "family": "Libertinus Mono", "variants": [ "regular" ] }, "Are You Serious": { "family": "Are You Serious", "variants": [ "regular" ] }, "Rubik Marker Hatch": { "family": "Rubik Marker Hatch", "variants": [ "regular" ] }, "Playwrite MX Guides": { "family": "Playwrite MX Guides", "variants": [ "regular" ] }, "Noto Sans Mongolian": { "family": "Noto Sans Mongolian", "variants": [ "regular" ] }, "Playwrite BE VLG": { "family": "Playwrite BE VLG", "variants": [ "100", "200", "300", "regular" ] }, "Alumni Sans SC": { "family": "Alumni Sans SC", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900", "100italic", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Triodion": { "family": "Triodion", "variants": [ "regular" ] }, "Playwrite HR Lijeva": { "family": "Playwrite HR Lijeva", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Newa": { "family": "Noto Sans Newa", "variants": [ "regular" ] }, "Noto Sans Old Hungarian": { "family": "Noto Sans Old Hungarian", "variants": [ "regular" ] }, "UoqMunThenKhung": { "family": "UoqMunThenKhung", "variants": [ "regular" ] }, "Noto Sans Yi": { "family": "Noto Sans Yi", "variants": [ "regular" ] }, "Libertinus Keyboard": { "family": "Libertinus Keyboard", "variants": [ "regular" ] }, "Moirai One": { "family": "Moirai One", "variants": [ "regular" ] }, "Playwrite AU TAS": { "family": "Playwrite AU TAS", "variants": [ "100", "200", "300", "regular" ] }, "Jacquarda Bastarda 9": { "family": "Jacquarda Bastarda 9", "variants": [ "regular" ] }, "Playwrite ZA": { "family": "Playwrite ZA", "variants": [ "100", "200", "300", "regular" ] }, "Playwrite NL": { "family": "Playwrite NL", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Cherokee": { "family": "Noto Sans Cherokee", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Linefont": { "family": "Linefont", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Rubik Doodle Triangles": { "family": "Rubik Doodle Triangles", "variants": [ "regular" ] }, "Parastoo": { "family": "Parastoo", "variants": [ "regular", "500", "600", "700" ] }, "Namdhinggo": { "family": "Namdhinggo", "variants": [ "regular", "500", "600", "700", "800" ] }, "Menbere": { "family": "Menbere", "variants": [ "100", "200", "300", "regular", "500", "600", "700" ] }, "Bitcount Prop Double Ink": { "family": "Bitcount Prop Double Ink", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Playwrite AR": { "family": "Playwrite AR", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Avestan": { "family": "Noto Sans Avestan", "variants": [ "regular" ] }, "Noto Serif Yezidi": { "family": "Noto Serif Yezidi", "variants": [ "regular", "500", "600", "700" ] }, "Asimovian": { "family": "Asimovian", "variants": [ "regular" ] }, "Puppies Play": { "family": "Puppies Play", "variants": [ "regular" ] }, "Ingrid Darling": { "family": "Ingrid Darling", "variants": [ "regular" ] }, "Syne Tactile": { "family": "Syne Tactile", "variants": [ "regular" ] }, "Playwrite MX": { "family": "Playwrite MX", "variants": [ "100", "200", "300", "regular" ] }, "Bitcount Grid Single Ink": { "family": "Bitcount Grid Single Ink", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Edu SA Hand": { "family": "Edu SA Hand", "variants": [ "regular", "500", "600", "700" ] }, "Zalando Sans SemiExpanded": { "family": "Zalando Sans SemiExpanded", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Gajraj One": { "family": "Gajraj One", "variants": [ "regular" ] }, "Vend Sans": { "family": "Vend Sans", "variants": [ "300", "regular", "500", "600", "700", "300italic", "italic", "500italic", "600italic", "700italic" ] }, "Noto Sans Old Italic": { "family": "Noto Sans Old Italic", "variants": [ "regular" ] }, "Noto Serif Myanmar": { "family": "Noto Serif Myanmar", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Bitcount Grid Double Ink": { "family": "Bitcount Grid Double Ink", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Playwrite BE WAL": { "family": "Playwrite BE WAL", "variants": [ "100", "200", "300", "regular" ] }, "Rubik Pixels": { "family": "Rubik Pixels", "variants": [ "regular" ] }, "Rubik Maps": { "family": "Rubik Maps", "variants": [ "regular" ] }, "Playwrite FR Moderne": { "family": "Playwrite FR Moderne", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Thaana": { "family": "Noto Sans Thaana", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Bitcount Ink": { "family": "Bitcount Ink", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Lisu Bosa": { "family": "Lisu Bosa", "variants": [ "200", "200italic", "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic" ] }, "Libertinus Math": { "family": "Libertinus Math", "variants": [ "regular" ] }, "Noto Sans Balinese": { "family": "Noto Sans Balinese", "variants": [ "regular", "500", "600", "700" ] }, "Tirra": { "family": "Tirra", "variants": [ "regular", "500", "600", "700", "800", "900" ] }, "Hind Mysuru": { "family": "Hind Mysuru", "variants": [ "300", "regular", "500", "600", "700" ] }, "Playpen Sans Thai": { "family": "Playpen Sans Thai", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Intel One Mono": { "family": "Intel One Mono", "variants": [ "300", "300italic", "regular", "italic", "500", "500italic", "600", "600italic", "700", "700italic" ] }, "Kay Pho Du": { "family": "Kay Pho Du", "variants": [ "regular", "500", "600", "700" ] }, "Yuji Hentaigana Akari": { "family": "Yuji Hentaigana Akari", "variants": [ "regular" ] }, "Noto Sans NKo Unjoined": { "family": "Noto Sans NKo Unjoined", "variants": [ "regular", "500", "600", "700" ] }, "Warnes": { "family": "Warnes", "variants": [ "regular" ] }, "Noto Serif Toto": { "family": "Noto Serif Toto", "variants": [ "regular", "500", "600", "700" ] }, "Noto Sans Nag Mundari": { "family": "Noto Sans Nag Mundari", "variants": [ "regular", "500", "600", "700" ] }, "Noto Sans Syriac Eastern": { "family": "Noto Sans Syriac Eastern", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Noto Sans Shavian": { "family": "Noto Sans Shavian", "variants": [ "regular" ] }, "Wavefont": { "family": "Wavefont", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Chokokutai": { "family": "Chokokutai", "variants": [ "regular" ] }, "Jaini Purva": { "family": "Jaini Purva", "variants": [ "regular" ] }, "Playwrite CA": { "family": "Playwrite CA", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Tifinagh": { "family": "Noto Sans Tifinagh", "variants": [ "regular" ] }, "Noto Sans Glagolitic": { "family": "Noto Sans Glagolitic", "variants": [ "regular" ] }, "Noto Sans Indic Siyaq Numbers": { "family": "Noto Sans Indic Siyaq Numbers", "variants": [ "regular" ] }, "Noto Serif NP Hmong": { "family": "Noto Serif NP Hmong", "variants": [ "regular", "500", "600", "700" ] }, "Savate": { "family": "Savate", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Tuffy": { "family": "Tuffy", "variants": [ "regular", "italic", "700", "700italic" ] }, "Noto Serif Khitan Small Script": { "family": "Noto Serif Khitan Small Script", "variants": [ "regular" ] }, "Playpen Sans Deva": { "family": "Playpen Sans Deva", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Coral Pixels": { "family": "Coral Pixels", "variants": [ "regular" ] }, "Blaka Hollow": { "family": "Blaka Hollow", "variants": [ "regular" ] }, "Noto Serif Old Uyghur": { "family": "Noto Serif Old Uyghur", "variants": [ "regular" ] }, "Playwrite VN": { "family": "Playwrite VN", "variants": [ "100", "200", "300", "regular" ] }, "Playpen Sans Hebrew": { "family": "Playpen Sans Hebrew", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800" ] }, "Rubik Broken Fax": { "family": "Rubik Broken Fax", "variants": [ "regular" ] }, "Noto Sans Adlam Unjoined": { "family": "Noto Sans Adlam Unjoined", "variants": [ "regular", "500", "600", "700" ] }, "Exile": { "family": "Exile", "variants": [ "regular" ] }, "Noto Sans Multani": { "family": "Noto Sans Multani", "variants": [ "regular" ] }, "Noto Sans Miao": { "family": "Noto Sans Miao", "variants": [ "regular" ] }, "Edu AU VIC WA NT Guides": { "family": "Edu AU VIC WA NT Guides", "variants": [ "regular", "500", "600", "700" ] }, "Chiron Sung HK": { "family": "Chiron Sung HK", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900", "200italic", "300italic", "italic", "500italic", "600italic", "700italic", "800italic", "900italic" ] }, "Noto Znamenny Musical Notation": { "family": "Noto Znamenny Musical Notation", "variants": [ "regular" ] }, "Bytesized": { "family": "Bytesized", "variants": [ "regular" ] }, "Blaka Ink": { "family": "Blaka Ink", "variants": [ "regular" ] }, "Shafarik": { "family": "Shafarik", "variants": [ "regular" ] }, "Playwrite ES": { "family": "Playwrite ES", "variants": [ "100", "200", "300", "regular" ] }, "Noto Serif Dogra": { "family": "Noto Serif Dogra", "variants": [ "regular" ] }, "Noto Sans Khojki": { "family": "Noto Sans Khojki", "variants": [ "regular" ] }, "Phetsarath": { "family": "Phetsarath", "variants": [ "regular", "700" ] }, "Karla Tamil Upright": { "family": "Karla Tamil Upright", "variants": [ "regular", "700" ] }, "Noto Sans PhagsPa": { "family": "Noto Sans PhagsPa", "variants": [ "regular" ] }, "Noto Serif Hentaigana": { "family": "Noto Serif Hentaigana", "variants": [ "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Jersey 20 Charted": { "family": "Jersey 20 Charted", "variants": [ "regular" ] }, "Noto Sans Sundanese": { "family": "Noto Sans Sundanese", "variants": [ "regular", "500", "600", "700" ] }, "WDXL Lubrifont SC": { "family": "WDXL Lubrifont SC", "variants": [ "regular" ] }, "Jacquard 12 Charted": { "family": "Jacquard 12 Charted", "variants": [ "regular" ] }, "Playwrite NG Modern": { "family": "Playwrite NG Modern", "variants": [ "100", "200", "300", "regular" ] }, "Playwrite RO": { "family": "Playwrite RO", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Inscriptional Pahlavi": { "family": "Noto Sans Inscriptional Pahlavi", "variants": [ "regular" ] }, "Rubik Storm": { "family": "Rubik Storm", "variants": [ "regular" ] }, "Edu QLD Hand": { "family": "Edu QLD Hand", "variants": [ "regular", "500", "600", "700" ] }, "Padyakke Expanded One": { "family": "Padyakke Expanded One", "variants": [ "regular" ] }, "Noto Serif Oriya": { "family": "Noto Serif Oriya", "variants": [ "regular", "500", "600", "700" ] }, "Playwrite PT": { "family": "Playwrite PT", "variants": [ "100", "200", "300", "regular" ] }, "Maname": { "family": "Maname", "variants": [ "regular" ] }, "Edu NSW ACT Hand Pre": { "family": "Edu NSW ACT Hand Pre", "variants": [ "regular", "500", "600", "700" ] }, "Playwrite CL": { "family": "Playwrite CL", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Tai Le": { "family": "Noto Sans Tai Le", "variants": [ "regular" ] }, "Noto Serif Gurmukhi": { "family": "Noto Serif Gurmukhi", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "LXGW Marker Gothic": { "family": "LXGW Marker Gothic", "variants": [ "regular" ] }, "Playwrite GB J": { "family": "Playwrite GB J", "variants": [ "100", "200", "300", "regular", "100italic", "200italic", "300italic", "italic" ] }, "Edu AU VIC WA NT Arrows": { "family": "Edu AU VIC WA NT Arrows", "variants": [ "regular", "500", "600", "700" ] }, "Rubik Maze": { "family": "Rubik Maze", "variants": [ "regular" ] }, "Noto Sans Egyptian Hieroglyphs": { "family": "Noto Sans Egyptian Hieroglyphs", "variants": [ "regular" ] }, "Noto Sans Bamum": { "family": "Noto Sans Bamum", "variants": [ "regular", "500", "600", "700" ] }, "Edu VIC WA NT Hand": { "family": "Edu VIC WA NT Hand", "variants": [ "regular", "500", "600", "700" ] }, "Playwrite CO": { "family": "Playwrite CO", "variants": [ "100", "200", "300", "regular" ] }, "Badeen Display": { "family": "Badeen Display", "variants": [ "regular" ] }, "Noto Serif Ottoman Siyaq": { "family": "Noto Serif Ottoman Siyaq", "variants": [ "regular" ] }, "Playwrite NZ": { "family": "Playwrite NZ", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Old Persian": { "family": "Noto Sans Old Persian", "variants": [ "regular" ] }, "Noto Sans Tai Tham": { "family": "Noto Sans Tai Tham", "variants": [ "regular", "500", "600", "700" ] }, "Noto Sans NKo": { "family": "Noto Sans NKo", "variants": [ "regular" ] }, "Noto Serif Grantha": { "family": "Noto Serif Grantha", "variants": [ "regular" ] }, "Playwrite DE LA": { "family": "Playwrite DE LA", "variants": [ "100", "200", "300", "regular" ] }, "Edu VIC WA NT Hand Pre": { "family": "Edu VIC WA NT Hand Pre", "variants": [ "regular", "500", "600", "700" ] }, "Noto Sans Medefaidrin": { "family": "Noto Sans Medefaidrin", "variants": [ "regular", "500", "600", "700" ] }, "Bitcount Grid Single": { "family": "Bitcount Grid Single", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Noto Sans Old Permic": { "family": "Noto Sans Old Permic", "variants": [ "regular" ] }, "Noto Sans Sharada": { "family": "Noto Sans Sharada", "variants": [ "regular" ] }, "Noto Sans Tagbanwa": { "family": "Noto Sans Tagbanwa", "variants": [ "regular" ] }, "Noto Sans Elbasan": { "family": "Noto Sans Elbasan", "variants": [ "regular" ] }, "Narnoor": { "family": "Narnoor", "variants": [ "regular", "500", "600", "700", "800" ] }, "Playwrite DK Uloopet": { "family": "Playwrite DK Uloopet", "variants": [ "100", "200", "300", "regular" ] }, "Cossette Texte": { "family": "Cossette Texte", "variants": [ "regular", "700" ] }, "Noto Sans Ol Chiki": { "family": "Noto Sans Ol Chiki", "variants": [ "regular", "500", "600", "700" ] }, "Noto Sans Inscriptional Parthian": { "family": "Noto Sans Inscriptional Parthian", "variants": [ "regular" ] }, "Noto Sans Vithkuqi": { "family": "Noto Sans Vithkuqi", "variants": [ "regular", "500", "600", "700" ] }, "Rubik Lines": { "family": "Rubik Lines", "variants": [ "regular" ] }, "Playwrite ES Deco": { "family": "Playwrite ES Deco", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Mandaic": { "family": "Noto Sans Mandaic", "variants": [ "regular" ] }, "Playwrite CO Guides": { "family": "Playwrite CO Guides", "variants": [ "regular" ] }, "Playwrite PE": { "family": "Playwrite PE", "variants": [ "100", "200", "300", "regular" ] }, "Sankofa Display": { "family": "Sankofa Display", "variants": [ "regular" ] }, "Pochaevsk": { "family": "Pochaevsk", "variants": [ "regular" ] }, "Noto Sans Imperial Aramaic": { "family": "Noto Sans Imperial Aramaic", "variants": [ "regular" ] }, "Noto Sans Lisu": { "family": "Noto Sans Lisu", "variants": [ "regular", "500", "600", "700" ] }, "Bitcount Single": { "family": "Bitcount Single", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Noto Sans Bhaiksuki": { "family": "Noto Sans Bhaiksuki", "variants": [ "regular" ] }, "Noto Sans Vai": { "family": "Noto Sans Vai", "variants": [ "regular" ] }, "Noto Sans Old Turkic": { "family": "Noto Sans Old Turkic", "variants": [ "regular" ] }, "Playwrite AU VIC": { "family": "Playwrite AU VIC", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Palmyrene": { "family": "Noto Sans Palmyrene", "variants": [ "regular" ] }, "Noto Sans Mahajani": { "family": "Noto Sans Mahajani", "variants": [ "regular" ] }, "Noto Sans Sogdian": { "family": "Noto Sans Sogdian", "variants": [ "regular" ] }, "Playwrite AT": { "family": "Playwrite AT", "variants": [ "100", "200", "300", "regular", "100italic", "200italic", "300italic", "italic" ] }, "Noto Sans Cham": { "family": "Noto Sans Cham", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Jacquard 24 Charted": { "family": "Jacquard 24 Charted", "variants": [ "regular" ] }, "Noto Sans Mro": { "family": "Noto Sans Mro", "variants": [ "regular" ] }, "Playwrite CZ": { "family": "Playwrite CZ", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Old North Arabian": { "family": "Noto Sans Old North Arabian", "variants": [ "regular" ] }, "Playwrite NO": { "family": "Playwrite NO", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Khudawadi": { "family": "Noto Sans Khudawadi", "variants": [ "regular" ] }, "Noto Sans SignWriting": { "family": "Noto Sans SignWriting", "variants": [ "regular" ] }, "Noto Sans Pahawh Hmong": { "family": "Noto Sans Pahawh Hmong", "variants": [ "regular" ] }, "Playwrite IE": { "family": "Playwrite IE", "variants": [ "100", "200", "300", "regular" ] }, "Noto Serif Todhri": { "family": "Noto Serif Todhri", "variants": [ "regular" ] }, "Kanchenjunga": { "family": "Kanchenjunga", "variants": [ "regular", "500", "600", "700" ] }, "Noto Sans Chakma": { "family": "Noto Sans Chakma", "variants": [ "regular" ] }, "Noto Serif Dives Akuru": { "family": "Noto Serif Dives Akuru", "variants": [ "regular" ] }, "Noto Sans Buginese": { "family": "Noto Sans Buginese", "variants": [ "regular" ] }, "Jersey 15 Charted": { "family": "Jersey 15 Charted", "variants": [ "regular" ] }, "Noto Sans Rejang": { "family": "Noto Sans Rejang", "variants": [ "regular" ] }, "Playwrite DE VA": { "family": "Playwrite DE VA", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Mayan Numerals": { "family": "Noto Sans Mayan Numerals", "variants": [ "regular" ] }, "Playwrite ID": { "family": "Playwrite ID", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Elymaic": { "family": "Noto Sans Elymaic", "variants": [ "regular" ] }, "Noto Sans Brahmi": { "family": "Noto Sans Brahmi", "variants": [ "regular" ] }, "Noto Sans Osage": { "family": "Noto Sans Osage", "variants": [ "regular" ] }, "Noto Sans Cuneiform": { "family": "Noto Sans Cuneiform", "variants": [ "regular" ] }, "Noto Sans Wancho": { "family": "Noto Sans Wancho", "variants": [ "regular" ] }, "Noto Sans Cypriot": { "family": "Noto Sans Cypriot", "variants": [ "regular" ] }, "Noto Sans Grantha": { "family": "Noto Sans Grantha", "variants": [ "regular" ] }, "Noto Sans Hatran": { "family": "Noto Sans Hatran", "variants": [ "regular" ] }, "Karla Tamil Inclined": { "family": "Karla Tamil Inclined", "variants": [ "regular", "700" ] }, "Noto Sans Zanabazar Square": { "family": "Noto Sans Zanabazar Square", "variants": [ "regular" ] }, "Ponnala": { "family": "Ponnala", "variants": [ "regular" ] }, "Noto Sans Runic": { "family": "Noto Sans Runic", "variants": [ "regular" ] }, "Jersey 10 Charted": { "family": "Jersey 10 Charted", "variants": [ "regular" ] }, "Noto Sans Sunuwar": { "family": "Noto Sans Sunuwar", "variants": [ "regular" ] }, "Micro 5 Charted": { "family": "Micro 5 Charted", "variants": [ "regular" ] }, "Noto Sans Old South Arabian": { "family": "Noto Sans Old South Arabian", "variants": [ "regular" ] }, "Noto Sans Bassa Vah": { "family": "Noto Sans Bassa Vah", "variants": [ "regular", "500", "600", "700" ] }, "Noto Sans Deseret": { "family": "Noto Sans Deseret", "variants": [ "regular" ] }, "Playwrite FR Trad": { "family": "Playwrite FR Trad", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Syriac": { "family": "Noto Sans Syriac", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Noto Sans Psalter Pahlavi": { "family": "Noto Sans Psalter Pahlavi", "variants": [ "regular" ] }, "Noto Serif Makasar": { "family": "Noto Serif Makasar", "variants": [ "regular" ] }, "Noto Sans New Tai Lue": { "family": "Noto Sans New Tai Lue", "variants": [ "regular", "500", "600", "700" ] }, "Noto Sans Lydian": { "family": "Noto Sans Lydian", "variants": [ "regular" ] }, "Noto Sans Kawi": { "family": "Noto Sans Kawi", "variants": [ "regular", "500", "600", "700" ] }, "Noto Sans Limbu": { "family": "Noto Sans Limbu", "variants": [ "regular" ] }, "Bitcount Prop Single": { "family": "Bitcount Prop Single", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Bitcount Prop Double": { "family": "Bitcount Prop Double", "variants": [ "100", "200", "300", "regular", "500", "600", "700", "800", "900" ] }, "Jersey 25 Charted": { "family": "Jersey 25 Charted", "variants": [ "regular" ] }, "Playwrite SK": { "family": "Playwrite SK", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Phoenician": { "family": "Noto Sans Phoenician", "variants": [ "regular" ] }, "Yuji Hentaigana Akebono": { "family": "Yuji Hentaigana Akebono", "variants": [ "regular" ] }, "Noto Sans Old Sogdian": { "family": "Noto Sans Old Sogdian", "variants": [ "regular" ] }, "Noto Sans Nabataean": { "family": "Noto Sans Nabataean", "variants": [ "regular" ] }, "Noto Sans Ugaritic": { "family": "Noto Sans Ugaritic", "variants": [ "regular" ] }, "Playwrite PL Guides": { "family": "Playwrite PL Guides", "variants": [ "regular" ] }, "Playwrite TZ": { "family": "Playwrite TZ", "variants": [ "100", "200", "300", "regular" ] }, "Playwrite PT Guides": { "family": "Playwrite PT Guides", "variants": [ "regular" ] }, "Noto Sans Kaithi": { "family": "Noto Sans Kaithi", "variants": [ "regular" ] }, "Playwrite PE Guides": { "family": "Playwrite PE Guides", "variants": [ "regular" ] }, "Playwrite IT Trad": { "family": "Playwrite IT Trad", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Lepcha": { "family": "Noto Sans Lepcha", "variants": [ "regular" ] }, "Playwrite BR": { "family": "Playwrite BR", "variants": [ "100", "200", "300", "regular" ] }, "Noto Sans Caucasian Albanian": { "family": "Noto Sans Caucasian Albanian", "variants": [ "regular" ] }, "Noto Sans Hanifi Rohingya": { "family": "Noto Sans Hanifi Rohingya", "variants": [ "regular", "500", "600", "700" ] }, "Noto Sans Tirhuta": { "family": "Noto Sans Tirhuta", "variants": [ "regular" ] }, "Noto Sans Saurashtra": { "family": "Noto Sans Saurashtra", "variants": [ "regular" ] }, "Noto Sans Tamil Supplement": { "family": "Noto Sans Tamil Supplement", "variants": [ "regular" ] }, "Jacquarda Bastarda 9 Charted": { "family": "Jacquarda Bastarda 9 Charted", "variants": [ "regular" ] }, "Playwrite TZ Guides": { "family": "Playwrite TZ Guides", "variants": [ "regular" ] }, "Playwrite GB J Guides": { "family": "Playwrite GB J Guides", "variants": [ "regular", "italic" ] }, "Noto Sans Soyombo": { "family": "Noto Sans Soyombo", "variants": [ "regular" ] }, "Playwrite IE Guides": { "family": "Playwrite IE Guides", "variants": [ "regular" ] }, "Noto Sans Modi": { "family": "Noto Sans Modi", "variants": [ "regular" ] }, "Noto Sans Nushu": { "family": "Noto Sans Nushu", "variants": [ "regular" ] }, "Noto Sans Pau Cin Hau": { "family": "Noto Sans Pau Cin Hau", "variants": [ "regular" ] }, "Noto Sans Manichaean": { "family": "Noto Sans Manichaean", "variants": [ "regular" ] }, "Noto Sans Ogham": { "family": "Noto Sans Ogham", "variants": [ "regular" ] }, "Noto Sans Kayah Li": { "family": "Noto Sans Kayah Li", "variants": [ "regular", "500", "600", "700" ] }, "Noto Sans Chorasmian": { "family": "Noto Sans Chorasmian", "variants": [ "regular" ] }, "Noto Sans Siddham": { "family": "Noto Sans Siddham", "variants": [ "regular" ] }, "Noto Sans Meroitic": { "family": "Noto Sans Meroitic", "variants": [ "regular" ] }, "Noto Sans Masaram Gondi": { "family": "Noto Sans Masaram Gondi", "variants": [ "regular" ] }, "Yarndings 12": { "family": "Yarndings 12", "variants": [ "regular" ] }, "Noto Sans Kharoshthi": { "family": "Noto Sans Kharoshthi", "variants": [ "regular" ] }, "Noto Sans Mende Kikakui": { "family": "Noto Sans Mende Kikakui", "variants": [ "regular" ] }, "Playwrite AU VIC Guides": { "family": "Playwrite AU VIC Guides", "variants": [ "regular" ] }, "Playwrite ES Deco Guides": { "family": "Playwrite ES Deco Guides", "variants": [ "regular" ] }, "Playwrite BE WAL Guides": { "family": "Playwrite BE WAL Guides", "variants": [ "regular" ] }, "Playwrite NL Guides": { "family": "Playwrite NL Guides", "variants": [ "regular" ] }, "Noto Sans Lycian": { "family": "Noto Sans Lycian", "variants": [ "regular" ] }, "Yarndings 20": { "family": "Yarndings 20", "variants": [ "regular" ] }, "Yarndings 12 Charted": { "family": "Yarndings 12 Charted", "variants": [ "regular" ] }, "Playwrite DE VA Guides": { "family": "Playwrite DE VA Guides", "variants": [ "regular" ] }, "Playwrite FR Moderne Guides": { "family": "Playwrite FR Moderne Guides", "variants": [ "regular" ] }, "Playwrite FR Trad Guides": { "family": "Playwrite FR Trad Guides", "variants": [ "regular" ] }, "Playwrite IT Trad Guides": { "family": "Playwrite IT Trad Guides", "variants": [ "regular" ] }, "Playwrite IT Moderna Guides": { "family": "Playwrite IT Moderna Guides", "variants": [ "regular" ] }, "Playwrite BR Guides": { "family": "Playwrite BR Guides", "variants": [ "regular" ] }, "Playwrite US Modern Guides": { "family": "Playwrite US Modern Guides", "variants": [ "regular" ] }, "Playwrite US Trad Guides": { "family": "Playwrite US Trad Guides", "variants": [ "regular" ] }, "Playwrite IN Guides": { "family": "Playwrite IN Guides", "variants": [ "regular" ] }, "Playwrite NZ Guides": { "family": "Playwrite NZ Guides", "variants": [ "regular" ] }, "Playwrite CL Guides": { "family": "Playwrite CL Guides", "variants": [ "regular" ] }, "Playwrite CU Guides": { "family": "Playwrite CU Guides", "variants": [ "regular" ] }, "Playwrite DE LA Guides": { "family": "Playwrite DE LA Guides", "variants": [ "regular" ] }, "Playwrite AU QLD Guides": { "family": "Playwrite AU QLD Guides", "variants": [ "regular" ] }, "Playwrite GB S Guides": { "family": "Playwrite GB S Guides", "variants": [ "regular", "italic" ] }, "Playwrite HR Guides": { "family": "Playwrite HR Guides", "variants": [ "regular" ] }, "Playwrite HU Guides": { "family": "Playwrite HU Guides", "variants": [ "regular" ] }, "Playwrite ID Guides": { "family": "Playwrite ID Guides", "variants": [ "regular" ] }, "Playwrite ZA Guides": { "family": "Playwrite ZA Guides", "variants": [ "regular" ] }, "Playwrite AU NSW Guides": { "family": "Playwrite AU NSW Guides", "variants": [ "regular" ] }, "Playwrite RO Guides": { "family": "Playwrite RO Guides", "variants": [ "regular" ] }, "Yarndings 20 Charted": { "family": "Yarndings 20 Charted", "variants": [ "regular" ] }, "Playwrite DK Loopet Guides": { "family": "Playwrite DK Loopet Guides", "variants": [ "regular" ] }, "Playwrite ES Guides": { "family": "Playwrite ES Guides", "variants": [ "regular" ] }, "Playwrite HR Lijeva Guides": { "family": "Playwrite HR Lijeva Guides", "variants": [ "regular" ] }, "Playwrite DK Uloopet Guides": { "family": "Playwrite DK Uloopet Guides", "variants": [ "regular" ] }, "Playwrite NG Modern Guides": { "family": "Playwrite NG Modern Guides", "variants": [ "regular" ] }, "Playwrite AU SA Guides": { "family": "Playwrite AU SA Guides", "variants": [ "regular" ] }, "Playwrite DE SAS Guides": { "family": "Playwrite DE SAS Guides", "variants": [ "regular" ] }, "Playwrite AU TAS Guides": { "family": "Playwrite AU TAS Guides", "variants": [ "regular" ] }, "Playwrite IS Guides": { "family": "Playwrite IS Guides", "variants": [ "regular" ] }, "Playwrite AT Guides": { "family": "Playwrite AT Guides", "variants": [ "regular", "italic" ] }, "Playwrite SK Guides": { "family": "Playwrite SK Guides", "variants": [ "regular" ] }, "Playwrite CA Guides": { "family": "Playwrite CA Guides", "variants": [ "regular" ] }, "Playwrite CZ Guides": { "family": "Playwrite CZ Guides", "variants": [ "regular" ] }, "Playwrite AR Guides": { "family": "Playwrite AR Guides", "variants": [ "regular" ] }, "Playwrite BE VLG Guides": { "family": "Playwrite BE VLG Guides", "variants": [ "regular" ] }, "Playwrite NO Guides": { "family": "Playwrite NO Guides", "variants": [ "regular" ] } } includes/entry--plugin-init.php 0000644 00000001121 15174671772 0012552 0 ustar 00 <?php /** * Function loader - Plugin Initialization * - only laoded when plugin is initialized. * * File loader guidelines: * * This file is loaded and will handle the loading of other function files. * - Newer files will be namespaced under PopupMaker\ namespace. * - Older functions will be prefixed as well as: * - Deprecated & moved to the -deprecated directory, merged fewer files. * - Legacy functions will be moved to -legacy directory. * * @since 1.21.0 * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ defined( 'ABSPATH' ) || exit; includes/legacy/class-pum-fields.php 0000644 00000070251 15174671772 0013525 0 ustar 00 <?php /** * Fields * * @package PUM * @subpackage Classes/PUM_Fields * @copyright Copyright (c) 2023, Code Atlantic LLC * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License * @since 1.4 */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * PUM_Fields Class */ class PUM_Fields extends Popmake_Fields { // region Non Fields /** * Hook Callback * * Renders the heading. * * @param array $args Arguments passed by the setting * * @return void */ public function hook_callback( $args ) { do_action( $args['hook'], $args ); } /** * Heading Callback * * Renders the heading. * * @param array $args Arguments passed by the setting * * @return void */ public function heading_callback( $args ) { ?> </td></tr></tbody></table> <h2 class="pum-setting-heading"><?php echo esc_html( $args['desc'] ); ?></h2> <hr/> <table class="form-table"><tbody><tr style="display:none;"><td colspan="2"> <?php } // endregion Non Fields // region Standard Fields /** * Button Callback * * Renders buttons. * * @param array $args Arguments passed by the setting * * @return void */ public function button_callback( $args ) { $this->field_before( $args ); ?> <button type="<?php echo esc_attr( $args['button_type'] ); ?>" class="pum-button-<?php echo esc_attr( $args['size'] ); ?>" id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>"><?php echo esc_html( $args['label'] ); ?></button> <?php $this->field_description( $args ); $this->field_after(); } /** * Text Callback * * Renders text fields. * * @param array $args Arguments passed by the setting * * @param string $value */ public function text_callback( $args, $value = null ) { if ( 'text' !== $args['type'] ) { $args['class'] .= ' pum-field-text'; } $this->field_before( $args ); if ( ! $value ) { $value = isset( $args['std'] ) ? $args['std'] : ''; } $this->field_label( $args ); ?> <input type="<?php echo esc_attr( $args['type'] ); ?>" placeholder="<?php echo esc_attr( $args['placeholder'] ); ?>" class="<?php echo esc_attr( $args['size'] ); ?>-text" id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>" value="<?php echo esc_attr( stripslashes( $value ) ); ?>" <?php if ( $args['required'] ) { echo 'required'; } ?> /> <?php $this->field_description( $args ); $this->field_after(); } /** * Textarea Callback * * Renders textarea fields. * * @param array $args Arguments passed by the setting * * @param string $value */ public function textarea_callback( $args, $value = null ) { $this->field_before( $args ); if ( ! $value ) { $value = isset( $args['std'] ) ? $args['std'] : ''; } $this->field_label( $args ); ?> <textarea placeholder="<?php echo esc_attr( $args['placeholder'] ); ?>" class="<?php echo esc_attr( $args['size'] ); ?>-text" id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>" cols="<?php echo esc_attr( $args['cols'] ); ?>" rows="<?php echo esc_attr( $args['rows'] ); ?>" <?php if ( $args['required'] ) { echo 'required'; } ?> ><?php echo esc_textarea( stripslashes( $value ) ); ?></textarea> <?php $this->field_description( $args ); $this->field_after(); } /** * Hidden Callback * * Renders hidden fields. * * @param array $args Arguments passed by the setting * * @param $value */ public function hidden_callback( $args, $value = null ) { $class = $this->field_classes( $args ); if ( ! $value ) { $value = isset( $args['std'] ) ? $args['std'] : ''; } ?> <input type="hidden" class="<?php echo esc_attr( $class ); ?>" id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>" value="<?php echo esc_attr( stripslashes( $value ) ); ?>"/> <?php } /** * Select Callback * * Renders select fields. * * @param array $args Arguments passed by the setting * * @param $value */ public function select_callback( $args, $value = null ) { if ( isset( $args['select2'] ) ) { $args['class'] .= ' pum-field-select2'; } if ( ! $value ) { $value = isset( $args['std'] ) ? $args['std'] : ''; } $multiple = null; if ( $args['multiple'] ) { $multiple = 'multiple'; $args['class'] .= ' pum-field-select--multiple'; $args['name'] .= $args['as_array'] ? '[]' : ''; $value = ! is_array( $value ) ? [ $value ] : $value; } $this->field_before( $args ); $this->field_label( $args ); ?> <select id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>" data-placeholder="<?php echo esc_attr( $args['placeholder'] ); ?>" data-allow-clear="true" <?php echo esc_attr( $multiple ); ?> <?php if ( $args['required'] ) { echo 'required'; } ?> > <?php if ( ! empty( $args['options'] ) ) { foreach ( $args['options'] as $label => $option ) { $selected = ( ! $multiple && $option === $value ) || ( $multiple && in_array( $option, $value, true ) ); ?> <option value="<?php echo esc_attr( $option ); ?>" <?php selected( 1, $selected ); ?>><?php echo esc_html( $label ); ?></option> <?php } } ?> </select> <?php $this->field_description( $args ); $this->field_after(); } /** * Checkbox Callback * * Renders checkboxes. * * @param array $args Arguments passed by the setting * * @param $value */ public function checkbox_callback( $args, $value ) { $this->field_before( $args ); $this->field_label( $args ); ?> <input type="checkbox" id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>" value="<?php echo esc_attr( $args['checkbox_val'] ); ?>" <?php checked( 1, $value ); ?> /> <?php $this->field_description( $args ); $this->field_after(); } /** * Multicheck Callback * * Renders multiple checkboxes. * * @param array $args Arguments passed by the setting * * @param array $values */ public function multicheck_callback( $args, $values = [] ) { $this->field_before( $args ); $this->field_label( $args ); if ( ! empty( $args['options'] ) ) { foreach ( $args['options'] as $key => $option ) { if ( ! is_array( $option ) ) { $option = [ 'label' => $option, ]; } $option = wp_parse_args( $option, [ 'label' => '', 'required' => false, 'disabled' => false, ] ); $checked = isset( $values[ $key ] ); ?> <input name="<?php echo esc_attr( $args['name'] ); ?>[<?php echo esc_attr( $key ); ?>]" id="<?php echo esc_attr( $args['id'] . '_' . $key ); ?>" type="checkbox" value="<?php echo esc_html( $option ); ?>" <?php checked( true, $checked ); ?> <?php if ( $option['disabled'] ) { echo 'disabled="disabled"'; } ?> <?php if ( $option['required'] ) { echo 'required'; } ?> /> <label for="<?php echo esc_attr( $args['id'] . '_' . $key ); ?>"><?php echo esc_html( $option['label'] ); ?></label><br/> <?php } } $this->field_description( $args ); $this->field_after(); } // endregion Standard Fields // region HTML5 Text Fields /** * Password Callback * * Renders password fields. * * @param array $args Arguments passed by the setting * * @param string $value */ public function password_callback( $args, $value = null ) { $args['type'] = 'password'; $this->text_callback( $args, $value ); } /** * Email Callback * * Renders email fields. * * @param array $args Arguments passed by the setting * * @param string $value */ public function email_callback( $args, $value = null ) { $args['type'] = 'email'; $this->text_callback( $args, $value ); } /** * Search Callback * * Renders search fields. * * @param array $args Arguments passed by the setting * * @param string $value */ public function search_callback( $args, $value = null ) { $args['type'] = 'search'; $this->text_callback( $args, $value ); } /** * URL Callback * * Renders url fields. * * @param array $args Arguments passed by the setting * * @param string $value */ public function url_callback( $args, $value = null ) { $args['type'] = 'url'; $this->text_callback( $args, $value ); } /** * Telephone Callback * * Renders telelphone number fields. * * @param array $args Arguments passed by the setting * * @param string $value */ public function tel_callback( $args, $value = null ) { $args['type'] = 'tel'; $this->text_callback( $args, $value ); } /** * Number Callback * * Renders number fields. * * @param array $args Arguments passed by the setting * * @param string $value */ public function number_callback( $args, $value = null ) { $args['type'] = 'number'; $this->text_callback( $args, $value ); } /** * Range Callback * * Renders range fields. * * @param array $args Arguments passed by the setting * * @param string $value */ public function range_callback( $args, $value = null ) { $args['type'] = 'range'; $this->text_callback( $args, $value ); } // endregion HTML5 Text Fields // region Custom Fields (post_type, taxonomy, object, rangeslider) /** * Object Select Callback * * Renders select fields. * * @param array $args Arguments passed by the setting * * @param null $value */ public function objectselect_callback( $args, $value = null ) { if ( 'objectselect' !== $args['type'] ) { $args['class'] .= ' pum-field-objectselect'; } $args['class'] .= ' pum-field-select pum-field-select2'; if ( ! $value ) { $value = isset( $args['std'] ) ? $args['std'] : ''; } $multiple = null; if ( $args['multiple'] ) { $multiple = 'multiple'; $args['class'] .= ' pum-field-select--multiple'; $args['name'] .= $args['as_array'] ? '[]' : ''; $value = ! is_array( $value ) ? [ $value ] : $value; $value = wp_parse_id_list( $value ); } $this->field_before( $args ); $this->field_label( $args ); ?> <select id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>" data-placeholder="<?php echo esc_attr( $args['placeholder'] ); ?>" data-allow-clear="true" <?php echo esc_attr( $multiple ); ?> data-objecttype="<?php echo esc_attr( $args['object_type'] ); ?>" data-objectkey="<?php echo esc_attr( $args['object_key'] ); ?>" data-current=" <?php // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo PUM_Utils_Array::maybe_json_attr( $value, true ); ?> " <?php if ( $args['required'] ) { echo 'required'; } ?> > <?php if ( ! empty( $args['options'] ) ) { foreach ( $args['options'] as $label => $option ) { $selected = ( $multiple && in_array( $option, $value, true ) ) || ( ! $multiple && $option === $value ); ?> <option value="<?php echo esc_attr( $option ); ?>" <?php selected( 1, $selected ); ?>><?php echo esc_html( $label ); ?></option> <?php } } ?> </select> <?php $this->field_description( $args ); $this->field_after(); } /** * Taxonomy Select Callback * * Renders select fields. * * @param array $args Arguments passed by the setting * * @param $value */ public function taxonomyselect_callback( $args, $value ) { $args['object_type'] = 'taxonomy'; $args['object_key'] = $args['taxonomy']; $args['class'] = ! empty( $args['class'] ) ? $args['class'] : ' pum-taxonomyselect'; $this->objectselect_callback( $args, $value ); } /** * Select Callback * * Renders select fields. * * @param array $args Arguments passed by the setting * * @param $value */ public function postselect_callback( $args, $value = null ) { $args['object_type'] = 'post_type'; $args['object_key'] = $args['post_type']; $args['class'] = ! empty( $args['class'] ) ? $args['class'] : ' pum-postselect'; $this->objectselect_callback( $args, $value ); } /** * Rangeslider Callback * * Renders the rangeslider. * * @param array $args Arguments passed by the setting * * @param $value */ public function rangeslider_callback( $args, $value = null ) { $this->field_before( $args ); if ( ! $value ) { $value = isset( $args['std'] ) ? $args['std'] : ''; } $this->field_label( $args ); ?> <input type="text" value="<?php echo esc_attr( $value ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>" id="<?php echo esc_attr( $args['id'] ); ?>" class="pum-range-manual popmake-range-manual" step="<?php echo esc_attr( $args['step'] ); ?>" min="<?php echo esc_attr( $args['min'] ); ?>" max="<?php echo esc_attr( $args['max'] ); ?>" <?php if ( $args['required'] ) { echo 'required'; } ?> data-force-minmax="<?php echo esc_attr( $args['force_minmax'] ); ?>" /> <span class="range-value-unit regular-text"><?php echo esc_html( $args['unit'] ); ?></span> <?php $this->field_description( $args ); $this->field_after(); } // endregion Custom Fields (post_type, taxonomy, object, rangeslider) // region Templ Non Fields /** * Renders the heading. */ public function heading_templ_callback( $args ) { $this->heading_callback( $args ); } // endregion Non Fields /** * Renders the text field. */ public function text_templ_callback( $args ) { if ( 'text' !== $args['type'] ) { $args['class'] .= ' pum-field-text'; } $this->field_before( $args ); $this->field_label( $args ); ?> <input type="<?php echo esc_attr( $args['type'] ); ?>" placeholder="<?php echo esc_attr( $args['placeholder'] ); ?>" class="<?php echo esc_attr( $args['size'] ); ?>-text" id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>" value="{{data.<?php echo esc_attr( $args['templ_name'] ); ?>}}" /> <?php $this->field_description( $args ); $this->field_after(); } /** * Password Callback * * Renders password fields. * * @param array $args Arguments passed by the setting */ public function password_templ_callback( $args ) { $args['type'] = 'password'; $this->text_templ_callback( $args ); } /** * Email Callback * * Renders email fields. * * @param array $args Arguments passed by the setting * * @return void */ public function email_templ_callback( $args ) { $args['type'] = 'email'; $this->text_templ_callback( $args ); } /** * Search Callback * * Renders search fields. * * @param array $args Arguments passed by the setting * * @return void */ public function search_templ_callback( $args ) { $args['type'] = 'search'; $this->text_templ_callback( $args ); } /** * URL Callback * * Renders url fields. * * @param array $args Arguments passed by the setting * * @return void */ public function url_templ_callback( $args ) { $args['type'] = 'url'; $this->text_templ_callback( $args ); } /** * Telephone Callback * * Renders telelphone number fields. * * @param array $args Arguments passed by the setting * * @return void */ public function tel_templ_callback( $args ) { $args['type'] = 'tel'; $this->text_templ_callback( $args ); } /** * Number Callback * * Renders number fields. * * @param array $args Arguments passed by the setting * * @return void */ public function number_templ_callback( $args ) { $args['type'] = 'number'; $this->text_templ_callback( $args ); } /** * Range Callback * * Renders range fields. * * @param array $args Arguments passed by the setting * * @return void */ public function range_templ_callback( $args ) { $args['type'] = 'range'; $this->text_templ_callback( $args ); } /** * Hidden Callback * * Renders hidden fields. * * @param array $args Arguments passed by the setting */ public function hidden_templ_callback( $args ) { $class = $this->field_classes( $args ); ?> <input type="hidden" class="<?php echo esc_attr( $class ); ?>" id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>" value="{{data.<?php echo esc_attr( $args['templ_name'] ); ?>}}"/> <?php } public function select_templ_callback( $args ) { if ( $args['select2'] ) { $args['class'] .= ' pum-field-select2'; } $multiple = null; if ( $args['multiple'] ) { $multiple = 'multiple'; $args['class'] .= ' pum-field-select--multiple'; $args['name'] .= $args['as_array'] ? '[]' : ''; } $this->field_before( $args ); $this->field_label( $args ); ?> <select id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>" data-placeholder="<?php echo esc_attr( $args['placeholder'] ); ?>" data-allow-clear="true" <?php echo esc_attr( $multiple ); ?>> <?php if ( ! empty( $args['options'] ) ) { foreach ( $args['options'] as $label => $option ) { ?> <option value="<?php echo esc_attr( $option ); ?>" {{pumSelected(data.<?php echo esc_attr( $args['templ_name'] ); ?>, '<?php echo esc_attr( $option ); ?>', true)}}> <?php echo esc_html( $label ); ?> </option> <?php } } ?> </select> <?php $this->field_description( $args ); $this->field_after(); } /** * Posttype Select Callback * * Renders select fields. * * @param array $args Arguments passed by the setting */ public function postselect_templ_callback( $args ) { $args['object_type'] = 'post_type'; $args['object_key'] = $args['post_type']; $args['class'] .= ' pum-postselect'; $this->objectselect_templ_callback( $args ); } public function objectselect_templ_callback( $args ) { if ( 'objectselect' !== $args['type'] ) { $args['class'] .= ' pum-field-objectselect'; } $args['class'] .= ' pum-field-select pum-field-select2'; $multiple = null; if ( $args['multiple'] ) { $multiple = 'multiple'; $args['class'] .= ' pum-field-select--multiple'; $args['name'] .= $args['as_array'] ? '[]' : ''; } $this->field_before( $args ); $this->field_label( $args ); ?> <# var templ_name = '<?php echo esc_attr( $args['templ_name'] ); ?>'; #> <# if (typeof data[templ_name] === 'undefined') { data[templ_name] = ''; } #> <select id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>" data-placeholder="<?php echo esc_attr( $args['placeholder'] ); ?>" data-allow-clear="true" <?php echo esc_attr( $multiple ); ?> data-objecttype="<?php echo esc_attr( $args['object_type'] ); ?>" data-objectkey="<?php echo esc_attr( $args['object_key'] ); ?>"> <?php if ( ! empty( $args['options'] ) ) { foreach ( $args['options'] as $label => $option ) { ?> <option value="<?php echo esc_attr( $option ); ?>" {{pumSelected(data[templ_name], '<?php echo esc_attr( $option ); ?>', true)}}> <?php echo esc_html( $label ); ?> </option> <?php } } ?> </select> <?php $this->field_description( $args ); $this->field_after(); } /** * Select Callback * * Renders select fields. * * @param array $args Arguments passed by the setting */ public function taxonomyselect_templ_callback( $args ) { $args['object_type'] = 'taxonomy'; $args['object_key'] = $args['taxonomy']; $args['class'] .= ' pum-field-taxonomyselect'; $this->objectselect_templ_callback( $args ); } public function checkbox_templ_callback( $args ) { $this->field_before( $args ); $this->field_label( $args ); ?> <# var checked = data.<?php echo esc_attr( $args['templ_name'] ); ?> !== undefined && data.<?php echo esc_attr( $args['templ_name'] ); ?> ? true : false; #> <input type="checkbox" id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>" value="<?php echo esc_attr( $args['checkbox_val'] ); ?>" {{pumChecked(checked, true, true)}} /> <?php $this->field_description( $args ); $this->field_after(); } public function multicheck_templ_callback( $args ) { $this->field_before( $args ); $this->field_label( $args ); $this->field_description( $args ); ?> <# var checked = data.<?php echo esc_attr( $args['templ_name'] ); ?> !== undefined && data.<?php echo esc_attr( $args['templ_name'] ); ?> && typeof data.<?php echo esc_attr( $args['templ_name'] ); ?> === 'object' ? data.<?php echo esc_attr( $args['templ_name'] ); ?> : {}; #> <?php if ( ! empty( $args['options'] ) ) { foreach ( $args['options'] as $option => $label ) { ?> <# if (checked.<?php echo esc_attr( $option ); ?> === undefined) { checked.<?php echo esc_attr( $option ); ?> = false; } #> <input name="<?php echo esc_attr( $args['name'] ); ?>[<?php echo esc_attr( $option ); ?>]" id="<?php echo esc_attr( $args['id'] ); ?>_<?php echo esc_attr( $option ); ?>" type="checkbox" value="<?php echo esc_attr( $option ); ?>" {{pumChecked(checked.<?php echo esc_attr( $option ); ?>, '<?php echo esc_attr( $option ); ?>', true)}} /> <label for="<?php echo esc_attr( $args['id'] ); ?>_<?php echo esc_attr( $option ); ?>"><?php echo esc_html( $label ); ?></label><br/> <?php } } $this->field_after(); } public function rangeslider_templ_callback( $args ) { $value = '{{data.' . $args['templ_name'] . '}}'; $this->rangeslider_callback( $args, $value ); } public function postselect_sanitize( $value = [], $args = [] ) { return $this->objectselect_sanitize( $value, $args ); } public function objectselect_sanitize( $value = [], $args = [] ) { return wp_parse_id_list( $value ); } public function taxonomyselect_sanitize( $value = [], $args = [] ) { return $this->objectselect_sanitize( $value, $args ); } public function customselect_sanitize( $value = [], $args = [] ) { // Don't use wp_parse_id_list for custom entities - preserve string IDs. if ( ! is_array( $value ) ) { $value = [ $value ]; } // Filter out empty values and sanitize each value as text. $sanitized = array_filter( array_map( 'sanitize_text_field', $value ) ); // Return single value if not multiple, array otherwise. if ( ! empty( $args['multiple'] ) ) { return array_values( $sanitized ); } return ! empty( $sanitized ) ? reset( $sanitized ) : ''; } /** * TODO: Finish adding the following field types for HTML & underscore.js */ /* * Radio Callback * * Renders radio boxes. * * @param array $args Arguments passed by the setting * * @return void * * public function radio_callback( $args, $value ) { * if ( ! empty( $args['options'] ) ) { * * foreach ( $args['options'] as $key => $option ) { * $checked = false; * * $value = $this->get_option( $args['id'] ); * * if ( $value == $key || ( ! $value && isset( $args['std'] ) && $args['std'] == $key ) ) { * $checked = true; * } * * echo '<input name="<?php echo esc_attr( $args['name'] ); ?>"" id="<?php echo esc_attr( $args['id'] ); ?>[<?php echo esc_attr( $key ); ?>]" type="radio" value="<?php echo esc_attr( $key ); ?>" ' . checked( true, $checked, false ) . '/> '; * echo '<label for="<?php echo esc_attr( $args['id'] ); ?>[<?php echo esc_attr( $key ); ?>]">' . $option . '</label><br/>'; * } * * echo '<p class="pum-desc">' . $args['desc'] . '</p>'; * * } * } * * * * * * * * /** * Color select Callback * * Renders color select fields. * * @param array $args Arguments passed by the setting * * @return void * * public function color_select_callback( $args ) { * * $value = $this->get_option( $args['id'] ); * * if ( ! $value ) { * $value = isset( $args['std'] ) ? $args['std'] : ''; * } * * $html = '<select id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>"/>'; * * if ( ! empty( $args['options'] ) ) { * foreach ( $args['options'] as $option => $color ) { * $selected = selected( $option, $value, false ); * $html .= '<option value="' . $option . '" ' . $selected . '>' . $color['label'] . '</option>'; * } * } * * $html .= '</select>'; * $html .= '<label for="<?php echo esc_attr( $args['id'] ); ?>"> ' . $args['desc'] . '</label>'; * * echo $html; * } * * /** * Rich Editor Callback * * Renders rich editor fields. * * @param array $args Arguments passed by the setting * * @global $wp_version WordPress Version * * public function rich_editor_callback( $args ) { * global $wp_version; * $value = $this->get_option( $args['id'] ); * * if ( ! $value ) { * $value = isset( $args['std'] ) ? $args['std'] : ''; * } * * $rows = isset( $args['size'] ) ? $args['size'] : 20; * * if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) { * ob_start(); * wp_editor( stripslashes( $value ), $this->options_key . '_' . $args['id'], array( * 'textarea_name' => '' . $this->options_key . '[' . $args['id'] . ']', * 'textarea_rows' => $rows * ) ); * $html = ob_get_clean(); * } else { * $html = '<textarea class="large-text" rows="10" id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>">' . esc_textarea( stripslashes( $value ) ) . '</textarea>'; * } * * $html .= '<br/><label for="<?php echo esc_attr( $args['id'] ); ?>"> ' . $args['desc'] . '</label>'; * * echo $html; * } * * /** * Upload Callback * * Renders upload fields. * * @param array $args Arguments passed by the setting * * @return void * * public function upload_callback( $args ) { * $value = $this->get_option( $args['id'] ); * * if ( ! $value ) { * $value = isset( $args['std'] ) ? $args['std'] : ''; * } * * $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; * $html = '<input type="text" class="' . $size . '-text" id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>" value="' . echo esc_attr( stripslashes( $value ) ) . '"/>'; * $html .= '<span> <input type="button" class="' . $this->options_key . '_upload_button button-secondary" value="' . __( 'Upload File' ) . '"/></span>'; * $html .= '<label for="<?php echo esc_attr( $args['id'] ); ?>"> ' . $args['desc'] . '</label>'; * * echo $html; * } * * /** * Color picker Callback * * Renders color picker fields. * * @param array $args Arguments passed by the setting * * @return void * * public function color_callback( $args ) { * $value = $this->get_option( $args['id'] ); * * if ( ! $value ) { * $value = isset( $args['std'] ) ? $args['std'] : ''; * } * * $default = isset( $args['std'] ) ? $args['std'] : ''; * * $html = '<input type="text" class="di-color-picker" id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>" value="' . echo esc_attr( $value ) . '" data-default-color="' . echo esc_attr( $default ) . '" />'; * $html .= '<label for="<?php echo esc_attr( $args['id'] ); ?>"> ' . $args['desc'] . '</label>'; * * echo $html; * } * * /** * Descriptive text callback. * * Renders descriptive text onto the settings field. * * @param array $args Arguments passed by the setting * * @return void * * public function descriptive_text_callback( $args ) { * echo esc_html( $args['desc'] ); * } * * /** * Registers the license field callback for Software Licensing * * @param array $args Arguments passed by the setting * * @return void * * public function license_key_callback( $args ) { * $value = $this->get_option( $args['id'] ); * * if ( ! $value ) { * $value = isset( $args['std'] ) ? $args['std'] : ''; * } * * $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; * * $html = '<input type="' . ( $value == '' ? 'text' : 'password' ) . '" class="' . $size . '-text" id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>" value="' . echo esc_attr( $value ) . '"/>'; * * if ( 'valid' == get_option( $args['options']['is_valid_license_option'] ) ) { * $html .= '<input type="submit" class="button-secondary" name="' . $args['id'] . '_deactivate" value="' . __( 'Deactivate License' ) . '"/>'; * } * $html .= '<label for="<?php echo esc_attr( $args['id'] ); ?>"> ' . $args['desc'] . '</label>'; * * echo $html; * } */ } includes/legacy/deprecated-filters.php 0000644 00000010474 15174671772 0014124 0 ustar 00 <?php /** * Deprecated filters * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Here to manage extensions (PUM-Videos) which used this filter to load their assets. * * @since 1.7.0 * @deprecated 1.7.0 * * @param null $popup_id */ function popmake_enqueue_scripts( $popup_id = null ) { $scripts_needed = apply_filters( 'popmake_enqueue_scripts', [], $popup_id ); foreach ( $scripts_needed as $script ) { if ( wp_script_is( $script, 'registered' ) ) { wp_enqueue_script( $script ); } } $styles_needed = apply_filters( 'popmake_enqueue_styles', [], $popup_id ); foreach ( $styles_needed as $style ) { if ( wp_style_is( $style, 'registered' ) ) { wp_enqueue_style( $style ); } } } add_action( 'popmake_preload_popup', 'popmake_enqueue_scripts' ); /** * Process deprecated filters. * * @since 1.7.0 * @deprecated 1.7.0 * * @param $settings * * @return mixed */ function pum_deprecated_popmake_settings_extensions_sanitize_filter( $settings = [] ) { if ( has_filter( 'popmake_settings_extensions_sanitize' ) ) { PUM_Utils_Logging::instance()->log_deprecated_notice( 'filter:popmake_settings_extensions_sanitize', '1.7.0', 'filter:pum_settings_sanitize' ); /** * @deprecated 1.7 * * @param array $settings The settings array. */ $settings = apply_filters( 'popmake_settings_extensions_sanitize', $settings ); } return $settings; } add_filter( 'pum_sanitize_settings', 'pum_deprecated_popmake_settings_extensions_sanitize_filter' ); /** * Process deprecated filters. * * @since 1.7.0 * @deprecated 1.7.0 * * @param $content * @param $popup_id * * @return mixed */ function pum_deprecated_get_the_popup_content_filter( $content, $popup_id ) { if ( has_filter( 'the_popup_content' ) ) { PUM_Utils_Logging::instance()->log_deprecated_notice( 'filter:the_popup_content', '1.7.0', 'filter:pum_popup_content' ); /** * @deprecated 1.7 * * @param string $content * @param int $popup_id */ $content = apply_filters( 'the_popup_content', $content, $popup_id ); } return $content; } add_filter( 'pum_popup_content', 'pum_deprecated_get_the_popup_content_filter', 10, 2 ); /** * Process deprecated filters. * * @since 1.7.0 * @deprecated 1.7.0 * * @param $data_attr * @param $popup_id * * @return mixed */ function pum_deprecated_pum_popup_get_data_attr_filter( $data_attr, $popup_id ) { if ( has_filter( 'pum_popup_get_data_attr' ) ) { PUM_Utils_Logging::instance()->log_deprecated_notice( 'filter:pum_popup_get_data_attr', '1.7.0', 'filter:pum_popup_data_attr' ); /** * @deprecated 1.7 * * @param string $content * @param int $popup_id */ $data_attr = apply_filters( 'pum_popup_get_data_attr', $data_attr, $popup_id ); } return $data_attr; } add_filter( 'pum_popup_data_attr', 'pum_deprecated_pum_popup_get_data_attr_filter', 10, 2 ); /** * Process deprecated filters. * * @since 1.7.0 * @deprecated 1.7.0 * * @param array $classes * @param int $popup_id * * @return array */ function pum_deprecated_pum_popup_get_classes_filter( $classes, $popup_id ) { if ( has_filter( 'pum_popup_get_classes' ) ) { PUM_Utils_Logging::instance()->log_deprecated_notice( 'filter:pum_popup_get_classes', '1.7.0', 'filter:pum_popup_container_classes' ); /** * @deprecated 1.7 * * @param array $classes * @param int $popup_id */ $classes = apply_filters( 'pum_popup_get_classes', $classes, $popup_id ); } return $classes; } add_filter( 'pum_popup_classes', 'pum_deprecated_pum_popup_get_classes_filter', 10, 2 ); /** * Process deprecated filters. * * @since 1.7.0 * @deprecated 1.7.0 * * @param array $data_attr * @param int $popup_id * * @return array */ function pum_deprecated_get_the_popup_data_attr_filter( $data_attr, $popup_id ) { if ( has_filter( 'popmake_get_the_popup_data_attr' ) ) { PUM_Utils_Logging::instance()->log_deprecated_notice( 'filter:popmake_get_the_popup_data_attr', '1.7.0', 'filter:pum_popup_data_attr' ); /** * @deprecated 1.7 * * @param array $data_attr * @param int $popup_id */ $data_attr = apply_filters( 'popmake_get_the_popup_data_attr', $data_attr, $popup_id ); } return $data_attr; } add_filter( 'pum_popup_data_attr', 'pum_deprecated_get_the_popup_data_attr_filter', 10, 2 ); includes/legacy/deprecated-classes.php 0000644 00000005302 15174671772 0014103 0 ustar 00 <?php /** * Deprecated classes * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * * phpcs:disable Generic.Files.OneObjectStructurePerFile.MultipleFound, PSR2.Classes.PropertyDeclaration.ScopeMissing */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * PopMake_License Class * * @deprecated 1.5.0 * * Use PUM_Extension_License instead. */ if ( class_exists( 'PUM_Extension_License' ) ) { /** * PopMake_License Class * * @deprecated 1.5.0 Use PUM_Extension_License instead. */ class PopMake_License extends PUM_Extension_License {} } /** * PopupMaker_Plugin_Updater * * @deprecated 1.5.0 Use PUM_Extension_Updater. */ if ( class_exists( 'PUM_Extension_Updater' ) ) { /** * PopupMaker_Plugin_Updater * * @deprecated 1.5.0 Use PUM_Extension_Updater. */ class PopupMaker_Plugin_Updater extends PUM_Extension_Updater {} } /** * Popmake_Cron Class * * This class handles scheduled events * * @since 1.3.0 * @deprecated 1.8.0 */ if ( class_exists( 'PUM_Utils_Cron' ) ) { /** * Popmake_Cron Class * * @deprecated 1.8.0 Use PUM_Utils_Cron instead. */ class Popmake_Cron extends PUM_Utils_Cron {} } /** * Class PUM_Popup_Query * * @deprecated 1.8.0 */ class PUM_Popup_Query { /** * The args to pass to the pum_get_popups() query * * @var array * @access public */ public $args = []; /** * Default query arguments. * * Not all of these are valid arguments that can be passed to WP_Query. The ones that are not, are modified before * the query is run to convert them to the proper syntax. * * @param array $args The array of arguments that can be passed in and used for setting up this popup query. */ public function __construct( $args = [] ) { $this->args = $args; } /** * Retrieve popups. * * The query can be modified in two ways; either the action before the * query is run, or the filter on the arguments (existing mainly for backwards * compatibility). * * @access public * @return object */ public function get_popups() { return pum_get_popups( $this->args ); } } /** * Class PUM * * @deprecated 1.8.0 - Don't use this. Use Popup_Maker instead. */ class PUM { const DB_VER = null; const VER = null; static $DB_VER = null; static $VER = null; } /** * Class for Types * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * * @deprecated 1.21.0 */ class PUM_Types { /** * @param $singular * @param $plural * * @return mixed * * @deprecated 1.21.0 */ public static function post_type_labels( $singular, $plural ) { return \PopupMaker\plugin()->get_controller( 'PostTypes' )->post_type_labels( $singular, $plural ); } } includes/legacy/class-pum-form.php 0000644 00000001573 15174671772 0013223 0 ustar 00 <?php /** * Forms * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * PUM_Form Class */ class PUM_Form extends PUM_Fields { public $id; public $field_prefix = 'pum_form'; public $field_name_format = '{$prefix}[{$field}]'; /** * Sets the $id of the Cookie and returns the parent __construct() * * @param array $id * @param array $args */ public function __construct( $id, $args = [] ) { $this->id = $id; if ( empty( $args['id'] ) ) { $args['id'] = $id; } if ( isset( $args['field_prefix'] ) ) { $this->field_prefix = $args['field_prefix']; } if ( isset( $args['field_name_format'] ) ) { $this->field_name_format = $args['field_name_format']; } parent::__construct( $args ); } public function get_id() { return $this->id; } } includes/legacy/functions-deprecated.php 0000644 00000024532 15174671772 0014464 0 ustar 00 <?php /** * Deprecated functions * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } // region Deprecated 1.7.0 /** * @deprecated 1.7.0 Use pum_load_popup * * @param $id */ function popmake_enqueue_popup( $id ) { pum_load_popup( $id ); } /** * Get an option * * Looks to see if the specified setting exists, returns default if not * * @since 1.0 * @deprecated 1.7.0 * * @param string $key * @param bool $default_value * * @return mixed */ function popmake_get_option( $key = '', $default_value = false ) { return pum_get_option( $key, $default_value ); } /** * Get Settings * * Retrieves all plugin settings * * @since 1.0.0 * @deprecated 1.7.0 * * @return array $settings */ function popmake_get_settings() { return pum_get_options(); } /** * Support Page * * Renders the support page contents. * * @since 1.5.0 * @deprecated 1.7.0 */ function pum_settings_page() { PUM_Admin_Settings::page(); } /** * @deprecated 1.7.0 * * @param string $str * * @return string */ function popmake_get_label_singular( $str = '' ) { return ''; } /** * @deprecated 1.7.0 * * @param string $str * * @return string */ function popmake_get_label_plural( $str = '' ) { return ''; } /** * Retrieve the array of plugin settings * * @since 1.0 * @deprecated 1.7.0 * * @return array */ function popmake_get_registered_settings() { /** * 'Whitelisted' POPMAKE settings, filters are provided for each settings * section to allow extensions and other plugins to add their own settings */ $popmake_settings = [ /** General Settings */ 'general' => apply_filters( 'popmake_settings_general', [] ), 'assets' => apply_filters( 'popmake_settings_assets', [] ), /** Extension Settings */ 'extensions' => apply_filters( 'popmake_settings_extensions', [] ), 'licenses' => apply_filters( 'popmake_settings_licenses', [] ), 'misc' => apply_filters( 'popmake_settings_misc', [] ), ]; return apply_filters( 'popmake_registered_settings', $popmake_settings ); } /** * Determines whether the current admin page is an POPMAKE admin page. * * @deprecated 1.7.0 Use pum_is_admin_page instead. * * @since 1.0 * * @return bool True if POPMAKE admin page. */ function popmake_is_admin_page() { return pum_is_admin_page(); } /** * Determines whether the current admin page is an admin popup page. * * @deprecated 1.7.0 * * @since 1.0 * * @return bool */ function popmake_is_admin_popup_page() { return pum_is_popup_editor(); } /** * Determines whether the current admin page is an admin theme page. * * @deprecated 1.7.0 @see pum_is_popup_theme_editor * * @since 1.0 * * @return bool */ function popmake_is_admin_popup_theme_page() { return pum_is_popup_theme_editor(); } /** * @deprecated 1.7.0 */ function popmake_output_pum_styles() { return ''; } /** * Retrieve a list of all published pages * * On large sites this can be expensive, so only load if on the settings page or $force is set to true * * @since 1.0 * @deprecated 1.7.0 * * @param bool $force Force the pages to be loaded even if not on settings * * @return array $pages_options An array of the pages */ function popmake_get_pages( $force = false ) { $pages_options = [ 0 => '' ]; // Blank option // Ignored because this is a simple string comparison from URL. // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( ( ! isset( $_GET['page'] ) || 'pum-settings' !== $_GET['page'] ) && ! $force ) { return $pages_options; } $pages = get_pages(); if ( $pages ) { foreach ( $pages as $page ) { $pages_options[ $page->ID ] = $page->post_title; } } return $pages_options; } /** * Returns the cookie fields used for cookie options. * * @deprecated 1.7.0 Use PUM_Cookies::instance()->cookie_fields() instead. * * @return array */ function pum_get_cookie_fields() { return PUM_Cookies::instance()->cookie_fields(); } /** * Returns an array of args for registering coo0kies. * * @deprecated 1.7.0 Use PUM_Cookies::instance()->cookie_fields() instead. * * @return array */ function pum_get_cookies() { return PUM_Cookies::instance()->get_cookies(); } /** * Returns the cookie fields used for trigger options. * * @deprecated v1.7.0 Use PUM_Triggers::instance()->cookie_fields() instead. * * @return array */ function pum_trigger_cookie_fields() { return PUM_Triggers::instance()->cookie_fields(); } /** * Returns the cookie field used for trigger options. * * @deprecated v1.7.0 Use PUM_Triggers::instance()->cookie_field() instead. * * @return array */ function pum_trigger_cookie_field() { return PUM_Triggers::instance()->cookie_field(); } /** * Returns an array of section labels for all triggers. * * @deprecated v1.7.0 Use PUM_Triggers::instance()->get_tabs() instead. * * @return array */ function pum_get_trigger_section_labels() { return PUM_Triggers::instance()->get_tabs(); } // endregion // region Deprecated 1.8.0 /** * Install Default Theme * * Installs the default theme and updates the option. * * @since 1.0 * @deprecated 1.8.0 */ function popmake_install_default_theme() { $defaults = PUM_Admin_Themes::defaults(); // Ignored because this occurred during install and can be done siliently later if it fails. Defaulting to passive error handling. // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged $default_theme = @wp_insert_post( [ 'post_title' => __( 'Default Theme', 'popup-maker' ), 'post_status' => 'publish', 'post_author' => 1, 'post_type' => 'popup_theme', 'comment_status' => 'closed', 'meta_input' => [ '_pum_built_in' => 'default-theme', '_pum_default_theme' => true, 'popup_theme_settings' => $defaults, 'popup_theme_data_version' => 3, ], ] ); update_option( 'popmake_default_theme', $default_theme ); pum_reset_assets(); } /** * Checks if the db_ver is v1.4 compatible. * * V1.4 compatibility is db_ver 6 or higher. * * @depecated 1.8.0 * * @uses pum_get_db_ver() * * @return bool */ function pum_is_v1_4_compatible() { return true; } /** * Deletes the theme css transient forcing it to refresh. * * @deprecated 1.8.0 Use pum_reset_assets() */ function pum_force_theme_css_refresh() { pum_reset_assets(); } /** * @deprecated 1.8.0 * * @param $hex * * @return array|string */ function popmake_hex2rgb( $hex ) { return PUM_Utils_CSS::hex2rgb( $hex, 'array' ); } /** * @deprecated 1.8.0 * * @param $hex * @param int $opacity * * @return string */ function popmake_get_rgba_value( $hex, $opacity = 100 ) { return PUM_Utils_CSS::hex2rgba( $hex, $opacity ); } /** * @deprecated 1.8.0 * * @param int $thickness * @param string $style * @param string $color * * @return string */ function popmake_get_border_style( $thickness = 1, $style = 'solid', $color = '#cccccc' ) { return PUM_Utils_CSS::border_style( $thickness, $style, $color ); } /** * @deprecated 1.8.0 * * @param int $horizontal * @param int $vertical * @param int $blur * @param int $spread * @param string $hex * @param int $opacity * @param string $inset * * @return string */ function popmake_get_box_shadow_style( $horizontal = 0, $vertical = 0, $blur = 0, $spread = 0, $hex = '#000000', $opacity = 50, $inset = 'no' ) { return PUM_Utils_CSS::box_shadow_style( $horizontal, $vertical, $blur, $spread, $hex, $opacity, $inset ); } /** * @deprecated 1.8.0 * * @param int $horizontal * @param int $vertical * @param int $blur * @param string $hex * @param int $opacity * * @return string */ function popmake_get_text_shadow_style( $horizontal = 0, $vertical = 0, $blur = 0, $hex = '#000000', $opacity = 50 ) { return PUM_Utils_CSS::text_shadow_style( $horizontal, $vertical, $blur, $hex, $opacity ); } /** * @deprecated 1.8.0 * * @param $id */ function pum_load_popup( $id ) { PUM_Site_Popups::load_popup( $id ); } /** * Retrieves a template part * * @deprecated 1.8.0 Use pum_get_template_part instead. * * @param string $slug * @param null|string $name * @param bool $load * * @return string */ function popmake_get_template_part( $slug, $name = null, $load = true ) { if ( $load ) { return pum_get_template_part( $slug, $name ); } else { return PUM_Utils_Template::locate_part( $slug, $name, false ); } } /** * Theme Overlay Metabox * * Extensions (as well as the core plugin) can add items to the theme overlay * configuration metabox via the `popmake_popup_theme_overlay_meta_box_fields` action. * * @since 1.0 * @deprecated 1.8.0 */ function popmake_render_popup_theme_overlay_meta_box() { if ( ! has_action( 'popmake_popup_theme_overlay_meta_box_fields' ) ) { return; } global $post; wp_nonce_field( basename( __FILE__ ), 'popmake_popup_theme_meta_box_nonce' ); ?> <input type="hidden" name="popup_theme_defaults_set" value="true"/> <div id="popmake_popup_theme_overlay_fields" class="popmake_meta_table_wrap"> <table class="form-table"> <tbody> <?php do_action( 'popmake_popup_theme_overlay_meta_box_fields', $post->ID ); ?> </tbody> </table> </div> <?php } /** * Theme Container Metabox * * Extensions (as well as the core plugin) can add items to the theme container * configuration metabox via the `popmake_popup_theme_container_meta_box_fields` action. * * @since 1.0 * @deprecated 1.8.0 */ function popmake_render_popup_theme_container_meta_box() { if ( ! has_action( 'popmake_popup_theme_container_meta_box_fields' ) ) { return; } global $post; ?> <div id="popmake_popup_theme_container_fields" class="popmake_meta_table_wrap"> <table class="form-table"> <tbody> <?php do_action( 'popmake_popup_theme_container_meta_box_fields', $post->ID ); ?> </tbody> </table> </div> <?php } /** * Theme Close Metabox * * Extensions (as well as the core plugin) can add items to the popup close * configuration metabox via the `popmake_popup_theme_close_meta_box_fields` action. * * @since 1.0 * @deprecated 1.8.0 */ function popmake_render_popup_theme_close_meta_box() { if ( ! has_action( 'popmake_popup_theme_close_meta_box_fields' ) ) { return; } global $post; ?> <div id="popmake_popup_theme_close_fields" class="popmake_meta_table_wrap"> <table class="form-table"> <tbody> <?php do_action( 'popmake_popup_theme_close_meta_box_fields', $post->ID ); ?> </tbody> </table> </div> <?php } // endregion includes/legacy/defaults.php 0000644 00000004026 15174671772 0012161 0 ustar 00 <?php /** * Default Settings, Popup Settings, Theme Settings. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } add_filter( 'popmake_popup_display_defaults', 'popmake_popup_display_defaults', 0 ); add_filter( 'pum_popup_display_defaults', 'popmake_popup_display_defaults', 0 ); /** * Returns default display settings for popups. * * @param array $defaults * * @return array */ function popmake_popup_display_defaults( $defaults = [] ) { return array_merge( $defaults, [ 'stackable' => false, 'overlay_disabled' => false, 'scrollable_content' => false, 'disable_reposition' => false, 'size' => 'medium', 'responsive_min_width' => '', 'responsive_min_width_unit' => 'px', 'responsive_max_width' => '', 'responsive_max_width_unit' => 'px', 'custom_width' => 640, 'custom_width_unit' => 'px', 'custom_height' => 380, 'custom_height_unit' => 'px', 'custom_height_auto' => false, 'location' => 'center top', 'position_from_trigger' => false, 'position_top' => 100, 'position_left' => 0, 'position_bottom' => 0, 'position_right' => 0, 'position_fixed' => false, 'animation_type' => 'fade', 'animation_speed' => 350, 'animation_origin' => 'center top', 'overlay_zindex' => 1999999998, 'zindex' => 1999999999, ] ); } add_filter( 'popmake_popup_close_defaults', 'popmake_popup_close_defaults', 0 ); add_filter( 'pum_popup_close_defaults', 'popmake_popup_close_defaults', 0 ); function popmake_popup_close_defaults( $defaults = [] ) { return array_merge( $defaults, [ 'text' => '', 'button_delay' => '0', 'overlay_click' => false, 'esc_press' => false, 'f4_press' => false, ] ); } includes/legacy/class-popmake-popup-fields.php 0000644 00000000474 15174671772 0015521 0 ustar 00 <?php /** * Popmake popup fields * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Popmake_Popup_Fields Class */ class Popmake_Popup_Fields extends Popmake_Fields { public $field_prefix = 'popup_'; } includes/legacy/input-options.php 0000644 00000012333 15174671772 0013202 0 ustar 00 <?php /** * Selectbox options,and other array based data sets used for options. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } // TODO LEFT OFF HERE!! MOVE THESE INTO <-- Themes <-- add_filter( 'popmake_size_unit_options', 'popmake_core_size_unit_options', 10 ); function popmake_core_size_unit_options( $options ) { return array_merge( $options, [ // option => value 'px' => 'px', '%' => '%', 'em' => 'em', 'rem' => 'rem', ] ); } add_filter( 'popmake_font_style_options', 'popmake_core_font_style_options', 10 ); function popmake_core_font_style_options( $options ) { return array_merge( $options, [ __( 'Normal', 'popup-maker' ) => '', __( 'Italic', 'popup-maker' ) => 'italic', ] ); } add_filter( 'popmake_text_align_options', 'popmake_core_text_align_options', 10 ); function popmake_core_text_align_options( $options ) { return array_merge( $options, [ // option => value __( 'Left', 'popup-maker' ) => 'left', __( 'Center', 'popup-maker' ) => 'center', __( 'Right', 'popup-maker' ) => 'right', ] ); } add_filter( 'popmake_popup_display_size_options', 'popmake_popup_display_size_options_responsive', 10 ); function popmake_popup_display_size_options_responsive( $options ) { return array_merge( $options, [ // option => value __( 'Responsive Sizes⤵', 'popup-maker' ) => '', __( 'Nano - 10%', 'popup-maker' ) => 'nano', __( 'Micro - 20%', 'popup-maker' ) => 'micro', __( 'Tiny - 30%', 'popup-maker' ) => 'tiny', __( 'Small - 40%', 'popup-maker' ) => 'small', __( 'Medium - 60%', 'popup-maker' ) => 'medium', __( 'Normal - 70%', 'popup-maker' ) => 'normal', __( 'Large - 80%', 'popup-maker' ) => 'large', __( 'X Large - 95%', 'popup-maker' ) => 'xlarge', __( 'Non Responsive Sizes⤵', 'popup-maker' ) => '', __( 'Auto', 'popup-maker' ) => 'auto', __( 'Custom', 'popup-maker' ) => 'custom', ] ); } add_filter( 'popmake_popup_display_animation_type_options', 'popmake_core_popup_display_animation_type_options', 10 ); function popmake_core_popup_display_animation_type_options( $options ) { return array_merge( $options, [ // option => value __( 'None', 'popup-maker' ) => 'none', __( 'Slide', 'popup-maker' ) => 'slide', __( 'Fade', 'popup-maker' ) => 'fade', __( 'Fade and Slide', 'popup-maker' ) => 'fadeAndSlide', __( 'Grow', 'popup-maker' ) => 'grow', __( 'Grow and Slide', 'popup-maker' ) => 'growAndSlide', ] ); } add_filter( 'popmake_popup_display_animation_origin_options', 'popmake_core_popup_display_animation_origins_options', 10 ); function popmake_core_popup_display_animation_origins_options( $options ) { return array_merge( $options, [ // option => value __( 'Top', 'popup-maker' ) => 'top', __( 'Left', 'popup-maker' ) => 'left', __( 'Bottom', 'popup-maker' ) => 'bottom', __( 'Right', 'popup-maker' ) => 'right', __( 'Top Left', 'popup-maker' ) => 'left top', __( 'Top Center', 'popup-maker' ) => 'center top', __( 'Top Right', 'popup-maker' ) => 'right top', __( 'Middle Left', 'popup-maker' ) => 'left center', __( 'Middle Center', 'popup-maker' ) => 'center center', __( 'Middle Right', 'popup-maker' ) => 'right center', __( 'Bottom Left', 'popup-maker' ) => 'left bottom', __( 'Bottom Center', 'popup-maker' ) => 'center bottom', __( 'Bottom Right', 'popup-maker' ) => 'right bottom', // __( 'Mouse', 'popup-maker' ) => 'mouse', ] ); } add_filter( 'popmake_popup_display_location_options', 'popmake_core_popup_display_location_options', 10 ); function popmake_core_popup_display_location_options( $options ) { return array_merge( $options, [ // option => value __( 'Top Left', 'popup-maker' ) => 'left top', __( 'Top Center', 'popup-maker' ) => 'center top', __( 'Top Right', 'popup-maker' ) => 'right top', __( 'Middle Left', 'popup-maker' ) => 'left center', __( 'Middle Center', 'popup-maker' ) => 'center', __( 'Middle Right', 'popup-maker' ) => 'right center', __( 'Bottom Left', 'popup-maker' ) => 'left bottom', __( 'Bottom Center', 'popup-maker' ) => 'center bottom', __( 'Bottom Right', 'popup-maker' ) => 'right bottom', ] ); } add_filter( 'popmake_theme_close_location_options', 'popmake_core_theme_close_location_options', 10 ); function popmake_core_theme_close_location_options( $options ) { return array_merge( $options, [ // option => value __( 'Top Left', 'popup-maker' ) => 'topleft', __( 'Top Right', 'popup-maker' ) => 'topright', __( 'Bottom Left', 'popup-maker' ) => 'bottomleft', __( 'Bottom Right', 'popup-maker' ) => 'bottomright', ] ); } add_filter( 'popmake_cookie_trigger_options', 'popmake_cookie_trigger_options', 10 ); function popmake_cookie_trigger_options( $options ) { return array_merge( $options, [ // option => value __( 'Disabled', 'popup-maker' ) => 'disabled', __( 'On Open', 'popup-maker' ) => 'open', __( 'On Close', 'popup-maker' ) => 'close', __( 'Manual', 'popup-maker' ) => 'manual', ] ); } includes/legacy/functions-backcompat.php 0000644 00000003222 15174671772 0014461 0 ustar 00 <?php /** * Functions for backward compatibility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } add_filter( 'pum_settings_fields', 'pum_merge_deprecated_settings_fields' ); /** * Merge old deprecated settings from extensions into the new settings API. * * @since 1.7.0 * @deprecated 1.7.0 * * @param array $tabs * * @return array */ function pum_merge_deprecated_settings_fields( $tabs = [] ) { /** * Apply @deprecated filters & process old fields for compatibility. */ $old_fields = popmake_get_registered_settings(); $old_fields = array_map( 'array_filter', $old_fields ); $old_fields = array_filter( $old_fields ); if ( ! empty( $old_fields ) ) { foreach ( $old_fields as $tab_id => $fields ) { foreach ( $fields as $field_id => $field_args ) { if ( is_numeric( $field_id ) && ! empty( $field_args['id'] ) ) { $field_id = $field_args['id']; unset( $field_args['id'] ); } $field_args['label'] = ! empty( $field_args['name'] ) ? $field_args['name'] : ''; if ( 'header' === $field_args['type'] ) { $field_args['type'] = 'separator'; } elseif ( 'gaeventlabel' === $field_args['type'] ) { $field_args['type'] = 'ga_event_labels'; } elseif ( 'hook' === $field_args['type'] ) { $field_args['type'] = 'html'; ob_start(); do_action( 'popmake_' . $field_id ); $field_args['content'] = ob_get_clean(); } unset( $field_args['name'] ); $tabs[ array_key_exists( $tab_id, $tabs ) ? $tab_id : 'general' ]['main'][ $field_id ] = $field_args; } } } return $tabs; } includes/legacy/class-popmake-fields.php 0000644 00000034656 15174671772 0014371 0 ustar 00 <?php /** * Popmake fields * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class Popmake_Fields * * @deprecated 1.4 Use PUM_Fields instead. */ class Popmake_Fields { /** * @var string */ public $field_prefix = 'settings'; /** * @var string */ public $field_name_format = '{$prefix}[{$section}][{$field}]'; /** * @var string */ public $templ_value_format = '{$prefix}{$section}.{$field}'; /** * @var array */ public $fields = []; /** * @var array */ public $sections = []; /** * @var array */ public $args = []; /** * @var array */ private static $instances = []; /** * @param array $args */ public function __construct( $args = [] ) { $sections = isset( $args['sections'] ) ? $args['sections'] : [ 'general' => [ 'title' => __( 'General', 'popup-maker' ), ], ]; $this->add_sections( $sections ); if ( ! empty( $args['fields'] ) ) { $this->add_fields( $args['fields'] ); } $this->args = $args; } /** * @param array $args * * @return mixed */ public static function instance( $args = [] ) { $class = get_called_class(); $class_key = md5( $class ); if ( ! isset( self::$instances[ $class_key ] ) || ! self::$instances[ $class_key ] instanceof $class ) { self::$instances[ $class_key ] = new $class( $args ); } return self::$instances[ $class_key ]; } /** * This function should no longer be used. * * @deprecated 1.4 Replace with add_section() * * @param $id * @param $title * @param null $callback */ public function register_section( $id, $title, $callback = null ) { $this->add_section( [ 'id' => $id, 'title' => $title, 'callback' => $callback, ] ); } /** * @param $sections */ public function add_sections( $sections ) { foreach ( $sections as $id => $section ) { if ( ! is_array( $section ) ) { $section = [ 'title' => $section, ]; } if ( empty( $section['id'] ) ) { $section['id'] = $id; } $this->add_section( $section ); } } /** * @param $section */ public function add_section( $section ) { $section = wp_parse_args( $section, [ 'id' => null, 'title' => '', 'hidden' => false, 'callback' => null, ] ); $this->sections[ $section['id'] ] = $section; } /** * @param array $field */ public function add_field( $field = [] ) { $field = wp_parse_args( $field, [ 'section' => 'general', 'type' => 'text', 'id' => null, 'label' => '', 'desc' => '', 'name' => null, 'templ_name' => null, 'size' => 'regular', 'options' => [], 'std' => null, 'rows' => 5, 'cols' => 50, 'min' => 0, 'max' => 50, 'force_minmax' => false, 'step' => 1, 'select2' => null, 'object_type' => 'post_type', 'object_key' => 'post', 'post_type' => null, 'taxonomy' => null, 'multiple' => null, 'as_array' => false, 'placeholder' => null, 'checkbox_val' => 1, 'allow_blank' => true, 'readonly' => false, 'required' => false, 'disabled' => false, 'hook' => null, 'unit' => __( 'ms', 'popup-maker' ), 'priority' => null, 'doclink' => '', 'button_type' => 'submit', 'class' => '', ] ); if ( ! $field['name'] ) { $field['name'] = $this->get_field_name( $field ); } if ( ! $field['templ_name'] ) { $field['templ_name'] = $this->get_templ_name( $field ); } $this->fields[ $field['section'] ][ $field['id'] ] = $field; } /** * @param array $fields * @param null $section */ public function add_fields( $fields = [], $section = null ) { /** * Switch the variables for backward compatibility with a * select few extensions that started using the v1.3 Settings API */ if ( is_string( $fields ) && is_array( $section ) ) { $tmp = $fields; $fields = $section; $section = $tmp; } foreach ( $fields as $key => $field ) { // Either an undefined field or empty section. So lets skip it. if ( empty( $field ) ) { continue; } $first_key = key( $field ); if ( isset( $this->sections[ $key ] ) && is_array( $field[ $first_key ] ) ) { $this->add_fields( $field, $key ); } else { // Process the fields. if ( $section ) { $field['section'] = $section; } if ( empty( $field['id'] ) && ! is_numeric( $key ) ) { $field['id'] = $key; } $this->add_field( $field ); } } } /** * @return array */ public function get_sections() { return $this->sections; } /** * @param null $section * * @return array */ public function get_fields( $section = null ) { if ( ! $section ) { return $this->get_all_fields(); } if ( ! isset( $this->fields[ $section ] ) ) { return []; } $non_priority_fields = []; $priority_fields = []; foreach ( $this->fields[ $section ] as $field_id => $field ) { if ( ! isset( $field['priority'] ) || is_null( $field['priority'] ) ) { $non_priority_fields[ $field_id ] = $field; } else { $priority_fields[ $field_id ] = $field; } } uasort( $priority_fields, [ $this, 'sort_by_priority' ] ); $fields = $priority_fields + $non_priority_fields; return $fields; } /** * @return array */ public function get_all_fields() { $all_fields = []; foreach ( $this->fields as $section => $fields ) { $all_fields[ $section ] = $this->get_fields( $section ); } return $all_fields; } /** * Returns the a generated field name for given ID. * * Replaces {$prefix} with $field_prefix, {$section} * with $section and {$field} with $field * * @param $field * * @return string $field_name * @internal param $id * @internal param $section * * @uses public $field_prefix * @uses public $field_name_format */ public function get_field_name( $field ) { return str_replace( [ '{$prefix}', '{$section}', '{$field}', ], [ $this->field_prefix, $field['section'], $field['id'], ], $this->field_name_format ); } /** * @param $section * * @return array */ public function get_field_names( $section ) { $names = []; foreach ( $this->get_fields( $section ) as $id => $args ) { $names[] = $this->get_field_name( $args ); } return $names; } /** * @param $args * * @return mixed|string */ public function get_templ_name( $args ) { return str_replace( [ '{$prefix}', '{$section}', '{$field}', ], [ $this->field_prefix, 'general' !== $args['section'] ? ".{$args['section']}" : '', $args['id'], ], $this->templ_value_format ); } /** * @param string $section * @param array $values */ public function render_fields_by_section( $section = 'general', $values = [] ) { foreach ( $this->get_fields( $section ) as $key => $args ) { $value = isset( $values[ $args['id'] ] ) ? $values[ $args['id'] ] : null; $this->render_field( $args, $value ); } } /** * @param array $values */ public function render_fields( $values = [] ) { foreach ( $this->get_all_fields() as $section => $fields ) { foreach ( $fields as $id => $args ) { $value = isset( $values[ $args['id'] ] ) ? $values[ $args['id'] ] : null; $this->render_field( $args, $value ); } } } /** * @param array $args * @param null $value */ public function render_field( $args = [], $value = null ) { // If no type default to text. $type = ! empty( $args['type'] ) ? $args['type'] : 'text'; /** * Check if any actions hooked to this type of field and load run those. */ if ( has_action( "pum_{$type}_field" ) ) { do_action( "pum_{$type}_field", $args, $value ); } else { /** * Check if override or custom function exists and load that. */ if ( function_exists( "pum_{$type}_callback" ) ) { $function_name = "pum_{$type}_callback"; } elseif ( method_exists( $this, $type . '_callback' ) ) { /** * Check if core method exists and load that. */ $function_name = [ $this, $type . '_callback' ]; } else { /** * No method exists, lets notify them the field type doesn't exist. */ $function_name = [ $this, 'missing_callback' ]; } /** * Call the determined method, passing the field args & $value to the callback. */ call_user_func_array( $function_name, [ $args, $value ] ); } } /** */ public function render_templ_fields() { foreach ( $this->get_all_fields() as $section => $fields ) { foreach ( $fields as $id => $args ) { $this->render_templ_field( $args ); } } } /** * @param string $section */ public function render_templ_fields_by_section( $section = 'general' ) { foreach ( $this->get_fields( $section ) as $key => $args ) { $this->render_templ_field( $args ); } } /** * @param array $args */ public function render_templ_field( $args = [] ) { // If no type default to text. $type = ! empty( $args['type'] ) ? $args['type'] : 'text'; /** * Check if any actions hooked to this type of field and load run those. */ if ( has_action( "pum_{$type}_templ_field" ) ) { do_action( "pum_{$type}_templ_field", $args, $this ); } else { if ( function_exists( "pum_{$type}_templ_callback" ) ) { /** * Check if override or custom function exists and load that. */ $function_name = "pum_{$type}_templ_callback"; } elseif ( method_exists( $this, $type . '_templ_callback' ) ) { /** * Check if core method exists and load that. */ $function_name = [ $this, $type . '_templ_callback' ]; } elseif ( 'hook' === $type ) { /** * Check if the field type is hook. */ $function_name = [ $this, 'hook_callback' ]; } else { /** * No method exists, lets notify them the field type doesn't exist. */ $function_name = [ $this, 'missing_callback' ]; } /** * Call the determined method, passing the field args & $value to the callback. */ call_user_func_array( $function_name, [ $args, $this ] ); } } /** * @param array $args */ public function field_before( $args = [] ) { $classes = is_array( $args ) ? $this->field_classes( $args ) : ( is_string( $args ) ? $args : '' ); ?><div class="<?php echo esc_attr( $classes ); ?>"> <?php } /** * */ public function field_after() { ?> </div> <?php } /** * @param $args * @param string|string[]|null $class_name * * @return string */ public function field_classes( $args, $class_name = null ) { $args = wp_parse_args( $args, [ 'id' => '', 'class' => '', 'type' => '', 'desc' => '', 'doclink' => '', ] ); $classes = [ 'pum-field', 'pum-field-' . $args['id'], 'pum-field-' . $args['type'], ]; if ( '' !== $args['doclink'] ) { $classes[] = 'pum-field--has-doclink'; } $classes[] = is_array( $args['class'] ) ? implode( ' ', $args['class'] ) : $args['class']; if ( isset( $class_name ) ) { $classes[] = is_array( $class_name ) ? implode( ' ', $class_name ) : $class_name; } return implode( ' ', $classes ); } public function field_description( $args ) { if ( '' !== $args['desc'] ) { ?> <p class="pum-desc"><?php echo wp_kses( $args['desc'], wp_kses_allowed_html( 'data' ) ); ?></p> <?php } /* TODO Review. if ( $args['doclink'] != '' ) { ?> <a href="<?php echo esc_url( $args['doclink'] ); ?>" target="_blank" class="pum-doclink dashicons dashicons-editor-help"></a><?php } */ } public function field_label( $args ) { if ( ! empty( $args['label'] ) ) { ?> <label for="<?php echo esc_attr( $args['id'] ); ?>"> <?php echo esc_html( $args['label'] ); if ( '' !== $args['doclink'] ) { ?> <a href="<?php echo esc_url( $args['doclink'] ); ?>" target="_blank" class="pum-doclink dashicons dashicons-editor-help"></a> <?php } ?> </label> <?php } } public function sanitize_field( $args, $value = null ) { // If no type default to text. $type = ! empty( $args['type'] ) ? $args['type'] : 'text'; /** * Check if any actions hooked to this type of field and load run those. */ if ( has_filter( "pum_{$type}_sanitize" ) ) { $value = apply_filters( "pum_{$type}_sanitize", $value, $args ); } else { if ( function_exists( "pum_{$type}_sanitize" ) ) { /** * Check if override or custom function exists and load that. */ $function_name = "pum_{$type}_sanitize"; } elseif ( method_exists( $this, $type . '_sanitize' ) ) { /** * Check if core method exists and load that. */ $function_name = [ $this, $type . '_sanitize' ]; } else { $function_name = null; } if ( $function_name ) { /** * Call the determined method, passing the field args & $value to the callback. */ $value = call_user_func_array( $function_name, [ $value, $args ] ); } } $value = apply_filters( 'pum_settings_sanitize', $value, $args ); return $value; } /** * Sanitize fields * * @param array $values * * @return array|mixed $input Sanitized value * @internal param array $input The value inputted in the field */ public function sanitize_fields( $values = [] ) { $sanitized_values = []; foreach ( $this->get_all_fields() as $section => $fields ) { foreach ( $fields as $field ) { $value = isset( $values[ $section ][ $field['id'] ] ) ? $values[ $section ][ $field['id'] ] : null; $value = $this->sanitize_field( $field, $value ); if ( ! is_null( $value ) ) { $sanitized_values[ $section ][ $field['id'] ] = $value; } } } return $sanitized_values; } /** * Sort array by priority value * * @param $a * @param $b * * @return int */ protected function sort_by_priority( $a, $b ) { if ( ! isset( $a['priority'] ) || ! isset( $b['priority'] ) || $a['priority'] === $b['priority'] ) { return 0; } return ( $a['priority'] < $b['priority'] ) ? - 1 : 1; } public function checkbox_sanitize( $value = null, $args = [] ) { if ( intval( $value ) === 1 ) { return 1; } return null; } /** * Hook Callback * * Adds a do_action() hook in place of the field * * @param array $args Arguments passed by the setting * * @return void */ public function hook_callback( $args ) { do_action( 'popmake_' . $args['id'] ); } } includes/legacy/class-popup-maker.php 0000644 00000007773 15174671772 0013731 0 ustar 00 <?php /** * Main plugin class - Legacy. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ use function PopupMaker\config; /** * Main Popup_Maker Class * * @since 1.0 * @deprecated 1.21.0 */ class Popup_Maker { /** * @var string Plugin Name */ public static $NAME = 'Popup Maker'; /** * @var string Plugin Version */ public static $VER = '1.20.5'; /** * @var int DB Version */ public static $DB_VER = 8; /** * @var string License API URL */ public static $API_URL = 'https://wppopupmaker.com'; /** * @var string */ public static $MIN_PHP_VER = '7.4'; /** * @var string */ public static $MIN_WP_VER = '6.6'; /** * @var string Plugin URL */ public static $URL; /** * @var string Plugin Directory */ public static $DIR; /** * @var string Plugin FILE */ public static $FILE; /** * Used to test if debug_mode is enabled. * * @var bool */ public static $DEBUG_MODE = false; /** * @var PUM_Utils_Cron */ public $cron; /** * @var PUM_Repository_Popups */ public $popups; /** * @var PUM_Repository_Themes */ public $themes; /** * @var null|PUM_Model_Popup * * @deprecated 1.21.0 */ public $current_popup; /** * @var null|PUM_Model_Theme */ public $current_theme; /** * @var Popup_Maker|null The one true Popup_Maker */ private static $instance; /** * Main instance * * @return Popup_Maker */ public static function instance() { if ( ! isset( self::$instance ) || ! ( self::$instance instanceof Popup_Maker ) ) { self::$instance = new Popup_Maker(); self::$instance->setup_constants(); self::$instance->includes(); self::$instance->init(); } return self::$instance; } /** * Setup plugin constants */ private function setup_constants() { /** * Pull from new plugin config. * * @since 1.20.0 */ self::$NAME = config( 'name' ); self::$VER = config( 'version' ); self::$DIR = config( 'path' ); self::$URL = config( 'url' ); self::$FILE = config( 'file' ); self::$MIN_PHP_VER = config( 'min_php_ver' ); self::$MIN_WP_VER = config( 'min_wp_ver' ); self::$API_URL = config( 'api_url' ); if ( \PopupMaker\plugin()->is_debug_mode_enabled() ) { self::$DEBUG_MODE = true; } defined( 'POPMAKE' ) || define( 'POPMAKE', self::$FILE ); defined( 'POPMAKE_NAME' ) || define( 'POPMAKE_NAME', self::$NAME ); defined( 'POPMAKE_SLUG' ) || define( 'POPMAKE_SLUG', trim( dirname( plugin_basename( self::$FILE ) ), '/' ) ); defined( 'POPMAKE_DIR' ) || define( 'POPMAKE_DIR', self::$DIR ); defined( 'POPMAKE_URL' ) || define( 'POPMAKE_URL', self::$URL ); defined( 'POPMAKE_NONCE' ) || define( 'POPMAKE_NONCE', 'popmake_nonce' ); defined( 'POPMAKE_VERSION' ) || define( 'POPMAKE_VERSION', self::$VER ); defined( 'POPMAKE_DB_VERSION' ) || define( 'POPMAKE_DB_VERSION', self::$DB_VER ); defined( 'POPMAKE_API_URL' ) || define( 'POPMAKE_API_URL', self::$API_URL ); } /** * Include required files */ private function includes() { // Initialize global options // TODO Replace this with Options class. PUM_Utils_Options::init(); } public function init() { $this->cron = new PUM_Utils_Cron(); $this->popups = new PUM_Repository_Popups(); $this->themes = new PUM_Repository_Themes(); PUM_AssetCache::init(); PUM_Site::init(); PUM_Admin::init(); PUM_Utils_Upgrades::instance(); PUM_Newsletters::init(); PUM_Previews::init(); PUM_Integrations::init(); PUM_Privacy::init(); PUM_Utils_Alerts::init(); PUM_Shortcode_Popup::init(); PUM_Shortcode_PopupTrigger::init(); PUM_Shortcode_PopupClose::init(); PUM_Shortcode_PopupCookie::init(); PUM_Shortcode_CallToAction::init(); PUM_Telemetry::init(); new PUM_Extensions(); } /** * Returns true when debug mode is enabled. * * @return bool * * @deprecated 1.20.0 - Use `\PopupMaker\plugin()->is_debug_mode()` instead. */ public static function debug_mode() { return \PopupMaker\plugin()->is_debug_mode_enabled(); } } includes/legacy/importer/easy-modal-v2/model/modal.php 0000644 00000007234 15174671772 0016773 0 ustar 00 <?php /** * Importer for easy-modal model modal * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * * phpcs:disable WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid, PSR2.Classes.PropertyDeclaration.Underscore,Universal.Files.SeparateFunctionsFromOO.Mixed, WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class EModal_Model_Modal * * Used to mimic the EModal_Model_Modal class from Easy Modal plugin. * * @since 1.0 */ class EModal_Model_Modal extends EModal_Model { protected $_class_name = 'EModal_Model_Modal'; protected $_table_name = 'em_modals'; protected $meta; protected $_default_fields = [ 'id' => null, 'theme_id' => 1, 'name' => '', 'title' => '', 'content' => '', 'created' => '0000-00-00 00:00:00', 'modified' => '0000-00-00 00:00:00', 'is_sitewide' => 0, 'is_system' => 0, 'is_trash' => 0, ]; public function __construct( $id = null ) { parent::__construct( $id ); $this->load_meta(); } public function __get( $key ) { if ( 'meta' === $key ) { return $this->meta; } else { return parent::__get( $key ); } } public function save() { if ( ! $this->id ) { $this->created = gmdate( 'Y-m-d H:i:s' ); } $this->modified = gmdate( 'Y-m-d H:i:s' ); parent::save(); $this->meta->modal_id = $this->id; $this->meta->save(); } public function load_meta() { if ( empty( $this->meta ) ) { $this->meta = new EModal_Model_Modal_Meta( $this->id ); } return $this->meta; } public function as_array() { $array = parent::as_array(); $array['meta'] = $this->meta->as_array(); return $array; } public function set_fields( array $data ) { if ( ! empty( $data['meta'] ) ) { $this->meta->set_fields( $data['meta'] ); } parent::set_fields( $data ); } } if ( ! function_exists( 'get_all_modals' ) ) { function get_all_modals( $where = 'is_trash != 1' ) { global $wpdb; $modals = []; $modal_ids = []; $EModal_Model_Modal = new EModal_Model_Modal(); $EModal_Model_Modal_Meta = new EModal_Model_Modal_Meta(); foreach ( $EModal_Model_Modal->load( "SELECT * FROM {$wpdb->prefix}em_modals" . ( $where ? ' WHERE ' . $where : '' ) ) as $modal ) { $modals[ $modal->id ] = $modal; $modal_ids[] = $modal->id; } if ( count( $modals ) ) { foreach ( $EModal_Model_Modal_Meta->load( "SELECT * FROM {$wpdb->prefix}em_modal_metas WHERE modal_id IN (" . implode( ',', $modal_ids ) . ')' ) as $meta ) { $modals[ $meta->modal_id ]->meta->process_load( $meta->as_array() ); } } return $modals; } } if ( ! function_exists( 'get_current_modal' ) ) { function get_current_modal( $key = null ) { global $current_modal; if ( ! $key ) { return $current_modal; } else { $values = $current_modal->as_array(); return emresolve( $values, $key, false ); } } } if ( ! function_exists( 'get_current_modal_id' ) ) { function get_current_modal_id() { global $current_modal; return $current_modal ? $current_modal->id : null; } } if ( ! function_exists( 'count_all_modals' ) ) { function count_all_modals() { global $wpdb; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery return (int) $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->prefix}em_modals WHERE is_trash = 0" ); } } if ( ! function_exists( 'count_deleted_modals' ) ) { function count_deleted_modals() { global $wpdb; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery return (int) $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->prefix}em_modals WHERE is_trash = 1" ); } } includes/legacy/importer/easy-modal-v2/model/theme/meta.php 0000644 00000004677 15174671772 0017737 0 ustar 00 <?php /** * Importer for easy-modal model theme meta * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * * phpcs:disable WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid, PSR2.Classes.PropertyDeclaration.Underscore,Universal.Files.SeparateFunctionsFromOO.Mixed, WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class EModal_Model_Theme_Meta * * Used to mimic the EModal_Model_Theme_Meta class from Easy Modal plugin. * * @since 1.0 */ class EModal_Model_Theme_Meta extends EModal_Model { /** @var int */ protected $theme_id; protected $_class_name = 'EModal_Model_Theme_Meta'; protected $_table_name = 'em_theme_metas'; protected $_pk = 'theme_id'; protected $_default_fields = [ 'id' => null, 'theme_id' => null, 'overlay' => [], 'container' => [], 'close' => [], 'title' => [], 'content' => [], ]; public function __construct( $id = null ) { global $wpdb; $table_name = $wpdb->prefix . $this->_table_name; $class_name = strtolower( $this->_class_name ); $this->_default_fields['theme_id'] = $id; $this->_data = apply_filters( "{$class_name}_fields", $this->_default_fields ); if ( $id && is_numeric( $id ) ) { // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery $row = $wpdb->get_row( // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared $wpdb->prepare( "SELECT * FROM $table_name WHERE theme_id = %d ORDER BY id DESC LIMIT 1", $id ), ARRAY_A ); if ( $row[ $this->_pk ] ) { $this->process_load( $row ); } } else { $this->set_fields( apply_filters( "{$class_name}_defaults", [] ) ); } } public function save() { global $wpdb; $table_name = $wpdb->prefix . $this->_table_name; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared $rows = $wpdb->get_col( "SELECT id FROM $table_name WHERE theme_id = $this->theme_id ORDER BY id DESC" ); if ( count( $rows ) ) { $this->id = $rows[0]; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery $wpdb->update( $table_name, $this->serialized_values(), [ 'id' => $this->id ] ); } else { // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery $wpdb->insert( $table_name, $this->serialized_values() ); $this->id = $wpdb->insert_id; } } } includes/legacy/importer/easy-modal-v2/model/theme.php 0000644 00000007203 15174671772 0016775 0 ustar 00 <?php /** * Importer for easy-modal model theme * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * * phpcs:disable WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid, PSR2.Classes.PropertyDeclaration.Underscore, Universal.Files.SeparateFunctionsFromOO.Mixed, WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class EModal_Model_Theme * * Used to mimic the EModal_Model_Theme class from Easy Modal plugin. * * @since 1.0 */ class EModal_Model_Theme extends EModal_Model { protected $_class_name = 'EModal_Model_Theme'; protected $_table_name = 'em_themes'; protected $meta; protected $_default_fields = [ 'id' => null, 'name' => 'Default', 'created' => '0000-00-00 00:00:00', 'modified' => '0000-00-00 00:00:00', 'is_system' => 0, 'is_trash' => 0, ]; public function __construct( $id = null ) { parent::__construct( $id ); $this->load_meta(); } public function __get( $key ) { if ( 'meta' === $key ) { return $this->meta; } else { return parent::__get( $key ); } } public function save() { if ( ! $this->id ) { $this->created = gmdate( 'Y-m-d H:i:s' ); } $this->modified = gmdate( 'Y-m-d H:i:s' ); parent::save(); $this->meta->theme_id = $this->id; $this->meta->save(); } public function load_meta() { if ( empty( $this->meta ) ) { $this->meta = new EModal_Model_Theme_Meta( $this->id ); } return $this->meta; } public function as_array() { $array = parent::as_array(); $array['meta'] = $this->meta->as_array(); return $array; } public function set_fields( array $data ) { if ( ! empty( $data['meta'] ) ) { $this->meta->set_fields( $data['meta'] ); unset( $data['meta'] ); } parent::set_fields( $data ); } } if ( ! function_exists( 'get_all_modal_themes' ) ) { function get_all_modal_themes( $where = 'is_trash != 1' ) { global $wpdb; $themes = []; $theme_ids = []; $EModal_Model_Theme = new EModal_Model_Theme(); $EModal_Model_Theme_Meta = new EModal_Model_Theme_Meta(); foreach ( $EModal_Model_Theme->load( "SELECT * FROM {$wpdb->prefix}em_themes" . ( $where ? ' WHERE ' . $where : '' ) ) as $theme ) { $themes[ $theme->id ] = $theme; $theme_ids[] = $theme->id; } if ( count( $themes ) ) { foreach ( $EModal_Model_Theme_Meta->load( "SELECT * FROM {$wpdb->prefix}em_theme_metas WHERE theme_id IN (" . implode( ',', $theme_ids ) . ')' ) as $meta ) { $themes[ $meta->theme_id ]->meta->process_load( $meta->as_array() ); } } return $themes; } } if ( ! function_exists( 'get_current_modal_theme' ) ) { function get_current_modal_theme( $key = null ) { global $current_theme; if ( ! $key ) { return $current_theme; } else { $values = $current_theme->as_array(); return emresolve( $values, $key, false ); } } } if ( ! function_exists( 'get_current_modal_theme_id' ) ) { function get_current_modal_theme_id() { global $current_theme; return $current_theme->id; } } if ( ! function_exists( 'count_all_modal_themes' ) ) { function count_all_modal_themes() { global $wpdb; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery return (int) $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->prefix}em_themes WHERE is_trash = 0" ); } } if ( ! function_exists( 'count_deleted_modal_themes' ) ) { function count_deleted_modal_themes() { global $wpdb; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery return (int) $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->prefix}em_themes WHERE is_trash = 1" ); } } includes/legacy/importer/easy-modal-v2/model/modal/meta.php 0000644 00000004547 15174671772 0017725 0 ustar 00 <?php /** * Importer for easy-modal model modal meta * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * * phpcs:disable WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid, PSR2.Classes.PropertyDeclaration.Underscore,Universal.Files.SeparateFunctionsFromOO.Mixed, WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class EModal_Model_Modal_Meta * * Used to mimic the EModal_Model_Modal_Meta class from Easy Modal plugin. * * @since 1.0 */ class EModal_Model_Modal_Meta extends EModal_Model { /** @var int */ protected $modal_id; protected $_class_name = 'EModal_Model_Modal_Meta'; protected $_table_name = 'em_modal_metas'; protected $_pk = 'modal_id'; protected $_default_fields = [ 'id' => null, 'modal_id' => null, 'display' => [], 'close' => [], ]; public function __construct( $id = null ) { global $wpdb; $table_name = $wpdb->prefix . $this->_table_name; $class_name = strtolower( $this->_class_name ); $this->_default_fields['modal_id'] = $id; $this->_data = apply_filters( "{$class_name}_fields", $this->_default_fields ); if ( $id && is_numeric( $id ) ) { // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery $row = $wpdb->get_row( // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared $wpdb->prepare( "SELECT * FROM $table_name WHERE modal_id = %d ORDER BY id DESC LIMIT 1", $id ), ARRAY_A ); if ( $row[ $this->_pk ] ) { $this->process_load( $row ); } } else { $this->set_fields( apply_filters( "{$class_name}_defaults", [] ) ); } } public function save() { global $wpdb; $table_name = $wpdb->prefix . $this->_table_name; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared $rows = $wpdb->get_col( "SELECT id FROM $table_name WHERE modal_id = $this->modal_id ORDER BY id DESC" ); if ( count( $rows ) ) { $this->id = $rows[0]; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery $wpdb->update( $table_name, $this->serialized_values(), [ 'id' => $this->id ] ); } else { // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery $wpdb->insert( $table_name, $this->serialized_values() ); $this->id = $wpdb->insert_id; } } } includes/legacy/importer/easy-modal-v2/functions.php 0000644 00000004222 15174671772 0016601 0 ustar 00 <?php /** * Importer for easy-modal functions * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! function_exists( 'get_all_modals' ) ) { function enqueue_modal( $id ) { if ( ! is_array( $id ) ) { EModal_Modals::enqueue_modal( $id ); } else { foreach ( $id as $i ) { EModal_Modals::enqueue_modal( $i ); } } } } if ( ! function_exists( 'emodal_get_option' ) ) { function emodal_get_option( $key ) { global $blog_id; if ( function_exists( 'is_multisite' ) && is_multisite() && $blog_id ) { return get_blog_option( $blog_id, $key ); } else { return get_site_option( $key ); } } } if ( ! function_exists( 'emodal_update_option' ) ) { function emodal_update_option( $key, $value ) { global $blog_id; if ( function_exists( 'is_multisite' ) && is_multisite() && $blog_id ) { return update_blog_option( $blog_id, $key, $value ); } else { return update_site_option( $key, $value ); } } } if ( ! function_exists( 'emodal_delete_option' ) ) { function emodal_delete_option( $key ) { global $blog_id; if ( function_exists( 'is_multisite' ) && is_multisite() && $blog_id ) { return delete_blog_option( $blog_id, $key ); } else { return delete_site_option( $key ); } } } if ( ! function_exists( 'emodal_get_license' ) ) { function emodal_get_license( $key = null ) { $license = emodal_get_option( EMCORE_SLUG . '-license' ); if ( ! $license ) { $license = [ 'valid' => false, 'key' => '', 'status' => [ 'code' => null, 'message' => null, 'expires' => null, 'domains' => null, ], ]; emodal_update_option( EMCORE_SLUG . '-license', $license ); } return $license && $key ? emresolve( $license, $key ) : $license; } } if ( ! function_exists( 'emresolve' ) ) { function emresolve( array $a, $path, $default_value = null ) { $current = $a; $p = strtok( $path, '.' ); while ( false !== $p ) { if ( ! isset( $current[ $p ] ) ) { return $default_value; } $current = $current[ $p ]; $p = strtok( '.' ); } return $current; } } includes/legacy/importer/easy-modal-v2/model.php 0000644 00000011057 15174671772 0015675 0 ustar 00 <?php /** * Importer for easy-modal model * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * * phpcs:disable WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid, PSR2.Classes.PropertyDeclaration.Underscore */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class EModal_Model * * Used to mimic the EModal_Model class from Easy Modal plugin. * * @since 1.0 */ class EModal_Model { /** @var int */ protected $id; /** @var string */ protected $created; /** @var string */ protected $modified; protected $_class_name = 'EModal_Model'; protected $_table_name = ''; protected $_pk = 'id'; protected $_data = []; protected $_default_fields = []; protected $_state = null; public function __construct( $id = null ) { global $wpdb; $table_name = $wpdb->prefix . $this->_table_name; $class_name = strtolower( $this->_class_name ); $this->_data = apply_filters( "{$class_name}_fields", $this->_default_fields ); if ( $id && is_numeric( $id ) ) { // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery $row = $wpdb->get_row( // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared $wpdb->prepare( "SELECT * FROM $table_name WHERE $this->_pk = %d LIMIT 1", $id ), ARRAY_A ); if ( $row[ $this->_pk ] ) { $this->process_load( $row ); } } else { $this->set_fields( apply_filters( "{$class_name}_defaults", [] ) ); } } public function load( $query = null ) { global $wpdb; $table_name = $wpdb->prefix . $this->_table_name; // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery $rows = $wpdb->get_results( $query ? $query : $wpdb->prepare( "SELECT * FROM $table_name" ), ARRAY_A ); if ( ! empty( $rows ) ) { $results = []; foreach ( $rows as $row ) { $model = new $this->_class_name(); $model->process_load( $row ); $results[] = $model; } return $results; } return []; } public function save() { global $wpdb; $table_name = $wpdb->prefix . $this->_table_name; if ( $this->id ) { // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery if ( ! $wpdb->update( $table_name, $this->serialized_values(), [ $this->_pk => $this->{$this->_pk} ] ) ) { $wpdb->insert( $table_name, $this->serialized_values() ); $this->id = $wpdb->insert_id; } } else { // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery $wpdb->insert( $table_name, $this->serialized_values() ); $this->id = $wpdb->insert_id; } } public function delete() { global $wpdb; $table_name = $wpdb->prefix . $this->_table_name; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery return $wpdb->delete( $table_name, [ $this->_pk => $this->{$this->_pk} ] ); } public function as_array() { $values = $this->_data; foreach ( $values as $key => $value ) { $values[ $key ] = $this->$key; } return $values; } public function process_load( $data ) { foreach ( $data as $key => $val ) { if ( array_key_exists( $key, $this->_data ) ) { $this->$key = maybe_unserialize( $val ); } } } public function serialized_values() { $values = $this->_data; foreach ( $values as $key => $value ) { if ( 'id' !== $key ) { $values[ $key ] = maybe_serialize( $this->$key ); } } return $values; } public function __get( $key ) { if ( array_key_exists( $key, $this->_data ) ) { return $this->_data[ $key ]; } elseif ( 'id' === $key ) { if ( array_key_exists( $this->_pk, $this->_data ) ) { return $this->_data[ $this->_pk ]; } } } public function __set( $key, $value ) { if ( array_key_exists( $key, $this->_data ) ) { $this->_data[ $key ] = $value; return; } } public function __isset( $name ) { return isset( $this->_data[ $name ] ); } public function fields() { return array_keys( $this->_data ); } public function set_fields( array $data ) { foreach ( $data as $key => $val ) { if ( array_key_exists( $key, $this->_data ) ) { if ( is_array( $this->$key ) && is_array( $val ) ) { $this->$key = array_replace_recursive( $this->$key, $val ); } else { $this->$key = $val; } } } } public function offsetExists( $key ) { return array_key_exists( $key, $this->as_array() ); } public function offsetSet( $key, $value ) { $this->__set( $key, $value ); } public function offsetGet( $key ) { return $this->$key; } public function offsetUnset( $key ) { $this->_data[ $key ] = null; } } includes/legacy/importer/easy-modal-v2.php 0000644 00000035501 15174671772 0014575 0 ustar 00 <?php /** * Function * * @package POPMAKE_EMODAL * @subpackage Functions/Import * @copyright Copyright (c) 2023, Code Atlantic LLC * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License * @since 1.0 */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Import * * Runs on plugin install by setting up the post types, custom taxonomies, * flushing rewrite rules also creates the plugin and populates the settings * fields for those plugin pages. After successful install, the user is * redirected to the POPMAKE_EMODAL Welcome screen. * * @since 1.0 * @global $wpdb * @global $popmake_options * @global $wp_version * @return void */ function popmake_emodal_v2_import() { global $wpdb, $popmake_options, $wp_version, $popmake_tools_page; require_once POPMAKE_DIR . 'includes/importer/easy-modal-v2/functions.php'; if ( ! class_exists( 'EModal_Model' ) ) { require_once POPMAKE_DIR . '/includes/importer/easy-modal-v2/model.php'; } if ( ! class_exists( 'EModal_Model_Modal' ) ) { require_once POPMAKE_DIR . '/includes/importer/easy-modal-v2/model/modal.php'; } if ( ! class_exists( 'EModal_Model_Theme' ) ) { require_once POPMAKE_DIR . '/includes/importer/easy-modal-v2/model/theme.php'; } if ( ! class_exists( 'EModal_Model_Theme_Meta' ) ) { require_once POPMAKE_DIR . '/includes/importer/easy-modal-v2/model/theme/meta.php'; } if ( ! class_exists( 'EModal_Model_Modal_Meta' ) ) { require_once POPMAKE_DIR . '/includes/importer/easy-modal-v2/model/modal/meta.php'; } $themes = get_all_modal_themes( '1 = 1' ); $theme_id_map = []; foreach ( $themes as $theme_object ) { $theme = $theme_object->as_array(); $meta = $theme['meta']; $theme_meta = apply_filters( 'popmake_emodal_import_theme_meta', [ 'popup_theme_defaults_set' => true, 'popup_theme_overlay_background_color' => $meta['overlay']['background']['color'], 'popup_theme_overlay_background_opacity' => $meta['overlay']['background']['opacity'], 'popup_theme_container_padding' => $meta['container']['padding'], 'popup_theme_container_background_color' => $meta['container']['background']['color'], 'popup_theme_container_background_opacity' => $meta['container']['background']['opacity'], 'popup_theme_container_border_radius' => $meta['container']['border']['radius'], 'popup_theme_container_border_style' => $meta['container']['border']['style'], 'popup_theme_container_border_color' => $meta['container']['border']['color'], 'popup_theme_container_border_width' => $meta['container']['border']['width'], 'popup_theme_container_boxshadow_inset' => $meta['container']['boxshadow']['inset'], 'popup_theme_container_boxshadow_horizontal' => $meta['container']['boxshadow']['horizontal'], 'popup_theme_container_boxshadow_vertical' => $meta['container']['boxshadow']['vertical'], 'popup_theme_container_boxshadow_blur' => $meta['container']['boxshadow']['blur'], 'popup_theme_container_boxshadow_spread' => $meta['container']['boxshadow']['spread'], 'popup_theme_container_boxshadow_color' => $meta['container']['boxshadow']['color'], 'popup_theme_container_boxshadow_opacity' => $meta['container']['boxshadow']['opacity'], 'popup_theme_title_font_color' => $meta['title']['font']['color'], 'popup_theme_title_line_height' => $meta['title']['font']['size'], 'popup_theme_title_font_size' => $meta['title']['font']['size'], 'popup_theme_title_font_family' => $meta['title']['font']['family'], 'popup_theme_title_font_weight' => $meta['title']['font']['weight'], 'popup_theme_title_font_style' => $meta['title']['font']['style'], 'popup_theme_title_text_align' => $meta['title']['text']['align'], 'popup_theme_title_textshadow_horizontal' => $meta['title']['textshadow']['horizontal'], 'popup_theme_title_textshadow_vertical' => $meta['title']['textshadow']['vertical'], 'popup_theme_title_textshadow_blur' => $meta['title']['textshadow']['blur'], 'popup_theme_title_textshadow_color' => $meta['title']['textshadow']['color'], 'popup_theme_title_textshadow_opacity' => $meta['title']['textshadow']['opacity'], 'popup_theme_content_font_color' => $meta['content']['font']['color'], 'popup_theme_content_font_family' => $meta['content']['font']['family'], 'popup_theme_content_font_weight' => $meta['content']['font']['weight'], 'popup_theme_content_font_style' => $meta['content']['font']['style'], 'popup_theme_close_text' => $meta['close']['text'], 'popup_theme_close_padding' => $meta['close']['padding'], 'popup_theme_close_location' => $meta['close']['location'], 'popup_theme_close_position_top' => $meta['close']['position']['top'], 'popup_theme_close_position_left' => $meta['close']['position']['left'], 'popup_theme_close_position_bottom' => $meta['close']['position']['bottom'], 'popup_theme_close_position_right' => $meta['close']['position']['right'], 'popup_theme_close_line_height' => $meta['close']['font']['size'], 'popup_theme_close_font_color' => $meta['close']['font']['color'], 'popup_theme_close_font_size' => $meta['close']['font']['size'], 'popup_theme_close_font_family' => $meta['close']['font']['family'], 'popup_theme_close_font_weight' => $meta['close']['font']['weight'], 'popup_theme_close_font_style' => $meta['close']['font']['style'], 'popup_theme_close_background_color' => $meta['close']['background']['color'], 'popup_theme_close_background_opacity' => $meta['close']['background']['opacity'], 'popup_theme_close_border_radius' => $meta['close']['border']['radius'], 'popup_theme_close_border_style' => $meta['close']['border']['style'], 'popup_theme_close_border_color' => $meta['close']['border']['color'], 'popup_theme_close_border_width' => $meta['close']['border']['width'], 'popup_theme_close_boxshadow_inset' => $meta['close']['boxshadow']['inset'], 'popup_theme_close_boxshadow_horizontal' => $meta['close']['boxshadow']['horizontal'], 'popup_theme_close_boxshadow_vertical' => $meta['close']['boxshadow']['vertical'], 'popup_theme_close_boxshadow_blur' => $meta['close']['boxshadow']['blur'], 'popup_theme_close_boxshadow_spread' => $meta['close']['boxshadow']['spread'], 'popup_theme_close_boxshadow_color' => $meta['close']['boxshadow']['color'], 'popup_theme_close_boxshadow_opacity' => $meta['close']['boxshadow']['opacity'], 'popup_theme_close_textshadow_horizontal' => $meta['close']['textshadow']['horizontal'], 'popup_theme_close_textshadow_vertical' => $meta['close']['textshadow']['vertical'], 'popup_theme_close_textshadow_blur' => $meta['close']['textshadow']['blur'], 'popup_theme_close_textshadow_color' => $meta['close']['textshadow']['color'], 'popup_theme_close_textshadow_opacity' => $meta['close']['textshadow']['opacity'], ], $theme_object ); $new_theme_id = wp_insert_post( [ 'post_title' => $theme['name'], 'post_status' => $theme['is_trash'] ? 'trash' : 'publish', 'post_author' => get_current_user_id(), 'post_type' => 'popup_theme', 'comment_status' => 'closed', ] ); foreach ( $theme_meta as $meta_key => $meta_value ) { update_post_meta( $new_theme_id, $meta_key, $meta_value ); } update_post_meta( $new_theme_id, 'popup_theme_old_easy_modal_id', $theme['id'] ); $theme_id_map[ $theme['id'] ] = $new_theme_id; } if ( count( $themes ) === 1 && isset( $new_theme_id ) ) { update_post_meta( $new_theme_id, 'popup_theme_defaults_set', true ); update_option( 'popmake_default_theme', $new_theme_id ); } $modals = get_all_modals( '1 = 1' ); // echo '<pre>'; var_export(popmake_popup_meta_fields()); echo '</pre>'; foreach ( $modals as $modal_object ) { $modal = $modal_object->as_array(); $meta = $modal['meta']; $modal_meta = apply_filters( 'popmake_emodal_import_modal_meta', [ 'popup_old_easy_modal_id' => $modal['id'], 'popup_defaults_set' => true, 'popup_theme' => isset( $theme ) && isset( $theme_id_map[ $theme['id'] ] ) ? $theme_id_map[ $theme['id'] ] : null, 'popup_title' => $modal['title'], 'popup_display_scrollable_content' => null, 'popup_display_overlay_disabled' => $meta['display']['overlay_disabled'], 'popup_display_size' => $meta['display']['size'], 'popup_display_responsive_min_width' => '', 'popup_display_responsive_min_width_unit' => 'px', 'popup_display_responsive_max_width' => '', 'popup_display_responsive_max_width_unit' => 'px', 'popup_display_custom_width' => $meta['display']['custom_width'], 'popup_display_custom_width_unit' => $meta['display']['custom_width_unit'], 'popup_display_custom_height' => $meta['display']['custom_height'], 'popup_display_custom_height_unit' => $meta['display']['custom_height_unit'], 'popup_display_custom_height_auto' => $meta['display']['custom_height_auto'], 'popup_display_location' => $meta['display']['location'], 'popup_display_position_top' => $meta['display']['position']['top'], 'popup_display_position_left' => $meta['display']['position']['left'], 'popup_display_position_bottom' => $meta['display']['position']['bottom'], 'popup_display_position_right' => $meta['display']['position']['right'], 'popup_display_position_fixed' => $meta['display']['position']['fixed'], 'popup_display_animation_type' => $meta['display']['animation']['type'], 'popup_display_animation_speed' => $meta['display']['animation']['speed'], 'popup_display_animation_origin' => $meta['display']['animation']['origin'], 'popup_close_overlay_click' => $meta['close']['overlay_click'], 'popup_close_esc_press' => $meta['close']['esc_press'], 'popup_close_f4_press' => null, ], $modal_object ); if ( 1 === $modal['is_sitewide'] ) { $modal_meta['popup_targeting_condition_on_entire_site'] = true; } $new_modal_id = wp_insert_post( [ 'post_title' => $modal['name'], 'post_status' => $modal['is_trash'] ? 'trash' : 'publish', 'post_content' => $modal['content'], 'post_author' => get_current_user_id(), 'post_type' => 'popup', 'comment_status' => 'closed', ] ); foreach ( $modal_meta as $meta_key => $meta_value ) { update_post_meta( $new_modal_id, $meta_key, $meta_value ); } } } function popmake_emodal_init() { if ( pum_get_option( 'enable_easy_modal_compatibility_mode' ) ) { if ( ! shortcode_exists( 'modal' ) ) { // add_shortcode( 'modal', 'popmake_emodal_shortcode_modal' ); } add_filter( 'pum_popup_data_attr', 'popmake_emodal_get_the_popup_data_attr', 10, 2 ); add_filter( 'popmake_shortcode_popup_default_atts', 'popmake_emodal_shortcode_popup_default_atts', 10 ); add_filter( 'popmake_shortcode_data_attr', 'popmake_emodal_shortcode_data_attr', 10, 2 ); add_filter( 'pum_popup_is_loadable', 'popmake_emodal_popup_is_loadable', 20, 2 ); } } add_action( 'init', 'popmake_emodal_init' ); function popmake_emodal_popup_is_loadable( $return_value, $popup_id ) { global $post; if ( empty( $post ) || ! isset( $post->ID ) ) { return $return_value; } $easy_modal_id = get_post_meta( $popup_id, 'popup_old_easy_modal_id', true ); $post_modals = get_post_meta( $post->ID, 'easy-modal_post_modals', true ); if ( ! $easy_modal_id || empty( $post_modals ) || ! in_array( $easy_modal_id, $post_modals, true ) ) { return $return_value; } return true; } function popmake_emodal_get_the_popup_data_attr( $data_attr, $popup_id ) { $easy_modal_id = get_post_meta( $popup_id, 'popup_old_easy_modal_id', true ); if ( ! $easy_modal_id ) { return $data_attr; } return array_merge( $data_attr, [ 'old_easy_modal_id' => $easy_modal_id, ] ); } function popmake_emodal_shortcode_modal( $atts, $content = null ) { $atts = shortcode_atts( apply_filters( 'emodal_shortcode_modal_default_atts', [ 'id' => '', 'theme_id' => null, 'title' => null, 'overlay_disabled' => null, 'size' => null, 'width' => null, 'widthUnit' => null, 'height' => null, 'heightUnit' => null, 'location' => null, 'positionTop' => null, 'positionLeft' => null, 'positionBottom' => null, 'positionRight' => null, 'positionFixed' => null, 'animation' => null, 'animationSpeed' => null, 'animationOrigin' => null, 'overlayClose' => null, 'escClose' => null, // Deprecated 'theme' => null, 'duration' => null, 'direction' => null, 'overlayEscClose' => null, ] ), apply_filters( 'emodal_shortcode_modal_atts', $atts ) ); $new_shortcode_atts = [ 'id' => $atts['id'], 'emodal_id' => $atts['id'], 'theme_id' => $atts['theme_id'], 'title' => $atts['title'], 'overlay_disabled' => $atts['overlay_disabled'], 'size' => $atts['size'], 'width' => $atts['width'], 'width_unit' => $atts['widthUnit'], 'height' => $atts['height'], 'height_unit' => $atts['heightUnit'], 'location' => $atts['location'], 'position_top' => $atts['positionTop'], 'position_left' => $atts['positionLeft'], 'position_bottom' => $atts['positionBottom'], 'position_right' => $atts['positionRight'], 'position_fixed' => $atts['positionFixed'], 'animation_type' => $atts['animation'], 'animation_speed' => $atts['animationSpeed'], 'animation_origin' => $atts['animationOrigin'], 'overlay_click' => $atts['overlayClose'], 'esc_press' => $atts['escClose'], ]; $shortcode = '[popup '; foreach ( $new_shortcode_atts as $attr => $val ) { if ( ! empty( $val ) ) { $shortcode .= $attr . '="' . $val . '" '; } } $shortcode .= ']' . $content . '[/popup]'; return do_shortcode( $shortcode ); } function popmake_emodal_shortcode_popup_default_atts( $default_atts = [] ) { return array_merge( $default_atts, [ 'emodal_id' => null, ] ); } function popmake_emodal_shortcode_data_attr( $data, $attr ) { if ( ! empty( $attr['emodal_id'] ) ) { $data['old_easy_modal_id'] = $attr['emodal_id']; } return $data; } includes/admin/upgrades/class-pum-admin-upgrade-routine-6.php 0000644 00000012443 15174671772 0020257 0 ustar 00 <?php /** * Upgrade Routine 6 - Clean up old data and verify data integrity. * * @package PUM * @subpackage Admin/Upgrades * @copyright Copyright (c) 2023, Code Atlantic LLC * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License * @since 1.4 */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'PUM_Admin_Upgrade_Routine' ) ) { require_once POPMAKE_DIR . 'includes/admin/upgrades/class-pum-admin-upgrade-routine.php'; } /** * Class PUM_Admin_Upgrade_Routine_6 */ final class PUM_Admin_Upgrade_Routine_6 extends PUM_Admin_Upgrade_Routine { /** * @var array */ public static $valid_themes; /** * @var null */ public static $default_theme = null; /** * Returns the description. * * @return mixed|void */ public static function description() { return __( 'Clean up old data and verify data integrity.', 'popup-maker' ); } /** * Run the update. */ public static function run() { if ( ! current_user_can( PUM_Admin_Upgrades::instance()->required_cap ) ) { wp_die( esc_html__( 'You do not have permission to do upgrades', 'popup-maker' ), esc_html__( 'Error', 'popup-maker' ), [ 'response' => 403 ] ); } ignore_user_abort( true ); if ( ! pum_is_func_disabled( 'set_time_limit' ) ) { // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged @set_time_limit( 0 ); } $upgrades = PUM_Admin_Upgrades::instance(); $completed = $upgrades->get_arg( 'completed' ); $total = $upgrades->get_arg( 'total' ); // Install new themes pum_install_built_in_themes(); // Refresh CSS transients pum_reset_assets(); // Set the correct total. if ( $total <= 1 ) { $popups = wp_count_posts( 'popup' ); $total = 0; foreach ( $popups as $status ) { $total += $status; } $upgrades->set_arg( 'total', $total ); } $popups = pum_get_popups( [ 'number' => $upgrades->get_arg( 'number' ), 'page' => $upgrades->get_arg( 'step' ), 'status' => [ 'any', 'trash', 'auto-draft' ], 'order' => 'ASC', ] ); self::setup_valid_themes(); // Delete All old meta keys. self::delete_all_old_meta_keys(); // Delete All orphaned meta keys. self::delete_all_orphaned_meta_keys(); self::process_popup_cats_tags(); if ( $popups ) { foreach ( $popups as $popup ) { // Check that each popup has a valid theme id if ( ! array_key_exists( $popup->get_theme_id(), self::$valid_themes ) ) { // Set a valid theme. update_post_meta( $popup->ID, 'popup_theme', self::$default_theme ); } ++$completed; } if ( $completed < $total ) { $upgrades->set_arg( 'completed', $completed ); self::next_step(); } } self::done(); } /** * Create a list of valid popup themes. */ public static function setup_valid_themes() { self::$valid_themes = []; foreach ( pum_get_all_themes() as $theme ) { self::$valid_themes[ $theme->ID ] = $theme; if ( pum_get_default_theme_id() === $theme->ID ) { self::$default_theme = $theme->ID; } } if ( ! self::$default_theme ) { reset( self::$valid_themes ); self::$default_theme = self::$valid_themes[ key( self::$valid_themes ) ]->ID; } } /** * Delete orphaned post meta keys. */ public static function delete_all_orphaned_meta_keys() { global $wpdb; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery $wpdb->query( "DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL AND pm.meta_key LIKE 'popup_%'" ); } /** * Delete all no longer meta keys to clean up after ourselves. * * @return false|int */ public static function delete_all_old_meta_keys() { global $wpdb; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery $query = $wpdb->query( " DELETE FROM $wpdb->postmeta WHERE meta_key LIKE 'popup_display_%' OR meta_key LIKE 'popup_close_%' OR meta_key LIKE 'popup_auto_open_%' OR meta_key LIKE 'popup_click_open_%' OR meta_key LIKE 'popup_targeting_condition_%' OR meta_key LIKE 'popup_loading_condition_%' OR meta_key = 'popup_admin_debug' OR meta_key = 'popup_defaults_set' OR meta_key LIKE 'popup_display_%' OR meta_key = 'popup_auto_open' OR meta_key = 'popup_click_open' OR meta_key LIKE 'popup_theme_overlay_%' OR meta_key LIKE 'popup_theme_container_%' OR meta_key LIKE 'popup_theme_title_%' OR meta_key LIKE 'popup_theme_content_%' OR meta_key LIKE 'popup_theme_close_%' OR meta_key = 'popmake_default_theme' OR meta_key = 'popup_theme_defaults_set' " ); return $query; } /** * Checks for popup taxonomy counts and disables popup taxonomies if none are found. */ public static function process_popup_cats_tags() { global $popmake_options; // Setup the Popup Taxonomies if ( function_exists( 'popmake_setup_taxonomies' ) ) { popmake_setup_taxonomies( true ); } $categories = wp_count_terms( [ 'taxonomy' => 'popup_category', 'hide_empty' => true, ] ); $tags = wp_count_terms( [ 'taxonomy' => 'popup_tag', 'hide_empty' => true, ] ); if ( is_wp_error( $tags ) ) { $tags = 0; } if ( is_wp_error( $categories ) ) { $categories = 0; } $popmake_options['disable_popup_category_tag'] = 0 === $categories && 0 === $tags; update_option( 'popmake_settings', $popmake_options ); } } includes/admin/upgrades/class-pum-admin-upgrade-routine-5.php 0000644 00000006524 15174671772 0020261 0 ustar 00 <?php /** * Upgrade Routine 5 - Initialize popup analytics. * * @package PUM * @subpackage Admin/Upgrades * @copyright Copyright (c) 2023, Code Atlantic LLC * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License * @since 1.4 */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'PUM_Admin_Upgrade_Routine' ) ) { require_once POPMAKE_DIR . 'includes/admin/upgrades/class-pum-admin-upgrade-routine.php'; } /** * Class PUM_Admin_Upgrade_Routine_5 */ final class PUM_Admin_Upgrade_Routine_5 extends PUM_Admin_Upgrade_Routine { /** * @return mixed|void */ public static function description() { return __( 'Initialize popup analytics.', 'popup-maker' ); } /** * */ public static function run() { if ( ! current_user_can( PUM_Admin_Upgrades::instance()->required_cap ) ) { wp_die( esc_html__( 'You do not have permission to do upgrades', 'popup-maker' ), esc_html__( 'Error', 'popup-maker' ), [ 'response' => 403 ] ); } ignore_user_abort( true ); if ( ! pum_is_func_disabled( 'set_time_limit' ) ) { // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged @set_time_limit( 0 ); } $upgrades = PUM_Admin_Upgrades::instance(); $completed = $upgrades->get_arg( 'completed' ); $total = $upgrades->get_arg( 'total' ); // Set the correct total. if ( $total <= 1 ) { $popups = wp_count_posts( 'popup' ); $total = 0; foreach ( $popups as $status ) { $total += $status; } $upgrades->set_arg( 'total', $total ); } $popups = pum_get_popups( [ 'number' => $upgrades->get_arg( 'number' ), 'page' => $upgrades->get_arg( 'step' ), 'status' => [ 'any', 'trash', 'auto-draft' ], 'order' => 'ASC', ] ); if ( $popups ) { foreach ( $popups as $popup ) { /** * Initialize the popup meta values for core analytics. */ self::initialize_analytics( $popup->ID ); ++$completed; } if ( $completed < $total ) { $upgrades->set_arg( 'completed', $completed ); self::next_step(); } } // Check for popup analytics extension and import those stats if available. $total_open_count = get_option( 'popup_analytics_total_opened_count', 0 ); // Set the sites total open count. update_option( 'pum_total_open_count', $total_open_count ); // If is multisite add this blogs total to the site totals. if ( function_exists( 'is_multisite' ) && is_multisite() ) { $site_total_open_count = get_site_option( 'pum_site_total_open_count', 0 ); update_site_option( 'pum_site_total_open_count', $site_total_open_count + $total_open_count ); } self::done(); } /** * Imports Popup Analytic data if available and initializes all popup analytic meta data. * * @param $popup_id */ public static function initialize_analytics( $popup_id ) { // Open Count $open_count = get_post_meta( $popup_id, 'popup_analytic_opened_count', true ); if ( ! $open_count ) { $open_count = 0; } // Last Open $last_open = get_post_meta( $popup_id, 'popup_analytic_last_opened', true ); if ( ! $last_open ) { $last_open = 0; } // Add the meta. update_post_meta( $popup_id, 'popup_open_count', absint( $open_count ) ); update_post_meta( $popup_id, 'popup_open_count_total', absint( $open_count ) ); update_post_meta( $popup_id, 'popup_last_opened', absint( $last_open ) ); } } includes/admin/upgrades/class-pum-admin-upgrade-routine-4.php 0000644 00000020712 15174671772 0020253 0 ustar 00 <?php /** * Upgrade Routine 4 * * @package PUM * @subpackage Admin/Upgrades * @copyright Copyright (c) 2023, Code Atlantic LLC * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License * @since 1.4 */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'PUM_Admin_Upgrade_Routine' ) ) { require_once POPMAKE_DIR . 'includes/admin/upgrades/class-pum-admin-upgrade-routine.php'; } /** * Class PUM_Admin_Upgrade_Routine_4 */ final class PUM_Admin_Upgrade_Routine_4 extends PUM_Admin_Upgrade_Routine { /** * Returns a description. * * @return mixed|void */ public static function description() { return __( 'Upgrade popup targeting conditions.', 'popup-maker' ); } /** * Upgrade popup targeting conditions. * * - Convert Conditions * - Default popups with no conditions to draft */ public static function run() { if ( ! current_user_can( PUM_Admin_Upgrades::instance()->required_cap ) ) { wp_die( esc_html__( 'You do not have permission to do upgrades', 'popup-maker' ), esc_html__( 'Error', 'popup-maker' ), [ 'response' => 403 ] ); } ignore_user_abort( true ); if ( ! pum_is_func_disabled( 'set_time_limit' ) ) { // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged @set_time_limit( 0 ); } $upgrades = PUM_Admin_Upgrades::instance(); $completed = $upgrades->get_arg( 'completed' ); $total = $upgrades->get_arg( 'total' ); // Set the correct total. if ( $total <= 1 ) { $popups = wp_count_posts( 'popup' ); $total = 0; foreach ( $popups as $status ) { $total += $status; } $upgrades->set_arg( 'total', $total ); } $popups = pum_get_popups( [ 'number' => $upgrades->get_arg( 'number' ), 'page' => $upgrades->get_arg( 'step' ), 'status' => [ 'any', 'trash', 'auto-draft' ], 'order' => 'ASC', ] ); if ( $popups ) { foreach ( $popups as $popup ) { $conditions = []; $_conditions = []; // Convert Conditions $targeting_conditions = popmake_get_popup_meta_group( 'targeting_condition', $popup->ID ); if ( empty( $targeting_conditions ) ) { if ( 'publish' === $popup->post_status ) { // Default popups with no conditions to draft self::change_post_status( $popup->ID, 'draft' ); } update_post_meta( $popup->ID, 'popup_conditions', $conditions ); ++$completed; continue; } $sitewide = false; if ( array_key_exists( 'on_entire_site', $targeting_conditions ) ) { $sitewide = true; $targeting_conditions = self::filter_excludes( $targeting_conditions ); } else { $targeting_conditions = self::filter_includes( $targeting_conditions ); } $targeting_conditions = self::parse_conditions( $targeting_conditions ); $_group = []; foreach ( $targeting_conditions as $condition ) { // If sitewide is enabled then all conditions use the not_operand. $condition['not_operand'] = $sitewide ? 1 : 0; // Add a new AND condition group. if ( $sitewide ) { $_conditions[] = [ $condition ]; } else { // Add a new OR condition to the group. $_group[] = $condition; } } if ( ! $sitewide && ! empty( $_group ) ) { $_conditions[] = $_group; } foreach ( $_conditions as $group_key => $group ) { foreach ( $group as $condition_key => $condition ) { $conditions[ $group_key ][ $condition_key ] = $condition; } } update_post_meta( $popup->ID, 'popup_conditions', $conditions ); ++$completed; } if ( $completed < $total ) { $upgrades->set_arg( 'completed', $completed ); self::next_step(); } } self::done(); } /** * Converts old condition keys into new condition arrays. * * @param array $targeting_conditions * * @return array */ public static function parse_conditions( $targeting_conditions = [] ) { $conditions = []; $targeting_conditions = array_keys( $targeting_conditions ); foreach ( $targeting_conditions as $index => $key ) { $condition = null; if ( strpos( $key, 'on_home' ) !== false ) { // Front Page. $condition = [ 'target' => 'is_front_page', ]; } elseif ( strpos( $key, 'on_blog' ) !== false ) { // Blog Index. $condition = [ 'target' => 'is_home', ]; } elseif ( strpos( $key, 'on_search' ) !== false ) { // Search Pages. $condition = [ 'target' => 'is_search', ]; } elseif ( strpos( $key, 'on_404' ) !== false ) { // 404 Pages. $condition = [ 'target' => 'is_404', ]; } elseif ( strpos( $key, 'on_woocommerce' ) !== false ) { // WooCommerce Pages. $condition = [ 'target' => 'is_woocommerce', ]; } elseif ( strpos( $key, 'on_shop' ) !== false ) { // WooCommerce Shop Pages. $condition = [ 'target' => 'is_shop', ]; } if ( $condition ) { unset( $targeting_conditions[ $index ] ); $conditions[] = $condition; } } foreach ( get_post_types( [ 'public' => true ], 'objects' ) as $name => $post_type ) { $pt_conditions = self::filter_conditions( $targeting_conditions, '_' . $name ); if ( empty( $pt_conditions ) ) { continue; } if ( in_array( "on_{$name}s", $pt_conditions, true ) && ! in_array( "on_specific_{$name}s", $pt_conditions, true ) ) { $conditions[] = [ 'target' => $name . '_all', ]; continue; } // Remove non ID keys unset( $pt_conditions[ "on_{$name}s" ] ); unset( $pt_conditions[ "on_specific_{$name}s" ] ); $ids = []; // Convert the rest of the keys to post IDs. foreach ( $pt_conditions as $key ) { $id = intval( preg_replace( '/[^0-9]+/', '', $key ), 10 ); if ( $id > 0 ) { $ids[] = $id; } } // Create a new post_type_selected condition with the ids. $conditions[] = [ 'target' => $name . '_selected', 'selected' => $ids, ]; } foreach ( get_taxonomies( [ 'public' => true ], 'objects' ) as $tax_name => $taxonomy ) { $tax_conditions = self::filter_conditions( $targeting_conditions, '_' . $tax_name ); if ( empty( $tax_conditions ) ) { continue; } if ( in_array( "on_{$tax_name}s", $tax_conditions, true ) && ! in_array( "on_specific_{$tax_name}s", $tax_conditions, true ) ) { $conditions[] = [ 'target' => 'tax_' . $tax_name . '_all', ]; continue; } // Remove non ID keys unset( $tax_conditions[ "on_{$tax_name}s" ] ); unset( $tax_conditions[ "on_specific_{$tax_name}s" ] ); $ids = []; // Convert the rest of the keys to post IDs. foreach ( $tax_conditions as $key ) { $id = intval( preg_replace( '/[^0-9]+/', '', $key ), 10 ); if ( $id > 0 ) { $ids[] = $id; } } // Create a new post_type_selected condition with the ids. $conditions[] = [ 'target' => 'tax_' . $tax_name . '_selected', 'selected' => $ids, ]; } return $conditions; } /** * Filters conditions for substrings and removes keys from original array. * * @param $targeting_conditions * @param $str * * @return array */ public static function filter_conditions( &$targeting_conditions, $str ) { $conditions = []; foreach ( $targeting_conditions as $index => $key ) { if ( '_post' === $str && strpos( $key, '_post_tag' ) !== false ) { continue; } if ( strpos( $key, $str ) !== false ) { $key = str_replace( 'exclude_', '', $key ); $conditions[ $key ] = $key; unset( $targeting_conditions[ $index ] ); } } return $conditions; } /** * Change a post status for a specified post_id. * * @param $post_id * @param $status */ public static function change_post_status( $post_id, $status ) { $current_post = get_post( $post_id, 'ARRAY_A' ); $current_post['post_status'] = $status; wp_update_post( $current_post ); } /** * Filters out only inclusionary conditions. * * @param array $conditions * * @return array */ public static function filter_includes( $conditions = [] ) { $includes = []; foreach ( $conditions as $condition => $value ) { if ( strpos( $condition, 'on_' ) === 0 ) { $includes[ $condition ] = $condition; } } return $includes; } /** * Filters out only exclusionary conditions. * * @param array $conditions * * @return array */ public static function filter_excludes( $conditions = [] ) { $excludes = []; foreach ( $conditions as $condition => $value ) { if ( strpos( $condition, 'exclude_on_' ) === 0 ) { $excludes[ $condition ] = $condition; } } return $excludes; } } includes/admin/upgrades/class-pum-admin-upgrade-routine-3.php 0000644 00000012367 15174671772 0020261 0 ustar 00 <?php /** * Upgrade Routine 3 * * @package PUM * @subpackage Admin/Upgrades * @copyright Copyright (c) 2023, Code Atlantic LLC * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License * @since 1.4 */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'PUM_Admin_Upgrade_Routine' ) ) { require_once POPMAKE_DIR . 'includes/admin/upgrades/class-pum-admin-upgrade-routine.php'; } /** * Class PUM_Admin_Upgrade_Routine_3 */ final class PUM_Admin_Upgrade_Routine_3 extends PUM_Admin_Upgrade_Routine { /** * Returns a description. * * @return mixed|void */ public static function description() { return __( 'Upgrade popup triggers & cookies.', 'popup-maker' ); } /** * Upgrade popup triggers & cookies. * * - Convert Auto Open * - Convert Click Open */ public static function run() { if ( ! current_user_can( PUM_Admin_Upgrades::instance()->required_cap ) ) { wp_die( esc_html__( 'You do not have permission to do upgrades', 'popup-maker' ), esc_html__( 'Error', 'popup-maker' ), [ 'response' => 403 ] ); } ignore_user_abort( true ); if ( ! pum_is_func_disabled( 'set_time_limit' ) ) { // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged @set_time_limit( 0 ); } $upgrades = PUM_Admin_Upgrades::instance(); $completed = $upgrades->get_arg( 'completed' ); $total = $upgrades->get_arg( 'total' ); // Set the correct total. if ( $total <= 1 ) { $popups = wp_count_posts( 'popup' ); $total = 0; foreach ( $popups as $status ) { $total += $status; } $upgrades->set_arg( 'total', $total ); } $popups = pum_get_popups( [ 'number' => $upgrades->get_arg( 'number' ), 'page' => $upgrades->get_arg( 'step' ), 'status' => [ 'any', 'trash', 'auto-draft' ], 'order' => 'ASC', ] ); if ( $popups ) { foreach ( $popups as $popup ) { $cookies = []; $_cookies = []; $triggers = []; $_triggers = []; // Convert Click Open Triggers. $click_open = popmake_get_popup_meta_group( 'click_open', $popup->ID ); $_triggers[] = [ 'type' => 'click_open', 'settings' => [ 'extra_selectors' => ! empty( $click_open['extra_selectors'] ) ? $click_open['extra_selectors'] : '', 'cookie' => [ 'name' => null, ], ], ]; // If auto open enabled create a new trigger. $auto_open = popmake_get_popup_meta_group( 'auto_open', $popup->ID ); if ( isset( $auto_open['enabled'] ) && $auto_open['enabled'] ) { // Set the new cookie name. $cookie_name = 'popmake-auto-open-' . $popup->ID; // Append the cookie key if set. if ( ! empty( $auto_open['cookie_key'] ) ) { $cookie_name .= '-' . $auto_open['cookie_key']; } // Store cookie_trigger for reuse. $cookie_trigger = $auto_open['cookie_trigger']; // Create empty trigger cookie in case of disabled trigger. $trigger_cookie = null; // If cookie trigger not disabled create a new cookie and add it to the auto open trigger. if ( 'disabled' !== $cookie_trigger ) { // Add the new cookie to the auto open trigger. $trigger_cookie = [ $cookie_name ]; // Set the event based on the original option. switch ( $cookie_trigger ) { case 'close': $event = 'on_popup_close'; break; case 'open': $event = 'on_popup_close'; break; default: $event = $cookie_trigger; break; } // Add the new cookie to the cookies array. $_cookies[] = [ 'event' => $event, 'settings' => [ 'name' => $cookie_name, 'key' => '', 'time' => $auto_open['cookie_time'], 'path' => isset( $auto_open['cookie_path'] ) ? 1 : 0, 'session' => isset( $auto_open['session_cookie'] ) ? 1 : 0, ], ]; } // Add the new auto open trigger to the triggers array. $_triggers[] = [ 'type' => 'auto_open', 'settings' => [ 'delay' => ! empty( $auto_open['delay'] ) ? absint( $auto_open['delay'] ) : 500, 'cookie' => [ 'name' => $trigger_cookie, ], ], ]; } foreach ( $_cookies as $cookie ) { $cookie['settings'] = PUM_Cookies::instance()->validate_cookie( $cookie['event'], $cookie['settings'] ); $cookies[] = $cookie; } foreach ( $_triggers as $trigger ) { $trigger['settings'] = PUM_Triggers::instance()->validate_trigger( $trigger['type'], $trigger['settings'] ); $triggers[] = $trigger; } update_post_meta( $popup->ID, 'popup_triggers', $triggers ); update_post_meta( $popup->ID, 'popup_cookies', $cookies ); ++$completed; } if ( $completed < $total ) { $upgrades->set_arg( 'completed', $completed ); self::next_step(); } } self::done(); } /** * Returns the auto open meta of a popup. * * @since 1.1.0 * @deprecated 1.4 * * @param int $popup_id ID number of the popup to retrieve a auto open meta for * * @return mixed array|string of the popup auto open meta */ public static function get_auto_open( $popup_id = null, $key = null, $default_value = null ) { return popmake_get_popup_meta( 'auto_open', $popup_id, $key, $default_value ); } } includes/admin/upgrades/class-pum-admin-upgrade-routine.php 0000644 00000004364 15174671772 0020117 0 ustar 00 <?php /** * Upgrade Routine Class * * @package PUM * @subpackage Admin/Upgrades * @copyright Copyright (c) 2023, Code Atlantic LLC * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License * @since 1.4 */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Admin_Upgrade_Routine */ class PUM_Admin_Upgrade_Routine { /** * Describe the upgrade routine. * * @return string */ public static function description() { return ''; } /** * Run the upgrade routine. * * @return void */ public static function run() { } /** * Properly redirects or returns redirect url if DOING_AJAX. * * @param string $redirect */ public static function redirect( $redirect = '' ) { wp_safe_redirect( $redirect ); exit; } /** * Generate the next step ajax response or redirect. */ public static function next_step() { $upgrades = PUM_Admin_Upgrades::instance(); $upgrades->step_up(); if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) { echo wp_json_encode( [ 'status' => sprintf( /* translators: 1: Step number, 2: Approximate number of steps. */ __( 'Step %1$d of approximately %2$d running', 'popup-maker' ), $upgrades->get_arg( 'step' ), $upgrades->get_arg( 'steps' ) ), 'next' => $upgrades->get_args(), ] ); exit; } else { $redirect = add_query_arg( $upgrades->get_args(), admin_url() ); self::redirect( $redirect ); } } public static function done() { $upgrades = PUM_Admin_Upgrades::instance(); delete_option( 'pum_doing_upgrade' ); $upgrades->set_upgrade_complete( $upgrades->current_routine() ); $upgrades->set_pum_db_ver( $upgrades->get_arg( 'pum-upgrade' ) ); $next_routine = $upgrades->next_routine(); if ( $upgrades->has_upgrades() && $next_routine && $upgrades->get_upgrade( $next_routine ) ) { if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) { $upgrades->set_arg( 'step', 1 ); $upgrades->set_arg( 'completed', 0 ); $upgrades->set_arg( 'pum-upgrade', $next_routine ); echo wp_json_encode( [ 'status' => sprintf( '<strong>%s</strong>', $upgrades->get_upgrade( $next_routine ) ), 'next' => $upgrades->get_args(), ] ); exit; } } } } includes/admin/upgrades/class-pum-admin-upgrade-routine-2.php 0000644 00000005117 15174671772 0020253 0 ustar 00 <?php /** * Upgrade Routine 2 * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * @subpackage Admin/Upgrades * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License * @since 1.4 */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'PUM_Admin_Upgrade_Routine' ) ) { require_once POPMAKE_DIR . 'includes/admin/upgrades/class-pum-admin-upgrade-routine.php'; } /** * Class PUM_Admin_Upgrade_Routine_2 */ final class PUM_Admin_Upgrade_Routine_2 extends PUM_Admin_Upgrade_Routine { public static function description() { return __( 'Update your popups settings.', 'popup-maker' ); } public static function run() { if ( ! current_user_can( PUM_Admin_Upgrades::instance()->required_cap ) ) { wp_die( esc_html__( 'You do not have permission to do upgrades', 'popup-maker' ), esc_html__( 'Error', 'popup-maker' ), [ 'response' => 403 ] ); } ignore_user_abort( true ); if ( ! pum_is_func_disabled( 'set_time_limit' ) ) { @set_time_limit( 0 ); // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged } self::process_popups(); self::cleanup_old_data(); } public static function process_popups() { $popups = get_posts( [ 'post_type' => 'popup', 'post_status' => [ 'any', 'trash' ], 'posts_per_page' => - 1, ] ); $popup_groups = [ 'display' => popmake_popup_display_defaults(), 'close' => popmake_popup_close_defaults(), 'click_open' => [], 'auto_open' => [], 'admin_debug' => [], ]; foreach ( $popups as $popup ) { foreach ( $popup_groups as $group => $defaults ) { $values = array_merge( $defaults, popmake_get_popup_meta_group( $group, $popup->ID ) ); update_post_meta( $popup->ID, "popup_{$group}", $values ); } } } public static function cleanup_old_data() { global $wpdb; $popup_groups = [ 'display', 'close', 'click_open', 'auto_open', 'admin_debug', ]; $popup_fields = []; foreach ( $popup_groups as $group ) { foreach ( apply_filters( 'popmake_popup_meta_field_group_' . $group, [] ) as $field ) { $popup_fields[] = 'popup_' . $group . '_' . $field; } } $placeholder = implode( ',', array_fill( 0, count( $popup_fields ), '%s' ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->postmeta WHERE meta_key IN($placeholder);", $popup_fields ) ); } } includes/admin/class-pum-admin-upgrades.php 0000644 00000040703 15174671772 0015002 0 ustar 00 <?php /** * Class for Admin Upgrades * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Upgrades */ class PUM_Admin_Upgrades { /** * @var PUM_Admin_Upgrades The one true PUM_Admin_Upgrades */ private static $instance; /** * @var $upgrade_args */ public $upgrade_args = []; public $page = null; public $doing_upgrades = false; public $required_cap = 'manage_options'; public $current_routine = null; public $next_routine = null; /** * Initialize the actions needed to process upgrades. */ public static function instance() { if ( ! isset( self::$instance ) && ! ( self::$instance instanceof PUM_Admin_Upgrades ) ) { self::$instance = new PUM_Admin_Upgrades(); self::$instance->init(); } return self::$instance; } /** * Initialize the actions needed to process upgrades. */ public function init() { $this->required_cap = apply_filters( 'pum_upgrade_required_cap', 'manage_options' ); // bail if this plugin data doesn't need updating if ( pum_get_db_ver() >= Popup_Maker::$DB_VER ) { return; } add_action( 'admin_menu', [ $this, 'register_pages' ] ); add_action( 'network_admin_menu', [ $this, 'register_pages' ] ); add_action( 'admin_init', [ $this, 'process_upgrade_args' ] ); add_action( 'wp_ajax_pum_trigger_upgrades', [ $this, 'trigger_upgrades' ] ); add_action( 'admin_notices', [ $this, 'show_upgrade_notices' ] ); } /** * Registers the pum-upgrades admin page. */ public function register_pages() { global $pum_upgrades_page; $parent = null; /* REVIEW if ( function_exists( 'is_network_admin' ) && is_network_admin() ) { add_menu_page( __( 'Popup Maker', 'popup-maker' ), __( 'Popup Maker', 'popup-maker' ), 'manage_network_plugins', 'popup-maker', '', pum_get_svg_icon( true ) ); $parent = 'popup-maker'; } */ $this->page = add_submenu_page( $parent, __( 'Popup Maker Upgrades', 'popup-maker' ), __( 'Popup Maker Upgrades', 'popup-maker' ), $this->required_cap, 'pum-upgrades', [ $this, 'upgrades_screen' ] ); $pum_upgrades_page = $this->page; } /** * Process upgrade args. */ public function process_upgrade_args() { // phpcs:disable WordPress.Security.NonceVerification.Recommended $page = isset( $_GET['page'] ) ? sanitize_key( wp_unslash( $_GET['page'] ) ) : ''; if ( ! ( defined( 'DOING_AJAX' ) && DOING_AJAX && isset( $_REQUEST['action'] ) && 'pum_trigger_upgrades' === $_REQUEST['action'] ) && 'pum-upgrades' !== $page ) { return; } $this->doing_upgrades = true; $action = isset( $_REQUEST['pum-upgrade'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['pum-upgrade'] ) ) : $this->get_pum_db_ver() + 1; $step = isset( $_REQUEST['step'] ) ? absint( $_REQUEST['step'] ) : 1; $total = isset( $_REQUEST['total'] ) ? absint( $_REQUEST['total'] ) : false; $custom = isset( $_REQUEST['custom'] ) ? absint( $_REQUEST['custom'] ) : 0; $number = isset( $_REQUEST['number'] ) ? absint( $_REQUEST['number'] ) : 100; $completed = isset( $_REQUEST['completed'] ) ? absint( $_REQUEST['completed'] ) : false; $steps = ceil( $total / $number ); // phpcs:enable WordPress.Security.NonceVerification.Recommended if ( $step > $steps ) { // Prevent a weird case where the estimate was off. Usually only a couple. $steps = $step; } $this->upgrade_args = [ 'page' => 'pum-upgrades', 'pum-upgrade' => $action, 'step' => $step, 'total' => $total, 'custom' => $custom, 'steps' => $steps, 'number' => $number, 'completed' => $completed, ]; update_option( 'pum_doing_upgrade', $this->upgrade_args ); } /** * Get upgrade arg. * * @param string $key */ public function set_arg( $key, $value = null ) { $this->upgrade_args[ $key ] = $value; if ( 'number' === $key || 'total' === $key ) { $this->upgrade_args['steps'] = ceil( $this->upgrade_args['total'] / $this->upgrade_args['number'] ); } if ( $this->upgrade_args['step'] > $this->upgrade_args['steps'] ) { // Prevent a weird case where the estimate was off. Usually only a couple. $this->upgrade_args['steps'] = $this->upgrade_args['step']; } elseif ( $this->upgrade_args['step'] * $this->upgrade_args['steps'] ) { update_option( 'pum_doing_upgrade', $this->upgrade_args ); } } /** * Get upgrade arg. * * @param string $key * * @return bool|null */ public function get_arg( $key = null ) { if ( ! $key ) { return null; } if ( ! isset( $this->upgrade_args[ $key ] ) ) { return false; } return $this->upgrade_args[ $key ]; } public function get_args() { return $this->upgrade_args; } public function doing_upgrades() { return $this->doing_upgrades; } /** * Display Upgrade Notices * * @return void */ public function show_upgrade_notices() { $screen = get_current_screen(); if ( $screen->id === $this->page ) { return; // Don't show notices on the upgrades page } if ( ! $this->has_upgrades() ) { return; } // Sequential Orders was the first stepped upgrade, so check if we have a stalled upgrade $resume_upgrade = $this->maybe_resume_upgrade(); if ( ! empty( $resume_upgrade ) ) { $resume_url = add_query_arg( $resume_upgrade, admin_url( 'index.php' ) ); printf( /* translators: %s: URL to upgrade page. */ '<div class="error"><p>' . esc_html__( 'Popup Maker needs to complete a database upgrade that was previously started, click <a href="%s">here</a> to resume the upgrade.', 'popup-maker' ) . '</p></div>', esc_url( $resume_url ) ); } else { printf( '<div class="error"><p><strong>%s:</strong> <span class="dashicons dashicons-warning" style="color: #dc3232;"></span> %s %s %s</p></div>', esc_html__( 'Popup Maker', 'popup-maker' ), esc_html__( 'Important', 'popup-maker' ), esc_html__( 'Database upgrades required.', 'popup-maker' ), sprintf( /* translators: %1$s: URL to upgrade page. %2$s: closing HTML tag. */ esc_html__( 'Please click %1$shere%2$s to complete these changes now.', 'popup-maker' ), '<a href="' . esc_url( admin_url( 'options.php?page=pum-upgrades' ) ) . '">', '</a>' ) ); } } /** * Triggers all upgrade functions * * This function is usually triggered via AJAX * * @return void */ public function trigger_upgrades() { if ( ! current_user_can( $this->required_cap ) ) { wp_die( esc_html__( 'You do not have permission to do upgrades', 'popup-maker' ), esc_html__( 'Error', 'popup-maker' ), [ 'response' => 403 ] ); } $deprecated_ver = get_site_option( 'popmake_version', false ); $current_ver = get_option( 'pum_ver', $deprecated_ver ); // Save Upgraded From option if ( $current_ver ) { update_option( 'pum_ver_upgraded_from', $current_ver ); } update_option( 'pum_ver', Popup_Maker::$VER ); // Process DB Upgrades $this->process_upgrades(); if ( DOING_AJAX ) { echo wp_json_encode( [ 'complete' => true, 'status' => sprintf( '<strong>%s</strong><br/>%s', __( 'Upgrades have been completed successfully.', 'popup-maker' ), sprintf( 'You will automatically be redirected in %s seconds', '<span id="pum-countdown">5</span>' ) ), 'redirect' => admin_url( 'edit.php?post_type=popup' ), 'countdown' => 5000, ] ); // Let AJAX know that the upgrade is complete exit; } } /** * Updates the pum_db_ver to the passed $version. * * If no $version is passed a default value will be established. * * @param null $version */ public function set_pum_db_ver( $version = null ) { if ( $version ) { $version = preg_replace( '/[^0-9.].*/', '', $version ); update_option( 'pum_db_ver', $version ); return; } $upgraded_from = get_option( 'pum_ver_upgraded_from', false ); // this is the current database schema version number $current_db_ver = pum_get_db_ver(); // If no current db version, but prior install detected, set db version correctly. if ( ! $current_db_ver ) { if ( $upgraded_from ) { if ( version_compare( $upgraded_from, '1.3.0', '<' ) ) { $current_db_ver = 1; } else { $current_db_ver = 2; } } else { $current_db_ver = Popup_Maker::$DB_VER; } add_option( 'pum_db_ver', $current_db_ver ); } } /** * Gets the pum_db_ver or sets and returns the correct one. * * @see PUM_Utils_Upgrades::set_pum_db_ver() * * return $pum_db_ver */ public function get_pum_db_ver() { static $pum_db_ver; if ( ! isset( $pum_db_ver ) ) { // this is the current database schema version number $pum_db_ver = pum_get_db_ver(); } if ( ! $pum_db_ver ) { $this->set_pum_db_ver(); $pum_db_ver = pum_get_db_ver(); } return preg_replace( '/[^0-9.].*/', '', $pum_db_ver ); } /** * Process upgrades in a stepped succession. * * Starts with the current version and loops until reaching the target version. */ public function process_upgrades() { // this is the target version that we need to reach $target_db_ver = Popup_Maker::$DB_VER; // this is the current database schema version number $current_db_ver = $this->get_pum_db_ver(); // Run upgrade routine until target version reached. while ( $current_db_ver < $target_db_ver ) { // increment the current db_ver by one ++$current_db_ver; $this->current_routine = $current_db_ver; $this->next_routine = $current_db_ver === $target_db_ver ? null : $current_db_ver + 1; if ( file_exists( POPMAKE_DIR . "includes/admin/upgrades/class-pum-admin-upgrade-routine-{$current_db_ver}.php" ) ) { require_once POPMAKE_DIR . "includes/admin/upgrades/class-pum-admin-upgrade-routine-{$current_db_ver}.php"; $func = "PUM_Admin_Upgrade_Routine_{$current_db_ver}::run"; if ( is_callable( $func ) ) { call_user_func( $func ); } } } } public function current_routine() { return $this->current_routine; } public function next_routine() { return $this->next_routine; } /** * Process upgrades in a stepped succession. * * Starts with the current version and loops until reaching the target version. */ public function get_upgrades() { // this is the target version that we need to reach $target_db_ver = Popup_Maker::$DB_VER; // this is the current database schema version number $current_db_ver = $this->get_pum_db_ver(); $upgrades = []; // Run upgrade routine until target version reached. while ( $current_db_ver < $target_db_ver ) { // increment the current db_ver by one ++$current_db_ver; if ( file_exists( POPMAKE_DIR . "includes/admin/upgrades/class-pum-admin-upgrade-routine-{$current_db_ver}.php" ) ) { require_once POPMAKE_DIR . "includes/admin/upgrades/class-pum-admin-upgrade-routine-{$current_db_ver}.php"; $func = "PUM_Admin_Upgrade_Routine_{$current_db_ver}::description"; if ( is_callable( $func ) ) { $upgrades[ $current_db_ver ] = call_user_func( $func ); } } } return $upgrades; } public function get_upgrade( $version = null ) { $upgrades = $this->get_upgrades(); if ( isset( $upgrades[ $version ] ) ) { return $upgrades[ $version ]; } else { return false; } } /** * Returns true if there are unprocessed upgrades. * * @return bool */ public function has_upgrades() { return boolval( count( $this->get_upgrades() ) ); } /** * For use when doing 'stepped' upgrade routines, to see if we need to start somewhere in the middle * * @return mixed When nothing to resume returns false, otherwise starts the upgrade where it left off */ public function maybe_resume_upgrade() { $doing_upgrade = get_option( 'pum_doing_upgrade', false ); if ( empty( $doing_upgrade ) ) { return false; } return $doing_upgrade; } /** * Adds an upgrade action to the completed upgrades array * * @param string $upgrade_action The action to add to the competed upgrades array * * @return bool If the function was successfully added */ public function set_upgrade_complete( $upgrade_action = '' ) { if ( empty( $upgrade_action ) ) { return false; } $completed_upgrades = $this->get_completed_upgrades(); $completed_upgrades[] = $upgrade_action; // Remove any blanks, and only show uniques $completed_upgrades = array_unique( array_values( $completed_upgrades ) ); return update_option( 'pum_completed_upgrades', $completed_upgrades ); } /** * Check if the upgrade routine has been run for a specific action * * @param string $upgrade_action The upgrade action to check completion for * * @return bool If the action has been added to the copmleted actions array */ public function has_upgrade_completed( $upgrade_action = '' ) { if ( empty( $upgrade_action ) ) { return false; } $completed_upgrades = $this->get_completed_upgrades(); return in_array( $upgrade_action, $completed_upgrades, true ); } /** * Get's the array of completed upgrade actions * * @return array The array of completed upgrades */ public function get_completed_upgrades() { $completed_upgrades = get_option( 'pum_completed_upgrades' ); if ( false === $completed_upgrades ) { $completed_upgrades = []; } return $completed_upgrades; } public function step_up() { $step = $this->upgrade_args['step']; if ( $step >= $this->upgrade_args['steps'] ) { $this->upgrade_args['step'] = $this->upgrade_args['steps']; return false; } ++$this->upgrade_args['step']; return true; } /** * Renders the upgrades screen. */ public function upgrades_screen() { ?> <div class="wrap"> <h2> <?php esc_html_e( 'Popup Maker - Upgrades', 'popup-maker' ); ?> <img src="<?php echo esc_attr( POPMAKE_URL . '/assets/images/admin/loading.gif' ); ?>" id="pum-upgrade-loader"/> </h2> <style> #pum-upgrade-status { max-height: 300px; background: #fff; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .5); overflow-y: scroll; text-overflow: ellipsis; padding: 0 1.5em; } </style> <p> <?php esc_html_e( 'The upgrade process has started, please be patient. This could take several minutes. You will be automatically redirected when the upgrade is finished.', 'popup-maker' ); ?> </p> <div id="pum-upgrade-status"></div> <script type="text/javascript"> (function ($, document, undefined) { var $loader = $('#pum-upgrade-loader').hide(), $status_box = $('#pum-upgrade-status'), $timer, timer = 500; function update_status(message) { $('<p>') .html(message) .appendTo($status_box); $status_box.animate({ scrollTop: $status_box.get(0).scrollHeight }, { duration: 'slow', queue: false }); } function countdown(timer, callback) { var time_left = timer - 1000; if (time_left >= 0) { setTimeout(function () { $timer.text(time_left / 1000); countdown(time_left, callback); }, 1000); } else { callback(); } } function next_step(args) { $loader.show(); if (args === undefined) { args = {}; } $.ajax({ url: ajaxurl, data: $.extend({action: 'pum_trigger_upgrades'}, args), type: 'GET', dataType: 'json' }) .done(function (response) { if (response.status !== undefined) { update_status(response.status); } if (response.complete !== undefined) { $loader.hide(); } else if (response.next !== undefined && typeof response.next === 'object') { next_step(response.next); } if (response.redirect !== undefined) { if (response.countdown === undefined) { setTimeout(function () { document.location.href = response.redirect; }, timer); } else { $timer = $('#pum-countdown'); countdown(response.countdown, function () { document.location.href = response.redirect; }); } } }) .fail(function () { update_status("<?php esc_attr_e( 'Upgrade failed, please try again.', 'popup-maker' ); ?>"); }); } $(document).ready(function () { // Trigger upgrades on page load next_step(<?php echo wp_json_encode( $this->get_args() ); ?>); update_status('<?php printf( '<strong>%s</strong>', esc_html( $this->get_upgrade( $this->get_arg( 'pum-upgrade' ) ) ) ); ?>'); }); }(jQuery, document)); </script> </div> <?php } } PUM_Admin_Upgrades::instance(); includes/extension-list.json 0000644 00000022724 15174671772 0012262 0 ustar 00 [ { "new_version": "1.0.0", "name": "EDD Pro", "slug": "edd-pro", "url": "https://wppopupmaker.com/extensions/edd-pro/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/edd-pro/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2020/11/edd-featured-image.png", "excerpt": "Running an Easy Digital Downloads store? Use this extension to create upsell popups, cross-sell popups, and more!" }, { "new_version": "1.0.0", "name": "Geotargeting", "slug": "geotargeting", "url": "https://wppopupmaker.com/extensions/geotargeting/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/geotargeting/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2020/09/geotargeting-featured-image-template.png", "excerpt": "Target countries, regions, and postal codes with new geotargeting conditions." }, { "new_version": "1.0.0", "name": "WooCommerce Pro", "slug": "woocommerce-pro", "url": "https://wppopupmaker.com/extensions/woocommerce-pro/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/woocommerce-pro/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/2017/03/core-bundle.jpg", "excerpt": "Take your WooCommerce store's performance to the next level by creating upsell and cross-sell popups and more with our advanced conditions and triggers." }, { "new_version": "1.1.0", "name": "Exit Intent Popups", "slug": "exit-intent-popups", "url": "https://wppopupmaker.com/extensions/exit-intent-popups/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/exit-intent-popups/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2015/04/Exit-Intent-Popups.png", "excerpt": "Easily turn abandoning users into cash! Exit Intent opens a popup when users attempt to leave your site." }, { "new_version": "1.1.2", "name": "Popup Analytics", "slug": "popup-analytics", "url": "https://wppopupmaker.com/extensions/popup-analytics/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/popup-analytics/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2015/04/Popup-Analytics.png", "excerpt": "Create high performance popups with Analytics - get up-to-the-minute statistical information on impressions, conversions, and more." }, { "new_version": "1.0.2", "name": "Advanced Theme Builder", "slug": "advanced-theme-builder", "url": "https://wppopupmaker.com/extensions/advanced-theme-builder/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/advanced-theme-builder/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2015/04/Advanced-Theme-Builder.png", "excerpt": "Build more powerful and influential themes for your popups - this extension allows you to add background images to different elements of your popup." }, { "new_version": "1.1.0", "name": "Age Verification Modals", "slug": "age-verification-modals", "url": "https://wppopupmaker.com/extensions/age-verification-modals/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/age-verification-modals/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2015/04/Age-Verification-Modals.png", "excerpt": "Streamline and enhance your user experience, and protect your content from unqualified users using the Age Verification Modals Extension." }, { "new_version": "1.1.2", "name": "Scroll Triggered Popups", "slug": "scroll-triggered-popups", "url": "https://wppopupmaker.com/extensions/scroll-triggered-popups/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/scroll-triggered-popups/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2015/04/Scroll-Triggered-Popups.png", "excerpt": "Use this extension and market your valuable content as users scroll down your pages - great for increasing revenue and funneling users throughout your site." }, { "new_version": "1.1.3", "name": "AJAX Login Modals", "slug": "ajax-login-modals", "url": "https://wppopupmaker.com/extensions/ajax-login-modals/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/ajax-login-modals/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2015/04/AJAX-Login-Modals.png", "excerpt": "Use this Extension in a variety of ways and streamline and enhance your user experience. Great for protecting content or preventing access without logging in on your site." }, { "new_version": "1.0.1", "name": "Forced Interaction", "slug": "forced-interaction", "url": "https://wppopupmaker.com/extensions/forced-interaction/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/forced-interaction/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2015/04/Forced-Interaction.png", "excerpt": "Disabling the close button can be used in a variety of ways, from protecting content or areas of your site to forcing users to complete an action before continuing." }, { "new_version": "1.0.2", "name": "Secure Idle User Logout", "slug": "secure-idle-user-logout", "url": "https://wppopupmaker.com/extensions/secure-idle-user-logout/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/secure-idle-user-logout/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2015/04/Secure-Idle-User-Logout.png", "excerpt": "Use this extension to securely log users out once they have entered an idle state. Display a warning and automatically logout if they don't respond." }, { "new_version": "1.0.1", "name": "Advanced Targeting Conditions", "slug": "advanced-targeting-conditions", "url": "https://wppopupmaker.com/extensions/advanced-targeting-conditions/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/advanced-targeting-conditions/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2015/04/Advanced-Targeting-Conditions.png", "excerpt": "Target specific sets of your users with new conditions such as Mobile Detection, User Roles & Login Checks, Users from Google, custom conditions & more." }, { "new_version": "1.0.4", "name": "Terms & Conditions Popups", "slug": "terms-conditions-popups", "url": "https://wppopupmaker.com/extensions/terms-conditions-popups/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/terms-conditions-popups/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2015/05/Terms-Conditions-Popups.png", "excerpt": "Require users to agree to your terms & conditions before viewing pages, clicking buttons & more. Great for forcing agreement prior to clicking add to cart." }, { "new_version": "1.0.0", "name": "Remote Content", "slug": "remote-content", "url": "https://wppopupmaker.com/extensions/remote-content/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/remote-content/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2015/08/Remote-Content.png", "excerpt": "Managing dozens of popups? Replace them all with a dynamic solution. Convert a list of links into popups in no time. Creating single page apps is a breeze." }, { "new_version": "1.1.0", "name": "MailChimp Integration", "slug": "mailchimp-integration", "url": "https://wppopupmaker.com/extensions/mailchimp-integration/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/mailchimp-integration/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2015/11/Mailchimp-Integration-logo.png", "excerpt": "With this extension, you can now easily and quickly add a sign up form to your popups to add users to your mailing list in MailChimp." }, { "new_version": "1.0.0", "name": "Aweber Integration", "slug": "aweber-integration", "url": "https://wppopupmaker.com/extensions/aweber-integration/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/aweber-integration/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2015/12/Aweber-Integration.png", "excerpt": "With this extension, you can now easily and quickly add a sign up form to your popups to add users to your mailing list in Aweber." }, { "new_version": "1.1.0", "name": "Scheduling", "slug": "scheduling", "url": "https://wppopupmaker.com/extensions/scheduling/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/scheduling/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2016/12/scheduling.png", "excerpt": "Add scheduling options to your popups. With multiple schedule types, you can precisely schedule your popups in just a few minutes." }, { "new_version": "1.0.0", "name": "Videos", "slug": "videos", "url": "https://wppopupmaker.com/extensions/videos/?changelog=1", "homepage": "https://wppopupmaker.com/extensions/videos/", "package": "", "download_link": "", "image": "https://wppopupmaker.com/wp-content/uploads/edd/2017/03/video-popups.jpg", "excerpt": "Create the ultimate WordPress Video Popup for your marketing videos in minutes - customize your player, control video play/pause commands, and much more." } ] includes/functions/themes/deprecated.php 0000644 00000027652 15174671772 0014515 0 ustar 00 <?php /** * Functions for Deprecated Themes * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * @deprecated 1.8.0 use pum_get_theme_generated_styles * * @param int $popup_theme_id * * @return array */ function popmake_generate_theme_styles( $popup_theme_id = 0 ) { return pum_get_theme_generated_styles( $popup_theme_id ); } // TODO LEFT OFF HERE // REFACTOR v1 meta getter & defaults. // CONTINUE PURGING CODE. /** * Fetches theme meta group data from v1 data format. * * @deprecated 1.1.0 * @since 1.8.0 * * @param $group * @param null $popup_theme_id * @param null $key * @param null $default_value * * @return mixed */ function pum_get_theme_v1_meta( $group, $popup_theme_id = null, $key = null, $default_value = null ) { if ( ! $popup_theme_id ) { $popup_theme_id = get_the_ID(); } $post_meta = get_post_custom( $popup_theme_id ); if ( ! is_array( $post_meta ) ) { $post_meta = []; } $default_check_key = 'popup_theme_defaults_set'; if ( ! in_array( $group, [ 'overlay', 'close', 'display', 'targeting_condition' ], true ) ) { $default_check_key = "popup_{$group}_defaults_set"; } $group_values = array_key_exists( $default_check_key, $post_meta ) ? [] : apply_filters( "popmake_popup_theme_{$group}_defaults", [] ); foreach ( $post_meta as $meta_key => $value ) { if ( strpos( $meta_key, "popup_theme_{$group}_" ) !== false ) { $new_key = str_replace( "popup_theme_{$group}_", '', $meta_key ); if ( count( $value ) === 1 ) { $group_values[ $new_key ] = $value[0]; } else { $group_values[ $new_key ] = $value; } } } if ( $key ) { $key = str_replace( '.', '_', $key ); if ( ! isset( $group_values[ $key ] ) ) { $value = $default_value; } else { $value = $group_values[ $key ]; } return apply_filters( "popmake_get_popup_theme_{$group}_$key", $value, $popup_theme_id ); } else { return apply_filters( "popmake_get_popup_theme_{$group}", $group_values, $popup_theme_id ); } } /** * Get theme meta defaults from data model 2. * * @since 1.8.0 * * @param null|string $group * * @return array|bool|mixed */ function pum_get_theme_v2_meta_defaults( $group = null ) { $defaults = [ 'overlay' => [ 'background_color' => '#ffffff', 'background_opacity' => 100, ], 'container' => [ 'padding' => 18, 'background_color' => '#f9f9f9', 'background_opacity' => 100, 'border_style' => 'none', 'border_color' => '#000000', 'border_width' => 1, 'border_radius' => 0, 'boxshadow_inset' => 'no', 'boxshadow_horizontal' => 1, 'boxshadow_vertical' => 1, 'boxshadow_blur' => 3, 'boxshadow_spread' => 0, 'boxshadow_color' => '#020202', 'boxshadow_opacity' => 23, ], 'title' => [ 'font_color' => '#000000', 'line_height' => 36, 'font_size' => 32, 'font_family' => 'inherit', 'font_weight' => 'inherit', 'font_style' => 'normal', 'text_align' => 'left', 'textshadow_horizontal' => 0, 'textshadow_vertical' => 0, 'textshadow_blur' => 0, 'textshadow_color' => '#020202', 'textshadow_opacity' => 23, ], 'content' => [ 'font_color' => '#8c8c8c', 'font_family' => 'inherit', 'font_weight' => 'inherit', 'font_style' => 'normal', ], 'close' => [ 'text' => __( 'CLOSE', 'popup-maker' ), 'location' => 'topright', 'position_top' => 0, 'position_left' => 0, 'position_bottom' => 0, 'position_right' => 0, 'padding' => 8, 'height' => 0, 'width' => 0, 'background_color' => '#00b7cd', 'background_opacity' => 100, 'font_color' => '#ffffff', 'line_height' => 14, 'font_size' => 12, 'font_family' => 'inherit', 'font_weight' => 'inherit', 'font_style' => 'normal', 'border_style' => 'none', 'border_color' => '#ffffff', 'border_width' => 1, 'border_radius' => 0, 'boxshadow_inset' => 'no', 'boxshadow_horizontal' => 0, 'boxshadow_vertical' => 0, 'boxshadow_blur' => 0, 'boxshadow_spread' => 0, 'boxshadow_color' => '#020202', 'boxshadow_opacity' => 23, 'textshadow_horizontal' => 0, 'textshadow_vertical' => 0, 'textshadow_blur' => 0, 'textshadow_color' => '#000000', 'textshadow_opacity' => 23, ], ]; // Here for backward compatibility with extensions. foreach ( $defaults as $key => $values ) { $defaults[ $key ] = apply_filters( "popmake_popup_theme_{$key}_defaults", $values ); } return isset( $group ) ? ( isset( $defaults[ $group ] ) ? $defaults[ $group ] : false ) : $defaults; } /** * Fetch themes v2 meta as a single array. * * @param null|int $theme_id * * @return array|bool */ function pum_get_theme_v2_meta( $theme_id = null ) { $theme = pum_get_theme( $theme_id ); if ( ! pum_is_theme( $theme ) ) { return false; } $defaults = pum_get_theme_v2_meta_defaults(); $values = [ 'overlay' => $theme->get_meta( 'popup_theme_overlay' ), 'container' => $theme->get_meta( 'popup_theme_container' ), 'title' => $theme->get_meta( 'popup_theme_title' ), 'content' => $theme->get_meta( 'popup_theme_content' ), 'close' => $theme->get_meta( 'popup_theme_close' ), ]; foreach ( array_keys( $values ) as $array_key ) { $values[ $array_key ] = wp_parse_args( $values[ $array_key ], $defaults[ $array_key ] ); } return $values; } /** * Fetches theme meta group data from v2 data format. * * @deprecated 1.3.0 * @since 1.8.0 * * @param string $meta_group * @param null|int $theme_id * @param null|string $option_key * @param null|mixed $default_value * * @return mixed */ function pum_get_theme_v2_meta_group( $meta_group, $theme_id = null, $option_key = null, $default_value = null ) { $theme_meta = pum_get_theme_v2_meta( $theme_id ); if ( ! $theme_meta ) { return false; } $group_meta = ! empty( $theme_meta[ $meta_group ] ) ? $theme_meta[ $meta_group ] : false; if ( ! $group_meta ) { return $default_value; } if ( isset( $option_key ) ) { $value = isset( $group_meta[ $option_key ] ) ? $group_meta[ $option_key ] : $default_value; return apply_filters( "popmake_get_popup_theme_{$meta_group}_$option_key", $value, $theme_id ); } else { return apply_filters( "popmake_get_popup_theme_{$meta_group}", $group_meta, $theme_id ); } } /** * Returns the overlay meta of a theme. * * @since 1.0 * @deprecated 1.8.0 * @remove 2.0.0 * * @param int $popup_theme_id ID number of the popup to retrieve a overlay meta for * * @param null $key * @param null $default_value * * @return mixed array|string of the popup overlay meta */ function popmake_get_popup_theme_overlay( $popup_theme_id = null, $key = null, $default_value = null ) { return pum_get_theme_v2_meta_group( 'overlay', $popup_theme_id, $key, $default_value ); } /** * Returns the container meta of a theme. * * @since 1.0 * @deprecated 1.8.0 * @remove 2.0.0 * * @param int $popup_theme_id ID number of the popup to retrieve a container meta for * * @param null $key * @param null $default_value * * @return mixed array|string of the popup container meta */ function popmake_get_popup_theme_container( $popup_theme_id = null, $key = null, $default_value = null ) { return pum_get_theme_v2_meta_group( 'container', $popup_theme_id, $key, $default_value ); } /** * Returns the title meta of a theme. * * @since 1.0 * @deprecated 1.8.0 * @remove 2.0.0 * * @param int $popup_theme_id ID number of the popup to retrieve a title meta for * @param null $key * @param null $default_value * * @return mixed array|string of the popup title meta */ function popmake_get_popup_theme_title( $popup_theme_id = null, $key = null, $default_value = null ) { return pum_get_theme_v2_meta_group( 'title', $popup_theme_id, $key, $default_value ); } /** * Returns the content meta of a theme. * * @since 1.0 * @deprecated 1.8.0 * @remove 2.0.0 * * @param int $popup_theme_id ID number of the popup to retrieve a content meta for * * @param null $key * @param null $default_value * * @return mixed array|string of the popup content meta */ function popmake_get_popup_theme_content( $popup_theme_id = null, $key = null, $default_value = null ) { return pum_get_theme_v2_meta_group( 'content', $popup_theme_id, $key, $default_value ); } /** * Returns the close meta of a theme. * * @since 1.0 * @deprecated 1.8.0 * @remove 2.0.0 * * @param int $popup_theme_id ID number of the popup to retrieve a close meta for * * @param null $key * @param null $default_value * * @return mixed array|string of the popup close meta */ function popmake_get_popup_theme_close( $popup_theme_id = null, $key = null, $default_value = null ) { return pum_get_theme_v2_meta_group( 'close', $popup_theme_id, $key, $default_value ); } /**\ * * @deprecated 1.8.0 * * @param int $theme_id * * @return mixed */ function popmake_get_popup_theme_data_attr( $theme_id = 0 ) { $data_attr = pum_get_theme_v2_meta( $theme_id ); return apply_filters( 'popmake_get_popup_theme_data_attr', $data_attr, $theme_id ); } /** * @deprecated 1.8.0 Do not use! * @remove 1.9.0 * * @return mixed */ function popmake_get_popup_themes_data() { $themes = pum_get_all_themes(); $popmake_themes = []; foreach ( $themes as $theme ) { $popmake_themes[ $theme->ID ] = popmake_get_popup_theme_data_attr( $theme->ID ); } wp_reset_postdata(); return apply_filters( 'popmake_get_popup_themes_data', $popmake_themes ); } /** * Returns the meta group of a theme or value if key is set. * * @since 1.0 * @deprecated 1.3.0 * @remove 2.0.0 * * @param $group * @param int $popup_theme_id ID number of the popup to retrieve a overlay meta for * @param null $key * @param null $default_value * * @return mixed array|string of the popup overlay meta */ function popmake_get_popup_theme_meta_group( $group, $popup_theme_id = null, $key = null, $default_value = null ) { return pum_get_theme_v1_meta( $group, $popup_theme_id, $key, $default_value ); } /** * Fetches theme meta group data from v2 data format. * * @since 1.3.0 * @deprecated 1.7.0 * @remove 2.0.0 * * @param $group * @param null $popup_theme_id * @param null $key * @param null $default_value * * @return mixed */ function popmake_get_popup_theme_meta( $group, $popup_theme_id = null, $key = null, $default_value = null ) { return pum_get_theme_v2_meta_group( $group, $popup_theme_id, $key, $default_value ); } /** * @deprecated 1.3.0 * @remove 2.0.0 * * @return array|bool|mixed */ function popmake_popup_theme_overlay_defaults() { return pum_get_theme_v2_meta_defaults( 'overlay' ); } /** * @deprecated 1.3.0 * @remove 2.0.0 * * @return array|bool|mixed */ function popmake_popup_theme_container_defaults() { return pum_get_theme_v2_meta_defaults( 'container' ); } /** * @deprecated 1.3.0 * @remove 2.0.0 * * @return array|bool|mixed */ function popmake_popup_theme_title_defaults() { return pum_get_theme_v2_meta_defaults( 'title' ); } /** * @deprecated 1.3.0 * @remove 2.0.0 * * @return array|bool|mixed */ function popmake_popup_theme_content_defaults() { return pum_get_theme_v2_meta_defaults( 'content' ); } /** * @deprecated 1.3.0 * @remove 2.0.0 * * @return array|bool|mixed */ function popmake_popup_theme_close_defaults() { return pum_get_theme_v2_meta_defaults( 'close' ); } /** * @deprecated 1.8.0 * * @return \PUM_Model_Theme[] */ function popmake_get_all_popup_themes() { return pum_get_all_themes(); } /** * @deprecated 1.8.0 * * @return false|int */ function popmake_get_default_popup_theme() { return pum_get_default_theme_id(); } includes/functions/themes/getters.php 0000644 00000001606 15174671772 0014061 0 ustar 00 <?php /** * Functions for Theme Getters * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * Return the theme id. * * @param int $theme_id * * @return int */ function pum_get_theme_id( $theme_id = 0 ) { if ( ! empty( $theme_id ) && is_numeric( $theme_id ) ) { $_theme_id = $theme_id; } elseif ( is_object( pum()->current_theme ) && is_numeric( pum()->current_theme->ID ) ) { $_theme_id = pum()->current_theme->ID; } else { $_theme_id = 0; } return (int) apply_filters( 'pum_get_theme_id', (int) $_theme_id, $theme_id ); } /** * @param int $theme_id * * @return array */ function pum_get_theme_generated_styles( $theme_id = 0 ) { $theme = pum_get_theme( $theme_id ); if ( ! pum_is_theme_object( $theme ) ) { return []; } return $theme->get_generated_styles(); } includes/functions/themes/portability.php 0000644 00000003417 15174671772 0014750 0 ustar 00 <?php /** * Functions for Theme Portability * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ /** * @param $name * @param array|null $settings * @param array $extra_meta * * @return int|\WP_Error */ function pum_install_theme( $name, $settings = null, $extra_meta = [] ) { if ( ! isset( $settings ) ) { $settings = PUM_Admin_Themes::defaults(); } // Ignored as this occurs during install and can be done siliently later if it fails. Defaulting to passive error handling. // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged $new_theme_id = @wp_insert_post( [ 'post_title' => $name, 'post_author' => get_current_user_id(), 'post_status' => 'publish', 'post_type' => 'popup_theme', 'comment_status' => 'closed', 'meta_input' => array_merge( (array) $extra_meta, [ 'popup_theme_settings' => $settings, ] ), ] ); pum_reset_assets(); return $new_theme_id; } /** * @param $hash * * @return mixed */ function pum_import_theme_from_repo( $hash ) { $theme_data = [ 'name' => __( 'Imported Theme', 'popup-maker' ), 'settings' => PUM_Admin_Themes::defaults(), 'original_author' => 'Daniel', ]; return pum_install_theme( $theme_data['name'], $theme_data['settings'], [ '_pum_theme_repo_hash' => $hash, '_pum_theme_repo_author' => $theme_data['original_author'], ] ); } /** * Installs a default theme and returns the new theme ID. * * @since 1.8.0 * * @return int|\WP_Error */ function pum_install_default_theme() { return pum_install_theme( __( 'Default Theme', 'popup-maker' ), null, [ '_pum_built_in' => 'default-theme', '_pum_default_theme' => true, 'popup_theme_data_version' => 3, ] ); } includes/functions/themes/queries.php 0000644 00000002365 15174671772 0014064 0 ustar 00 <?php /** * Functions for Theme Queries * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * Get a theme model instance. * * @param int $theme_id * * @return PUM_Model_Theme */ function pum_get_theme( $theme_id = 0 ) { if ( ! $theme_id ) { $theme_id = pum_get_theme_id(); } try { return pum()->themes->get_item( $theme_id ); } catch ( InvalidArgumentException $e ) { // Return empty object return new PUM_Model_Theme( $theme_id ); } } /** * Queries themes and returns them in a specific format. * * @param array $args * * @return PUM_Model_Theme[] */ function pum_get_themes( $args = [] ) { return pum()->themes->get_items( $args ); } /** * Queries themes and returns them in a specific format. * * @param array $args * * @return PUM_Model_Theme[] */ function pum_get_all_themes( $args = [] ) { $args['posts_per_page'] = -1; return pum_get_themes( $args ); } /** * Gets a count themes with specified args. * * @param array $args * * @return int */ function pum_count_themes( $args = [] ) { $args = wp_parse_args( $args, [ 'post_status' => 'publish', ] ); return pum()->themes->count_items( $args ); } includes/functions/themes/template.php 0000644 00000004433 15174671772 0014220 0 ustar 00 <?php /** * Functions for Themes Template * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * @param $theme_id * * @return string */ function pum_get_rendered_theme_styles( $theme_id ) { $styles = ''; $theme = pum_get_theme( $theme_id ); if ( ! pum_is_theme( $theme ) ) { return ''; } $slug = $theme->post_name; $theme_styles = $theme->get_generated_styles(); if ( empty( $theme_styles ) ) { return $styles; } foreach ( $theme_styles as $element => $element_rules ) { switch ( $element ) { case 'overlay': $css_selector = ".pum-theme-{$theme_id}"; if ( $slug ) { $css_selector .= ", .pum-theme-{$slug}"; } break; case 'container': $css_selector = ".pum-theme-{$theme_id} .pum-container"; if ( $slug ) { $css_selector .= ", .pum-theme-{$slug} .pum-container"; } break; case 'close': $css_selector = ".pum-theme-{$theme_id} .pum-content + .pum-close"; $admin_bar_selector = "body.admin-bar .pum-theme-{$theme_id} .pum-content + .pum-close"; if ( $slug ) { $css_selector .= ", .pum-theme-{$slug} .pum-content + .pum-close"; $admin_bar_selector .= ", body.admin-bar .pum-theme-{$slug} .pum-content + .pum-close"; } break; default: $css_selector = ".pum-theme-{$theme_id} .pum-{$element}"; if ( $slug ) { $css_selector .= ", .pum-theme-{$slug} .pum-{$element}"; } break; } $css_selector = apply_filters( 'pum_theme_css_selector', $css_selector, $theme_id, $element, $slug ); $sep = ''; $rule_set = ''; foreach ( $element_rules as $property => $value ) { if ( ! empty( $value ) ) { $rule_set .= $sep . $property . ': ' . $value; $sep = '; '; } } $styles .= "$css_selector { $rule_set } \r\n"; if ( 'close' === $element && ! empty( $admin_bar_selector ) && $theme->get_setting( 'close_position_outside' ) && strpos( $theme->get_setting( 'close_location' ), 'top' ) !== false ) { $top = ! empty( $element_rules['top'] ) ? (int) str_replace( 'px', '', $element_rules['top'] ) : 0; // Move it down to compensate for admin bar height. $top += 32; $styles .= "$admin_bar_selector { top: {$top}px }"; } } return $styles; } includes/functions/themes/conditionals.php 0000644 00000001172 15174671772 0015070 0 ustar 00 <?php /** * Functions for Theme Conditionals * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * Checks if the $theme is valid. * * @param mixed|PUM_Model_Theme $theme * * @return bool */ function pum_is_theme( $theme ) { return is_object( $theme ) && is_numeric( $theme->ID ) && $theme->is_valid(); } /** * Tests a given value to see if its a valid Theme model. * * @param mixed|PUM_Model_Theme $theme * * @return bool */ function pum_is_theme_object( $theme ) { return is_a( $theme, 'PUM_Model_Theme' ); } includes/functions/themes/migrations.php 0000644 00000007062 15174671772 0014562 0 ustar 00 <?php /** * Functions for Theme Migrations * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ /** * Checks if passive migration for popups should be enabled. * * This determines if the query load may be potentially too high to run passive migrations on live servers. * * @return bool */ function pum_passive_theme_upgrades_enabled() { /** @var int $theme_count */ static $theme_count; if ( defined( 'PUM_DISABLE_PASSIVE_UPGRADES' ) && PUM_DISABLE_PASSIVE_UPGRADES ) { return false; } if ( ! $theme_count ) { $theme_count = get_transient( 'pum_theme_count' ); if ( false === $theme_count ) { $theme_count = pum_count_themes( [ 'post_status' => [ 'publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', 'trash' ], ] ); set_transient( 'pum_theme_count', $theme_count, MINUTE_IN_SECONDS ); } } return pum_is_popup_theme_editor() || $theme_count <= apply_filters( 'pum_passive_themes_enabled_max_count', 10 ); } /** * Upgrade popup data to model v2. * * @since 1.8.0 * * @param PUM_Model_Theme $theme */ function pum_theme_migration_1( &$theme ) { $delete_meta = [ 'popup_theme_defaults_set' ]; // Used to merge with existing values to ensure data integrity. $meta_defaults = pum_get_theme_v2_meta_defaults(); foreach ( array_keys( $meta_defaults ) as $group ) { // Get old data. $v1_meta_values = pum_get_theme_v1_meta( $group, $theme->ID ); // Loop over all fields which were merged and mark their meta keys for deletion. foreach ( $v1_meta_values as $old_meta_key => $old_meta_value ) { $delete_meta[] = "popup_theme_{$group}_{$old_meta_key}"; } $existing_v2_meta = $theme->get_meta( "popup_theme_{$group}" ); if ( ! empty( $existing_v2_meta ) ) { continue; } // Merge defaults. $values = wp_parse_args( $v1_meta_values, $meta_defaults[ $group ] ); // Update meta storage. $theme->update_meta( "popup_theme_{$group}", $values ); } /** * Clean up automatically. */ pum_cleanup_post_meta_keys( $theme->ID, $delete_meta ); } add_action( 'pum_theme_passive_migration_1', 'pum_theme_migration_1' ); /** * Upgrade popup data to model v3. * * @since 1.8.0 * * @param PUM_Model_Theme $theme */ function pum_theme_migration_2( &$theme ) { $changed = false; $delete_meta = []; $settings = $theme->get_settings(); $old_meta_elements = [ 'overlay', 'container', 'title', 'content', 'close', ]; foreach ( $old_meta_elements as $element ) { $meta_key = 'popup_theme_' . $element; /** * Migrate popup_theme_overlay meta data. */ $element_data = $theme->get_meta( $meta_key ); if ( ! empty( $element_data ) && is_array( $element_data ) ) { $keys = $theme->remapped_meta_settings_keys( $element ); // Foreach old key, save the value under popup settings for the new key. foreach ( $keys as $old_key => $new_key ) { if ( isset( $element_data[ $old_key ] ) ) { $settings[ $new_key ] = $element_data[ $old_key ]; $changed = true; unset( $element_data[ $old_key ] ); } } if ( empty( $element_data ) ) { $delete_meta[] = $meta_key; } else { // Update the saved popup display data with any remaining keys from extensions. $theme->update_meta( $meta_key, $element_data ); } } } /** * Save only if something changed. */ if ( $changed ) { $theme->update_meta( 'popup_theme_settings', $settings ); } /** * Clean up automatically. */ pum_cleanup_post_meta_keys( $theme->ID, $delete_meta ); } add_action( 'pum_theme_passive_migration_2', 'pum_theme_migration_2' ); includes/functions/general.php 0000644 00000014655 15174671772 0012544 0 ustar 00 <?php /** * General functions * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Get the current blog db_ver. * * @return mixed */ function pum_get_db_ver() { return get_option( 'pum_db_ver', false ); } /** * Returns the default theme_id from global settings. * * Returns false if none set. * * @since 1.8.0 * * @return int|false */ function pum_get_default_theme_id() { $default_theme_id = pum_get_option( 'default_theme_id' ); if ( false === $default_theme_id ) { $default_theme_id = get_option( 'popmake_default_theme' ); if ( false === $default_theme_id ) { $default_theme_id = pum_install_default_theme(); if ( pum_update_option( 'default_theme_id', $default_theme_id ) ) { // Self cleanup old version. delete_option( 'popmake_default_theme' ); } } } return absint( $default_theme_id ); } /** * Gets the cache close_text of a theme from wp_options to prevent un-needed queries on the front end. * * @since 1.8.0 * * @param int $theme_id * * @return string */ function pum_get_theme_close_text( $theme_id = 0 ) { $close_texts = pum_get_all_themes_close_text(); return isset( $close_texts[ $theme_id ] ) ? $close_texts[ $theme_id ] : ''; } /** * Gets the cache of theme close text from wp_options to prevent un-needed queries on the front end. * * @since 1.8.0 * * @return array|mixed */ function pum_get_all_themes_close_text() { $all_themes_close_text = get_option( 'pum_all_theme_close_text_cache' ); if ( false === $all_themes_close_text ) { $all_themes_close_text = pum_update_all_themes_close_text_cache(); } return $all_themes_close_text; } /** * Updates the cache of theme close text to prevent un-needed queries on the front end. * * @since 1.8.0 * * @return array */ function pum_update_all_themes_close_text_cache() { $all_themes_close_text = []; $themes = pum_get_all_themes(); foreach ( $themes as $theme ) { $all_themes_close_text[ $theme->ID ] = $theme->get_setting( 'close_text', '' ); } update_option( 'pum_all_theme_close_text_cache', $all_themes_close_text ); return $all_themes_close_text; } /** * Updates the cache of theme close text to prevent un-needed queries on the front end. * * @return void */ function pum_update_theme_close_text_cache_on_save() { pum_update_all_themes_close_text_cache(); } add_action( 'pum_save_theme', 'pum_update_theme_close_text_cache_on_save', 100 ); /** * @param string $path * * @return string */ function pum_asset_path( $path = '' ) { return Popup_Maker::$DIR . 'assets/' . ltrim( $path, '/' ); } /** * @param string $path * * @return string */ function pum_asset_url( $path = '' ) { return Popup_Maker::$URL . 'assets/' . ltrim( $path, '/' ); } /** * Get SVG. * * @param string $path SVG path within assets folder. * @param bool $encode Encode SVG? * * @return string */ function pum_get_svg( $path, $encode = false ) { static $cache = []; if ( ! isset( $cache[ $path ] ) ) { $cache[ $path ] = pum_get_svg_raw( $path ); } if ( empty( $cache[ $path ] ) || ! $cache[ $path ] ) { return ''; } $svg = $cache[ $path ]; if ( $encode ) { // Ignore because this is the proper way to encode SVG. // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode $svg = 'data:image/svg+xml;base64,' . base64_encode( $svg ); } return $svg; } /** * Get SVG without caching. * * @param string $path SVG path within assets folder. * * @return string */ function pum_get_svg_raw( $path = '' ) { $file = pum_asset_path( $path ); if ( ! file_exists( $file ) ) { return ''; } return file_get_contents( $file ); } /** * Get Plugin SVG icon. * * @param bool $encode Encode SVG? * * @return string */ function pum_get_svg_icon( $encode = false ) { if ( ! is_admin() || wp_doing_ajax() ) { return ''; } return pum_get_svg( 'images/mark.svg', $encode ); } /** * Log a message to the Popup Maker log file. * * @param string $message * * @return void */ function pum_log_message( $message ) { $logger = PUM_Utils_Logging::instance(); // Check if the logger is enabled & can write to the log file. if ( ! $logger->enabled() ) { return; } $logger->log( $message ); } /** * Log a unique message (only once) to the Popup Maker log file. * * @param string $message * * @return void */ function pum_log_unique_message( $message ) { $logger = PUM_Utils_Logging::instance(); // Check if the logger is enabled & can write to the log file. if ( ! $logger->enabled() ) { return; } $logger->log_unique( $message ); } /** * Resets both asset cached files & transient CSS storage to be regenerated. * * @since 1.8.0 */ function pum_reset_assets() { // Reset/regenerate asset cache. PUM_AssetCache::reset_cache(); // Reset/regenerate stored theme CSS styles. delete_transient( 'popmake_theme_styles' ); } /** * Returns array key from dot notated array key.. * * @since 1.0 * * @deprecated 1.8.0 * * @param array $a is the array you are searching. * @param string $path is the dot notated path. * @param string $default_value is the default returned if key empty or not found. * * @return mixed results of lookup */ function popmake_resolve( array $a, $path, $default_value = null ) { $current = $a; $p = strtok( $path, '.' ); while ( false !== $p ) { if ( ! isset( $current[ $p ] ) ) { return $default_value; } $current = $current[ $p ]; $p = strtok( '.' ); } return $current; } /** * Returns $_POST key. * * @since 1.0 * * @deprecated 1.20.0 * * @param string $name is the key you are looking for. Can use dot notation for arrays such as my_meta.field1 which will resolve to $_POST['my_meta']['field1']. * * @return mixed results of lookup */ function popmake_post( $name, $do_stripslashes = true ) { // Ignored because this is a fetcher for $_POST & deprecated. // phpcs:ignore WordPress.Security.NonceVerification.Missing $value = popmake_resolve( $_POST, $name, false ); return $do_stripslashes ? stripslashes_deep( $value ) : $value; } if ( ! function_exists( 'pum_is_func_disabled' ) ) { /** * Checks whether function is disabled. * * @since 1.4 * * @param string $function_name Name of the function. * * @return bool Whether or not function is disabled. */ function pum_is_func_disabled( $function_name ) { $disabled = explode( ',', ini_get( 'disable_functions' ) ); return in_array( $function_name, $disabled, true ); } } includes/functions/utils/filesystem.php 0000644 00000001107 15174671772 0014437 0 ustar 00 <?php /** * Functions for Format Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * Get the filesystem object. * * @deprecated 1.21.0 * * @return \WP_Filesystem_Base|false */ function pum_get_fs() { return \PopupMaker\get_fs(); } /** * Get the contents of a file. * * @deprecated 1.21.0 * * @param string $path The path to the file. * * @return string */ function pum_get_file_contents( $path ) { return \PopupMaker\get_file_contents( $path ); } includes/functions/utils/template.php 0000644 00000004000 15174671772 0014061 0 ustar 00 <?php /** * Functions for Template Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * Get a templates part in $slug-$name.php fashion. * * Allows passing arguments that will be globally accessible in the templates. * * @param string $slug The slug of the template part. * @param string $name The name of the template part. * @param array $args The arguments to pass to the template part. * * @return string */ function pum_get_template_part( $slug, $name = null, $args = null ) { return PUM_Utils_Template::get_part( $slug, $name, $args ); } /** * Render a templates part in $slug-$name.php fashion. * * Allows passing arguments that will be globally accessible in the templates. * * @param string $slug The slug of the template part. * @param string $name The name of the template part. * @param array $args The arguments to pass to the template part. */ function pum_template_part( $slug, $name = null, $args = [] ) { // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo pum_get_template_part( $slug, $name, $args ); } /** * Gets the rendered contents of the specified templates file. * * @param string $template_name The name of the template. * @param array $args The arguments to pass to the template. * * @return string */ function pum_get_template( $template_name, $args = [] ) { return PUM_Utils_Template::get( $template_name, $args ); } /** * Get other templates (e.g. product attributes) passing attributes and including the file. * * @deprecated Likely a better way @see pum_template_part() * * @param string $template_name Template file name with extension: file-name.php The name of the template. * @param array $args (default: array()) The arguments to pass to the template. */ function pum_load_template( $template_name, $args = [] ) { // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo pum_get_template( $template_name, $args ); } includes/functions/utils/upgrades.php 0000644 00000004100 15174671772 0014061 0 ustar 00 <?php /** * Functions for Upgrades Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Adds an upgrade action to the completed upgrades array * * @see PUM_Utils_Upgrades::set_upgrade_complete * * @param string $upgrade_id The action to add to the competed upgrades array * * @return void If the function was successfully added * * @since 1.7.0 * @deprecated 1.21.0 Use \PopupMaker\mark_upgrade_complete() instead. */ function pum_set_upgrade_complete( $upgrade_id = '' ) { \PopupMaker\mark_upgrade_complete( $upgrade_id ); } /** * Get's the array of completed upgrade actions * * @return array The array of completed upgrades * * @since 1.7.0 * @deprecated 1.21.0 Use \PopupMaker\get_completed_upgrades() instead. */ function pum_get_completed_upgrades() { return \PopupMaker\get_completed_upgrades(); } /** * Check if the upgrade routine has been run for a specific action * * @param string $upgrade_id The upgrade action to check completion for * * @return bool If the action has been added to the completed actions array * * @since 1.7.0 * @deprecated 1.21.0 Use \PopupMaker\is_upgrade_complete() instead. */ function pum_has_completed_upgrade( $upgrade_id = '' ) { return \PopupMaker\is_upgrade_complete( $upgrade_id ); } /** * Clean up postmeta by removing all keys from the given post_id. * * @param int $post_id * @param array $keys_to_delete */ function pum_cleanup_post_meta_keys( $post_id = 0, $keys_to_delete = [] ) { /** * Clean up automatically. */ if ( ! empty( $keys_to_delete ) ) { global $wpdb; $keys_to_delete = array_map( 'esc_sql', (array) $keys_to_delete ); $meta_keys = implode( "','", $keys_to_delete ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery $wpdb->query( $wpdb->prepare( // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared "DELETE FROM `$wpdb->postmeta` WHERE `post_id` = %d AND `meta_key` IN ('{$meta_keys}')", $post_id ) ); wp_cache_delete( $post_id, 'post_meta' ); } } includes/functions/utils/options.php 0000644 00000002756 15174671772 0013761 0 ustar 00 <?php /** * Functions for Options Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * Get all forum options. * * @return mixed */ function pum_get_options() { return PUM_Utils_Options::get_all(); } /** * Get a forum option. * * @param string $key * @param mixed $default_value * * @return mixed */ function pum_get_option( $key, $default_value = false ) { return PUM_Utils_Options::get( $key, $default_value ); } /** * Update a forum option. * * @param string $key * @param bool $value * * @return bool */ function pum_update_option( $key = '', $value = false ) { return PUM_Utils_Options::update( $key, $value ); } /** * Merge array of new option values into the existing options array. * * @param array $new_options * * @return bool */ function pum_merge_options( $new_options = [] ) { return PUM_Utils_Options::merge( $new_options ); } /** * Delete a forum option * * @param string $key * * @return bool */ function pum_delete_option( $key = '' ) { return PUM_Utils_Options::delete( $key ); } /** * Delete a forum option * * @param array $keys * * @return bool */ function pum_delete_options( $keys = [] ) { return PUM_Utils_Options::delete( $keys ); } /** * Remap old option keys. * * @param array $remap_array * * @return bool */ function pum_remap_options( $remap_array = [] ) { return PUM_Utils_Options::remap_keys( $remap_array ); } includes/functions/utils/cache.php 0000644 00000004623 15174671772 0013324 0 ustar 00 <?php /** * Functions for Cache Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * Add a cache key via PUM Cache. * * @param $key * @param $data * @param string $group * * @return bool */ function pum_cache_add( $key, $data, $group = '' ) { return PUM_Utils_Cache::add( $key, $data, $group ); } /** * Set a cache key via PUM Cache. * * @param $key * @param $data * @param string $group * * @return bool */ function pum_cache_set( $key, $data, $group = '' ) { return PUM_Utils_Cache::set( $key, $data, $group ); } /** * Replace a cache key via PUM Cache. * * @param $key * @param $data * @param string $group * * @return bool */ function pum_cache_replace( $key, $data, $group = '' ) { return PUM_Utils_Cache::replace( $key, $data, $group ); } /** * Get a cache key via PUM Cache. * * @param $key * @param string $group * @param bool $force * @param null $found * * @return bool|mixed */ function pum_cache_get( $key, $group = '', $force = false, &$found = null ) { return PUM_Utils_Cache::get( $key, $group, $force, $found ); } /** * Delete a cache key via PUM Cache. * * @param $key * @param string $group * * @return bool */ function pum_cache_delete( $key, $group = '' ) { return PUM_Utils_Cache::delete( $key, $group ); } /** * Delete a cache group via PUM Cache. * * @param string $group * * @return bool */ function pum_cache_delete_group( $group = '' ) { return PUM_Utils_Cache::delete_group( $group ); } /** * Increase a numeric cache value by the offset. * * @param $key * @param int $offset * @param string $group * * @return bool|false|int */ function pum_cache_incr( $key, $offset = 1, $group = '' ) { return PUM_Utils_Cache::incr( $key, $offset, $group ); } /** * Decrease a numeric cache value by the offset. * * @param $key * @param int $offset * @param string $group * * @return bool|false|int */ function pum_cache_decr( $key, $offset = 1, $group = '' ) { return PUM_Utils_Cache::decr( $key, $offset, $group ); } /** * Gets the filterable timeout for a cache object by key. * * @param $key * * @return int */ function pum_cache_timeout( $key ) { static $timeouts; if ( ! isset( $timeouts ) ) { $timeouts = apply_filters( 'pum_cache_timeouts', [] ); } return isset( $timeouts[ $key ] ) ? $timeouts[ $key ] : 0; } includes/functions/utils/format.php 0000644 00000001451 15174671772 0013545 0 ustar 00 <?php /** * Functions for Format Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * @param int $time * @param int|null $current * * @return mixed */ function pum_human_time( $time, $current = null ) { return PUM_Utils_Format::human_time( $time, $current ); } /** * @param int|float $number * @param string $format * * @return int|string */ function pum_format_number( $number, $format = '' ) { return PUM_Utils_Format::number( $number, $format ); } /** * @param int|float $number * @param string $format U|human|human-readable * * @return int|string */ function pum_format_time( $number, $format = '' ) { return PUM_Utils_Format::time( $number, $format ); } includes/functions/developers.php 0000644 00000015423 15174671772 0013271 0 ustar 00 <?php /** * Functions for developers * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ use function PopupMaker\plugin; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * Call this with a popup ID and it will trigger the * JS based forms.success function with your settings * on the next page load. * * @since 1.7.0 * * @param int $popup_id * @param array $settings */ function pum_trigger_popup_form_success( $popup_id = null, $settings = [] ) { if ( ! isset( $popup_id ) ) { // Ignored as this field is appended to existing forms and is limited to an absint. // phpcs:ignore WordPress.Security.NonceVerification.Recommended $popup_id = isset( $_REQUEST['pum_form_popup_id'] ) && absint( $_REQUEST['pum_form_popup_id'] ) > 0 ? absint( $_REQUEST['pum_form_popup_id'] ) : false; } if ( $popup_id ) { PUM_Integrations::$form_success = [ 'popup_id' => $popup_id, 'settings' => $settings, ]; } } /** * @param array $args { * An array of parameters that customize the way the parser works. * * @type string $form_provider Key indicating which form provider this form belongs to. * @type string|int $form_id Form ID, usually numeric, but can be hash based. * @type int $form_instance_id Optional form instance ID. * @type int $popup_id Optional popup ID. * @type bool $ajax If the submission was processed via AJAX. Generally gonna be false outside of JavaScript. * @type bool $tracked Whether the submission has been handled by tracking code or not. Prevents duplicates. * } */ function pum_integrated_form_submission( $args = [] ) { $args = wp_parse_args( $args, [ 'popup_id' => null, 'form_provider' => null, 'form_id' => null, 'form_instance_id' => null, 'ajax' => false, 'tracked' => false, ] ); $args = apply_filters( 'pum_integrated_form_submission_args', $args ); PUM_Integrations::$form_submission = $args; do_action( 'pum_integrated_form_submission', $args ); } /** * Triggers a tracking event for a given popup. * * @param int $popup_id Popup ID. * @param array $args Array of optional arguments. */ function pum_track_conversion_event( $popup_id = 0, $args = [] ) { /** * Track conversion with added value. */ PUM_Analytics::track( array_merge( $args, [ 'event' => 'conversion', 'pid' => $popup_id, ] ) ); } /** * Register a script for possible caching. * * @param string $handle The script handle. * @param string $src The script src. * @param string[] $deps The script dependencies. * @param string $version The script version. * @param bool $in_footer Whether to enqueue the script in the footer. * * @return bool * * @since 1.21.0 */ function pum_register_script( $handle, $src, $deps = [], $version = null, $in_footer = true ) { return PUM_AssetCache::register_script( $handle, $src, $deps, $version, $in_footer ); } /** * Register a style for possible caching. * * @param string $handle The style handle. * @param string $src The style src. * @param string[] $deps The style dependencies. * @param string $version The style version. * @param string $media The style media. * * @return bool * * @since 1.21.0 */ function pum_register_style( $handle, $src, $deps = [], $version = false, $media = 'all' ) { return PUM_AssetCache::register_style( $handle, $src, $deps, $version, $media ); } /** * Enqueue a script for possible caching. * * @param string $handle The script handle. * @param string $src The script src. * @param string[] $deps The script dependencies. * @param string $version The script version. * @param bool $in_footer Whether to enqueue the script in the footer. * * @return bool * * @since 1.21.0 */ function pum_enqueue_script( $handle, $src = '', $deps = [], $version = null, $in_footer = false ) { return PUM_AssetCache::enqueue_script( $handle, $src, $deps, $version, $in_footer ); } /** * Check if a script is enqueued. * * @param string $handle The script handle. * @param string $status The script status. * * @return bool * * @since 1.21.0 */ function pum_script_is( $handle, $status = 'enqueued' ) { return PUM_AssetCache::script_is( $handle, $status ); } /** * Enqueue a style for possible caching. * * @param string $handle The style handle. * @param string $src The style src. * @param string[] $deps The style dependencies. * @param string $version The style version. * @param string $media The style media. * * @return bool * * @since 1.21.0 */ function pum_enqueue_style( $handle, $src = '', $deps = [], $version = null, $media = false ) { return PUM_AssetCache::enqueue_style( $handle, $src, $deps, $version, $media ); } /** * Dequeue a script. * * @param string $handle The script handle. * * @return bool * * @since 1.21.0 */ function pum_dequeue_script( $handle ) { return PUM_AssetCache::dequeue_script( $handle ); } /** * Dequeue a style. * * @param string $handle The style handle. * * @return bool * * @since 1.21.0 */ function pum_dequeue_style( $handle ) { return PUM_AssetCache::dequeue_style( $handle ); } /** * Localize a script. * * @param string $handle Script handle the data will be attached to. * @param string $object_name Name for the JavaScript object. Passed directly, so it should be qualified JS variable. * Example: '/[a-zA-Z0-9_]+/'. * @param array<string,mixed> $value The data itself. The data can be either a single or multi-dimensional array. * * @return bool * * @since 1.21.0 */ function pum_localize_script( $handle, $object_name, $value ) { return PUM_AssetCache::localize_script( $handle, $object_name, $value ); } /** * Get the asset meta for a file. * * @param string $file The file path. * @param array<string,mixed> $default_args Default arguments to merge with the asset meta. * * @return array{ * dependencies: array<string,string>, * version: string, * } */ function pum_get_asset_meta( $file, $default_args = [] ) { return file_exists( $file ) ? require $file : wp_parse_args( $default_args, [ 'dependencies' => [], 'version' => '', ] ); } /** * Get the asset meta for a file. * * @param string $group The group name. * @param array<string,mixed> $default_args Default arguments to merge with the asset meta. * * @return array{ * dependencies: array<string,string>, * version: string, * } */ function pum_get_asset_group_meta( $group, $default_args = [] ) { $file = plugin()->get_path( "dist/$group-assets.php" ); $meta = (array) file_exists( $file ) ? require $file : []; foreach ( $meta as $key => $value ) { $meta[ $key ] = wp_parse_args( $value, $default_args ); } return $meta; } includes/functions/admin/general.php 0000644 00000005142 15174671772 0013623 0 ustar 00 <?php /** * Functions for General Admin * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * Gets the current admin screen post type. * * @return bool|string */ function pum_typenow() { if ( ! empty( $GLOBALS['typenow'] ) ) { return $GLOBALS['typenow']; } // Try get_current_screen() first as it's the most reliable for admin screens if ( function_exists( 'get_current_screen' ) ) { $screen = get_current_screen(); if ( ! empty( $screen->post_type ) ) { return $screen->post_type; } } // Ignored because these are used for current page detection only. // phpcs:disable WordPress.Security.NonceVerification // when editing pages, $typenow isn't set until later! // try to pick it up from the query string if ( ! empty( $_GET['post_type'] ) ) { return sanitize_key( wp_unslash( $_GET['post_type'] ) ); } $post = null; if ( ! empty( $_GET['post'] ) && absint( $_GET['post'] ) > 0 ) { $post = get_post( absint( $_GET['post'] ) ); } elseif ( ! empty( $_POST['post_ID'] ) && absint( $_POST['post_ID'] ) > 0 ) { $post = get_post( absint( $_POST['post_ID'] ) ); } // phpcs:enable WordPress.Security.NonceVerification return isset( $post ) && is_object( $post ) && $post->ID > 0 ? $post->post_type : false; } /** * Generates an Popup Maker admin URL based on the given type. * * @since 1.7.0 * * @param string $type Optional. Type of admin URL. Accepts 'tools', 'settings'. Default empty * @param array $query_args Optional. Query arguments to append to the admin URL. Default empty array. * * @return string Constructed admin URL. */ function pum_admin_url( $type = '', $query_args = [] ) { $page = ''; $whitelist = PUM_Admin_Pages::$pages; if ( in_array( $type, $whitelist, true ) ) { $page = "pum-{$type}"; } $admin_query_args = array_merge( [ 'page' => $page ], $query_args ); $url = add_query_arg( $admin_query_args, admin_url( 'edit.php?post_type=popup' ) ); /** * Filters the Popup Maker admin URL. * * @param string $url Admin URL. * @param string $type Admin URL type. * @param array $query_args Query arguments originally passed to pum_admin_url(). */ return apply_filters( 'pum_admin_url', $url, $type, $query_args ); } /** * @return array */ function pum_support_assist_args() { return [ // Forces the dashboard to force logout any users. 'nouser' => true, 'fname' => wp_get_current_user()->first_name, 'lname' => wp_get_current_user()->last_name, 'email' => wp_get_current_user()->user_email, 'url' => home_url(), ]; } includes/functions/admin/conditionals.php 0000644 00000006114 15174671772 0014674 0 ustar 00 <?php /** * Functions for Admin Conditionals * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * Determines whether the current page is an popup maker admin page. * * @since 1.7.0 * * @return bool */ function pum_is_admin_page() { if ( ! is_admin() ) { return false; } $typenow = pum_typenow(); if ( 'popup' === $typenow || 'popup_theme' === $typenow ) { return true; } if ( ! empty( $GLOBALS['hook_suffix'] ) && in_array( $GLOBALS['hook_suffix'], PUM_Admin_Pages::$pages, true ) ) { return true; } return false; } /** * Determines whether the current admin page is the All Popups page. * * @since 1.12 * * @return bool True if current page is All Popups page. */ function pum_is_all_popups_page() { $screen = get_current_screen(); return pum_is_admin_page() && 'edit-popup' === $screen->id && pum_typenow() === 'popup'; } /** * Determines whether the current admin page is the popup editor. * * @since 1.7.0 * * @return bool */ function pum_is_popup_editor() { global $pagenow; return pum_is_admin_page() && 'popup' === pum_typenow() && in_array( $pagenow, [ 'post-new.php', 'post.php' ], true ); } /** * Determines whether the current admin page is the popup theme editor. * * @since 1.7.0 * * @return bool */ function pum_is_popup_theme_editor() { global $pagenow; return pum_is_admin_page() && 'popup_theme' === pum_typenow() && in_array( $pagenow, [ 'post-new.php', 'post.php' ], true ); } /** * Determines whether the current admin page is the extensions page. * * @since 1.7.0 * * @param null|string $key * * @return bool */ function pum_is_submenu_page( $key = null ) { $tests = [ is_admin(), pum_is_admin_page(), ! pum_is_popup_editor(), ! pum_is_popup_theme_editor(), $key && ! empty( $GLOBALS['hook_suffix'] ) ? PUM_Admin_Pages::get_page( $key ) === $GLOBALS['hook_suffix'] : true, ! isset( $key ) && ! empty( $GLOBALS['hook_suffix'] ) ? in_array( $GLOBALS['hook_suffix'], PUM_Admin_Pages::$pages, true ) : true, ]; return ! in_array( false, $tests, true ); } /** * Determines whether the current admin page is the subscriptions page. * * @since 1.7.0 * * @return bool */ function pum_is_subscriptions_page() { return pum_is_submenu_page( 'subscriptions' ); } /** * Determines whether the current admin page is the extensions page. * * @since 1.7.0 * * @return bool */ function pum_is_extensions_page() { return pum_is_submenu_page( 'extensions' ); } /** * Determines whether the current admin page is the settings page. * * @since 1.7.0 * * @return bool */ function pum_is_settings_page() { return pum_is_submenu_page( 'settings' ); } /** * Determines whether the current admin page is the tools page. * * @since 1.7.0 * * @return bool */ function pum_is_tools_page() { return pum_is_submenu_page( 'tools' ); } /** * Determines whether the current admin page is the support page. * * @since 1.7.0 * * @return bool */ function pum_is_support_page() { return pum_is_submenu_page( 'support' ); } includes/functions/newsletter.php 0000644 00000005112 15174671772 0013307 0 ustar 00 <?php /** * Newsletter Functions * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * @deprecated 1.7.0 Here to prevent PUM_Newsletter_ classes from being loaded anywhere except from core. * * @param $class_name */ function pum_newsletter_autoloader( $class_name ) {} /** * @param $provider_id * * @return bool|PUM_Newsletter_Provider */ function pum_get_newsletter_provider( $provider_id ) { $providers = PUM_Newsletter_Providers::instance()->get_providers(); return isset( $providers[ $provider_id ] ) ? $providers[ $provider_id ] : false; } /** * @param string $provider_id * @param string $context * @param array $values * * @return mixed|string */ function pum_get_newsletter_provider_message( $provider_id, $context, $values = [] ) { $provider = pum_get_newsletter_provider( $provider_id ); $default = pum_get_newsletter_default_messages( $context ); if ( ! $provider ) { return $default; } $message = $provider->get_message( $context, $values ); return ! empty( $message ) ? $message : $default; } /** * Gets default messages. * * @param null $context * * @return array|mixed|string */ function pum_get_newsletter_default_messages( $context = null ) { $messages = [ 'success' => pum_get_option( 'default_success_message', __( 'You have been subscribed!', 'popup-maker' ) ), 'double_opt_in_success' => pum_get_option( 'default_double_opt_in_success_message', __( 'Please check your email and confirm your subscription.', 'popup-maker' ) ), 'error' => pum_get_option( 'default_error_message', __( 'Error occurred when subscribing. Please try again.', 'popup-maker' ) ), 'already_subscribed' => pum_get_option( 'default_already_subscribed_message', __( 'You are already a subscriber.', 'popup-maker' ) ), 'empty_email' => pum_get_option( 'default_empty_email_message', __( 'Please enter a valid email.', 'popup-maker' ) ), 'invalid_email' => pum_get_option( 'default_invalid_email_message', __( 'Email provided is not a valid email address.', 'popup-maker' ) ), 'consent_required' => pum_get_option( 'default_consent_required_message', __( 'Email provided is not a valid email address.', 'popup-maker' ) ), ]; if ( $context ) { return isset( $messages[ $context ] ) ? $messages[ $context ] : ''; } return $messages; } /** * @return array */ function pum_get_newsletter_admin_localized_vars() { return [ 'default_provider' => pum_get_option( 'newsletter_default_provider', pum_get_option( 'newsletter_default', '' ) ), ]; } includes/functions/extensions.php 0000644 00000001271 15174671772 0013314 0 ustar 00 <?php /** * Functions for extensions * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Gets an array of active extensions. * * @since 1.7.0 * * @return mixed */ function pum_enabled_extensions() { return apply_filters( 'pum_enabled_extensions', [] ); } /** * Checks if a specified extension is currently active. * * @since 1.7.0 * * @param string $extension * * @return bool */ function pum_extension_enabled( $extension = '' ) { $enabled_extensions = pum_enabled_extensions(); return ! empty( $extension ) && array_key_exists( $extension, $enabled_extensions ); } includes/functions/popups/deprecated.php 0000644 00000006067 15174671772 0014553 0 ustar 00 <?php /** * Functions for Deprecated Popups * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ /** * Returns a popup object. * * @deprecated 1.7 * * @param null $popup_id * * @return false|PUM_Model_Popup */ function pum_popup( $popup_id = null ) { return pum_get_popup( $popup_id ); } /** * Returns the meta group of a popup or value if key is set. * * @since 1.3.0 * @deprecated 1.4 * * @param $group * @param int $popup_id ID number of the popup to retrieve a overlay meta for * @param null $key * @param null $default_value * * @return mixed array|string */ function popmake_get_popup_meta( $group, $popup_id = null, $key = null, $default_value = null ) { if ( ! $popup_id ) { $popup_id = pum_get_popup_id(); } $values = get_post_meta( $popup_id, "popup_{$group}", true ); if ( ! $values ) { $defaults = apply_filters( "popmake_popup_{$group}_defaults", [] ); $values = array_merge( $defaults, popmake_get_popup_meta_group( $group, $popup_id ) ); } else { $values = array_merge( popmake_get_popup_meta_group( $group, $popup_id ), $values ); } if ( $key ) { // Check for dot notation key value. $test = uniqid(); $value = popmake_resolve( $values, $key, $test ); if ( $value === $test ) { $key = str_replace( '.', '_', $key ); if ( ! isset( $values[ $key ] ) ) { $value = $default_value; } else { $value = $values[ $key ]; } } return apply_filters( "popmake_get_popup_{$group}_$key", $value, $popup_id ); } else { return apply_filters( "popmake_get_popup_{$group}", $values, $popup_id ); } } /** * Returns the meta group of a popup or value if key is set. * * @since 1.0 * @deprecated 1.3.0 * * @param int $group ID number of the popup to retrieve a overlay meta for * * @return mixed array|string */ function popmake_get_popup_meta_group( $group, $popup_id = null, $key = null, $default_value = null ) { if ( ! $popup_id || 'secure_logout' === $group ) { $popup_id = pum_get_popup_id(); } $post_meta = get_post_custom( $popup_id ); if ( ! is_array( $post_meta ) ) { $post_meta = []; } $default_check_key = 'popup_defaults_set'; if ( ! in_array( $group, [ 'auto_open', 'close', 'display', 'targeting_condition' ], true ) ) { $default_check_key = "popup_{$group}_defaults_set"; } $group_values = array_key_exists( $default_check_key, $post_meta ) ? [] : apply_filters( "popmake_popup_{$group}_defaults", [] ); foreach ( $post_meta as $meta_key => $value ) { if ( strpos( $meta_key, "popup_{$group}_" ) !== false ) { $new_key = str_replace( "popup_{$group}_", '', $meta_key ); if ( count( $value ) === 1 ) { $group_values[ $new_key ] = $value[0]; } else { $group_values[ $new_key ] = $value; } } } if ( $key ) { $key = str_replace( '.', '_', $key ); if ( ! isset( $group_values[ $key ] ) ) { $value = $default_value; } else { $value = $group_values[ $key ]; } return apply_filters( "popmake_get_popup_{$group}_$key", $value, $popup_id ); } else { return apply_filters( "popmake_get_popup_{$group}", $group_values, $popup_id ); } } includes/functions/popups/getters.php 0000644 00000002147 15174671772 0014123 0 ustar 00 <?php /** * Functions for Popup Getters * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * Return the popup id. * * @param int $popup_id * * @return int */ function pum_get_popup_id( $popup_id = null ) { if ( ( is_null( $popup_id ) || 0 === $popup_id ) && pum_is_popup( pum()->current_popup ) ) { $_popup_id = pum()->current_popup->ID; } else { $_popup_id = ! empty( $popup_id ) && is_numeric( $popup_id ) ? $popup_id : 0; } return (int) apply_filters( 'pum_get_popup_id', (int) $_popup_id, $popup_id ); } /** * @param int $popup_id * * @return string */ function pum_get_popup_title( $popup_id = null ) { $popup = pum_get_popup( $popup_id ); if ( ! pum_is_popup_object( $popup ) ) { return ''; } return $popup->get_title(); } /** * @param int $popup_id * * @return array * @deprecated 1.8.0 */ function pum_get_popup_triggers( $popup_id = null ) { $popup = pum_get_popup( $popup_id ); if ( ! pum_is_popup_object( $popup ) ) { return []; } return $popup->get_triggers(); } includes/functions/popups/queries.php 0000644 00000002630 15174671772 0014120 0 ustar 00 <?php /** * Functions for Popup Queries * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * Get a popup model instance. * * @param int $popup_id * * @return PUM_Model_Popup */ function pum_get_popup( $popup_id = null ) { if ( ( is_null( $popup_id ) || 0 === $popup_id ) && pum_is_popup( pum()->current_popup ) ) { return pum()->current_popup; } /** @var int $popup_id filtered $popup_id */ $popup_id = pum_get_popup_id( $popup_id ); try { return pum()->popups->get_item( $popup_id ); } catch ( InvalidArgumentException $e ) { // Return empty object return new PUM_Model_Popup( $popup_id ); } } /** * Queries popups and returns them in a specific format. * * @param array $args * * @return PUM_Model_Popup[] */ function pum_get_popups( $args = [] ) { return pum()->popups->get_items( $args ); } /** * Queries popups and returns them in a specific format. * * @param array $args * * @return PUM_Model_Popup[] */ function pum_get_all_popups( $args = [] ) { $args['posts_per_page'] = -1; return pum_get_popups( $args ); } /** * Gets a count popups with specified args. * * @param array $args * * @return int */ function pum_count_popups( $args = [] ) { $args = wp_parse_args( $args, [ 'post_status' => 'publish', ] ); return pum()->popups->count_items( $args ); } includes/functions/popups/template.php 0000644 00000005330 15174671772 0014256 0 ustar 00 <?php /** * Functions for Popups Template * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * Render the popup ID * * @param null|int|string $popup_id Popup ID. */ function pum_popup_ID( $popup_id = null ) { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid echo absint( pum_get_popup_id( $popup_id ) ); } /** * Render the popup title. * * @param null|int $popup_id Popup ID. */ function pum_popup_title( $popup_id = null ) { echo esc_html( pum_get_popup_title( $popup_id ) ); } /** * Render the popup content. * * @param null|int $popup_id Popup ID. */ function pum_popup_content( $popup_id = null ) { $popup = pum_get_popup( $popup_id ); if ( ! pum_is_popup( $popup ) ) { return; } $cached_content = \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->get_content_cache( $popup->ID ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo null !== $cached_content ? $cached_content : $popup->get_content(); } /** * Render the chose popup elements classes. * * @param null $popup_id Popup ID. * @param string $element Element to get classes for. */ function pum_popup_classes( $popup_id = null, $element = 'overlay' ) { $popup = pum_get_popup( $popup_id ); if ( ! pum_is_popup( $popup ) ) { return; } echo esc_attr( implode( ' ', $popup->get_classes( $element ) ) ); } /** * Render the popups data attribute. * * @param null|int $popup_id Popup ID. */ function pum_popup_data_attr( $popup_id = null ) { $popup = pum_get_popup( $popup_id ); if ( ! pum_is_popup( $popup ) ) { return; } echo 'data-popmake="' . esc_attr( wp_json_encode( $popup->get_data_attr() ) ) . '"'; } /** * Render the popup's content tabindex attribute to make focusable * if needed. * * @param null|int $popup_id Popup ID. */ function pum_popup_content_tabindex_attr( $popup_id = null ) { $popup = pum_get_popup( $popup_id ); if ( ! pum_is_popup( $popup ) ) { return; } // Greater or equal to 0 makes it focusable. echo 'tabindex="0"'; } /** * Render the popup close button text. * * @param null|int $popup_id Popup ID. */ function pum_popup_close_text( $popup_id = null ) { $popup = pum_get_popup( $popup_id ); if ( ! pum_is_popup( $popup ) ) { return; } $close_text = $popup->close_text(); // If the close text is a font awesome icon (E.g. "fas fa-camera"), add the icon instead of the text. if ( preg_match( '/^fa[srldb]?\s.+/i', $close_text ) || preg_match( '/^fa-((solid)|(regular)|(light)|(thin)|(duotone))?\sfa[-]?.+/i', $close_text ) ) { echo '<i class="' . esc_attr( $close_text ) . '"></i>'; } else { echo esc_html( $close_text ); } } includes/functions/popups/conditionals.php 0000644 00000002201 15174671772 0015123 0 ustar 00 <?php /** * Functions for Popup Conditionals * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * Checks if the $popup is valid. * * @param mixed|PUM_Model_Popup $popup * * @return bool */ function pum_is_popup( $popup ) { return pum_is_popup_object( $popup ) && $popup->is_valid(); } /** * Tests a given value to see if its a valid Popup model. * * @param PUM_Model_Popup|mixed $popup * * @return bool */ function pum_is_popup_object( $popup ) { return is_a( $popup, 'PUM_Model_Popup' ); } /** * @param int $popup_id * * @return bool */ function pum_is_popup_loadable( $popup_id = null ) { $popup = pum_get_popup( $popup_id ); if ( ! pum_is_popup_object( $popup ) ) { return false; } return $popup->is_loadable(); } /** * Returns true if the close button should be shown. * * @param null|int $popup_id * * @return bool */ function pum_show_close_button( $popup_id = null ) { $popup = pum_get_popup( $popup_id ); if ( ! pum_is_popup( $popup ) ) { return true; } return $popup->show_close_button(); } includes/functions/popups/migrations.php 0000644 00000017001 15174671772 0014615 0 ustar 00 <?php /** * Functions for Popup Migrations * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ /** * Checks if passive migration for popups should be enabled. * * This determines if the query load may be potentially too high to run passive migrations on live servers. * * @return bool */ function pum_passive_popup_upgrades_enabled() { /** @var int $popup_count */ static $popup_count; if ( defined( 'PUM_DISABLE_PASSIVE_UPGRADES' ) && PUM_DISABLE_PASSIVE_UPGRADES ) { return false; } if ( ! $popup_count ) { $popup_count = get_transient( 'pum_popup_count' ); if ( false === $popup_count ) { $popup_count = pum_count_popups( [ 'post_status' => [ 'publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', 'trash' ], ] ); set_transient( 'pum_popup_count', $popup_count, HOUR_IN_SECONDS * 24 ); } } return $popup_count > apply_filters( 'pum_passive_popups_enabled_max_count', 5 ); } /** * Upgrade popup data to model v3. * * @since 1.7.0 * * @param $popup PUM_Model_Popup */ function pum_popup_migration_2( &$popup ) { $changed = false; $delete_meta = []; /** * Update pum_sub_form shortcode args */ if ( has_shortcode( $popup->post_content, 'pum_sub_form' ) ) { $new_content = preg_replace( '/\[pum_sub_form(.*)provider="none"(.*)\]/', '[pum_sub_form$1 provider=""$2]', $popup->post_content ); if ( $popup->post_content !== $new_content ) { $popup->post_content = $new_content; $changed = true; $popup->save( false ); } } $settings = $popup->get_settings(); /** * Migrate popup theme selection. */ $theme = $popup->get_meta( 'popup_theme' ); if ( ! empty( $theme ) && is_numeric( $theme ) ) { $settings['theme_id'] = absint( $theme ); $changed = true; $delete_meta[] = 'popup_theme'; } /** * Migrate popup_display meta data. */ $display = $popup->get_meta( 'popup_display' ); if ( ! empty( $display ) && is_array( $display ) ) { $keys = $popup->remapped_meta_settings_keys( 'display' ); // Foreach old key, save the value under popup settings for the new key. foreach ( $keys as $old_key => $new_key ) { if ( isset( $display[ $old_key ] ) && ! empty( $display[ $old_key ] ) ) { $settings[ $new_key ] = $display[ $old_key ]; $changed = true; unset( $display[ $old_key ] ); if ( in_array( $old_key, [ 'responsive_min_width', 'responsive_max_width', 'custom_width', 'custom_height', ], true ) && isset( $display[ $old_key . '_unit' ] ) ) { $settings[ $new_key ] .= $display[ $old_key . '_unit' ]; unset( $display[ $old_key . '_unit' ] ); } } } if ( empty( $display ) ) { $delete_meta[] = 'popup_display'; } else { // Update the saved popup display data with any remaining keys from extensions. $popup->update_meta( 'popup_display', $display ); } } /** * Migrate popup_close meta data */ $close = $popup->get_meta( 'popup_close' ); if ( ! empty( $close ) && is_array( $close ) ) { $keys = $popup->remapped_meta_settings_keys( 'close' ); // Foreach old key, save the value under popup settings for the new key. foreach ( $keys as $old_key => $new_key ) { if ( isset( $close[ $old_key ] ) ) { $settings[ $new_key ] = $close[ $old_key ]; $changed = true; unset( $close[ $old_key ] ); } } if ( empty( $close ) ) { $delete_meta[] = 'popup_close'; } else { // Update the saved popup close data with any remaining keys from extensions. $popup->update_meta( 'popup_close', $close ); } } /** * Migrate triggers. */ $triggers = $popup->get_meta( 'popup_triggers' ); if ( ! empty( $triggers ) && is_array( $triggers ) ) { $triggers = ! empty( $settings['triggers'] ) && is_array( $settings['triggers'] ) ? array_merge( $settings['triggers'], $triggers ) : $triggers; foreach ( $triggers as $key => $trigger ) { if ( isset( $trigger['settings']['cookie']['name'] ) ) { $triggers[ $key ]['settings']['cookie_name'] = $trigger['settings']['cookie']['name']; unset( $triggers[ $key ]['settings']['cookie'] ); } } $settings['triggers'] = $triggers; $changed = true; $delete_meta[] = 'popup_triggers'; } /** * Migrate cookies. */ $cookies = $popup->get_meta( 'popup_cookies' ); if ( ! empty( $cookies ) && is_array( $cookies ) ) { $cookies = ! empty( $settings['cookies'] ) && is_array( $settings['cookies'] ) ? array_merge( $settings['cookies'], $cookies ) : $cookies; $settings['cookies'] = $cookies; $changed = true; $delete_meta[] = 'popup_cookies'; } /** * Migrate conditions. */ $conditions = $popup->get_meta( 'popup_conditions' ); if ( ! empty( $conditions ) && is_array( $conditions ) ) { $conditions = ! empty( $settings['conditions'] ) && is_array( $settings['conditions'] ) ? array_merge( $settings['conditions'], $conditions ) : $conditions; foreach ( $conditions as $cg_key => $group ) { if ( ! empty( $group ) ) { foreach ( $group as $c_key => $condition ) { // Clean empty conditions. if ( ! empty( $condition['target'] ) ) { $fixed_condition = [ 'target' => $condition['target'], 'not_operand' => isset( $condition['not_operand'] ) ? (bool) $condition['not_operand'] : false, 'settings' => isset( $condition['settings'] ) ? $condition['settings'] : [], ]; foreach ( $condition as $key => $val ) { if ( ! in_array( $key, [ 'target', 'not_operand', 'settings' ], true ) ) { $fixed_condition['settings'][ $key ] = $val; } } $conditions[ $cg_key ][ $c_key ] = $fixed_condition; } else { unset( $conditions[ $cg_key ][ $c_key ] ); } } // Clean empty groups. if ( empty( $conditions[ $cg_key ] ) ) { unset( $conditions[ $cg_key ] ); } } } $settings['conditions'] = $conditions; $changed = true; $delete_meta[] = 'popup_conditions'; } /** * Migrate popup_mobile_disabled. */ $mobile_disabled = $popup->get_meta( 'popup_mobile_disabled' ); if ( ! empty( $mobile_disabled ) ) { $settings['disable_on_mobile'] = (bool) ( $mobile_disabled ); $changed = true; $delete_meta[] = 'popup_mobile_disabled'; } /** * Migrate popup_tablet_disabled. */ $tablet_disabled = $popup->get_meta( 'popup_tablet_disabled' ); if ( ! empty( $tablet_disabled ) ) { $settings['disable_on_tablet'] = (bool) ( $tablet_disabled ); $changed = true; $delete_meta[] = 'popup_tablet_disabled'; } /** * Migrate analytics reset keys. */ $open_count_reset = $popup->get_meta( 'popup_open_count_reset', false ); if ( ! empty( $open_count_reset ) && is_array( $open_count_reset ) ) { foreach ( $open_count_reset as $key => $reset ) { if ( is_array( $reset ) ) { add_post_meta( $popup->ID, 'popup_count_reset', [ 'timestamp' => ! empty( $reset['timestamp'] ) ? $reset['timestamp'] : '', 'opens' => ! empty( $reset['count'] ) ? absint( $reset['count'] ) : 0, 'conversions' => 0, ] ); } } $delete_meta[] = 'popup_open_count_reset'; } /** * Save only if something changed. */ if ( $changed ) { $popup->update_meta( 'popup_settings', $settings ); } /** * Clean up automatically. */ if ( ! empty( $delete_meta ) ) { foreach ( $delete_meta as $key ) { $popup->delete_meta( $key ); } } } add_action( 'pum_popup_passive_migration_2', 'pum_popup_migration_2' ); includes/entry--legacy.php 0000644 00000005655 15174671772 0011577 0 ustar 00 <?php /** * Function loader - Legacy * - loaded on init of legacy Popup_Maker instance. * * File loader guidelines: * * This file is loaded and will handle the loading of other function files. * - Newer files will be namespaced under PopupMaker\ namespace. * - Older functions will be prefixed as well as: * - Deprecated & moved to the -deprecated directory, merged fewer files. * - Legacy functions will be moved to -legacy directory. * * @since 1.21.0 * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ defined( 'ABSPATH' ) || exit; /** Loads most of our core functions */ /** General Functions */ require_once 'functions/developers.php'; require_once 'functions/extensions.php'; require_once 'functions/general.php'; require_once 'functions/newsletter.php'; /** Utility Functions */ require_once 'functions/utils/cache.php'; require_once 'functions/utils/filesystem.php'; require_once 'functions/utils/format.php'; require_once 'functions/utils/options.php'; require_once 'functions/utils/template.php'; require_once 'functions/utils/upgrades.php'; /** Admin Functions */ require_once 'functions/admin/conditionals.php'; require_once 'functions/admin/general.php'; /** Popup functions */ require_once 'functions/popups/conditionals.php'; require_once 'functions/popups/deprecated.php'; require_once 'functions/popups/getters.php'; require_once 'functions/popups/migrations.php'; require_once 'functions/popups/queries.php'; require_once 'functions/popups/template.php'; /** Popup Theme functions */ require_once 'functions/themes/conditionals.php'; require_once 'functions/themes/deprecated.php'; require_once 'functions/themes/getters.php'; require_once 'functions/themes/migrations.php'; require_once 'functions/themes/portability.php'; require_once 'functions/themes/queries.php'; require_once 'functions/themes/template.php'; /** Deprecated functionality */ require_once __DIR__ . '/legacy/functions-backcompat.php'; require_once __DIR__ . '/legacy/functions-deprecated.php'; require_once __DIR__ . '/legacy/deprecated-classes.php'; require_once __DIR__ . '/legacy/deprecated-filters.php'; require_once __DIR__ . '/integrations.php'; // Old Stuff. require_once __DIR__ . '/legacy/defaults.php'; require_once __DIR__ . '/legacy/input-options.php'; require_once __DIR__ . '/legacy/importer/easy-modal-v2.php'; // Phasing Out /** * Load the current main class. * * This is a placeholder for the eventual removal and deferral to the autoloader. */ require_once __DIR__ . '/legacy/class-popup-maker.php'; require_once __DIR__ . '/legacy/class-popmake-fields.php'; require_once __DIR__ . '/legacy/class-popmake-popup-fields.php'; /** * v1.4 Additions */ require_once __DIR__ . '/legacy/class-pum-fields.php'; require_once __DIR__ . '/legacy/class-pum-form.php'; // Modules require_once __DIR__ . '/modules/menus.php'; require_once __DIR__ . '/modules/reviews.php'; require_once __DIR__ . '/pum-install-functions.php'; includes/namespaced/types.php 0000644 00000002607 15174671772 0012355 0 ustar 00 <?php /** * Content Type functions. * * @author Code Atlantic * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker; use function PopupMaker\plugin; defined( 'ABSPATH' ) || exit; /** * Get post type key. * * @param string $type The post type. Must be 'popup', 'pum_cta', 'popup_theme', 'popup_category', or 'popup_tag'. * * @return string * * @since 1.21.0 */ function get_post_type_key( $type ) { return plugin( 'PostTypes' )->get_type_key( $type ); } /** * Get post type labels. * * @param string $post_type The post type. Must be 'popup', 'pum_cta', 'popup_theme', 'popup_category', or 'popup_tag'. * * @return array<string,string> * * @since 1.21.0 */ function get_post_type_labels( $post_type ) { if ( ! post_type_exists( $post_type ) ) { $post_type = get_post_type_key( $post_type ); if ( ! post_type_exists( $post_type ) ) { return []; } } $post_type_object = get_post_type_object( $post_type ); return $post_type_object ? $post_type_object->labels : []; } /** * Get a post type label. * * @param string $post_type The post type. Must be 'popup', 'pum_cta', 'popup_theme', 'popup_category', or 'popup_tag'. * @param string $key The label key. * * @return string * * @since 1.21.0 */ function get_post_type_label( $post_type, $key ) { $labels = get_post_type_labels( $post_type ); return $labels[ $key ] ?? ''; } includes/namespaced/call-to-actions.php 0000644 00000003522 15174671772 0014177 0 ustar 00 <?php /** * Call To Action utility & helper functions. * * @author Code Atlantic LLC * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker; defined( 'ABSPATH' ) || exit; use function PopupMaker\plugin; /** * Get call to action by ID. * * @param int $cta_id Call to action ID. * * @return \PopupMaker\Models\CallToAction|null */ function get_cta_by_id( $cta_id = 0 ) { return plugin( 'ctas' )->get_by_id( $cta_id ); } /** * Get call to action by UUID. * * @param string $cta_uuid Call to action UUID. * * @return \PopupMaker\Models\CallToAction|null */ function get_cta_by_uuid( $cta_uuid = '' ) { return plugin( 'ctas' )->get_by_uuid( $cta_uuid ); } /** * Generate a unique call to action UUID. * * @param int $cta_id Call to action ID. * * @return string */ function generate_unique_cta_uuid( $cta_id = 0 ) { /** * Filter for generating your own call to action UUID. * * @param string $uuid Call to action UUID. * @param int $cta_id Call to action ID. * * @return string */ $override = apply_filters( 'popup_maker/generate_cta_uuid', null, $cta_id ); if ( is_string( $override ) && '' !== $override ) { return $override; } global $wpdb; // Try up to 3 times to generate a unique UUID for ( $i = 0; $i < 3; $i++ ) { $uuid = \PopupMaker\generate_uuid(); // Check existence efficiently with direct SQL query as it's more performant. $exists = $wpdb->get_var( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery $wpdb->prepare( "SELECT meta_id FROM {$wpdb->postmeta} WHERE meta_key = 'cta_uuid' AND meta_value = %s LIMIT 1", $uuid ) ); if ( ! $exists ) { return $uuid; } } // If we still don't have a unique UUID after 3 tries, make it unique by adding the post ID return \PopupMaker\generate_uuid( 'cta_' ) . '_' . $cta_id; } includes/namespaced/filesystem.php 0000644 00000006444 15174671772 0013400 0 ustar 00 <?php /** * System functions. * * @since 1.21.0 * * @package PopupMaker * @copyright Copyright (c) 2025, Code Atlantic LLC */ namespace PopupMaker; use function wp_get_upload_dir; defined( 'ABSPATH' ) || exit; /** * Get the filesystem object. * * @return \WP_Filesystem_Base|false */ function get_fs() { static $fs = null; if ( isset( $fs ) ) { return $fs; } global $wp_filesystem; require_once ABSPATH . 'wp-admin/includes/file.php'; // If for some reason the include doesn't work as expected just return false. if ( ! function_exists( 'WP_Filesystem' ) ) { return false; } $writable = WP_Filesystem( false, '', true ); // We consider the directory as writable if it uses the direct transport, // otherwise credentials would be needed. $fs = ( $writable && 'direct' === $wp_filesystem->method ) ? $wp_filesystem : false; return $fs; } /** * Get the contents of a file. * * @param string $path The path to the file. * * @return string */ function get_file_contents( $path ) { $fs = \PopupMaker\get_fs(); if ( ! $fs ) { // Use WP fallback of file_get_contents. // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents return \file_get_contents( $path ); } return $fs->get_contents( $path ); } /** * Gets the Uploads directory * * @since 1.21.0 * * @return array{basedir: string, baseurl: string}|false An associated array with baseurl and basedir or false on failure */ function get_upload_dir() { $upload_dir = wp_get_upload_dir(); if ( isset( $upload_dir['error'] ) && false !== $upload_dir['error'] ) { pum_log_message( sprintf( 'Getting uploads directory failed. Error given: %s', esc_html( $upload_dir['error'] ) ) ); return false; } return $upload_dir; } /** * Gets the uploads directory URL * * @since 1.21.0 * * @param string $path A path to append to end of upload directory URL. * @return bool|string The uploads directory URL or false on failure */ function get_upload_dir_url( $path = '' ) { $upload_dir = \PopupMaker\get_upload_dir(); if ( false === $upload_dir || ! isset( $upload_dir['baseurl'] ) ) { return false; } $url = preg_replace( '/^https?:/', '', $upload_dir['baseurl'] ); /** * Filter the uploads directory URL. * * @since 1.21.0 * * @param string $url The uploads directory URL. * @return string The filtered uploads directory URL. */ $url = apply_filters( 'popup_maker/get_upload_dir_url', $url ); if ( null === $url ) { return false; } return ! empty( $path ) ? trailingslashit( $url ) . $path : $url; } /** * Gets the uploads directory path * * @since 1.21.0 * * @param string $path A path to append to end of upload directory URL. * @return bool|string The uploads directory path or false on failure */ function get_upload_dir_path( $path = '' ) { $upload_dir = \PopupMaker\get_upload_dir(); if ( false === $upload_dir || ! isset( $upload_dir['basedir'] ) ) { return false; } $dir = $upload_dir['basedir']; /** * Filter the uploads directory path. * * @since 1.21.0 * * @param string $dir The uploads directory path. * @return string The filtered uploads directory path. */ $dir = apply_filters( 'popup_maker/get_upload_dir_path', $dir ); if ( null === $dir ) { return false; } return ! empty( $path ) ? trailingslashit( $dir ) . $path : $dir; } includes/namespaced/default-values.php 0000644 00000001221 15174671772 0014121 0 ustar 00 <?php /** * Core functions. * * @since 1.21.0 * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker; defined( 'ABSPATH' ) || exit; /** * Returns an array of the default settings. * * @return array<string,mixed> Default settings. * * @since 1.21.0 */ function get_default_settings() { return [ // TODO Fill this with default global plugin settings. ]; } /** * Get default call to action settings. * * @return array<string,mixed> Default call to action settings. * * @since 1.21.0 */ function get_default_call_to_action_settings() { return [ 'type' => 'link', 'url' => '', ]; } includes/namespaced/condition-helpers.php 0000644 00000017215 15174671772 0014640 0 ustar 00 <?php /** * Condition helpers. * * @package PopupMaker * @copyright Copyright (c) 2024, Daniel Iser */ namespace PopupMaker; defined( 'ABSPATH' ) || exit; /** * Get selected field. * * @param string $post_type Post type. * @param array $args Arguments. * * @return array */ function get_selected_field( $post_type, $args = [] ) { static $fields = []; $hash = $post_type . '-' . wp_json_encode( $args ); if ( ! isset( $fields[ $hash ] ) ) { global $typenow; $preload_posts = 'popup' === $typenow; if ( ! isset( $args['placeholder'] ) ) { $args['placeholder'] = sprintf( /* translators: %s: Post type. */ __( 'Select %s(s) (optional)', 'popup-maker' ), $post_type ); } $field_args = array_merge( [ 'type' => 'postselect', 'post_type' => $post_type, 'multiple' => true, 'as_array' => true, 'options' => $preload_posts ? \PUM_Helpers::post_type_selectlist_query( $post_type ) : [], ], $args ); $fields[ $hash ] = $field_args; } return $fields[ $hash ]; } /** * Get require all field. * * @param array $args Arguments. * * @return array */ function get_require_all_field( $args = [] ) { static $field; if ( ! isset( $field ) ) { $field = [ 'label' => __( 'Require all', 'popup-maker' ), 'type' => 'checkbox', ]; } return $field; } /** * Get more than field. * * @param array $args Arguments. * * @return array */ function get_morethan_field( $args = [] ) { static $field; if ( ! isset( $field ) ) { $field = array_merge( [ 'label' => __( 'More Than (optional)', 'popup-maker' ), 'type' => 'number', 'std' => 0, ], $args ); } return $field; } /** * Get less than field. * * @param array $args Arguments. * * @return array */ function get_lessthan_field( $args = [] ) { static $field; if ( ! isset( $field ) ) { $field = array_merge( [ 'label' => __( 'Less Than (optional)', 'popup-maker' ), 'type' => 'number', 'std' => 0, ], $args ); } return $field; } /** * Tests more or less than value and returns a boolean. * * @param float|int $value Value to test. * @param float|int|bool $mt More than value. * @param float|int|bool $lt Less than value. * @param bool $default_value Default value to return if no conditions are met. * * @return bool */ function test_more_less_than( $value, $mt = false, $lt = false, $default_value = false ) { $mt = absint( $mt ) > 0 ? absint( $mt ) : false; $lt = absint( $lt ) > 0 ? absint( $lt ) : false; if ( $mt && ! $lt ) { return $value > $mt; } if ( $lt && ! $mt ) { return $lt > $value; } if ( $lt && $mt ) { return $lt > $value && $value > $mt; } return $default_value; } /** * Tests if selected items are in a list of items. Optionally, requires all * selected items to be in the list. * * @param array $items List of items. * @param array $selected Selected items. * @param bool $require_all Require all selected items. * * @return bool */ function test_list_matches( $items, $selected, $require_all ) { if ( empty( $selected ) || ( $require_all && count( $items ) < count( $selected ) ) ) { return false; } // Check each selected download against cart contents. foreach ( $selected as $id ) { $found = in_array( $id, $items, true ); // If requiring all downloads and one is missing, fail immediately. if ( $require_all && ! $found ) { return false; } // If requiring any download and one is found, pass immediately. if ( ! $require_all && $found ) { return true; } } // At this point: // - If require_all=true, we've checked all downloads and none were missing (return true). // - If require_all=false, we've checked all downloads and none were found (return false). return $require_all; } /** * Tests items against a condition with require_all logic. * * This function provides a reusable pattern for checking multiple items against * a condition, with support for "require all" vs "require any" logic. * * This helper eliminates repetitive code patterns found throughout condition callbacks * where we need to check multiple items (products, courses, memberships, etc.) against * a condition and determine if ALL items must match or just ANY item needs to match. * * Before this helper, condition callbacks contained repetitive patterns like: * ```php * $matches = 0; * foreach ( $products as $product_id ) { * $result = $customer->has_purchased( $product_id ); * if ( $result ) { * ++$matches; * } * // If we don't require all and found one match, return true. * if ( ! $require_all && $matches > 0 ) { * return true; * } * } * // If require all, check if matches equal total products. * return $require_all ? count( $products ) === $matches : $matches > 0; * ``` * * Now this can be simplified to: * ```php * return test_items_match( * $products, * function ( $product_id ) use ( $customer ) { * return $customer->has_purchased( $product_id ); * }, * $require_all * ); * ``` * * @param array $items Array of items to check. * @param callable $check_fn Function that returns true if item matches condition. * Receives one parameter: the current item. * @param bool $require_all Whether all items must match (true) or just one (false). * * @return bool True if condition is met, false otherwise. * * @example * // Check if user has access to ANY of the specified products * $products = [123, 456, 789]; * $user_id = get_current_user_id(); * $has_access_any = test_items_match( * $products, * function( $product_id ) use ( $user_id ) { * return user_has_product_access( $user_id, $product_id ); * }, * false // require_all = false (any match) * ); * * @example * // Check if user has ALL required permissions * $permissions = ['edit_posts', 'manage_options', 'publish_pages']; * $user_id = get_current_user_id(); * $has_all_permissions = test_items_match( * $permissions, * function( $capability ) use ( $user_id ) { * return user_can( $user_id, $capability ); * }, * true // require_all = true (all must match) * ); * * @example * // Check if user is member of ANY specified groups * $groups = [101, 102, 103]; * $user_id = get_current_user_id(); * $is_member_of_any = test_items_match( * $groups, * function( $group_id ) use ( $user_id ) { * return is_user_member_of_group( $user_id, $group_id ); * }, * false // require_all = false (any match) * ); * * @example * // Check if ALL posts are published * $post_ids = [201, 202, 203]; * $all_published = test_items_match( * $post_ids, * function( $post_id ) { * return 'publish' === get_post_status( $post_id ); * }, * true // require_all = true (all must be published) * ); * * @example * // Check if user completed ANY of the specified courses * $courses = [301, 302, 303]; * $user_id = get_current_user_id(); * $completed_any = test_items_match( * $courses, * function( $course_id ) use ( $user_id ) { * return is_course_completed( $user_id, $course_id ); * }, * false // require_all = false (any match) * ); * * @since 1.XX.X */ function test_items_match( $items, $check_fn, $require_all = false ) { if ( empty( $items ) || ! is_callable( $check_fn ) ) { return false; } $matches = 0; foreach ( $items as $item ) { if ( $check_fn( $item ) ) { ++$matches; } // If we don't require all and found one match, return true early. if ( ! $require_all && $matches > 0 ) { return true; } } // If require all, check if matches equal total items. return $require_all ? count( $items ) === $matches : $matches > 0; } includes/namespaced/cacheit.php 0000644 00000010535 15174671772 0012610 0 ustar 00 <?php /** * CacheIt Functions * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker; defined( 'ABSPATH' ) || exit; /** * Simple function result cache utility for repeating function calls. * * Usage: * * All examples are assuming the following function: * * Simplified example of internal static cache: * * function my_function() { * return cacheit( __FUNCTION__, function() { * return do_something(); * } ); * } * * Or with a specific cache key: * * function my_function() { * return cacheit( 'my_function', function() { * return do_something(); * } ); * } * * With arguments: * * function my_function( $arg1, $arg2 ) { * return cacheit( __FUNCTION__ , function() use ( $arg1, $arg2 ) { * return do_something( $arg1, $arg2 ); * }, array( $arg1, $arg2 ) ); * } * * Arguments using spread operator: * * function my_function( $arg1, $arg2 ) { * $args = func_get_args(); * * if ( $clear_cache ) { * cacheit( __FUNCTION__, null, $args ); * } * * return cacheit( __FUNCTION__ , function() use ( $args ) { * return do_something( ...$args ); * }, $args ); * } * * With a cache clear * * Clear cache. * * function my_function() { * return pum_cache_func( __FUNCTION__, null ); * } * * Clear cache with arguments. * * function my_function( $arg1, $arg2 ) { * return pum_cache_func( __FUNCTION__, null, func_get_args()); * } * * @since 1.21.0 * * @param string|'get_cacheit_counts' $fn_name Unique name for the function call. * @param callable|false|null $callback Function to compute the result if not cached, false to get cached result, or null to clear cache. * @param array|null $args Arguments to cache under. Used to determine cache key for different arguments. * * @return mixed The cached or computed result. */ function cacheit( $fn_name, $callback = false, $args = null ) { $log_counts = defined( 'PUM_CACHEIT_COUNTS' ) && PUM_CACHEIT_COUNTS; $default_counts = [ 'misses' => 0, 'hits' => 0, 'invalidations' => 0, ]; static $cache = []; static $count = [ 'misses' => 0, 'hits' => 0, 'invalidations' => 0, 'by_fn' => [], 'by_args' => [], ]; $key = $fn_name; if ( null !== $args ) { $key = $fn_name . '_' . wp_json_encode( $args ); } // Get log counts if enabled. if ( $log_counts && 'get_cacheit_counts' === $fn_name ) { return $count; } // Set up counters. if ( ! isset( $count['by_fn'][ $fn_name ] ) ) { $count['by_fn'][ $fn_name ] = $default_counts; } // Set up counters. if ( ! isset( $count['by_args'][ $key ] ) ) { $count['by_args'][ $key ] = $default_counts; } // Check and clear cache. if ( null === $callback || '__return_null' === $callback ) { unset( $cache[ $key ] ); if ( $log_counts ) { ++$count['invalidations']; ++$count['by_fn'][ $fn_name ]['invalidations']; ++$count['by_args'][ $key ]['invalidations']; } return null; } if ( ! isset( $cache[ $key ] ) ) { if ( false !== $callback ) { $cache[ $key ] = $callback(); } if ( $log_counts ) { ++$count['misses']; ++$count['by_fn'][ $fn_name ]['misses']; ++$count['by_args'][ $key ]['misses']; } } elseif ( $log_counts ) { ++$count['hits']; ++$count['by_fn'][ $fn_name ]['hits']; ++$count['by_args'][ $key ]['hits']; } return $cache[ $key ] ?? null; } /** * Track cache function counts. */ if ( defined( 'PUM_CACHEIT_COUNTS' ) && PUM_CACHEIT_COUNTS ) { add_action( 'plugins_loaded', function () { if ( class_exists( 'QM_Collectors' ) ) { // Register collector \QM_Collectors::add( new \PopupMaker\Integration\QueryMonitor\Collector\CacheFunc() ); // Register output handler add_filter( 'qm/outputter/html', function ( $output ) { $collector = \QM_Collectors::get( 'cache-func' ); if ( $collector ) { $output['cache-func'] = new \PopupMaker\Integration\QueryMonitor\Output\Html\CacheFunc( $collector ); } return $output; } ); } } ); } $value_history = []; // Add value history tracking to the earliest hook add_action( 'plugins_loaded', function () { global $value_history; $value_history = []; }, -999999 ); /** * Get value history. * * @return array */ function get_value_history() { global $value_history; return $value_history; } includes/namespaced/utils.php 0000644 00000011333 15174671772 0012345 0 ustar 00 <?php /** * Utility functions. * * @since 1.21.0 * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker; defined( 'ABSPATH' ) || exit; /** * Change camelCase to snake_case. * * @param string $str String to convert. * * @return string Converted string. * * @since 1.21.0 */ function camel_case_to_snake_case( $str ) { return strtolower( preg_replace( '/(?<!^)[A-Z]/', '_$0', $str ) ); } /** * Change snake_case to camelCase. * * @param string $str String to convert. * * @return string Converted string. * * @since 1.21.0 */ function snake_case_to_camel_case( $str ) { return lcfirst( str_replace( '_', '', ucwords( $str, '_' ) ) ); } /** * Get array values using dot.notation. * * @param string $key Key to fetch. * @param array<string,mixed> $data Array to fetch from. * @param string|null $key_case Case to use for key (snake_case|camelCase). * * @return mixed|null * * @since 1.21.0 */ function fetch_key_from_array( $key, $data, $key_case = null ) { // If key is .notation, then we need to traverse the array. $dotted_keys = explode( '.', $key ); foreach ( $dotted_keys as $key ) { if ( $key_case ) { switch ( $key_case ) { case 'snake_case': // Check if key is camelCase & convert to snake_case. $key = camel_case_to_snake_case( $key ); break; case 'camelCase': // Check if key is snake_case & convert to camelCase. $key = snake_case_to_camel_case( $key ); break; } } if ( ! isset( $data[ $key ] ) ) { return null; } $data = $data[ $key ]; } return $data ? $data : null; } /** * Generate a short unique ID. * This generates a unique ID that is URL-safe by combining timestamp and random elements. * * @param string $prefix Optional prefix for the UUID. * @param int $random_length Length of random suffix (default 4). * @return string */ function generate_uuid( $prefix = '', $random_length = 4 ) { // Get microtime as base36 - this gives us a 6-7 character time component $time = base_convert( str_replace( '.', '', microtime( true ) ), 10, 36 ); // Add random suffix $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $random = ''; for ( $i = 0; $i < $random_length; $i++ ) { $random .= $chars[ random_int( 0, strlen( $chars ) - 1 ) ]; } return $prefix . $time . $random; } /** * Safely redirect to URL, allowing external domains when appropriate. * * This function provides a wrapper around wp_safe_redirect() that allows * external redirects with proper security controls via filters. * * @param string $url URL to redirect to. * @param int $status HTTP status code (default 302). * * @return void */ function safe_redirect( $url, $status = 302 ) { /** * Filter to determine if external redirects should be allowed. * * @param bool $allow_external Whether to allow external redirects. * @param string $url The URL being redirected to. */ $allow_external = apply_filters( 'popup_maker/allow_external_redirect', true, $url ); if ( $allow_external ) { // Parse the URL to check if it's external $parsed_url = wp_parse_url( $url ); $site_url = wp_parse_url( home_url() ); // If it's an external URL, temporarily add the host to allowed hosts if ( isset( $parsed_url['host'] ) && isset( $site_url['host'] ) && $parsed_url['host'] !== $site_url['host'] ) { add_filter( 'allowed_redirect_hosts', function ( $hosts ) use ( $parsed_url ) { if ( ! in_array( $parsed_url['host'], $hosts, true ) ) { $hosts[] = $parsed_url['host']; } return $hosts; }, 20 ); } } wp_safe_redirect( sanitize_url( $url ), $status ); exit; } /** * Render a progress bar. * * @param float|int $percentage The percentage to display. * @param array{size:string,title:string,class:string} $args The arguments for the progress bar. * @return void */ function progress_bar( $percentage, $args = [] ) { $args = wp_parse_args( $args, [ 'size' => null, 'title' => '', 'class' => '', 'show_percentage' => true, ] ); $classes = [ 'pum-progress-bar', ]; if ( $args['size'] ) { $classes[] = 'pum-progress-bar--' . esc_attr( $args['size'] ); } if ( $args['class'] ) { $classes[] = esc_attr( $args['class'] ); } echo '<div class="' . esc_attr( implode( ' ', $classes ) ) . '" title="' . esc_html( $args['title'] ) . '">'; echo '<div class="pum-progress-bar__inner">'; echo '<div class="pum-progress-fill" style="width: ' . esc_attr( min( $percentage, 100 ) ) . '%;"></div>'; echo '</div>'; if ( $args['show_percentage'] ) { echo '<strong>' . esc_html( round( $percentage, 1 ) ) . '%</strong>'; } echo '</div>'; } includes/namespaced/popups.php 0000644 00000001170 15174671772 0012531 0 ustar 00 <?php /** * Popup functions. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker; defined( 'ABSPATH' ) || exit; use function PopupMaker\plugin; /** * Get the current popup. * * @return Popup|null * * @since 1.21.0 */ function get_current_popup() { return get_global( 'current_popup', null ); } /** * Set the current popup. * * @param Popup|null $popup * * @since 1.21.0 */ function set_current_popup( $popup ) { set_global( 'current_popup', $popup ); /** * Here for backward compatibility. * * @deprecated 1.21.0 */ pum()->current_popup = $popup; } includes/namespaced/upgrades.php 0000644 00000017257 15174671772 0013032 0 ustar 00 <?php /** * Backward compatibility functions. * * @package PopupMaker */ namespace PopupMaker; if ( ! defined( 'ABSPATH' ) ) { exit; } use function wp_parse_args; use function apply_filters; /** * Get the current data versions. * * @return int[] * * @since 1.21.0 */ function current_data_versions() { return apply_filters( 'popup_maker/current_data_versions', [ // CTA data has never had a dedicated migration. 'pum_ctas' => 1, // Popups were migrated to version 3 in v1.7.0. 'popups' => 3, // Popup themes reached version 3 in v1.8.0. 'popup_themes' => 3, // Global settings were consolidated in version 3. 'settings' => 2, // 3 once we've migrated all settings to JS based camelCase keys to new popup_maker_settings option name. // Plugin meta & user meta currently only have one schema. 'plugin_meta' => 1, 'user_meta' => 1, ] ); } /** * Get all data versions. * * @return int[] * * @since 1.21.0 */ function get_data_versions() { $versioning = \get_option( 'popup_maker_data_versioning', [] ); return wp_parse_args( $versioning, current_data_versions() ); } /** * Set the data version. * * @param string $key Data key. * @param int $version Data version. * * @return bool * * @since 1.21.0 */ function set_data_version( $key, $version ) { $versioning = get_data_versions(); $versioning[ $key ] = $version; return set_data_versions( $versioning ); } /** * Set the data version. * * @param int[] $versioning Data versions. * * @return bool * * @since 1.21.0 */ function set_data_versions( $versioning ) { $versioning = wp_parse_args( $versioning, get_data_versions() ); return \update_option( 'popup_maker_data_versioning', $versioning ); } /** * Get the current data version. * * @param string $key Type of data to get version for. * * @return int|bool * * @since 1.21.0 * * @todo Add support for all data types. */ function get_data_version( $key ) { $versioning = get_data_versions(); $current = isset( $versioning[ $key ] ) ? (int) $versioning[ $key ] : 0; $detected = $current; switch ( $key ) { case 'popups': $query = get_posts( [ 'post_type' => 'popup', 'post_status' => 'any', 'posts_per_page' => 1, // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_key 'meta_key' => 'popup_settings', ] ); if ( ! empty( $query ) ) { $detected = 3; } else { $query = get_posts( [ 'post_type' => 'popup', 'post_status' => 'any', 'posts_per_page' => 1, // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_key 'meta_key' => 'popup_display', ] ); if ( ! empty( $query ) ) { $detected = 2; } elseif ( pum_count_popups() > 0 ) { $detected = 1; } } break; case 'popup_themes': $query = get_posts( [ 'post_type' => 'popup_theme', 'post_status' => 'any', 'posts_per_page' => 1, // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_key 'meta_key' => 'popup_theme_settings', ] ); if ( ! empty( $query ) ) { $detected = 3; } else { $query = get_posts( [ 'post_type' => 'popup_theme', 'post_status' => 'any', 'posts_per_page' => 1, // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_key 'meta_key' => 'popup_theme_overlay', ] ); if ( ! empty( $query ) ) { $detected = 2; } elseif ( pum_count_themes() > 0 ) { $detected = 1; } } break; case 'settings': // if ( get_option( 'popup_maker_settings', false ) !== false ) { // $detected = 3; // } else { if ( get_option( 'pum_settings', false ) !== false ) { $detected = 2; } elseif ( get_option( 'popmake_settings', false ) !== false ) { $detected = 1; } break; } if ( 0 === $current || $detected !== $current ) { $versioning[ $key ] = $detected; set_data_versions( $versioning ); } return $detected; } /** * Checks if user is upgrading from < 2.0.0. * * Sets data versioning to 1 as they didn't exist before. * * @param string $old_version Old version. * * @return void * * @since 1.21.0 * * @todo This is placeholder for future v2 migrations. */ function maybe_force_v2_migrations( $old_version ) { if ( version_compare( $old_version, '2.0.0', '<' ) ) { $versioning = get_data_versions(); // Forces updates for all data types to v2. $versioning = wp_parse_args( [ 'popups' => 1, 'popup_themes' => 1, 'settings' => 1, 'plugin_meta' => 1, 'user_meta' => 1, ], $versioning ); \update_option( 'popup_maker_data_versioning', $versioning ); } } /** * Get the name of an upgrade. * * @param string|\PopupMaker\Base\Upgrade $upgrade Upgrade to get name for. * * @return string * * @since 1.21.0 * * @todo Add support for all upgrade types. */ function get_upgrade_name( $upgrade ) { if ( is_object( $upgrade ) ) { $upgrade = $upgrade::TYPE . '-' . $upgrade::VERSION; } return $upgrade; } /** * Get the completed upgrades. * * @return string[] * * @since 1.21.0 * * @todo migrate functionality from class to here. */ function get_completed_upgrades() { return \PUM_Utils_Upgrades::instance()->get_completed_upgrades(); // TODO Remove this once all upgrades are converted to use the new ID format. // phpcs:ignore Squiz.PHP.NonExecutableCode.Unreachable return \get_option( 'popup_maker_completed_upgrades', [] ); } /** * Set the completed upgrades. * * @param string[] $upgrades Completed upgrades. * * @return bool * * @since 1.21.0 * * @todo migrate functionality from class to here. */ function set_completed_upgrades( $upgrades ) { return \update_option( 'popup_maker_completed_upgrades', $upgrades ); } /** * Mark an upgrade as complete. * * @param \PopupMaker\Base\Upgrade|string $upgrade Upgrade to mark as complete. * * @return void * * @since 1.21.0 * * @todo migrate functionality from class to here. */ function mark_upgrade_complete( $upgrade ) { \PUM_Utils_Upgrades::instance()->set_upgrade_complete( $upgrade ); return; // TODO Remove this once all upgrades are converted to use the new ID format. // phpcs:disable Squiz.PHP.NonExecutableCode.Unreachable $upgrade_name = get_upgrade_name( $upgrade ); $upgrades = get_completed_upgrades(); if ( ! in_array( $upgrade_name, $upgrades, true ) ) { $upgrades[] = $upgrade_name; } set_completed_upgrades( $upgrades ); // Update the data version. set_data_version( $upgrade::TYPE, $upgrade::VERSION ); /** * Fires when an upgrade is marked as complete. * * @param \PopupMaker\Base\Upgrade $upgrade Upgrade type. */ do_action( 'popup_maker/upgrade_complete', $upgrade ); /** * Fires when a specific upgrade is marked as complete. * * @param \PopupMaker\Base\Upgrade $upgrade Upgrade type. */ do_action( "popup_maker/upgrade_complete/{$upgrade_name}", $upgrade ); // TODO Remove this once all upgrades are converted to use the new ID format. // phpcs:enable Squiz.PHP.NonExecutableCode.Unreachable } /** * Check if an upgrade has been completed. * * @param string|\PopupMaker\Base\Upgrade $upgrade Upgrade to check. * * @return bool * * @since 1.21.0 * * @todo migrate functionality from class to here. */ function is_upgrade_complete( $upgrade ) { return \PUM_Utils_Upgrades::instance()->has_completed_upgrade( $upgrade ); // TODO Remove this once all upgrades are converted to use the new ID format. // phpcs:disable Squiz.PHP.NonExecutableCode.Unreachable $upgrade = get_upgrade_name( $upgrade ); $upgrades = get_completed_upgrades(); return in_array( $upgrade, $upgrades, true ); // TODO Remove this once all upgrades are converted to use the new ID format. // phpcs:enable Squiz.PHP.NonExecutableCode.Unreachable } includes/namespaced/core.php 0000644 00000004164 15174671772 0012141 0 ustar 00 <?php /** * Core functions. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker; defined( 'ABSPATH' ) || exit; /** * Returns an array of the default permissions. * * @return array<string,string> Default permissions. * * @since 1.21.0 */ function get_default_permissions() { $permissions = [ // Allow editors to manage popups and themes. 'edit_ctas' => 'edit_others_posts', 'edit_popups' => 'edit_others_posts', 'edit_popup_themes' => 'edit_others_posts', // Keep admin-only for plugin settings. 'manage_settings' => 'manage_options', ]; /** * Filter: popup_maker/permissions * * Allows customization of user permissions for Popup Maker functionality. * * @param array<string,string> $permissions Permission mappings. * * @since 1.21.1 */ return apply_filters( 'popup_maker/permissions', $permissions ); } /** * Get global store. * * @return \PopupMaker\Services\Globals * * @since 1.21.0 */ function get_globals_store() { return \PopupMaker\plugin( 'globals' ); } /** * Get value from global store. * * @param string $key Key. * @param mixed $default_value Default value. * * @return mixed * * @since 1.21.0 */ function get_global( $key, $default_value = null ) { return get_globals_store()->get( $key, $default_value ); } /** * Set value in global store. * * @param string $key Key. * @param mixed $value Value. * * @since 1.21.0 */ function set_global( $key, $value ) { get_globals_store()->set( $key, $value ); } /** * Check if pro is active. * * @return boolean */ function is_pro_active() { return plugin()->is_pro_active(); } /** * Get upgrade link. * * @return string */ function get_upgrade_link( $utm_args = [] ) { $utm_args = array_merge( [ 'utm_source' => 'plugin', 'utm_medium' => 'dashboard', 'utm_campaign' => 'upgrade', ], $utm_args ); return 'https://wppopupmaker.com/pricing/?' . http_build_query( $utm_args ); } /** * Get logging service. * * @since 1.21.0 * * @return \PopupMaker\Services\Logging */ function logging() { return \PopupMaker\plugin()->get( 'logging' ); } includes/namespaced/install.php 0000644 00000007324 15174671772 0012660 0 ustar 00 <?php /** * Core functions. * * @since 1.21.0 * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker; defined( 'ABSPATH' ) || exit; /** * Get current version info. This is the one true API to get this info. * * @param string|null $key Key of info to return. * * @return ($key === null ? array{ * version: string, * upgraded_from: string, * initial_version: string, * installed_on: string, * } : string|null) * * @since 1.21.0 */ function get_current_install_info( $key = null ) { /** * Should match the option key in the plugin Core class. * * @var array{ * version: string, * upgraded_from: string, * initial_version: string, * installed_on: string, * } */ $info = get_option( 'popup_maker_version_info' ); if ( $key ) { return $info[ $key ] ?? null; } return $info; } /** * Used to detect the previous install version if not currently known. * * @return string|false * * @since 1.21.0 */ function detect_previous_install_version() { $version = get_option( 'pum_ver' ); if ( false === $version ) { // Added on install but never used, was likely a typo. $version = get_option( 'pum_version' ); } if ( false === $version ) { $version = get_option( 'popmake_version' ); } return false === $version ? false : (string) $version; } /** * Used to detect the initial install version if not currently known. * * @return string * * @since 1.21.0 */ function detect_initial_install_version() { $oldest_known = config( 'version' ); $version = detect_previous_install_version(); if ( false !== $version && version_compare( $version, $oldest_known, '<' ) ) { $oldest_known = (string) $version; } $upgraded_from = get_option( 'pum_ver_upgraded_from' ); if ( false !== $upgraded_from && version_compare( $upgraded_from, $oldest_known, '<' ) ) { $oldest_known = (string) $upgraded_from; } $deprecated_ver = get_site_option( 'popmake_version' ); if ( false !== $deprecated_ver && version_compare( $deprecated_ver, $oldest_known, '<' ) ) { $oldest_known = (string) $deprecated_ver; } $dep_upgraded_from = get_option( 'popmake_version_upgraded_from' ); if ( false !== $dep_upgraded_from && version_compare( $dep_upgraded_from, $oldest_known, '<' ) ) { $oldest_known = (string) $dep_upgraded_from; } return $oldest_known; } /** * Used to calculate the initial install date if not currently known. * * Checks are performed on newest known data points first, then older ones. * * 1. Current time. (fresh install) * 2. 1.8.0 - 1.19.X - pum_installed_on option. * 3. <1.8.0 - pum_reviews_installed_on option. * * @return string * * @since 1.21.0 */ function detect_initial_install_date() { // 1. Current time. (fresh install) $installed_on = current_time( 'mysql' ); // 2. 1.8.0 - 1.19.X - pum_installed_on option. $v1_8_date = get_option( 'pum_installed_on' ); // 3. <1.8.0 - pum_reviews_installed_on option. $review_installed_on = get_option( 'pum_reviews_installed_on' ); if ( ! empty( $v1_8_date ) ) { $installed_on = $v1_8_date; } elseif ( ! empty( $review_installed_on ) ) { $installed_on = $review_installed_on; } return $installed_on; } /** * Cleanup old install data. * * @since 1.21.0 */ function cleanup_old_install_data() { // Delete old install data. delete_option( 'pum_installed_on' ); delete_option( 'pum_reviews_installed_on' ); delete_option( 'pum_version_upgraded_from' ); delete_option( 'pum_initial_version' ); delete_option( 'pum_db_ver' ); delete_option( 'pum_ver' ); delete_option( 'pum_version' ); // Never used but should be removed. delete_option( 'popmake_version' ); delete_option( 'popmake_version_upgraded_from' ); // TODO search for other data to remove. } includes/index.php 0000644 00000000164 15174671772 0010214 0 ustar 00 <?php /** * Silence is golden. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ includes/compatibility/function-wp_removable_query_args.php 0000644 00000001533 15174671772 0020525 0 ustar 00 <?php /** * Returns an array of single-use query variable names that can be removed from a URL. * * @since 4.4.0 * * @return array An array of parameters to remove from the URL. */ function wp_removable_query_args() { $removable_query_args = [ 'activate', 'activated', 'approved', 'deactivate', 'deleted', 'disabled', 'enabled', 'error', 'hotkeys_highlight_first', 'hotkeys_highlight_last', 'locked', 'message', 'same', 'saved', 'settings-updated', 'skipped', 'spammed', 'trashed', 'unspammed', 'untrashed', 'update', 'updated', 'wp-post-new-reload', ]; /** * Filters the list of query variables to remove. * * @since 4.2.0 * * @param array $removable_query_args An array of query variables to remove from a URL. */ return apply_filters( 'removable_query_args', $removable_query_args ); } includes/batch/upgrade/class-upgrade-v1_7-settings.php 0000644 00000002250 15174671772 0016755 0 ustar 00 <?php /** * Upgrade Settings class for batch * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * * phpcs:disable PEAR.NamingConventions.ValidClassName.Invalid */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Implements a batch processor for migrating existing popups to new data structure. * * @since 1.7.0 * * @see PUM_Abstract_Upgrade_Popups */ class PUM_Upgrade_v1_7_Settings extends PUM_Abstract_Upgrade_Settings { /** * Batch process ID. * * @var string */ public $batch_id = 'core-v1_7-settings'; /** * Process needed upgrades on each popup. * * @param array $settings Current global popup maker settings. */ public function process_settings( $settings = [] ) { $changed = false; // popmake_settings['newsletter_default_provider'] == '' should be changed to 'none' if ( isset( $settings['newsletter_default_provider'] ) && '' === $settings['newsletter_default_provider'] ) { $settings['newsletter_default_provider'] = 'none'; $changed = true; } /** * Save only if something changed. */ if ( $changed ) { PUM_Utils_Options::update_all( $settings ); } } } includes/batch/upgrade/class-upgrade-v1_8-themes.php 0000644 00000003144 15174671772 0016406 0 ustar 00 <?php /** * Upgrade Themes class for batch * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * * phpcs:disable PEAR.NamingConventions.ValidClassName.Invalid */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Implements a batch processor for migrating existing themes to new data structure. * * @since 1.8.0 * * @see PUM_Abstract_Upgrade_Themes */ class PUM_Upgrade_v1_8_Themes extends PUM_Abstract_Upgrade_Themes { /** * Batch process ID. * * @var string */ public $batch_id = 'core-v1_8-themes'; /** * Only load popups with specific meta keys.r * * @return array */ public function custom_query_args() { return [ // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query 'meta_query' => [ 'relation' => 'OR', [ 'key' => 'popup_theme_data_version', 'compare' => 'NOT EXISTS', 'value' => 'deprecated', // Here for WP 3.9 or less. ], [ 'key' => 'popup_theme_data_version', 'compare' => '<', 'value' => 3, ], ], ]; } /** * Process needed upgrades on each theme. * * @param int $theme_id */ public function process_theme( $theme_id = 0 ) { $theme = pum_get_theme( $theme_id ); /** * If the theme is using an out of date data version, process upgrades. */ if ( $theme->data_version < $theme->model_version ) { $theme->passive_migration(); } } public function finish() { // Clean up transient used to determine when updates are needed. delete_transient( 'pum_needs_1_8_theme_upgrades' ); parent::finish(); // TODO: Change the autogenerated stub } } includes/batch/upgrade/class-upgrade-v1_7-popups.php 0000644 00000002100 15174671772 0016435 0 ustar 00 <?php /** * Upgrade Popups class for batch * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * * phpcs:disable PEAR.NamingConventions.ValidClassName.Invalid */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Implements a batch processor for migrating existing popups to new data structure. * * @since 1.7.0 * * @see PUM_Abstract_Upgrade_Popups */ class PUM_Upgrade_v1_7_Popups extends PUM_Abstract_Upgrade_Popups { /** * Batch process ID. * * @var string */ public $batch_id = 'core-v1_7-popups'; /** * Process needed upgrades on each popup. * * @param int $popup_id */ public function process_popup( $popup_id = 0 ) { $popup = pum_get_popup( $popup_id ); /** * If the popup is already updated, return early. */ if ( $popup->data_version < 3 ) { /** * Processes the popups data through a migration routine. * * $popup is passed by reference. */ pum_popup_migration_2( $popup ); /** * Update the popups data version. */ $popup->update_meta( 'data_version', 3 ); } } } includes/integrations/class-pum-woocommerce-integration.php 0000644 00000006674 15174671772 0020371 0 ustar 00 <?php /** * Integrations for woocommerce * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * WooCommerce Integration */ class PUM_Woocommerce_Integration { public static function init() { add_filter( 'pum_registered_conditions', [ __CLASS__, 'register_conditions' ] ); add_filter( 'pum_condition_sort_order', [ __CLASS__, 'condition_sort_order' ] ); } public static function is_wc_endpoint_url( $settings = [] ) { $results = []; foreach ( $settings['selected'] as $key ) { $results[] = is_wc_endpoint_url( $key ); } return in_array( true, $results, true ); } public static function register_conditions( $conditions = [] ) { // Add Additional Conditions $conditions['is_woocommerce'] = [ 'group' => __( 'WooCommerce', 'woocommerce' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'All WooCommerce', 'popup-maker' ), 'callback' => 'is_woocommerce', ]; $conditions['is_shop'] = [ 'group' => __( 'WooCommerce', 'woocommerce' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'Shop Page', 'popup-maker' ), 'callback' => 'is_shop', ]; $conditions['is_cart'] = [ 'group' => __( 'WooCommerce', 'woocommerce' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'Cart Page', 'popup-maker' ), 'callback' => 'is_cart', ]; $conditions['is_checkout'] = [ 'group' => __( 'WooCommerce', 'woocommerce' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'Checkout Page', 'popup-maker' ), 'callback' => 'is_checkout', ]; $conditions['is_account_page'] = [ 'group' => __( 'WooCommerce', 'woocommerce' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'Account Page', 'popup-maker' ), 'callback' => 'is_account_page', ]; $conditions['is_wc_endpoint_url'] = [ 'group' => __( 'WooCommerce', 'woocommerce' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'Is Endpoint', 'popup-maker' ), 'fields' => [ 'selected' => [ 'placeholder' => __( 'Selected Endpoints', 'popup-maker' ), 'type' => 'select', 'select2' => true, 'multiple' => true, 'as_array' => true, 'options' => [ 'order-pay' => 'order-pay', 'order-received' => 'order-received', // My account actions. 'orders' => 'orders', 'view-order' => 'view-order', 'downloads' => 'downloads', 'edit-account' => 'edit-account', 'edit-address' => 'edit-address', 'payment-methods' => 'payment-methods', 'lost-password' => 'lost-password', 'customer-logout' => 'customer-logout', 'add-payment-method' => 'add-payment-method', 'delete-payment-method' => 'delete-payment-method', 'set-default-payment-method' => 'set-default-payment-method', 'subscriptions' => 'subscriptions', ], ], ], 'callback' => [ __CLASS__, 'is_wc_endpoint_url' ], ]; return $conditions; } public static function condition_sort_order( $order = [] ) { $order[ __( 'WooCommerce', 'woocommerce' ) ] = 5.256; // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch return $order; } } includes/integrations/ninja-forms/Actions/OpenPopup.php 0000644 00000004060 15174671772 0017362 0 ustar 00 <?php /** * Integrations for ninja-forms actions open popup * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * * phpcs:disable PSR2.Classes.PropertyDeclaration.Underscore */ if ( ! defined( 'ABSPATH' ) ) { exit;} /** * Class NF_Action_SuccessMessage */ final class NF_PUM_Actions_OpenPopup extends NF_Abstracts_Action { /** * @var string */ protected $_name = 'openpopup'; /** * @var array */ protected $_tags = []; /** * @var string */ protected $_timing = 'late'; /** * @var int */ protected $_priority = 10; /** * Constructor */ public function __construct() { parent::__construct(); $this->_nicename = __( 'Open Popup', 'popup-maker' ); $settings = [ 'popup' => [ 'name' => 'popup', 'type' => 'select', 'group' => 'primary', 'label' => __( 'Popup ID', 'popup-maker' ), 'placeholder' => '', 'width' => 'full', // Ignored because we are checking explicit page string matches. // phpcs:ignore WordPress.Security.NonceVerification.Recommended 'options' => isset( $_GET['page'] ) && 'ninja-forms' === $_GET['page'] && ! empty( $_GET['form_id'] ) ? $this->get_popup_list() : [], ], ]; $this->_settings = array_merge( $this->_settings, $settings ); } /* * PUBLIC METHODS */ /** * Saves the settings. */ public function save( $action_settings ) { } public function process( $action_settings, $form_id, $data ) { if ( ! isset( $data['actions'] ) || ! isset( $data['actions']['openpopup'] ) ) { $data['actions']['openpopup'] = false; } if ( isset( $action_settings['popup'] ) ) { $data['actions']['openpopup'] = intval( $action_settings['popup'] ); } return $data; } public function get_popup_list() { $popup_list = [ [ 'value' => '', 'label' => __( 'Select a popup', 'popup-maker' ), ], ]; $popups = pum_get_all_popups(); foreach ( $popups as $popup ) { $popup_list[] = [ 'value' => $popup->ID, 'label' => $popup->post_title, ]; } return $popup_list; } } includes/integrations/ninja-forms/Actions/ClosePopup.php 0000644 00000003426 15174671772 0017533 0 ustar 00 <?php /** * Integrations for ninja-forms actions close popup * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * * phpcs:disable PSR2.Classes.PropertyDeclaration.Underscore */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class NF_Action_SuccessMessage */ final class NF_PUM_Actions_ClosePopup extends NF_Abstracts_Action { /** * @var string */ protected $_name = 'closepopup'; /** * @var array */ protected $_tags = []; /** * @var string */ protected $_timing = 'late'; /** * @var int */ protected $_priority = 10; /** * Constructor */ public function __construct() { parent::__construct(); $this->_nicename = __( 'Close Popup', 'popup-maker' ); $settings = [ 'close_delay' => [ 'name' => 'close_delay', 'type' => 'number', 'group' => 'primary', 'label' => __( 'Delay', 'popup-maker' ) . ' (' . __( 'seconds', 'popup-maker' ) . ')', 'placeholder' => '', 'width' => 'full', 'value' => __( '0', 'popup-maker' ), ], ]; $this->_settings = array_merge( $this->_settings, $settings ); } /* * PUBLIC METHODS */ /** * Saves the settings. */ public function save( $action_settings ) { } public function process( $action_settings, $form_id, $data ) { if ( ! isset( $data['actions'] ) || ! isset( $data['actions']['closepopup'] ) ) { $data['actions']['closepopup'] = true; } if ( isset( $action_settings['close_delay'] ) ) { $data['actions']['closedelay'] = intval( $action_settings['close_delay'] ); if ( strlen( $data['actions']['closedelay'] ) >= 3 ) { $data['actions']['closedelay'] = $data['actions']['closedelay'] / 1000; } $data['actions']['closepopup'] = $data['actions']['closedelay']; } return $data; } } includes/integrations/class-pum-gravity-forms.php 0000644 00000020544 15174671772 0016332 0 ustar 00 <?php /** * Gravity-forms Integrations class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Gravity_Forms_Integation { public static function init() { add_filter( 'gform_form_settings_menu', [ __CLASS__, 'settings_menu' ] ); add_action( 'gform_form_settings_page_popup-maker', [ __CLASS__, 'render_settings_page' ] ); add_filter( 'pum_get_cookies', [ __CLASS__, 'register_cookies' ] ); add_filter( 'gform_get_form_filter', [ __CLASS__, 'get_form' ], 10, 2 ); add_action( 'popmake_preload_popup', [ __CLASS__, 'preload' ] ); add_action( 'popmake_popup_before_inner', [ __CLASS__, 'force_ajax' ] ); add_action( 'popmake_popup_after_inner', [ __CLASS__, 'force_ajax' ] ); } public static function force_ajax() { if ( current_action() === 'popmake_popup_before_inner' ) { add_filter( 'shortcode_atts_gravityforms', [ __CLASS__, 'gfrorms_shortcode_atts' ] ); } if ( current_action() === 'popmake_popup_after_inner' ) { remove_filter( 'shortcode_atts_gravityforms', [ __CLASS__, 'gfrorms_shortcode_atts' ] ); } } public static function gfrorms_shortcode_atts( $out ) { $out['ajax'] = 'true'; return $out; } public static function preload( $popup_id ) { if ( function_exists( 'gravity_form_enqueue_scripts' ) ) { $popup = pum_get_popup( $popup_id ); if ( has_shortcode( $popup->post_content, 'gravityform' ) ) { $regex = "/\[gravityform.*id=[\'\"]?([0-9]*)[\'\"]?.*/"; $popup = get_post( $popup_id ); preg_match_all( $regex, $popup->post_content, $matches ); foreach ( $matches[1] as $form_id ) { add_filter( "gform_confirmation_anchor_{$form_id}", '__return_false' ); gravity_form_enqueue_scripts( $form_id, true ); } } } } public static function settings_menu( $setting_tabs ) { $setting_tabs['998.002'] = [ 'name' => 'popup-maker', 'label' => __( 'Popup Maker', 'popup-maker' ), ]; return $setting_tabs; } public static function get_form( $form_string, $form ) { $settings = wp_json_encode( self::form_options( $form['id'] ) ); $field = "<input type='hidden' class='gforms-pum' value='$settings' />"; $form_string = preg_replace( '/(<form.*>)/', "$1 \r\n " . $field, $form_string ); return $form_string; } /** * Get default values. * * @return array */ public static function defaults() { return [ 'closepopup' => false, 'closedelay' => 0, 'openpopup' => false, 'openpopup_id' => 0, ]; } /** * Get a specific forms options. * * @param $id * * @return array */ public static function form_options( $id ) { $settings = get_option( 'gforms_pum_' . $id, self::defaults() ); return wp_parse_args( $settings, self::defaults() ); } /** * Registers new cookie events. * * @param array $cookies * * @return array */ public static function register_cookies( $cookies = [] ) { $cookies['gforms_form_success'] = [ 'labels' => [ 'name' => __( 'Gravity Form Success (deprecated. Use Form Submission instead.)', 'popup-maker' ), ], 'fields' => pum_get_cookie_fields(), ]; return $cookies; } public static function render_settings_page() { $form_id = rgget( 'id' ); self::save(); $settings = self::form_options( $form_id ); GFFormSettings::page_header( __( 'Popup Settings', 'popup-maker' ) ); ?> <div id="popup_settings-editor"> <form id="popup_settings_edit_form" method="post"> <table class="form-table gforms_form_settings"> <tr> <th scope="row"> <label for="gforms-pum-closepopup"><?php esc_html_e( 'Close Popup', 'popup-maker' ); ?></label> </th> <td> <input type="checkbox" id="gforms-pum-closepopup" name="gforms-pum[closepopup]" value="true" <?php checked( $settings['closepopup'], true ); ?> /> </td> </tr> <tr id="gforms-pum-closedelay-wrapper"> <th scope="row"> <label for="gforms-pum-closedelay"><?php esc_html_e( 'Delay', 'popup-maker' ); ?></label> </th> <td> <?php if ( strlen( $settings['closedelay'] ) >= 3 ) { $settings['closedelay'] = $settings['closedelay'] / 1000; } ?> <input type="number" id="gforms-pum-closedelay" min="0" step="1" name="gforms-pum[closedelay]" style="width: 100px;" value="<?php echo esc_attr( $settings['closedelay'] ); ?>" /><?php esc_html_e( 'seconds', 'popup-maker' ); ?> </td> </tr> <tr> <th scope="row"> <label for="gforms-pum-openpopup"><?php esc_html_e( 'Open Popup', 'popup-maker' ); ?></label> </th> <td> <input type="checkbox" id="gforms-pum-openpopup" name="gforms-pum[openpopup]" value="true" <?php checked( $settings['openpopup'], true ); ?> /> </td> </tr> <tr id="gforms-pum-openpopup_id-wrapper"> <th scope="row"> <label for="gforms-pum-openpopup_id"><?php esc_html_e( 'Popup', 'popup-maker' ); ?></label> </th> <td> <select id="gforms-pum-openpopup_id" name="gforms-pum[openpopup_id]"> <?php foreach ( self::get_popup_list() as $option ) { ?> <option value="<?php echo esc_attr( $option['value'] ); ?>" <?php selected( $settings['openpopup_id'], $option['value'] ); ?>><?php echo esc_html( $option['label'] ); ?></option> <?php } ?> </select> </td> </tr> </table> <input type="hidden" id="form_id" name="form_id" value="<?php echo esc_attr( $form_id ); ?>" /> <p class="submit"> <input type="submit" name="save" value="<?php esc_attr_e( 'Save', 'popup-maker' ); ?>" class="button-primary"> </p> <?php wp_nonce_field( 'gform_popup_settings_edit', 'gform_popup_settings_edit' ); ?> </form> <script type="text/javascript"> (function ($) { var $open = $('#gforms-pum-openpopup'), $close = $('#gforms-pum-closepopup'), $popup_id_wrapper = $('#gforms-pum-openpopup_id-wrapper'), $delay_wrapper = $('#gforms-pum-closedelay-wrapper'); function check_open() { if ($open.is(':checked')) { $popup_id_wrapper.show(); } else { $popup_id_wrapper.hide(); } } function check_close() { if ($close.is(':checked')) { $delay_wrapper.show(); } else { $delay_wrapper.hide(); } } check_open(); check_close(); $open.on('click', check_open); $close.on('click', check_close); }(jQuery)); </script> </div> <!-- / popup-editor --> <?php GFFormSettings::page_footer(); } /** * Get a list of popups for a select box. * * @return array */ public static function get_popup_list() { $popup_list = [ [ 'value' => '', 'label' => __( 'Select a popup', 'popup-maker' ), ], ]; $popups = get_posts( [ 'post_type' => 'popup', 'post_status' => [ 'publish' ], 'posts_per_page' => - 1, ] ); foreach ( $popups as $popup ) { $popup_list[] = [ 'value' => $popup->ID, 'label' => $popup->post_title, ]; } return $popup_list; } /** * Save form popup options. */ public static function save() { if ( empty( $_POST ) || ! check_admin_referer( 'gform_popup_settings_edit', 'gform_popup_settings_edit' ) ) { return; } $form_id = rgget( 'id' ); if ( ! empty( $_POST['gforms-pum'] ) ) { $settings = sanitize_textarea_field( wp_unslash( $_POST['gforms-pum'] ) ); // Sanitize values. $settings = json_decode( $settings, true ); // Check if JSON decode was successful. if ( is_array( $settings ) ) { $settings['openpopup'] = ! empty( $settings['openpopup'] ); $settings['openpopup_id'] = ! empty( $settings['openpopup_id'] ) ? absint( $settings['openpopup_id'] ) : 0; $settings['closepopup'] = ! empty( $settings['closepopup'] ); $settings['closedelay'] = ! empty( $settings['closedelay'] ) ? absint( $settings['closedelay'] ) : 0; update_option( 'gforms_pum_' . $form_id, $settings ); } } else { delete_option( 'gforms_pum_' . $form_id ); } } } /** * Review * * This should be reviewed. * * add_action( 'gform_loaded', array( 'PUM_Gravity_Forms_Integration', 'load' ), 5 ); * * class PUM_Gravity_Forms_Integration { * * public static function load() { * if ( ! method_exists( 'GFForms', 'include_feed_addon_framework' ) ) { * return; * } * require_once 'gravity-forms/class-pum-gf-popup-addon.php'; * GFAddOn::register( 'PUM_GF_Popup_Addon' ); * } * } * * function pum_gf_addon() { * return PUM_GF_Popup_Addon::get_instance(); * } */ includes/integrations/class-pum-ninja-forms.php 0000644 00000007474 15174671772 0015753 0 ustar 00 <?php /** * Integrations for ninja-forms * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * * phpcs:disable Universal.Files.SeparateFunctionsFromOO.Mixed */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class NF_PUM */ final class NF_PUM { const PREFIX = 'NF_PUM'; /** * @var NF_PUM * @since 3.0 */ private static $instance; /** * Plugin Directory * * @since 3.0 * @var string $dir */ public static $dir = ''; /** * Plugin URL * * @since 3.0 * @var string $url */ public static $url = ''; /** * Main Plugin Instance * * Insures that only one instance of a plugin class exists in memory at any one * time. Also prevents needing to define globals all over the place. * * @since 3.0 * @static * @static var array $instance * @return NF_PUM Highlander Instance */ public static function instance() { if ( ! isset( self::$instance ) && ! ( self::$instance instanceof NF_PUM ) ) { spl_autoload_register( [ __CLASS__, 'autoloader' ] ); self::$instance = new NF_PUM(); self::$dir = plugin_dir_path( __FILE__ ); self::$url = plugin_dir_url( __FILE__ ); } return self::$instance; } public function __construct() { $this->register_actions(); add_filter( 'pum_registered_cookies', [ $this, 'register_cookies' ] ); } /** * Register Actions * * Register custom form actions to integrate with popups. */ public function register_actions() { Ninja_Forms()->actions['closepopup'] = new NF_PUM_Actions_ClosePopup(); Ninja_Forms()->actions['openpopup'] = new NF_PUM_Actions_OpenPopup(); } /** * Optional. If your extension creates a new field interaction or display template... */ public function register_cookies( $cookies ) { $cookies['ninja_form_success'] = [ 'labels' => [ 'name' => __( 'Ninja Form Success (deprecated. Use Form Submission instead.)', 'popup-maker' ), ], 'fields' => pum_get_cookie_fields(), ]; return $cookies; } /** * Optional methods for convenience. */ public static function autoloader( $class_name ) { if ( class_exists( $class_name ) ) { return; } if ( false === strpos( $class_name, self::PREFIX ) ) { return; } $class_name = str_replace( self::PREFIX, '', $class_name ); $classes_dir = realpath( plugin_dir_path( __FILE__ ) ) . DIRECTORY_SEPARATOR . 'ninja-forms' . DIRECTORY_SEPARATOR; $class_file = str_replace( '_', DIRECTORY_SEPARATOR, $class_name ) . '.php'; if ( file_exists( $classes_dir . $class_file ) ) { require_once $classes_dir . $class_file; } } /** * Template * * @param string $file_name * @param array $data */ public static function template( $file_name = '', array $data = [] ) { if ( ! $file_name ) { return; } // Ignore because this is specfic for template files. // phpcs:ignore WordPress.PHP.DontExtract.extract_extract extract( $data ); include self::$dir . 'includes/Templates/' . $file_name; } /** * Config * * @param $file_name * * @return mixed */ public static function config( $file_name ) { return include self::$dir . 'includes/Config/' . $file_name . '.php'; } } /** * The main function responsible for returning The Highlander Plugin * Instance to functions everywhere. * * Use this function like you would a global variable, except without needing * to declare the global. * * @since 3.0 * @return {class} Highlander Instance */ function NF_PUM() { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid return NF_PUM::instance(); } /** * */ function pum_nf_should_init() { if ( ! class_exists( 'Ninja_Forms' ) ) { return; } if ( version_compare( get_option( 'ninja_forms_version', '0.0.0' ), '3.0', '<' ) || get_option( 'ninja_forms_load_deprecated', false ) ) { return; } NF_PUM(); } add_action( 'init', 'pum_nf_should_init', 0 ); includes/integrations/class-pum-buddypress-integration.php 0000644 00000015014 15174671772 0020222 0 ustar 00 <?php /** * Integrations for buddypress * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_BuddyPress_Integration */ class PUM_BuddyPress_Integration { /** * */ public static function init() { add_filter( 'pum_registered_conditions', [ __CLASS__, 'registered_conditions' ] ); add_filter( 'pum_condition_sort_order', [ __CLASS__, 'condition_sort_order' ] ); } /** * @param array $conditions * * @return array */ public static function registered_conditions( $conditions = [] ) { $conditions = array_merge( $conditions, [ // Add Additional Conditions 'is_buddypress' => [ 'group' => __( 'BuddyPress', 'buddypress' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'BP: Is a BuddyPress Page', 'popup-maker' ), 'callback' => 'is_buddypress', ], 'bp_is_user' => [ 'group' => __( 'BuddyPress', 'buddypress' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'BP: Is User Page', 'popup-maker' ), 'callback' => 'bp_is_user', ], 'bp_is_group' => [ 'group' => __( 'BuddyPress', 'buddypress' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'BP: Is Group Page', 'popup-maker' ), 'callback' => 'bp_is_group', ], 'bp_is_user_messages' => [ 'group' => __( 'BuddyPress', 'buddypress' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'BP: Is User Messages Page', 'popup-maker' ), 'callback' => 'bp_is_user_messages', ], 'bp_is_activation_page' => [ 'group' => __( 'BuddyPress', 'buddypress' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'BP: Is Activation Page', 'popup-maker' ), 'callback' => 'bp_is_activation_page', ], 'bp_is_register_page' => [ 'group' => __( 'BuddyPress', 'buddypress' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'BP: Is Register Page', 'popup-maker' ), 'callback' => 'bp_is_register_page', ], 'bp_is_item_admin' => [ 'group' => __( 'BuddyPress', 'buddypress' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'BP: Is Item Admin', 'popup-maker' ), 'callback' => 'bp_is_item_admin', ], 'bp_is_item_mod' => [ 'group' => __( 'BuddyPress', 'buddypress' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'BP: Is Item Mod', 'popup-maker' ), 'callback' => 'bp_is_item_mod', ], 'bp_is_directory' => [ 'group' => __( 'BuddyPress', 'buddypress' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'BP: Is Directory', 'popup-maker' ), 'callback' => 'bp_is_directory', ], 'bp_is_current_component' => [ 'group' => __( 'BuddyPress', 'buddypress' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'BP: Is Current Component', 'popup-maker' ), 'fields' => [ 'selected' => [ 'type' => 'select', 'multiple' => true, 'as_array' => true, 'select2' => true, 'options' => self::component_option_list(), 'label' => __( 'Which components?', 'popup-maker' ), ], ], 'callback' => [ __CLASS__, 'bp_is_current_component' ], ], 'bp_is_current_action' => [ 'group' => __( 'BuddyPress', 'buddypress' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'BP: Is Current Action', 'popup-maker' ), 'fields' => [ 'selected' => [ 'type' => 'text', 'label' => __( 'Which actions?', 'popup-maker' ), ], ], 'callback' => [ __CLASS__, 'bp_is_current_action' ], ], 'bp_is_action_variable' => [ 'group' => __( 'BuddyPress', 'buddypress' ), // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'name' => __( 'BP: Is Action Variable', 'popup-maker' ), 'fields' => [ 'selected' => [ 'type' => 'text', 'label' => __( 'Which action variables?', 'popup-maker' ), ], ], 'callback' => [ __CLASS__, 'bp_is_action_variable' ], ], ] ); return $conditions; } /** * @return array */ public static function component_option_list() { global $bp; $components = []; foreach ( $bp->active_components as $component => $key ) { $components[ $component ] = ucfirst( $component ); } return $components; } /** * Checks if the current page is the selected bp components. * * @param array $settings * * @return bool */ public static function bp_is_current_component( $settings = [] ) { global $bp; if ( empty( $settings['selected'] ) ) { return false; } if ( ! is_array( $settings['selected'] ) ) { $settings['selected'] = [ $settings['selected'] ]; } $found = false; foreach ( $settings['selected'] as $component ) { if ( ! array_key_exists( $component, $bp->active_components ) ) { continue; } if ( bp_is_current_component( $component ) ) { $found = true; } } return $found; } /** * Checks if the current page is the selected bp action. * * @param array $settings * * @return bool */ public static function bp_is_current_action( $settings = [] ) { if ( empty( $settings['selected'] ) ) { return false; } if ( ! is_array( $settings['selected'] ) ) { $settings['selected'] = array_map( 'trim', explode( ',', $settings['selected'] ) ); } $found = false; foreach ( $settings['selected'] as $action ) { if ( bp_is_current_action( $action ) ) { $found = true; } } return $found; } /** * Checks if the current page is the selected bp action variable. * * @param array $settings * * @return bool */ public static function bp_is_action_variable( $settings = [] ) { if ( empty( $settings['selected'] ) ) { return false; } if ( ! is_array( $settings['selected'] ) ) { $settings['selected'] = array_map( 'trim', explode( ',', $settings['selected'] ) ); } $found = false; foreach ( $settings['selected'] as $variable ) { if ( bp_is_action_variable( $variable ) ) { $found = true; } } return $found; } /** * @param array $order * * @return array */ public static function condition_sort_order( $order = [] ) { $order[ __( 'BuddyPress', 'buddypress' ) ] = 5.756; // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch return $order; } } includes/integrations/class-pum-cf7.php 0000644 00000015665 15174671772 0014210 0 ustar 00 <?php /** * Integrations for cf7 * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_CF7_Integration */ class PUM_CF7_Integration { /** * Initialize if CF7 is active. */ public static function init() { add_filter( 'pum_get_cookies', [ __CLASS__, 'register_cookies' ] ); add_filter( 'wpcf7_editor_panels', [ __CLASS__, 'editor_panels' ] ); add_action( 'wpcf7_after_save', [ __CLASS__, 'save' ] ); add_filter( 'wpcf7_form_elements', [ __CLASS__, 'form_elements' ] ); add_action( 'popmake_preload_popup', [ __CLASS__, 'preload' ] ); } /** * Check if the popups use CF7 Forms and force enqueue their assets. * * @param $popup_id */ public static function preload( $popup_id ) { $popup = pum_get_popup( $popup_id ); if ( has_shortcode( $popup->post_content, 'contact-form-7' ) ) { if ( defined( 'WPCF7_LOAD_JS' ) && ! WPCF7_LOAD_JS ) { return; } if ( function_exists( 'wpcf7_enqueue_scripts' ) ) { wpcf7_enqueue_scripts(); } if ( function_exists( 'wpcf7_enqueue_styles' ) ) { wpcf7_enqueue_styles(); } } } /** * Append a hidden meta html element with the forms popup settings. * * @param $elements * * @return string */ public static function form_elements( $elements ) { $form = wpcf7_get_current_contact_form(); $settings = wp_json_encode( self::form_options( $form->id() ) ); return $elements . "<input type='hidden' class='wpcf7-pum' value='$settings' />"; } /** * Get a specific forms options. * * @param $id * * @return array */ public static function form_options( $id ) { $settings = get_option( 'cf7_pum_' . $id, self::defaults() ); return wp_parse_args( $settings, self::defaults() ); } /** * Get default values. * * @return array */ public static function defaults() { return [ 'closepopup' => false, 'closedelay' => 0, 'openpopup' => false, 'openpopup_id' => 0, ]; } /** * Registers new cookie events. * * @param array $cookies * * @return array */ public static function register_cookies( $cookies = [] ) { $cookies['cf7_form_success'] = [ 'labels' => [ 'name' => __( 'Contact Form 7 Success (deprecated. Use Form Submission instead.)', 'popup-maker' ), ], 'fields' => pum_get_cookie_fields(), ]; return $cookies; } /** * Register new CF7 form editor tab. * * @param array $panels * * @return array */ public static function editor_panels( $panels = [] ) { return array_merge( $panels, [ 'popups' => [ 'title' => __( 'Popup Settings', 'popup-maker' ), 'callback' => [ __CLASS__, 'editor_panel' ], ], ] ); } /** * Render the popup tab. * * @param object $args */ public static function editor_panel( $args ) { $settings = self::form_options( $args->id() ); ?> <h2><?php esc_html_e( 'Popup Settings', 'popup-maker' ); ?></h2> <p class="description"><?php esc_html_e( 'These settings control popups after successful form submissions.', 'popup-maker' ); ?></p> <table class="form-table"> <tbody> <tr> <th scope="row"> <label for="wpcf7-pum-closepopup"><?php esc_html_e( 'Close Popup', 'popup-maker' ); ?></label> </th> <td> <input type="checkbox" id="wpcf7-pum-closepopup" name="wpcf7-pum[closepopup]" value="true" <?php checked( $settings['closepopup'], true ); ?> /> </td> </tr> <tr id="wpcf7-pum-closedelay-wrapper"> <th scope="row"> <label for="wpcf7-pum-closedelay"><?php esc_html_e( 'Delay', 'popup-maker' ); ?></label> </th> <td> <?php if ( strlen( $settings['closedelay'] ) >= 3 ) { $settings['closedelay'] = $settings['closedelay'] / 1000; } ?> <input type="number" id="wpcf7-pum-closedelay" min="0" step="1" name="wpcf7-pum[closedelay]" style="width: 100px;" value="<?php echo esc_attr( $settings['closedelay'] ); ?>" /><?php esc_html_e( 'seconds', 'popup-maker' ); ?> </td> </tr> <tr> <th scope="row"> <label for="wpcf7-pum-openpopup"><?php esc_html_e( 'Open Popup', 'popup-maker' ); ?></label> </th> <td> <input type="checkbox" id="wpcf7-pum-openpopup" name="wpcf7-pum[openpopup]" value="true" <?php checked( $settings['openpopup'], true ); ?> /> </td> </tr> <tr id="wpcf7-pum-openpopup_id-wrapper"> <th scope="row"> <label for="wpcf7-pum-openpopup_id"><?php esc_html_e( 'Popup', 'popup-maker' ); ?></label> </th> <td> <select id="wpcf7-pum-openpopup_id" name="wpcf7-pum[openpopup_id]"> <?php foreach ( self::get_popup_list() as $option ) { ?> <option value="<?php echo esc_attr( $option['value'] ); ?>" <?php selected( $settings['openpopup_id'], $option['value'] ); ?>><?php echo esc_html( $option['label'] ); ?></option> <?php } ?> </select> </td> </tr> </tbody> </table> <script> (function ($) { var $open = $('#wpcf7-pum-openpopup'), $close = $('#wpcf7-pum-closepopup'), $popup_id_wrapper = $('#wpcf7-pum-openpopup_id-wrapper'), $delay_wrapper = $('#wpcf7-pum-closedelay-wrapper'); function check_open() { if ($open.is(':checked')) { $popup_id_wrapper.show(); } else { $popup_id_wrapper.hide(); } } function check_close() { if ($close.is(':checked')) { $delay_wrapper.show(); } else { $delay_wrapper.hide(); } } check_open(); check_close(); $open.on('click', check_open); $close.on('click', check_close); }(jQuery)); </script> <?php } /** * Get a list of popups for a select box. * * @return array */ public static function get_popup_list() { $popup_list = [ [ 'value' => 0, 'label' => __( 'Select a popup', 'popup-maker' ), ], ]; $popups = get_posts( [ 'post_type' => 'popup', 'post_status' => [ 'publish' ], 'posts_per_page' => - 1, ] ); foreach ( $popups as $popup ) { $popup_list[] = [ 'value' => $popup->ID, 'label' => $popup->post_title, ]; } return $popup_list; } /** * Save form popup options. * * @param $args */ public static function save( $args ) { // Ignored because this is part of nonced form submission. // phpcs:disable WordPress.Security.NonceVerification.Missing // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized $pum_settings = isset( $_POST['wpcf7-pum'] ) ? wp_unslash( $_POST['wpcf7-pum'] ) : []; if ( ! empty( $pum_settings ) ) { $settings = $pum_settings; // Sanitize values. $settings['openpopup'] = ! empty( $settings['openpopup'] ); $settings['openpopup_id'] = ! empty( $settings['openpopup_id'] ) ? absint( $settings['openpopup_id'] ) : 0; $settings['closepopup'] = ! empty( $settings['closepopup'] ); $settings['closedelay'] = ! empty( $settings['closedelay'] ) ? absint( $settings['closedelay'] ) : 0; update_option( 'cf7_pum_' . $args->id(), $settings ); } else { delete_option( 'cf7_pum_' . $args->id() ); } } } includes/integrations/class-pum-wpml.php 0000644 00000024174 15174671772 0014503 0 ustar 00 <?php /** * Integrations for wpml * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_WPML_Integration */ class PUM_WPML_Integration { /** * */ public static function init() { add_action( 'icl_make_duplicate', [ __CLASS__, 'duplicate_post' ], 10, 4 ); /* TODO Further testing of this filter may prove 80+% of the following unneeded. add_filter( 'pum_popup', array( __CLASS__, 'pum_popup' ), 10, 2 ); */ add_filter( 'pum_popup_get_display', [ __CLASS__, 'popup_get_display' ], 10, 2 ); add_filter( 'pum_popup_get_close', [ __CLASS__, 'popup_get_close' ], 10, 2 ); add_filter( 'pum_popup_get_triggers', [ __CLASS__, 'popup_get_triggers' ], 10, 2 ); add_filter( 'pum_popup_get_cookies', [ __CLASS__, 'popup_get_cookies' ], 10, 2 ); add_filter( 'pum_popup_get_conditions', [ __CLASS__, 'popup_get_conditions' ], 10, 2 ); add_filter( 'pum_popup_get_theme_id', [ __CLASS__, 'popup_get_theme_id' ], 10, 2 ); add_filter( 'pum_popup_mobile_disabled', [ __CLASS__, 'popup_mobile_disabled' ], 10, 2 ); add_filter( 'pum_popup_tablet_disabled', [ __CLASS__, 'popup_tablet_disabled' ], 10, 2 ); } /** * @param $popup * @param null $popup_id * * @return \PUM_Model_Popup */ public static function pum_popup( $popup, $popup_id = null ) { if ( self::is_new_popup_translation( $popup_id ) ) { remove_filter( 'pum_popup', [ __CLASS__, 'pum_popup' ], 10 ); $popup = pum_get_popup( self::source_id( $popup_id ) ); add_filter( 'pum_popup', [ __CLASS__, 'pum_popup' ], 10, 2 ); } return $popup; } /** * @param int $post_id * * @return bool */ public static function is_new_popup_translation( $post_id = 0 ) { global $pagenow, $sitepress; // phpcs:ignore WordPress.Security.NonceVerification.Recommended return is_admin() && 'post-new.php' === $pagenow && ! empty( $_GET['post_type'] ) && 'popup' === $_GET['post_type'] && self::source_id( $post_id ) > 0; } /** * @param int $post_id * * @return int */ public static function source_id( $post_id = 0 ) { global $sitepress; static $source_id; if ( ! isset( $source_id ) && ! empty( $sitepress ) && method_exists( $sitepress, 'get_new_post_source_id' ) ) { $source_id = absint( $sitepress->get_new_post_source_id( $post_id ) ); } return $source_id; } /** * @param int $post_id */ public static function source_lang( $post_id = 0 ) { } /** * @param int $post_id * * @return int */ public static function trid( $post_id = 0 ) { global $sitepress; static $trid; if ( ! isset( $trid ) && ! empty( $sitepress ) && method_exists( $sitepress, 'get_element_trid' ) ) { $trid = absint( $sitepress->get_element_trid( $post_id, 'post_popup' ) ); } return $trid; } /** * @param $disabled * @param $post_id * * @return bool */ public static function popup_mobile_disabled( $disabled, $post_id ) { if ( self::is_new_popup_translation( $post_id ) ) { remove_filter( 'pum_popup_mobile_disabled', [ __CLASS__, 'popup_mobile_disabled' ], 10 ); $disabled = pum_get_popup( self::source_id( $post_id ) )->mobile_disabled(); add_filter( 'pum_popup_mobile_disabled', [ __CLASS__, 'popup_mobile_disabled' ], 10, 2 ); } return $disabled; } /** * @param $disabled * @param $post_id * * @return bool */ public static function popup_tablet_disabled( $disabled, $post_id ) { if ( self::is_new_popup_translation( $post_id ) ) { remove_filter( 'pum_popup_tablet_disabled', [ __CLASS__, 'popup_tablet_disabled' ], 10 ); $disabled = pum_get_popup( self::source_id( $post_id ) )->tablet_disabled(); add_filter( 'pum_popup_tablet_disabled', [ __CLASS__, 'popup_tablet_disabled' ], 10, 2 ); } return $disabled; } /** * @param $triggers * @param $post_id * * @return array */ public static function popup_get_triggers( $triggers, $post_id ) { if ( self::is_new_popup_translation( $post_id ) ) { remove_filter( 'pum_popup_get_triggers', [ __CLASS__, 'popup_get_triggers' ], 10 ); $triggers = pum_get_popup( self::source_id( $post_id ) )->get_triggers(); add_filter( 'pum_popup_get_triggers', [ __CLASS__, 'popup_get_triggers' ], 10, 2 ); } return $triggers; } /** * @param $display * @param $post_id * * @return mixed */ public static function popup_get_display( $display, $post_id ) { if ( self::is_new_popup_translation( $post_id ) ) { remove_filter( 'pum_popup_get_display', [ __CLASS__, 'popup_get_display' ], 10 ); $display = pum_get_popup( self::source_id( $post_id ) )->get_display(); add_filter( 'pum_popup_get_display', [ __CLASS__, 'popup_get_display' ], 10, 2 ); } return $display; } /** * @param $close * @param $post_id * * @return mixed */ public static function popup_get_close( $close, $post_id ) { if ( self::is_new_popup_translation( $post_id ) ) { remove_filter( 'pum_popup_get_close', [ __CLASS__, 'popup_get_close' ], 10 ); $close = pum_get_popup( self::source_id( $post_id ) )->get_close(); add_filter( 'pum_popup_get_close', [ __CLASS__, 'popup_get_close' ], 10, 2 ); } return $close; } /** * @param $cookies * @param $post_id * * @return array */ public static function popup_get_cookies( $cookies, $post_id ) { if ( self::is_new_popup_translation( $post_id ) ) { remove_filter( 'pum_popup_get_cookies', [ __CLASS__, 'popup_get_cookies' ], 10 ); $cookies = pum_get_popup( self::source_id( $post_id ) )->get_cookies(); add_filter( 'pum_popup_get_cookies', [ __CLASS__, 'popup_get_cookies' ], 10, 2 ); } return $cookies; } /** * @param $theme_id * @param $post_id * * @return int */ public static function popup_get_theme_id( $theme_id, $post_id ) { if ( self::is_new_popup_translation( $post_id ) ) { remove_filter( 'pum_popup_get_theme_id', [ __CLASS__, 'popup_get_theme_id' ], 10 ); $theme_id = pum_get_popup( self::source_id( $post_id ) )->get_theme_id(); add_filter( 'pum_popup_get_theme_id', [ __CLASS__, 'popup_get_theme_id' ], 10, 2 ); } return $theme_id; } /** * @param $conditions * @param string|null $new_lang * * @return mixed */ public static function remap_conditions( $conditions, $new_lang = null ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( ! isset( $new_lang ) && empty( $_GET['lang'] ) ) { return $conditions; } if ( ! isset( $new_lang ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended $new_lang = sanitize_key( wp_unslash( $_GET['lang'] ) ); } foreach ( $conditions as $group_key => $group ) { foreach ( $group as $key => $condition ) { $target = $condition['target']; $tests = [ strpos( $target, '_selected' ) !== false, strpos( $target, '_ID' ) !== false, strpos( $target, '_children' ) !== false, strpos( $target, '_ancestors' ) !== false, strpos( $target, '_w_' ) !== false, ]; if ( ! in_array( true, $tests, true ) ) { continue; } // Taxonomy if ( strpos( $target, 'tax_' ) === 0 ) { $t = explode( '_', $target ); // Remove the tax_ prefix. array_shift( $t ); // Assign the last key as the modifier _all, _selected $modifier = array_pop( $t ); // Whatever is left is the taxonomy. $type = implode( '_', $t ); } elseif ( strpos( $target, '_w_' ) !== false ) { // Post by Tax. $t = explode( '_w_', $target ); // First key is the post type. $post_type = array_shift( $t ); // Last Key is the taxonomy $type = array_pop( $t ); } else { // Post Type. $t = explode( '_', $target ); // Modifier should be the last key. $modifier = array_pop( $t ); // Post type is the remaining keys combined. $type = implode( '_', $t ); } // To hold the newly remapped selection. $selected = []; foreach ( wp_parse_id_list( $condition['selected'] ) as $object_id ) { // Insert the translated post_id or the original if no translation exists. $selected[] = wpml_object_id_filter( $object_id, $type, true, $new_lang ); } // Replace the original conditions with the new remapped ones. $conditions[ $group_key ][ $key ]['selected'] = $selected; } } return $conditions; } /** * @param $conditions * @param $post_id * * @return array|mixed */ public static function popup_get_conditions( $conditions, $post_id ) { if ( self::is_new_popup_translation( $post_id ) ) { remove_filter( 'pum_popup_get_conditions', [ __CLASS__, 'popup_get_conditions' ], 10 ); $popup = pum_get_popup( self::source_id( $post_id ) ); $conditions = $popup->get_conditions(); $conditions = self::remap_conditions( $conditions, $post_id ); add_filter( 'pum_popup_get_conditions', [ __CLASS__, 'popup_get_conditions' ], 10, 2 ); } return $conditions; } /** * @return mixed|void */ public static function untranslatable_meta_keys() { return apply_filters( 'pum_wpml_untranslatable_meta_keys', [ 'popup_display', 'popup_theme', 'popup_triggers', 'popup_cookies', 'popup_conditions', 'popup_mobile_disabled', 'popup_tablet_disabled', ] ); } /** * @return mixed|void */ public static function translatable_meta_keys() { return apply_filters( 'pum_wpml_translatable_meta_keys', [ 'popup_close', 'popup_title', ] ); } /** * Copies post_meta for popups on duplication. * * Only copies untranslatable data. * * @param int $master_post_id Original post_ID. * @param string $lang The new language. * @param array $post_array The $post array for the new/duplicate post. * @param int $id The post_ID for the new/duplicate post. */ public static function duplicate_post( $master_post_id, $lang, $post_array, $id ) { // Only do this for popups. if ( get_post_type( $master_post_id ) !== 'popup' ) { return; } foreach ( self::untranslatable_meta_keys() as $key ) { $value = get_post_meta( $master_post_id, $key, true ); if ( ! $value ) { continue; } if ( 'popup_conditions' === $key ) { $value = self::remap_conditions( $value, $lang ); } update_post_meta( $id, $key, $value ); } } } includes/modules/menus/class-nav-menu-edit-custom-fields-deprecated.php 0000644 00000004354 15174671772 0022337 0 ustar 00 <?php // phpcs:disable Generic.Classes.DuplicateClassName.Found if ( ! class_exists( 'Walker_Nav_Menu_Edit' ) ) { /** Walker_Nav_Menu_Edit class */ require_once ABSPATH . 'wp-admin/includes/nav-menu.php'; } /** * Custom Walker for Nav Menu Editor * * Add wp_nav_menu_item_custom_fields hook to the nav menu editor. * * Credits: * * @helgatheviking - Initial concept which has made adding settings in the menu editor in a compatible way. * @kucrut - preg_replace() method so that we no longer have to translate core strings * @danieliser - refactor for less complexity between WP versions & updating versioned classes for proper backward compatibility with the new methods. * * @since WordPress 3.0.0 * @uses Walker_Nav_Menu_Edit */ class Walker_Nav_Menu_Edit_Custom_Fields extends Walker_Nav_Menu_Edit { /** * Start the element output. * * @see Walker_Nav_Menu_Edit::start_el() * * @param string $output Passed by reference. Used to append additional content. * @param object $item Menu item data object. * @param int $depth Depth of menu item. * @param array $args */ public function start_el( &$output, $item, $depth = 0, $args = [] ) { $item_output = ''; parent::start_el( $item_output, $item, $depth, $args ); $output .= preg_replace( '/(<p[^>]+class="[^"]*field-description(?:.|\n)*?<\/p>)/', "$1 \r\n " . $this->get_custom_fields( $item, $depth, $args ), $item_output, 1 ); } /** * Get custom fields * * @uses do_action() Calls 'menu_item_custom_fields' hook * * @param object $item Menu item data object. * @param int $depth Depth of menu item. Used for padding. * @param array $args Menu item args. * * @return string Additional fields or html for the nav menu editor. */ protected function get_custom_fields( $item, $depth, $args = [] ) { ob_start(); $item_id = intval( $item->ID ); /** * Get menu item custom fields from plugins/themes * * @param int $item_id post ID of menu * @param object $item Menu item data object. * @param int $depth Depth of menu item. Used for padding. * @param array $args Menu item args. * * @return string Custom fields */ do_action( 'wp_nav_menu_item_custom_fields', $item_id, $item, $depth, $args ); return ob_get_clean(); } } includes/modules/menus/class-nav-menu-edit-custom-fields.php 0000644 00000004677 15174671772 0020251 0 ustar 00 <?php // phpcs:disable Generic.Classes.DuplicateClassName.Found if ( ! class_exists( 'Walker_Nav_Menu_Edit' ) ) { global $wp_version; if ( version_compare( $wp_version, '4.4', '>=' ) ) { require_once ABSPATH . 'wp-admin/includes/class-walker-nav-menu-edit.php'; } else { require_once ABSPATH . 'wp-admin/includes/nav-menu.php'; } } /** * Custom Walker for Nav Menu Editor * * Add wp_nav_menu_item_custom_fields hook to the nav menu editor. * * Credits: * * @helgatheviking - Initial concept which has made adding settings in the menu editor in a compatible way. * @kucrut - preg_replace() method so that we no longer have to translate core strings * @danieliser - refactor for less complexity between WP versions & updating versioned classes for proper backward compatibility with the new methods. * * @since WordPress 3.6.0 * @uses Walker_Nav_Menu_Edit */ class Walker_Nav_Menu_Edit_Custom_Fields extends Walker_Nav_Menu_Edit { /** * Start the element output. * * @see Walker_Nav_Menu_Edit::start_el() * * @param string $output Passed by reference. Used to append additional content. * @param object $item Menu item data object. * @param int $depth Depth of menu item. * @param array $args * @param int $id */ public function start_el( &$output, $item, $depth = 0, $args = [], $id = 0 ) { $item_output = ''; $output .= parent::start_el( $item_output, $item, $depth, $args, $id ); // NOTE: Check this regex on major WP version updates! $output .= preg_replace( '/(?=<fieldset[^>]+class="[^"]*field-move)/', $this->get_custom_fields( $item, $depth, $args ), $item_output ); } /** * Get custom fields * * @uses do_action() Calls 'menu_item_custom_fields' hook * * @param object $item Menu item data object. * @param int $depth Depth of menu item. Used for padding. * @param array $args Menu item args. * * @return string Additional fields or html for the nav menu editor. */ protected function get_custom_fields( $item, $depth, $args = [] ) { ob_start(); $item_id = intval( $item->ID ); /** * Get menu item custom fields from plugins/themes * * @param int $item_id post ID of menu * @param object $item Menu item data object. * @param int $depth Depth of menu item. Used for padding. * @param array $args Menu item args. * * @return string Custom fields */ do_action( 'wp_nav_menu_item_custom_fields', $item_id, $item, $depth, $args ); return ob_get_clean(); } } includes/modules/reviews.php 0000644 00000033363 15174671772 0012250 0 ustar 00 <?php /** * Modules for reviews * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Modules_Reviews * * This class adds a review request system for your plugin or theme to the WP dashboard. */ class PUM_Modules_Reviews { /** * Tracking API Endpoint. * * @var string */ public static $api_url = 'https://api.wppopupmaker.com/wp-json/pmapi/v1/review_action'; /** * */ public static function init() { add_filter( 'pum_alert_list', [ __CLASS__, 'review_alert' ] ); add_action( 'wp_ajax_pum_review_action', [ __CLASS__, 'ajax_handler' ] ); } /** * Get the install date for comparisons. Sets the date to now if none is found. * * @return false|string */ public static function installed_on() { $installed_on = get_option( 'pum_reviews_installed_on', false ); if ( ! $installed_on ) { $installed_on = current_time( 'mysql' ); update_option( 'pum_reviews_installed_on', $installed_on ); } return $installed_on; } /** * */ public static function ajax_handler() { if ( ! isset( $_REQUEST['nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_REQUEST['nonce'] ) ), 'pum_review_action' ) ) { wp_send_json_error(); } $args = wp_parse_args( $_REQUEST, [ 'group' => self::get_trigger_group(), 'code' => self::get_trigger_code(), 'pri' => self::get_current_trigger( 'pri' ), 'reason' => 'maybe_later', ] ); try { $user_id = get_current_user_id(); $dismissed_triggers = self::dismissed_triggers(); $dismissed_triggers[ $args['group'] ] = $args['pri']; update_user_meta( $user_id, '_pum_reviews_dismissed_triggers', $dismissed_triggers ); update_user_meta( $user_id, '_pum_reviews_last_dismissed', current_time( 'mysql' ) ); switch ( $args['reason'] ) { case 'maybe_later': update_user_meta( $user_id, '_pum_reviews_last_dismissed', current_time( 'mysql' ) ); break; case 'am_now': case 'already_did': self::already_did( true ); break; } wp_send_json_success(); } catch ( Exception $e ) { wp_send_json_error( $e ); } } /** * @return int|string */ public static function get_trigger_group() { static $selected; if ( ! isset( $selected ) ) { $dismissed_triggers = self::dismissed_triggers(); $triggers = self::triggers(); foreach ( $triggers as $g => $group ) { foreach ( $group['triggers'] as $t => $trigger ) { if ( ! in_array( false, $trigger['conditions'], true ) && ( empty( $dismissed_triggers[ $g ] ) || $dismissed_triggers[ $g ] < $trigger['pri'] ) ) { $selected = $g; break; } } if ( isset( $selected ) ) { break; } } } return $selected; } /** * @return int|string */ public static function get_trigger_code() { static $selected; if ( ! isset( $selected ) ) { $dismissed_triggers = self::dismissed_triggers(); foreach ( self::triggers() as $g => $group ) { foreach ( $group['triggers'] as $t => $trigger ) { if ( ! in_array( false, $trigger['conditions'], true ) && ( empty( $dismissed_triggers[ $g ] ) || $dismissed_triggers[ $g ] < $trigger['pri'] ) ) { $selected = $t; break; } } if ( isset( $selected ) ) { break; } } } return $selected; } /** * @param string|null $key * * @return bool|mixed|void */ public static function get_current_trigger( $key = null ) { $group = self::get_trigger_group(); $code = self::get_trigger_code(); if ( ! $group || ! $code ) { return false; } $trigger = self::triggers( $group, $code ); return empty( $key ) ? $trigger : ( isset( $trigger[ $key ] ) ? $trigger[ $key ] : false ); } /** * Returns an array of dismissed trigger groups. * * Array contains the group key and highest priority trigger that has been shown previously for each group. * * $return = array( * 'group1' => 20 * ); * * @return array|mixed */ public static function dismissed_triggers() { $user_id = get_current_user_id(); $dismissed_triggers = get_user_meta( $user_id, '_pum_reviews_dismissed_triggers', true ); if ( ! $dismissed_triggers ) { $dismissed_triggers = []; } return $dismissed_triggers; } /** * Returns true if the user has opted to never see this again. Or sets the option. * * @param bool $set If set this will mark the user as having opted to never see this again. * * @return bool */ public static function already_did( $set = false ) { $user_id = get_current_user_id(); if ( $set ) { update_user_meta( $user_id, '_pum_reviews_already_did', true ); return true; } return (bool) get_user_meta( $user_id, '_pum_reviews_already_did', true ); } /** * Gets a list of triggers. * * @param string|null $group * @param string|null $code * * @return bool|mixed */ public static function triggers( $group = null, $code = null ) { static $triggers; if ( ! isset( $triggers ) ) { /* translators: %s: number of days. */ $time_message = __( 'Hi there! You\'ve been using Popup Maker on your site for %s - I hope it\'s been helpful. If you\'re enjoying my plugin, would you mind rating it 5-stars to help spread the word?', 'popup-maker' ); $triggers = [ 'time_installed' => [ 'triggers' => [ 'one_week' => [ 'message' => sprintf( $time_message, __( '1 week', 'popup-maker' ) ), 'conditions' => [ strtotime( self::installed_on() . ' +1 week' ) < time(), ], 'link' => 'https://wordpress.org/support/plugin/popup-maker/reviews/?rate=5#rate-response', 'pri' => 10, ], 'one_month' => [ 'message' => sprintf( $time_message, __( '1 month', 'popup-maker' ) ), 'conditions' => [ strtotime( self::installed_on() . ' +1 month' ) < time(), ], 'link' => 'https://wordpress.org/support/plugin/popup-maker/reviews/?rate=5#rate-response', 'pri' => 20, ], 'three_months' => [ 'message' => sprintf( $time_message, __( '3 months', 'popup-maker' ) ), 'conditions' => [ strtotime( self::installed_on() . ' +3 months' ) < time(), ], 'link' => 'https://wordpress.org/support/plugin/popup-maker/reviews/?rate=5#rate-response', 'pri' => 30, ], ], 'pri' => 10, ], 'open_count' => [ 'triggers' => [], 'pri' => 50, ], ]; $pri = 10; /* translators: %s: number of popup views. */ $open_message = __( 'Hi there! You\'ve recently hit %s popup views on your site – that’s awesome!! If you\'d like to celebrate this milestone, rate Popup Maker 5-stars to help spread the word!', 'popup-maker' ); foreach ( [ 50, 100, 500, 1000, 5000, 10000, 50000, 100000, 500000, 1000000, 5000000 ] as $num ) { $triggers['open_count']['triggers'][ $num . '_opens' ] = [ 'message' => sprintf( $open_message, number_format( $num ) ), 'conditions' => [ get_option( 'pum_total_open_count', 0 ) > $num, ], 'link' => 'https://wordpress.org/support/plugin/popup-maker/reviews/?rate=5#rate-response', 'pri' => $pri, ]; $pri += 10; } $triggers = apply_filters( 'pum_reviews_triggers', $triggers ); // Sort Groups uasort( $triggers, [ __CLASS__, 'rsort_by_priority' ] ); // Sort each groups triggers. foreach ( $triggers as $k => $v ) { uasort( $triggers[ $k ]['triggers'], [ __CLASS__, 'rsort_by_priority' ] ); } } if ( isset( $group ) ) { if ( ! isset( $triggers[ $group ] ) ) { return false; } if ( ! isset( $code ) ) { return $triggers[ $group ]; } else { return isset( $triggers[ $group ]['triggers'][ $code ] ) ? $triggers[ $group ]['triggers'][ $code ] : false; } } return $triggers; } /** * Register alert when review request is available. * * @param array $alerts * * @return array */ public static function review_alert( $alerts = [] ) { if ( self::hide_notices() ) { return $alerts; } $trigger = self::get_current_trigger(); // Used to anonymously distinguish unique site+user combinations in terms of effectiveness of each trigger. $uuid = wp_hash( home_url() . '-' . get_current_user_id() ); ob_start(); ?> <script type="text/javascript"> window.pum_review_nonce = '<?php echo esc_html( wp_create_nonce( 'pum_review_action' ) ); ?>'; window.pum_review_api_url = '<?php echo esc_attr( self::$api_url ); ?>'; window.pum_review_uuid = '<?php echo esc_attr( $uuid ); ?>'; window.pum_review_trigger = { group: '<?php echo esc_attr( self::get_trigger_group() ); ?>', code: '<?php echo esc_attr( self::get_trigger_code() ); ?>', pri: '<?php echo esc_attr( self::get_current_trigger( 'pri' ) ); ?>' }; </script> <ul> <li> <a class="pum-dismiss" target="_blank" href="<?php echo esc_attr( $trigger['link'] ); ?>" data-reason="am_now"> <strong><?php esc_html_e( 'Ok, you deserve it', 'popup-maker' ); ?></strong> </a> </li> <li> <a href="#" class="pum-dismiss" data-reason="maybe_later"> <?php esc_html_e( 'Nope, maybe later', 'popup-maker' ); ?> </a> </li> <li> <a href="#" class="pum-dismiss" data-reason="already_did"> <?php esc_html_e( 'I already did', 'popup-maker' ); ?> </a> </li> </ul> <?php $html = ob_get_clean(); $alerts[] = [ 'code' => 'review_request', 'message' => '<strong>' . $trigger['message'] . '<br />~ danieliser</strong>', 'html' => $html, 'type' => 'success', ]; return $alerts; } /** * Render admin notices if available. * * @deprecated 1.8.0 */ public static function admin_notices() { if ( self::hide_notices() ) { return; } $group = self::get_trigger_group(); $code = self::get_trigger_code(); $pri = self::get_current_trigger( 'pri' ); $trigger = self::get_current_trigger(); // Used to anonymously distinguish unique site+user combinations in terms of effectiveness of each trigger. $uuid = wp_hash( home_url() . '-' . get_current_user_id() ); ?> <script type="text/javascript"> (function ($) { var trigger = { group: '<?php echo esc_attr( $group ); ?>', code: '<?php echo esc_attr( $code ); ?>', pri: '<?php echo esc_attr( $pri ); ?>' }; function dismiss(reason) { $.ajax({ method: "POST", dataType: "json", url: ajaxurl, data: { action: 'pum_review_action', nonce: '<?php echo esc_attr( wp_create_nonce( 'pum_review_action' ) ); ?>', group: trigger.group, code: trigger.code, pri: trigger.pri, reason: reason } }); <?php if ( ! empty( self::$api_url ) ) : ?> $.ajax({ method: "POST", dataType: "json", url: '<?php echo esc_attr( self::$api_url ); ?>', data: { trigger_group: trigger.group, trigger_code: trigger.code, reason: reason, uuid: '<?php echo esc_attr( $uuid ); ?>' } }); <?php endif; ?> } $(document) .on('click', '.pum-notice .pum-dismiss', function (event) { var $this = $(this), reason = $this.data('reason'), notice = $this.parents('.pum-notice'); notice.fadeTo(100, 0, function () { notice.slideUp(100, function () { notice.remove(); }); }); dismiss(reason); }) .ready(function () { setTimeout(function () { $('.pum-notice button.notice-dismiss').click(function (event) { dismiss('maybe_later'); }); }, 1000); }); }(jQuery)); </script> <style> .pum-notice p { margin-bottom: 0; } .pum-notice img.logo { float: right; margin-left: 10px; width: 128px; padding: 0.25em; border: 1px solid #ccc; } </style> <div class="notice notice-success is-dismissible pum-notice"> <p> <img class="logo" src="<?php echo esc_attr( POPMAKE_URL ); ?>/assets/images/mark.svg" /> <strong> <?php echo esc_html( $trigger['message'] ); ?> <br /> ~ danieliser </strong> </p> <ul> <li> <a class="pum-dismiss" target="_blank" href="<?php echo esc_attr( $trigger['link'] ); ?>" data-reason="am_now"> <strong><?php esc_html_e( 'Ok, you deserve it', 'popup-maker' ); ?></strong> </a> </li> <li> <a href="#" class="pum-dismiss" data-reason="maybe_later"> <?php esc_html_e( 'Nope, maybe later', 'popup-maker' ); ?> </a> </li> <li> <a href="#" class="pum-dismiss" data-reason="already_did"> <?php esc_html_e( 'I already did', 'popup-maker' ); ?> </a> </li> </ul> </div> <?php } /** * Checks if notices should be shown. * * @return bool */ public static function hide_notices() { $trigger_code = self::get_trigger_code(); $conditions = [ self::already_did(), self::last_dismissed() && strtotime( self::last_dismissed() . ' +2 weeks' ) > time(), empty( $trigger_code ), ]; return in_array( true, $conditions, true ); } /** * Gets the last dismissed date. * * @return false|string */ public static function last_dismissed() { $user_id = get_current_user_id(); return get_user_meta( $user_id, '_pum_reviews_last_dismissed', true ); } /** * Sort array by priority value * * @param $a * @param $b * * @return int */ public static function sort_by_priority( $a, $b ) { if ( ! isset( $a['pri'] ) || ! isset( $b['pri'] ) || $a['pri'] === $b['pri'] ) { return 0; } return ( $a['pri'] < $b['pri'] ) ? - 1 : 1; } /** * Sort array in reverse by priority value * * @param $a * @param $b * * @return int */ public static function rsort_by_priority( $a, $b ) { if ( ! isset( $a['pri'] ) || ! isset( $b['pri'] ) || $a['pri'] === $b['pri'] ) { return 0; } return ( $a['pri'] < $b['pri'] ) ? 1 : - 1; } } PUM_Modules_Reviews::init(); includes/modules/menus.php 0000644 00000017060 15174671772 0011707 0 ustar 00 <?php /** * Modules for menus * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Modules_Menu * * This class handles the menu editor fields & adds popup classes to menu items. */ class PUM_Modules_Menu { /** * Initializes this module. */ public static function init() { add_filter( 'popmake_settings_misc', [ __CLASS__, 'settings' ] ); if ( PUM_Utils_Options::get( 'disabled_menu_editor', false ) ) { return; } // Merge Menu Item Options add_filter( 'wp_setup_nav_menu_item', [ __CLASS__, 'merge_item_data' ] ); // Admin Menu Editor add_filter( 'wp_edit_nav_menu_walker', [ __CLASS__, 'nav_menu_walker' ], 999999999 ); // Admin Menu Editor Fields. add_action( 'wp_nav_menu_item_custom_fields', [ __CLASS__, 'fields' ], 10, 4 ); add_action( 'wp_update_nav_menu_item', [ __CLASS__, 'save' ], 10, 2 ); add_filter( 'manage_nav-menus_columns', [ __CLASS__, 'nav_menu_columns' ], 11 ); } public static function settings( $settings ) { return array_merge( $settings, [ 'disabled_menu_editor' => [ 'id' => 'disabled_menu_editor', 'name' => __( 'Disable Popups Menu Editor', 'popup-maker' ), 'desc' => sprintf( /* translators: %1$s: opening and closing link HTML tags, %2$s: link text. */ esc_html_x( 'Use this if there is a conflict with your theme or another plugin in the nav menu editor. %1$sLearn more%2$s', '%s represent opening and closing link html', 'popup-maker' ), '<a href="https://wppopupmaker.com/docs/navigation-menu-editor/popup-maker-is-overwriting-my-menu-editor-functions-how-can-i-fix-this/?utm_campaign=contextual-help&utm_medium=inline-doclink&utm_source=settings-page&utm_content=disable-popup-menu-editor" target="_blank" rel="noreferrer noopener">', '</a>' ), 'type' => 'checkbox', ], ] ); } public static function nav_menu_columns( $columns = [] ) { $columns['popup_id'] = __( 'Popup', 'popup-maker' ); return $columns; } /** * Override the Admin Menu Walker * * @param $walker * * @return string */ public static function nav_menu_walker( $walker ) { global $wp_version; $bail_early = [ // WP 5.4 adds support for custom fields, no need to do this hack at all. version_compare( $wp_version, '5.4', '>=' ), // not sure about this one, was part of the original solution. doing_filter( 'plugins_loaded' ), // No need if its already loaded by another plugin. 'Walker_Nav_Menu_Edit_Custom_Fields' === $walker, ]; if ( in_array( true, $bail_early, true ) ) { return $walker; } // Load custom nav menu walker class for custom field compatibility. if ( ! class_exists( 'Walker_Nav_Menu_Edit_Custom_Fields' ) ) { if ( version_compare( $wp_version, '3.6', '>=' ) ) { require_once POPMAKE_DIR . '/includes/modules/menus/class-nav-menu-edit-custom-fields.php'; } else { require_once POPMAKE_DIR . '/includes/modules/menus/class-nav-menu-edit-custom-fields-deprecated.php'; } } return 'Walker_Nav_Menu_Edit_Custom_Fields'; } /** * Merge Item data into the $item object. * * @param object $item * * @return mixed */ public static function merge_item_data( $item ) { if ( ! is_object( $item ) || ! isset( $item->ID ) || $item->ID <= 0 ) { return $item; } // Merge Rules. foreach ( self::get_item_options( $item->ID ) as $key => $value ) { $item->$key = $value; } if ( is_admin() ) { return $item; } if ( isset( $item->popup_id ) ) { $item->classes[] = 'popmake-' . $item->popup_id; } /** * Check menu item's classes for popmake-###. Do this after the above conditional to catch the class we add too. * Tested both using strpos followed by preg_match as well as just doing preg_match on all and this solution * was just a tiny bit faster. But, if a site has 100 menu items, that tiny difference will add up. */ foreach ( $item->classes as $class ) { if ( strpos( $class, 'popmake-' ) !== false ) { if ( 0 !== preg_match( '/popmake-(\d+)/', $class, $matches ) ) { PUM_Site_Popups::preload_popup_by_id_if_enabled( $matches[1] ); } } } return $item; } /** * @param int $item_id * * @return array */ public static function get_item_options( $item_id = 0 ) { // Fetch all rules for this menu item. $item_options = get_post_meta( $item_id, '_pum_nav_item_options', true ); return self::parse_item_options( $item_options ); } /** * @param array $options * * @return array */ public static function parse_item_options( $options = [] ) { if ( ! is_array( $options ) ) { $options = []; } return wp_parse_args( $options, [ 'popup_id' => null, ] ); } /** * Adds custom fields to the menu item editor. * * @param $item_id * @param $item * @param $depth * @param $args */ public static function fields( $item_id, $item, $depth, $args ) { wp_nonce_field( 'pum-menu-editor-nonce', 'pum-menu-editor-nonce' ); ?> <p class="field-popup_id description description-wide"> <label for="edit-menu-item-popup_id-<?php echo absint( $item->ID ); ?>"> <?php esc_html_e( 'Trigger a Popup', 'popup-maker' ); ?><br /> <select name="menu-item-pum[<?php echo absint( $item->ID ); ?>][popup_id]" id="edit-menu-item-popup_id-<?php echo absint( $item->ID ); ?>" class="widefat edit-menu-item-popup_id"> <option value=""></option> <?php foreach ( self::popup_list() as $option => $label ) : ?> <option value="<?php echo esc_attr( $option ); ?>" <?php selected( $option, $item->popup_id ); ?>> <?php echo esc_html( $label ); ?> </option> <?php endforeach; ?> </select> <span class="description"><?php esc_html_e( 'Choose a popup to trigger when this item is clicked.', 'popup-maker' ); ?></span> </label> </p> <?php } /** * Returns a list of popups for a dropdown. * * @return array */ public static function popup_list() { static $popup_list; if ( ! isset( $popup_list ) ) { $popup_list = []; $popups = pum_get_all_popups(); if ( ! empty( $popups ) ) { foreach ( $popups as $popup ) { $popup_list[ $popup->ID ] = $popup->post_title; } } } return $popup_list; } /** * Processes the saving of menu items. * * @param $menu_id * @param $item_id */ public static function save( $menu_id, $item_id ) { $popups = self::popup_list(); $allowed_popups = wp_parse_id_list( array_keys( $popups ) ); if ( ! isset( $_POST['pum-menu-editor-nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['pum-menu-editor-nonce'] ) ), 'pum-menu-editor-nonce' ) ) { return; } /** * Return early if there are no settings. */ if ( empty( $_POST['menu-item-pum'][ $item_id ] ) ) { delete_post_meta( $item_id, '_pum_nav_item_options' ); return; } /** * Parse options array for valid keys. */ $item_options = self::parse_item_options( // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized wp_unslash( $_POST['menu-item-pum'][ $item_id ] ) ); /** * Check for invalid values. */ if ( ! in_array( (int) $item_options['popup_id'], $allowed_popups, true ) || $item_options['popup_id'] <= 0 ) { unset( $item_options['popup_id'] ); } /** * Remove empty options to save space. */ $item_options = array_filter( $item_options ); /** * Save options or delete if empty. */ if ( ! empty( $item_options ) ) { update_post_meta( $item_id, '_pum_nav_item_options', $item_options ); } else { delete_post_meta( $item_id, '_pum_nav_item_options' ); } } } PUM_Modules_Menu::init(); includes/integrations.php 0000644 00000002606 15174671772 0011616 0 ustar 00 <?php /** * Initialize Integrations * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } // Ninja Forms Integration require_once 'integrations/class-pum-ninja-forms.php'; // TODO Migrate all of this into controllers :( /** * Initialize Integrations. */ function pum_initialize_integrations() { // WooCommerce Integration if ( function_exists( 'WC' ) || class_exists( 'WooCommerce' ) ) { require_once 'integrations/class-pum-woocommerce-integration.php'; PUM_Woocommerce_Integration::init(); } // BuddyPress Integration if ( function_exists( 'buddypress' ) || class_exists( 'BuddyPress' ) ) { require_once 'integrations/class-pum-buddypress-integration.php'; PUM_BuddyPress_Integration::init(); } // CF7 Forms Integration if ( class_exists( 'WPCF7' ) || ( defined( 'WPCF7_VERSION' ) && WPCF7_VERSION ) ) { require_once 'integrations/class-pum-cf7.php'; PUM_CF7_Integration::init(); } // Gravity Forms Integration if ( class_exists( 'RGForms' ) ) { require_once 'integrations/class-pum-gravity-forms.php'; PUM_Gravity_Forms_Integation::init(); } // WPML Integration if ( defined( 'ICL_SITEPRESS_VERSION' ) && ICL_SITEPRESS_VERSION ) { require_once 'integrations/class-pum-wpml.php'; PUM_WPML_Integration::init(); } } add_action( 'init', 'pum_initialize_integrations' ); includes/entry--bootstrap.php 0000644 00000002172 15174671772 0012337 0 ustar 00 <?php /** * Function loader - General * - always loaded during bootstrap. * * File loader guidelines: * * This file is loaded and will handle the loading of other function files. * - Newer files will be namespaced under PopupMaker\ namespace. * - Older functions will be prefixed as well as: * - Deprecated & moved to the -deprecated directory, merged fewer files. * - Legacy functions will be moved to -legacy directory. * * @since 1.21.0 * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ defined( 'ABSPATH' ) || exit; require_once __DIR__ . '/namespaced/call-to-actions.php'; // require_once __DIR__ . '/namespaced/cacheit.php'; require_once __DIR__ . '/namespaced/core.php'; require_once __DIR__ . '/namespaced/condition-helpers.php'; require_once __DIR__ . '/namespaced/default-values.php'; require_once __DIR__ . '/namespaced/install.php'; require_once __DIR__ . '/namespaced/filesystem.php'; require_once __DIR__ . '/namespaced/popups.php'; require_once __DIR__ . '/namespaced/types.php'; require_once __DIR__ . '/namespaced/upgrades.php'; require_once __DIR__ . '/namespaced/utils.php'; classes/Upsell.php 0000644 00000041512 15174671772 0010202 0 ustar 00 <?php /** * Class for Upsell * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ use function PopupMaker\plugin; /** * Handles displaying promotional text throughout plugin UI */ class PUM_Upsell { /** * Hooks any needed methods */ public static function init() { add_filter( 'views_edit-popup', [ __CLASS__, 'addon_tabs' ], 10, 1 ); add_filter( 'views_edit-popup_theme', [ __CLASS__, 'addon_tabs' ], 10, 1 ); add_filter( 'pum_popup_settings_fields', [ __CLASS__, 'popup_promotional_fields' ] ); add_filter( 'pum_theme_settings_fields', [ __CLASS__, 'theme_promotional_fields' ] ); add_action( 'in_admin_header', [ __CLASS__, 'notice_bar_display' ] ); } /** * Adds a small notice bar in PM admin areas when not using any extensions * * @since 1.14.0 */ public static function notice_bar_display() { if ( pum_is_admin_page() ) { // Temporarily disable for CTA post type screens. if ( isset( $_GET['page'] ) && 'popup-maker-call-to-actions' === $_GET['page'] ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended return; } // Disable it on post.php edit screens for popup editor & popup theme editor. post.php?post=850&action=edit | post-new.php?post_type=popup $screen = get_current_screen(); if ( 'post' === $screen->base && ( 'popup' === $screen->post_type || 'popup_theme' === $screen->post_type ) ) { return; } // Generate appropriate upsell message. $message = self::generate_upgrade_message(); if ( empty( $message ) ) { return; } wp_enqueue_style( 'pum-admin-general' ); ?> <div class="pum-notice-bar-wrapper"> <div class="pum-notice-bar"> <span class="pum-notice-bar-message"> <?php echo wp_kses( $message, [ 'a' => [ 'href' => [], 'rel' => [], 'target' => [], ], ] ); ?> </span> </div> </div> <?php } } /** * Detect installed plugins that can be integrated with Popup Maker. * * @return array<string, array<string, string[]>> */ private static function detect_integrations() { $detection_map = [ // Pro+ integrations (from Pro to Pro+). 'pro_plus' => [ 'ecommerce' => [ 'WooCommerce' => class_exists( 'WooCommerce' ), 'Easy Digital Downloads' => class_exists( 'Easy_Digital_Downloads' ), ], 'lms' => [ 'LifterLMS' => class_exists( 'LifterLMS' ), ], ], // Pro integrations (from Free to Pro). 'pro' => [ 'crm' => [ 'FluentCRM' => defined( 'FLUENTCRM' ), ], ], ]; $integrations = [ 'pro_plus' => [ 'ecommerce' => [], 'lms' => [], ], 'pro' => [ 'crm' => [], ], ]; foreach ( $detection_map as $tier => $categories ) { foreach ( $categories as $category => $plugins ) { foreach ( $plugins as $label => $is_detected ) { if ( $is_detected ) { $integrations[ $tier ][ $category ][] = $label; } } } } // Remove empty categories. foreach ( $integrations as $tier => $categories ) { $integrations[ $tier ] = array_filter( $categories ); } return array_filter( $integrations ); } /** * Generate appropriate upgrade message based on current license and plugin status. * * @return string Upgrade message or empty string if no message should be shown. */ private static function generate_upgrade_message() { $license_service = \PopupMaker\plugin( 'license' ); $license_tier = $license_service->get_license_tier(); $license_status = $license_service->get_license_status(); $pro_is_active = \PopupMaker\plugin()->is_pro_active(); $active_extensions = pum_enabled_extensions(); $has_active_add_ons = ! empty( $active_extensions ); /** * 1. Pro Plus users with valid license see nothing. * 2. Pro users with valid license get targeted integration messaging. * 3. Pro users with invalid license get general upgrade messaging. * 4. Free users or users with invalid license get general upgrade messaging. * 5. Extension users get no message for now. * 6. Extension users without valid license get no message for now. */ // 1. Pro Plus users with valid license see nothing. if ( 'valid' === $license_status && 'pro_plus' === $license_tier ) { return ''; } // 2. Pro users with valid license get targeted integration messaging. if ( 'valid' === $license_status && 'pro' === $license_tier ) { return self::get_pro_integration_message(); } // 3. Pro users with invalid license get general upgrade messaging. if ( $pro_is_active && 'valid' !== $license_status ) { return self::get_free_upgrade_message(); } // 4. Free users get general upgrade messaging. if ( ! $pro_is_active && ! $has_active_add_ons ) { return self::get_free_upgrade_message(); } // 5 & 6. Extension users get no message for now (regardless of license status). if ( $has_active_add_ons ) { return ''; } // Fallback (should not reach here). return ''; } /** * Generate targeted upgrade messages based on detected integrations. * * @param string $user_tier Current user tier ('free', 'pro', 'pro_plus'). * @return string Targeted upgrade message or empty string. */ private static function get_integration_messages( $user_tier ) { $upgrade_link = admin_url( 'edit.php?post_type=popup&page=pum-settings#go-pro' ); $integrations = self::detect_integrations(); $messages = []; // For Pro users, show Pro+ integration opportunities. if ( in_array( $user_tier, [ 'free', 'pro' ], true ) && ! empty( $integrations['pro_plus'] ) ) { foreach ( $integrations['pro_plus'] as $category => $platforms ) { if ( ! empty( $platforms ) ) { $platform_list = self::format_integration_list( $platforms ); switch ( $category ) { case 'ecommerce': $messages[] = sprintf( /* translators: 1: Detected ecommerce platforms, 2: Opening link tag, 3: Closing link tag. */ esc_html__( 'Automate %1$s campaigns with %2$sPopup Maker Pro+ Ecommerce%3$s - unlock cart actions, revenue attribution, and precision targeting.', 'popup-maker' ), $platform_list, '<a href="' . esc_url( $upgrade_link ) . '">', '</a>' ); break; case 'lms': $messages[] = sprintf( /* translators: 1: Detected LMS platforms, 2: Opening link tag, 3: Closing link tag. */ esc_html__( 'Deliver targeted funnels for %1$s with %2$sPopup Maker Pro+ LMS%3$s - track enrollments, issue rewards, and automate course journeys.', 'popup-maker' ), $platform_list, '<a href="' . esc_url( $upgrade_link ) . '">', '</a>' ); break; } } } } // For Free users, show Pro integration opportunities. if ( 'free' === $user_tier && ! empty( $integrations['pro'] ) ) { foreach ( $integrations['pro'] as $category => $platforms ) { if ( ! empty( $platforms ) ) { $platform_list = self::format_integration_list( $platforms ); switch ( $category ) { case 'crm': $messages[] = sprintf( /* translators: 1: Detected CRM platforms, 2: Opening link tag, 3: Closing link tag. */ esc_html__( 'Unlock %1$s integration with %2$sPopup Maker Pro%3$s - connect popups to your CRM workflows and automate lead capture.', 'popup-maker' ), $platform_list, '<a href="' . esc_url( $upgrade_link ) . '">', '</a>' ); break; } } } } // Randomly select one message if available. if ( ! empty( $messages ) ) { $random_index = array_rand( $messages ); return $messages[ $random_index ]; } return ''; } /** * Get upgrade message for Pro users based on detected integrations. * * @return string Targeted upgrade message. */ private static function get_pro_integration_message() { $integration_message = self::get_integration_messages( 'pro' ); if ( ! empty( $integration_message ) ) { return $integration_message; } // Generic Pro+ upgrade message fallback. $upgrade_link = admin_url( 'edit.php?post_type=popup&page=pum-settings#go-pro' ); return sprintf( /* translators: %s - Wraps ending in link to pro settings page. */ esc_html__( 'Level up with %1$sPopup Maker Pro+%2$s - unlock ecommerce automation, revenue attribution, and enhanced targeting.', 'popup-maker' ), '<a href="' . esc_url( $upgrade_link ) . '">', '</a>' ); } /** * Get upgrade message for free users. * * @return string General upgrade message. */ private static function get_free_upgrade_message() { // Try to get an integration-specific message first. $integration_message = self::get_integration_messages( 'free' ); if ( ! empty( $integration_message ) ) { return $integration_message; } // Generic upgrade message fallback. $upgrade_link = admin_url( 'edit.php?post_type=popup&page=pum-settings#go-pro' ); return sprintf( /* translators: %s - Wraps ending in link to pro settings page. */ esc_html__( 'Unlock advanced features with %1$sPopup Maker Pro & Pro+%2$s - Enhanced targeting, revenue tracking, live analytics, and more.', 'popup-maker' ), '<a href="' . esc_url( $upgrade_link ) . '">', '</a>' ); } /** * Convert detected platform names into a readable list. * * @param string[] $items List of platform names. * @return string */ private static function format_integration_list( array $items ) { $items = array_values( array_filter( $items ) ); if ( empty( $items ) ) { return ''; } if ( function_exists( 'wp_sprintf_l' ) ) { return wp_sprintf_l( '%l', $items ); } $count = count( $items ); if ( 1 === $count ) { return $items[0]; } $last = array_pop( $items ); return sprintf( /* translators: 1: List of platforms, 2: Last platform. */ esc_html__( '%1$s and %2$s', 'popup-maker' ), implode( esc_html__( ', ', 'popup-maker' ), $items ), $last ); } /** * Adds messages throughout Popup Settings UI * * @param array $tabs The tabs/fields for popup settings. * @return array */ public static function popup_promotional_fields( $tabs = [] ) { if ( ! pum_extension_enabled( 'forced-interaction' ) && ! pum_extension_enabled( 'pro' ) ) { /* translators: %s url to product page. */ $message = sprintf( __( 'Want to disable the close button? Check out <a href="%s" target="_blank">Popup Maker Pro</a>!', 'popup-maker' ), 'https://wppopupmaker.com/pricing/?utm_source=plugin-theme-editor&utm_medium=text-link&utm_campaign=upsell&utm_content=close-button-settings' ); // TODO Rewrite this for PM Pro instead of extension. $promotion = [ 'type' => 'html', 'content' => '<img src="' . pum_asset_url( 'images/upsell-icon-forced-interaction.png' ) . '" />' . $message, 'priority' => 999, 'class' => 'pum-upgrade-tip', ]; $tabs['close']['button']['fi_promotion'] = $promotion; $tabs['close']['forms']['fi_promotion'] = $promotion; $tabs['close']['alternate_methods']['fi_promotion'] = $promotion; } if ( ! pum_extension_enabled( 'advanced-targeting-conditions' ) ) { /* translators: %s url to product page. */ $message = sprintf( __( 'Need more <a href="%s" target="_blank">advanced targeting</a> options?', 'popup-maker' ), 'https://wppopupmaker.com/extensions/advanced-targeting-conditions/?utm_campaign=upsell&utm_source=plugin-popup-editor&utm_medium=text-link&utm_content=conditions-editor' ); $tabs['targeting']['main']['atc_promotion'] = [ 'type' => 'html', 'content' => '<img class="pum-upgrade-icon" src="' . pum_asset_url( 'images/mark.svg' ) . '" />' . $message, 'priority' => 999, 'class' => 'pum-upgrade-tip', ]; } return $tabs; } /** * Adds messages throughout Popup Theme UI * * @param array $tabs The tabs/fields for popup theme. * @return array */ public static function theme_promotional_fields( $tabs = [] ) { if ( ! pum_extension_enabled( 'advanced-theme-builder' ) && ! class_exists( 'PUM_ATB' ) ) { foreach ( [ 'overlay', 'container', 'close' ] as $tab ) { /* translators: %s url to product page. */ $message = __( 'Want to use <a href="%s" target="_blank">background images</a>?', 'popup-maker' ); $tabs[ $tab ]['background']['atc_promotion'] = [ 'type' => 'html', 'content' => '<img src="' . pum_asset_url( 'images/upsell-icon-advanted-theme-builder.png' ) . '" height="28" />' . sprintf( $message, 'https://wppopupmaker.com/extensions/advanced-theme-builder/?utm_campaign=upsell&utm_source=plugin-theme-editor&utm_medium=text-link&utm_content=' . $tab . '-settings' ), 'priority' => 999, 'class' => 'pum-upgrade-tip', ]; } } return $tabs; } /** * When the Popup or Popup Theme list table loads, call the function to view our tabs. * * @since 1.8.0 * @param array $views An array of available list table views. * @return mixed */ public static function addon_tabs( $views ) { self::display_addon_tabs(); return $views; } /** * Displays the tabs for 'Popups', 'Popup Themes' and 'Extensions and Integrations' * * @since 1.8.0 */ public static function display_addon_tabs() { // Get labels for the Popup and Popup Theme post types. $popup_labels = (array) get_post_type_labels( get_post_type_object( plugin( 'PostTypes' )->get_type_key( 'popup' ) ) ); $theme_labels = (array) get_post_type_labels( get_post_type_object( plugin( 'PostTypes' )->get_type_key( 'popup_theme' ) ) ); ?> <style> .wrap h1.wp-heading-inline + a.page-title-action { display: none; } .edit-php.post-type-popup .wrap .nav-tab-wrapper .page-title-action, .edit-php.post-type-popup_theme .wrap .nav-tab-wrapper .page-title-action, .popup_page_pum-extensions .wrap .nav-tab-wrapper .page-title-action { top: 7px; margin-left: 5px } @media only screen and (min-width: 0px) and (max-width: 783px) { .edit-php.post-type-popup .wrap .nav-tab-wrapper .page-title-action, .edit-php.post-type-popup_theme .wrap .nav-tab-wrapper .page-title-action, .popup_page_pum-extensions .wrap .nav-tab-wrapper .page-title-action { display: none !important } } </style> <nav class="nav-tab-wrapper"> <?php // Default upgrade tab configuration. $upgrade_tab = [ 'name' => esc_html__( 'Go Pro', 'popup-maker' ), 'url' => admin_url( 'edit.php?post_type=popup&page=pum-settings#go-pro' ), 'class' => 'pum-upgrade-tab pum-upgrade-tab-pro', ]; // Adjust based on license status. try { $license_service = \PopupMaker\plugin( 'license' ); $license_status = $license_service->get_license_status(); $license_tier = $license_service->get_license_tier(); if ( 'valid' === $license_status ) { if ( 'pro_plus' === $license_tier ) { $upgrade_tab = null; // Pro Plus - hide upgrade tab. } elseif ( 'pro' === $license_tier ) { $upgrade_tab['name'] = esc_html__( 'Go Pro+', 'popup-maker' ); $upgrade_tab['class'] = 'pum-upgrade-tab pum-upgrade-tab-pro-plus'; } } } catch ( \Exception $e ) { // phpcs:ignore Generic.CodeAnalysis.EmptyStatement.DetectedCatch // Use default configuration if license service unavailable. unset( $e ); // Prevent unused variable warning. } $tabs = [ 'popups' => [ 'name' => esc_html( $popup_labels['name'] ), 'url' => admin_url( 'edit.php?post_type=popup' ), ], 'themes' => [ 'name' => esc_html( $theme_labels['name'] ), 'url' => admin_url( 'edit.php?post_type=popup_theme' ), ], ]; // Only add upgrade tab if not Pro Plus. if ( $upgrade_tab ) { $tabs['integrations'] = $upgrade_tab; } $tabs = apply_filters( 'pum_add_ons_tabs', $tabs ); $active_tab = false; // Calculate which tab is currently active. // phpcs:disable WordPress.Security.NonceVerification.Recommended if ( isset( $_GET['page'] ) && 'pum-extensions' === $_GET['page'] ) { $active_tab = 'integrations'; } elseif ( ! isset( $_GET['page'] ) && isset( $_GET['post_type'] ) ) { switch ( $_GET['post_type'] ) { case 'popup': $active_tab = 'popups'; break; case 'popup_theme': $active_tab = 'themes'; break; } } // phpcs:enable WordPress.Security.NonceVerification.Recommended // Add each tab, marking the current one as active. foreach ( $tabs as $tab_id => $tab ) { $active = $active_tab === $tab_id ? ' nav-tab-active' : ''; $extra_class = isset( $tab['class'] ) ? ' ' . esc_attr( $tab['class'] ) : ''; ?> <a href="<?php echo esc_url( $tab['url'] ); ?>" class="nav-tab<?php echo esc_attr( $active . $extra_class ); ?>"> <?php echo esc_html( $tab['name'] ); ?> </a> <?php } ?> <a href="<?php echo esc_url( admin_url( 'post-new.php?post_type=popup' ) ); ?>" class="page-title-action"> <?php echo esc_html( $popup_labels['add_new_item'] ); ?> </a> <a href="<?php echo esc_url( admin_url( 'post-new.php?post_type=popup_theme' ) ); ?>" class="page-title-action"> <?php echo esc_html( $theme_labels['add_new_item'] ); ?> </a> </nav> <?php } } classes/Model/Post.php 0000644 00000000460 15174671772 0010720 0 ustar 00 <?php /** * Model for Post * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Model_Post * * @deprecated 1.8.0 Use PUM_Abstract_Model_Post instead. */ class PUM_Model_Post extends PUM_Abstract_Model_Post {} classes/Model/Theme.php 0000644 00000044174 15174671772 0011047 0 ustar 00 <?php /** * Model for Theme * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Model_Theme * * @since 1.8 */ class PUM_Model_Theme extends PUM_Abstract_Model_Post { /** @var string */ protected $required_post_type = 'popup_theme'; /** @var array */ public $settings; /** @var bool */ public $doing_passive_migration = false; /** * The current model version. * * 1 - v1.0.0 * 2 - v1.3.0 * 3 - v1.8.0 * * @var int */ public $model_version = 3; /** * The version of the data currently stored for the current item. * * 1 - v1.0.0 * 2 - v1.3.0 * 3 - v1.8.0 * * @var int */ public $data_version; /** * Returns array of all theme settings. * * @return array */ public function get_settings() { $this->settings = $this->get_meta( 'popup_theme_settings' ); if ( ! is_array( $this->settings ) ) { $this->settings = []; } return apply_filters( 'pum_theme_settings', $this->settings, $this->ID ); } /** * Returns a specific theme setting with optional default value when not found. * * @param $key * @param bool $default_value * * @return bool|mixed */ public function get_setting( $key, $default_value = false ) { $settings = $this->get_settings(); return isset( $settings[ $key ] ) ? $settings[ $key ] : $default_value; } /** * @param string $key * @param mixed $value * * @return bool|int */ public function update_setting( $key, $value ) { $settings = $this->get_settings(); $settings[ $key ] = $value; return $this->update_meta( 'popup_theme_settings', $settings ); } /** * @param array $merge_settings * * @return bool|int */ public function update_settings( $merge_settings = [] ) { $settings = $this->get_settings(); foreach ( $merge_settings as $key => $value ) { $settings[ $key ] = $value; } return $this->update_meta( 'popup_theme_settings', $settings ); } /** * Returns array of all google font variations used for this theme. * * @return array */ public function get_google_fonts_used() { $fonts_used = []; $settings = $this->get_settings(); $google_fonts = PUM_Integration_GoogleFonts::fetch_fonts(); if ( ! empty( $settings['title_font_family'] ) && is_string( $settings['title_font_family'] ) && array_key_exists( $settings['title_font_family'], $google_fonts ) ) { $variant = ! empty( $settings['title_font_weight'] ) && 'normal' !== $settings['title_font_weight'] ? $settings['title_font_weight'] : ''; if ( isset( $settings['title_font_style'] ) && 'italic' === $settings['title_font_style'] ) { $variant .= 'italic'; } $fonts_used[ $settings['title_font_family'] ][ $variant ] = $variant; } if ( ! empty( $settings['content_font_family'] ) && is_string( $settings['content_font_family'] ) && array_key_exists( $settings['content_font_family'], $google_fonts ) ) { $variant = ! empty( $settings['content_font_weight'] ) && 'normal' !== $settings['content_font_weight'] ? $settings['content_font_weight'] : ''; if ( isset( $settings['content_font_style'] ) && 'italic' === $settings['content_font_style'] ) { $variant .= 'italic'; } $fonts_used[ $settings['content_font_family'] ][ $variant ] = $variant; } if ( ! empty( $settings['close_font_family'] ) && is_string( $settings['close_font_family'] ) && array_key_exists( $settings['close_font_family'], $google_fonts ) ) { $variant = ! empty( $settings['close_font_weight'] ) && 'normal' !== $settings['close_font_weight'] ? $settings['close_font_weight'] : ''; if ( isset( $settings['close_font_style'] ) && 'italic' === $settings['close_font_style'] ) { $variant .= 'italic'; } $fonts_used[ $settings['close_font_family'] ][ $variant ] = $variant; } return $fonts_used; } /** * @return array */ public function get_generated_styles() { $styles = [ 'overlay' => [], 'container' => [], 'title' => [], 'content' => [], 'close' => [], ]; /* * Overlay Styles */ if ( $this->get_setting( 'overlay_background_color' ) ) { $styles['overlay']['background-color'] = PUM_Utils_CSS::hex2rgba( $this->get_setting( 'overlay_background_color' ), $this->get_setting( 'overlay_background_opacity' ) ); } /* * Container Styles */ $styles['container'] = [ 'padding' => "{$this->get_setting('container_padding')}px", 'border-radius' => "{$this->get_setting('container_border_radius')}px", 'border' => PUM_Utils_CSS::border_style( $this->get_setting( 'container_border_width' ), $this->get_setting( 'container_border_style' ), $this->get_setting( 'container_border_color' ) ), 'box-shadow' => PUM_Utils_CSS::box_shadow_style( $this->get_setting( 'container_boxshadow_horizontal' ), $this->get_setting( 'container_boxshadow_vertical' ), $this->get_setting( 'container_boxshadow_blur' ), $this->get_setting( 'container_boxshadow_spread' ), $this->get_setting( 'container_boxshadow_color' ), $this->get_setting( 'container_boxshadow_opacity' ), $this->get_setting( 'container_boxshadow_inset' ) ), ]; if ( $this->get_setting( 'container_background_color' ) ) { $styles['container']['background-color'] = PUM_Utils_CSS::hex2rgba( $this->get_setting( 'container_background_color' ), $this->get_setting( 'container_background_opacity' ) ); } /* * Title Styles */ $styles['title'] = [ 'color' => $this->get_setting( 'title_font_color' ), 'text-align' => $this->get_setting( 'title_text_align' ), 'text-shadow' => PUM_Utils_CSS::text_shadow_style( $this->get_setting( 'title_textshadow_horizontal' ), $this->get_setting( 'title_textshadow_vertical' ), $this->get_setting( 'title_textshadow_blur' ), $this->get_setting( 'title_textshadow_color' ), $this->get_setting( 'title_textshadow_opacity' ) ), 'font-family' => $this->get_setting( 'title_font_family' ), 'font-weight' => $this->get_setting( 'title_font_weight' ), 'font-size' => "{$this->get_setting( 'title_font_size' )}px", 'font-style' => $this->get_setting( 'title_font_style' ), 'line-height' => "{$this->get_setting( 'title_line_height' )}px", ]; /* * Content Styles */ $styles['content'] = [ 'color' => $this->get_setting( 'content_font_color' ), 'font-family' => $this->get_setting( 'content_font_family' ), 'font-weight' => $this->get_setting( 'content_font_weight' ), 'font-style' => $this->get_setting( 'content_font_style' ), ]; /* * Close Styles */ $styles['close'] = [ 'position' => $this->get_setting( 'close_position_outside' ) ? 'fixed' : 'absolute', 'height' => ! $this->get_setting( 'close_height' ) || $this->get_setting( 'close_height' ) <= 0 ? 'auto' : "{$this->get_setting('close_height')}px", 'width' => ! $this->get_setting( 'close_width' ) || $this->get_setting( 'close_width' ) <= 0 ? 'auto' : "{$this->get_setting('close_width')}px", 'left' => 'auto', 'right' => 'auto', 'bottom' => 'auto', 'top' => 'auto', 'padding' => "{$this->get_setting('close_padding')}px", 'color' => $this->get_setting( 'close_font_color' ), 'font-family' => $this->get_setting( 'close_font_family' ), 'font-weight' => $this->get_setting( 'close_font_weight' ), 'font-size' => "{$this->get_setting('close_font_size')}px", 'font-style' => $this->get_setting( 'close_font_style' ), 'line-height' => "{$this->get_setting('close_line_height')}px", 'border' => PUM_Utils_CSS::border_style( $this->get_setting( 'close_border_width' ), $this->get_setting( 'close_border_style' ), $this->get_setting( 'close_border_color' ) ), 'border-radius' => "{$this->get_setting('close_border_radius')}px", 'box-shadow' => PUM_Utils_CSS::box_shadow_style( $this->get_setting( 'close_boxshadow_horizontal' ), $this->get_setting( 'close_boxshadow_vertical' ), $this->get_setting( 'close_boxshadow_blur' ), $this->get_setting( 'close_boxshadow_spread' ), $this->get_setting( 'close_boxshadow_color' ), $this->get_setting( 'close_boxshadow_opacity' ), $this->get_setting( 'close_boxshadow_inset' ) ), 'text-shadow' => PUM_Utils_CSS::text_shadow_style( $this->get_setting( 'close_textshadow_horizontal' ), $this->get_setting( 'close_textshadow_vertical' ), $this->get_setting( 'close_textshadow_blur' ), $this->get_setting( 'close_textshadow_color' ), $this->get_setting( 'close_textshadow_opacity' ) ), ]; if ( $this->get_setting( 'close_background_color' ) ) { $styles['close']['background-color'] = PUM_Utils_CSS::hex2rgba( $this->get_setting( 'close_background_color' ), $this->get_setting( 'close_background_opacity' ) ); } $top = "{$this->get_setting('close_position_top')}px"; $left = "{$this->get_setting('close_position_left')}px"; $right = "{$this->get_setting('close_position_right')}px"; $bottom = "{$this->get_setting('close_position_bottom')}px"; switch ( $this->get_setting( 'close_location' ) ) { case 'topleft': $styles['close']['top'] = $top; $styles['close']['left'] = $left; break; case 'topcenter': $styles['close']['top'] = $top; $styles['close']['left'] = '50%'; $styles['close']['transform'] = 'translateX(-50%)'; break; case 'topright': $styles['close']['top'] = $top; $styles['close']['right'] = $right; break; case 'middleleft': $styles['close']['top'] = '50%'; $styles['close']['left'] = $left; $styles['close']['transform'] = 'translate(0, -50%)'; break; case 'middleright': $styles['close']['top'] = '50%'; $styles['close']['right'] = $right; $styles['close']['transform'] = 'translate(0, -50%)'; break; case 'bottomleft': $styles['close']['bottom'] = $bottom; $styles['close']['left'] = $left; break; case 'bottomcenter': $styles['close']['bottom'] = $bottom; $styles['close']['left'] = '50%'; $styles['close']['transform'] = 'translateX(-50%)'; break; case 'bottomright': $styles['close']['bottom'] = $bottom; $styles['close']['right'] = $right; break; } /** @deprecated 1.8.0 filter */ $styles = (array) apply_filters( 'popmake_generate_theme_styles', (array) $styles, $this->ID, $this->get_deprecated_settings() ); return (array) apply_filters( 'pum_theme_get_generated_styles', (array) $styles, $this->ID, $this ); } public function get_deprecated_settings() { return [ 'overlay' => $this->dep_get_settings_group( 'overlay' ), 'container' => $this->dep_get_settings_group( 'container' ), 'title' => $this->dep_get_settings_group( 'title' ), 'content' => $this->dep_get_settings_group( 'content' ), 'close' => $this->dep_get_settings_group( 'close' ), ]; } /** * Deprecated settings keys that have been remapped to new settings. * * @var array */ public $dep_groups = []; /** * Retrieve settings in the form of deprecated grouped arrays. * * @param $group * @param null $key * * @return mixed */ public function dep_get_settings_group( $group, $key = null ) { if ( ! isset( $this->dep_groups[ $group ] ) ) { /** * Remap old meta settings to new settings location for v1.7. This acts as a passive migration when needed. */ $remapped_keys = $this->remapped_meta_settings_keys( $group ); // This will only return data from extensions as core data has been migrated already. $group_values = $this->get_meta( "popup_theme_$group" ); if ( ! $group_values || ! is_array( $group_values ) ) { $group_values = []; } // Data manipulation begins here. We don't want any of this saved, only returned for backward compatibility. foreach ( $remapped_keys as $old_key => $new_key ) { $group_values[ $old_key ] = $this->get_setting( $new_key ); } $deprecated_values = pum_get_theme_v1_meta( $group, $this->ID ); if ( ! empty( $deprecated_values ) ) { foreach ( $deprecated_values as $old_key => $value ) { if ( ! isset( $group_values[ $old_key ] ) ) { $group_values[ $old_key ] = $value; } } } $this->dep_groups[ $group ] = $group_values; } $values = apply_filters( "pum_theme_get_$group", $this->dep_groups[ $group ], $this->ID ); if ( ! $key ) { return $values; } $value = isset( $values[ $key ] ) ? $values[ $key ] : null; if ( ! isset( $value ) ) { $value = $this->get_meta( "popup_theme_{$group}_{$key}" ); } return apply_filters( "pum_theme_get_{$group}_" . $key, $value, $this->ID ); } /** * @param $group * * @return array|mixed */ public function remapped_meta_settings_keys( $group ) { $remapped_meta_settings_keys = [ 'overlay' => [ 'background_color' => 'overlay_background_color', 'background_opacity' => 'overlay_background_opacity', ], 'container' => [ 'padding' => 'container_padding', 'background_color' => 'container_background_color', 'background_opacity' => 'container_background_opacity', 'border_style' => 'container_border_style', 'border_color' => 'container_border_color', 'border_width' => 'container_border_width', 'border_radius' => 'container_border_radius', 'boxshadow_inset' => 'container_boxshadow_inset', 'boxshadow_horizontal' => 'container_boxshadow_horizontal', 'boxshadow_vertical' => 'container_boxshadow_vertical', 'boxshadow_blur' => 'container_boxshadow_blur', 'boxshadow_spread' => 'container_boxshadow_spread', 'boxshadow_color' => 'container_boxshadow_color', 'boxshadow_opacity' => 'container_boxshadow_opacity', ], 'title' => [ 'font_color' => 'title_font_color', 'line_height' => 'title_line_height', 'font_size' => 'title_font_size', 'font_family' => 'title_font_family', 'font_weight' => 'title_font_weight', 'font_style' => 'title_font_style', 'text_align' => 'title_text_align', 'textshadow_horizontal' => 'title_textshadow_horizontal', 'textshadow_vertical' => 'title_textshadow_vertical', 'textshadow_blur' => 'title_textshadow_blur', 'textshadow_color' => 'title_textshadow_color', 'textshadow_opacity' => 'title_textshadow_opacity', ], 'content' => [ 'font_color' => 'content_font_color', 'font_family' => 'content_font_family', 'font_weight' => 'content_font_weight', 'font_style' => 'content_font_style', ], 'close' => [ 'text' => 'close_text', 'location' => 'close_location', 'position_top' => 'close_position_top', 'position_left' => 'close_position_left', 'position_bottom' => 'close_position_bottom', 'position_right' => 'close_position_right', 'padding' => 'close_padding', 'height' => 'close_height', 'width' => 'close_width', 'background_color' => 'close_background_color', 'background_opacity' => 'close_background_opacity', 'font_color' => 'close_font_color', 'line_height' => 'close_line_height', 'font_size' => 'close_font_size', 'font_family' => 'close_font_family', 'font_weight' => 'close_font_weight', 'font_style' => 'close_font_style', 'border_style' => 'close_border_style', 'border_color' => 'close_border_color', 'border_width' => 'close_border_width', 'border_radius' => 'close_border_radius', 'boxshadow_inset' => 'close_boxshadow_inset', 'boxshadow_horizontal' => 'close_boxshadow_horizontal', 'boxshadow_vertical' => 'close_boxshadow_vertical', 'boxshadow_blur' => 'close_boxshadow_blur', 'boxshadow_spread' => 'close_boxshadow_spread', 'boxshadow_color' => 'close_boxshadow_color', 'boxshadow_opacity' => 'close_boxshadow_opacity', 'textshadow_horizontal' => 'close_textshadow_horizontal', 'textshadow_vertical' => 'close_textshadow_vertical', 'textshadow_blur' => 'close_textshadow_blur', 'textshadow_color' => 'close_textshadow_color', 'textshadow_opacity' => 'close_textshadow_opacity', ], ]; return isset( $remapped_meta_settings_keys[ $group ] ) ? $remapped_meta_settings_keys[ $group ] : []; } /** * @param WP_Post $post */ public function setup( $post ) { parent::setup( $post ); if ( ! $this->is_valid() ) { return; } if ( ! isset( $this->data_version ) ) { $this->data_version = (int) $this->get_meta( 'popup_theme_data_version' ); if ( ! $this->data_version ) { $theme_overlay_v1 = $this->get_meta( 'popup_theme_overlay_background_color' ); $theme_overlay_v2 = $this->get_meta( 'popup_theme_overlay' ); // If there are existing settings set the data version to 1/2 so they can be updated. // Otherwise set to the current version as this is a new popup. if ( ! empty( $theme_overlay_v1 ) ) { $this->data_version = 1; } elseif ( ! empty( $theme_overlay_v2 ) && is_array( $theme_overlay_v2 ) ) { $this->data_version = 2; } else { $this->data_version = $this->model_version; } $this->update_meta( 'popup_theme_data_version', $this->data_version ); } } if ( $this->data_version < $this->model_version && pum_passive_theme_upgrades_enabled() ) { /** * Process passive settings migration as each popup is loaded. The will only run each migration routine once for each popup. */ $this->passive_migration(); } } /** * Allows for passive migration routines based on the current data version. */ public function passive_migration() { $this->doing_passive_migration = true; for ( $i = $this->data_version; $this->data_version < $this->model_version; $i++ ) { // Process migration for current version. ex. current version is 2, runs pum_theme_passive_migration_2. do_action_ref_array( 'pum_theme_passive_migration_' . $this->data_version, [ &$this ] ); ++$this->data_version; /** * Update the themes data version. */ $this->update_meta( 'popup_theme_data_version', $this->data_version ); } do_action_ref_array( 'pum_theme_passive_migration', [ &$this, $this->data_version ] ); $this->doing_passive_migration = false; } } classes/Model/Popup.php 0000644 00000102677 15174671772 0011113 0 ustar 00 <?php /** * Model for Popup * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Model_Popup * * @since 1.4 */ class PUM_Model_Popup extends PUM_Abstract_Model_Post { /** * Post Type. * * @var string */ protected $required_post_type = 'popup'; /** * Filtered array of conditions. * * @var array */ public $conditions_filtered = []; /** * Old content caching, don't use. * * @var string * * @deprecated 1.8.0 Was used in PUM ALM extension, needs time to get those changes published. * @toberemoved v1.9.0 */ public $content; /** * Currently being passively migrated. * * @var bool */ public $doing_passive_migration = false; /** * The current model version. * * 1 - v1.0.0 * 2 - v1.4.0 * 3 - v1.7.0 * * @var int */ public $model_version = 3; /** * The version of the data currently stored for the current item. * * 1 - v1.0.0 * 2 - v1.4.0 * 3 - v1.7.0 * * @var int */ public $data_version; // TODO Remove these once no longer needed. /** * Don't use! * * @var array * @deprecated 1.7.0 */ public $display; /** * Don't use! * * @var array * @deprecated 1.7.0 */ public $close; /** * Used to hackishly insert settings for generated popups not stored in DB. (Shortcodes). * * @var array * @since 1.8.0 */ public $settings = null; /** * Used to hackishly insert title for generated popups not stored in DB. (Shortcodes). * * @var string * @since 1.8.0 */ public $title = null; /** * Used to hackishly change the model to prevent queries. (Shortcodes). * * @var string * @since 1.8.0 */ public $mock = false; /** * Get popup meta. * * @param string $key Meta key. * @param bool $single Get single only or multiple values. * * @return mixed|false */ public function get_meta( $key, $single = true ) { if ( $this->mock ) { return false; } return parent::get_meta( $key, $single ); } /** * Returns the title of a popup. * * @uses filter `pum_popup_get_title` * * @return string */ public function get_title() { $title = isset( $this->title ) ? $this->title : $this->get_meta( 'popup_title' ); return (string) apply_filters( 'pum_popup_get_title', (string) $title, $this->ID ); } /** * Returns the content of a popup. * * @uses filter `pum_popup_content` * * @return string */ public function get_content() { /** * Do not use! * * @deprecated 1.8.0 */ $this->content = $this->post_content; return apply_filters( 'pum_popup_content', $this->post_content, $this->ID ); } /** * Returns array of all popup settings. * * @return array */ public function get_settings() { if ( ! isset( $this->settings ) ) { // This hack is here to allow creating popups on the fly without saved meta. $settings = isset( $this->settings ) ? $this->settings : $this->get_meta( 'popup_settings' ); if ( ! is_array( $settings ) ) { $settings = []; } // Review: the above should be removed and replaced with a hooked filter here to supply defaults when $settings === false. $this->settings = apply_filters( 'pum_popup_settings', $settings, $this->ID ); } return $this->settings; } /** * Returns a specific popup setting with optional default value when not found. * * @param string $key Setting key. * @param mixed $default_value Default value if not set. * * @return bool|mixed */ public function get_setting( $key, $default_value = false ) { $settings = $this->get_settings(); return isset( $settings[ $key ] ) ? $settings[ $key ] : $default_value; } /** * Update popup setting. * * @param string $key Setting key. * @param mixed $value New value. * * @return bool|int */ public function update_setting( $key, $value ) { // TODO Once fields have been merged into the model itself, add automatic validation here. $new_settings = [ $key => $value ]; return $this->update_settings( $new_settings, true ); } /** * Update multiple settings at once. * * @param array $new_settings Array of new setting key=>value pairs. * @param bool $merge Wheher to merge values or replace them. * * @return bool|int */ public function update_settings( $new_settings = [], $merge = true ) { $settings = $this->get_settings(); // TODO Once fields have been merged into the model itself, add automatic validation here. if ( $merge ) { foreach ( $new_settings as $key => $value ) { $settings[ $key ] = $value; } } else { $settings = $new_settings; } if ( empty( $settings['theme_id'] ) ) { $settings['theme_id'] = pum_get_default_theme_id(); } if ( empty( $settings['theme_slug'] ) ) { $settings['theme_slug'] = get_post_field( 'post_name', $settings['theme_id'] ); } return $this->update_meta( 'popup_settings', $settings ); } /** * Returns cleansed public settings for a popup. * * @return array */ public function get_public_settings() { $settings = wp_parse_args( $this->get_settings(), PUM_Admin_Popups::defaults() ); foreach ( $settings as $key => $value ) { $field = PUM_Admin_Popups::get_field( $key ); if ( false === $field ) { if ( isset( $value ) ) { // This is a value set programatically, not by a defined field. ex theme_slug. $settings[ $key ] = $value; } continue; } if ( $field['private'] ) { unset( $settings[ $key ] ); } elseif ( 'checkbox' === $field['type'] ) { $settings[ $key ] = (bool) $value; } } $settings['id'] = $this->ID; $settings['slug'] = $this->post_name; // Pass conditions only if there are JS conditions. if ( $this->has_conditions( [ 'js_only' => true ] ) ) { $settings['conditions'] = $this->get_parsed_js_conditions(); } return apply_filters( 'pum_popup_get_public_settings', $settings, $this ); } /** * Preprocess PHP conditions in order for more accurate JS handling. * * @return array Array of conditions, whith PHP conditions replaced with boolean values. */ public function get_parsed_js_conditions() { $parsed_conditions = $this->get_conditions(); foreach ( $parsed_conditions as $group_index => $conditions ) { foreach ( $conditions as $index => $condition ) { // Check each non js condition, replace it with true/false depending on its result. if ( ! $this->is_js_condition( $condition ) ) { $return = false; if ( ! $condition['not_operand'] && $this->check_condition( $condition ) ) { $return = true; } elseif ( $condition['not_operand'] && ! $this->check_condition( $condition ) ) { $return = true; } $parsed_conditions[ $group_index ][ $index ] = $return; } } } return $parsed_conditions; } /** * Check if a given condition is JS based. * * @param array $condition Condition to check. * * @return bool */ public function is_js_condition( $condition = [] ) { $condition_args = PUM_Conditions::instance()->get_condition( $condition['target'] ); if ( ! $condition_args ) { return false; } // Bail early with true for conditions that will be processed in JavaScript later. return true === $condition_args['advanced'] || empty( $condition_args['callback'] ); } /** * Get popup cookies. * * @return array */ public function get_cookies() { return apply_filters( 'pum_popup_get_cookies', $this->get_setting( 'cookies', [] ), $this->ID ); } /** * Check if popup has cookie by event. * * @param string $event Event to check for cookie on. * * @return bool */ public function has_cookie( $event ) { foreach ( (array) $this->get_cookies() as $cookie ) { if ( $cookie['event'] === $event ) { return true; } } return false; } /** * Get popup triggers. * * @return array */ public function get_triggers() { $triggers = $this->get_setting( 'triggers', [] ); // Automatically add click trigger when on the front end. if ( ! is_admin() && ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) { $has_click_trigger = false; foreach ( $triggers as $trigger ) { if ( 'click_open' === $trigger['type'] ) { $has_click_trigger = true; } } if ( ! $has_click_trigger && apply_filters( 'pum_add_default_click_trigger', true, $this->ID ) ) { $triggers[] = [ 'type' => 'click_open', 'settings' => [ 'extra_selectors' => '', 'cookie_name' => null, ], ]; } } return apply_filters( 'pum_popup_get_triggers', $triggers, $this->ID ); } /** * Check if popup has trigger of type. * * @param string $type Popup trigger type to check for. * * @return bool */ public function has_trigger( $type ) { $triggers = $this->get_triggers(); foreach ( $triggers as $trigger ) { if ( $trigger['type'] === $type ) { return true; } } return false; } /** * Returns this popups theme id or the default id. * * @uses filter `pum_popup_get_theme_id` * * @return int $theme_id */ public function get_theme_id() { // TODO replace usage of popmake_get_default_popup_theme. $theme_id = $this->get_setting( 'theme_id', pum_get_default_theme_id() ); return (int) apply_filters( 'pum_popup_get_theme_id', $theme_id, $this->ID ); } /** * Array of deprecated settings groups. * * @var array */ public $dep_groups = []; /** * Retrieve settings in the form of deprecated grouped arrays. * * @deprecated * * @param string $group Old group to fetch settings for. * @param string $key Setting key to retrieve. * * @return mixed */ protected function dep_get_settings_group( $group, $key = null ) { if ( $this->mock ) { return []; } if ( ! isset( $this->dep_groups[ $group ] ) ) { /** * Remap old meta settings to new settings location for v1.7. This acts as a passive migration when needed. */ $remapped_keys = $this->remapped_meta_settings_keys( $group ); // This will only return data from extensions as core data has been migrated already. $group_values = $this->get_meta( "popup_$group" ); if ( ! $group_values || ! is_array( $group_values ) ) { $group_values = []; } // Data manipulation begins here. We don't want any of this saved, only returned for backward compatibility. foreach ( $remapped_keys as $old_key => $new_key ) { $group_values[ $old_key ] = $this->get_setting( $new_key ); } $deprecated_values = popmake_get_popup_meta_group( $group, $this->ID ); if ( ! empty( $deprecated_values ) ) { foreach ( $deprecated_values as $old_key => $value ) { // Skip count fields that don't belong in close settings. if ( 'close' === $group && in_array( $old_key, [ 'count', 'count_total' ], true ) ) { continue; } if ( ! isset( $group_values[ $old_key ] ) ) { $group_values[ $old_key ] = $value; } } } $this->dep_groups[ $group ] = $group_values; } $values = apply_filters( "pum_popup_get_$group", $this->dep_groups[ $group ], $this->ID ); if ( ! $key ) { return $values; } $value = isset( $values[ $key ] ) ? $values[ $key ] : null; if ( ! isset( $value ) ) { $value = $this->get_meta( "popup_{$group}_{$key}" ); } return apply_filters( "pum_popup_get_{$group}_" . $key, $value, $this->ID ); } /** * Get list of remappings for old data. * * @param string $group Group to get values for. * * @return array|mixed */ public function remapped_meta_settings_keys( $group ) { $remapped_meta_settings_keys = [ 'display' => [ 'stackable' => 'stackable', 'overlay_disabled' => 'overlay_disabled', 'scrollable_content' => 'scrollable_content', 'disable_reposition' => 'disable_reposition', 'size' => 'size', 'responsive_min_width' => 'responsive_min_width', 'responsive_min_width_unit' => 'responsive_min_width_unit', 'responsive_max_width' => 'responsive_max_width', 'responsive_max_width_unit' => 'responsive_max_width_unit', 'custom_width' => 'custom_width', 'custom_width_unit' => 'custom_width_unit', 'custom_height' => 'custom_height', 'custom_height_unit' => 'custom_height_unit', 'custom_height_auto' => 'custom_height_auto', 'location' => 'location', 'position_from_trigger' => 'position_from_trigger', 'position_top' => 'position_top', 'position_left' => 'position_left', 'position_bottom' => 'position_bottom', 'position_right' => 'position_right', 'position_fixed' => 'position_fixed', 'animation_type' => 'animation_type', 'animation_speed' => 'animation_speed', 'animation_origin' => 'animation_origin', 'overlay_zindex' => 'overlay_zindex', 'zindex' => 'zindex', ], 'close' => [ 'text' => 'close_text', 'button_delay' => 'close_button_delay', 'overlay_click' => 'close_on_overlay_click', 'esc_press' => 'close_on_esc_press', 'f4_press' => 'close_on_f4_press', ], ]; return isset( $remapped_meta_settings_keys[ $group ] ) ? $remapped_meta_settings_keys[ $group ] : []; } /** * Returns all or single display settings. * * @deprecated 1.7.0 Use get_setting instead. * * @param string|null $key Settings -> Display key to get. * * @return mixed */ public function get_display( $key = null ) { $display = $this->dep_get_settings_group( 'display', $key ); foreach ( [ 'responsive_min_width', 'responsive_max_width', 'custom_width', 'custom_height', ] as $key => $value ) { $temp = isset( $display[ $key ] ) ? $display[ $key ] : false; if ( $temp && is_string( $temp ) ) { $display[ $key ] = preg_replace( '/\D/', '', $temp ); $display[ $key . '_unit' ] = str_replace( $display[ $key ], '', $temp ); } } return $display; } /** * Returns all or single close settings. * * @deprecated 1.7.0 Use get_setting instead. * * @param string|null $key Settings key to get. * * @return mixed */ public function get_close( $key = null ) { return $this->dep_get_settings_group( 'close', $key ); } /** * Returns the slug for a theme. Used for CSS classes. * * @return string */ private function get_theme_slug() { $theme_slug = $this->get_setting( 'theme_slug' ); if ( false === $theme_slug ) { $theme_slug = get_post_field( 'post_name', $this->get_theme_id() ); $this->update_setting( 'theme_slug', $theme_slug ); } return $theme_slug; } /** * Returns array of classes for this popup. * * @param string $element The key or html element identifier. * * @return array $classes */ public function get_classes( $element = 'overlay' ) { $classes = [ 'overlay' => [ 'pum', 'pum-overlay', 'pum-theme-' . $this->get_theme_id(), 'pum-theme-' . $this->get_theme_slug(), 'popmake-overlay', // Backward Compatibility. ], 'container' => [ 'pum-container', 'popmake', // Backward Compatibility. 'theme-' . $this->get_theme_id(), // Backward Compatibility. ], 'title' => [ 'pum-title', 'popmake-title', // Backward Compatibility. ], 'content' => [ 'pum-content', 'popmake-content', // Backward Compatibility. ], 'close' => [ 'pum-close', 'popmake-close', // Backward Compatibility. ], ]; $size = $this->get_setting( 'size', 'medium' ); if ( in_array( $size, [ 'nano', 'micro', 'tiny', 'small', 'medium', 'normal', 'large', 'xlarge' ], true ) ) { $classes['container'] = array_merge( $classes['container'], [ 'pum-responsive', 'pum-responsive-' . $size, 'responsive', // Backward Compatibility. 'size-' . $size, // Backward Compatibility. ] ); } elseif ( 'custom' === $size ) { $classes['container'][] = 'size-custom'; // Backward Compatibility. } if ( ! $this->get_setting( 'custom_height_auto' ) && $this->get_setting( 'scrollable_content' ) ) { $classes['container'] = array_merge( $classes['container'], [ 'pum-scrollable', 'scrollable', // Backward Compatibility. ] ); } if ( $this->get_setting( 'position_fixed' ) ) { $classes['container'][] = 'pum-position-fixed'; } if ( $this->get_setting( 'overlay_disabled' ) ) { $classes['overlay'][] = 'pum-overlay-disabled'; } if ( $this->get_setting( 'disable_accessibility' ) ) { $classes['overlay'][] = 'pum-accessibility-disabled'; } if ( $this->get_setting( 'close_on_overlay_click' ) ) { $classes['overlay'][] = 'pum-click-to-close'; } // Add a class for each trigger type. foreach ( $this->get_triggers() as $trigger ) { if ( ! in_array( $trigger['type'], $classes['overlay'], true ) ) { $classes['overlay'][] = $trigger['type']; } } if ( is_singular( 'popup' ) ) { $classes['overlay'][] = 'pum-preview'; } $classes = apply_filters( 'pum_popup_classes', $classes, $this->ID ); if ( ! isset( $classes[ $element ] ) ) { $classes[ $element ] = []; } return apply_filters( "pum_popup_{$element}_classes", $classes[ $element ], $this->ID ); } /** * Returns array for data attribute of this popup. * * @deprecated 1.8.0 * * @return array|bool */ public function get_data_attr() { if ( $this->mock ) { return false; } $data_attr = [ 'id' => $this->ID, 'slug' => $this->post_name, 'theme_id' => $this->get_theme_id(), 'cookies' => $this->get_cookies(), 'triggers' => $this->get_triggers(), 'mobile_disabled' => $this->mobile_disabled() ? true : null, 'tablet_disabled' => $this->tablet_disabled() ? true : null, 'meta' => [ 'display' => $this->get_display(), 'close' => $this->get_close(), // Added here for backward compatibility in extensions. 'click_open' => popmake_get_popup_meta( 'click_open', $this->ID ), ], ]; // Pass conditions only if there are JS conditions. if ( $this->has_conditions( [ 'js_only' => true ] ) ) { $data_attr['conditions'] = $this->get_parsed_js_conditions(); } return apply_filters( 'pum_popup_data_attr', $data_attr, $this->ID ); } /** * Returns the close button text. * * @return string */ public function close_text() { $text = $this->get_setting( 'close_text', '×' ); $theme_text = pum_get_theme_close_text( $this->get_theme_id() ); if ( empty( $text ) && ! empty( $theme_text ) ) { $text = $theme_text; } return apply_filters( 'pum_popup_close_text', $text, $this->ID ); } /** * Returns true if the close button should be rendered. * * @uses apply_filters `pum_popup_show_close_button` * * @return bool */ public function show_close_button() { return (bool) apply_filters( 'pum_popup_show_close_button', true, $this->ID ); } /** * Placeholder in a series of changes to officially remove condition filtering. * This is a temporary method to allow for backwards compatibility. * * @since 1.16.13 * * @param array $filters Array of condition filters. * * @return array */ public function get_conditions_with_filters( $filters = [ 'string' => false, 'string2' => true, ] ) { $js_only = isset( $filters['js_only'] ) && $filters['js_only']; $php_only = isset( $filters['php_only'] ) && $filters['php_only']; $conditions = $this->get_setting( 'conditions', [] ); // Sanity Check on the values not operand value. foreach ( $conditions as $group_key => $group ) { foreach ( $group as $key => $condition ) { if ( ( $js_only && ! $this->is_js_condition( $condition ) ) || ( $php_only && $this->is_js_condition( $condition ) ) ) { unset( $conditions[ $group_key ][ $key ] ); continue; } } if ( empty( $conditions[ $group_key ] ) ) { unset( $conditions[ $group_key ] ); continue; } } return $conditions; } /** * Get the popups conditions. * * @param boolean|string[] $filters Array of condition filters. * * @return array */ public function get_conditions( $filters = false ) { // Backwards compatibility for old filters. $conditions = false === $filters ? $this->get_setting( 'conditions', [] ) : $this->get_conditions_with_filters( $filters ); foreach ( $conditions as $group_key => $group ) { foreach ( $group as $key => $condition ) { $conditions[ $group_key ][ $key ] = $this->parse_condition( $condition ); } if ( ! empty( $conditions[ $group_key ] ) ) { // Renumber each subarray. $conditions[ $group_key ] = array_values( $conditions[ $group_key ] ); } } // Renumber top arrays. $conditions = array_values( $conditions ); return apply_filters( 'pum_popup_get_conditions', $conditions, $this->ID, $filters ); } /** * Return a flattened list of conditions (no groups). * * @since 1.16.13 * * @param boolean|string[] $filters Array of condition filters. * * @return array */ public function get_conditions_list( $filters = false ) { $conditions = $this->get_conditions( $filters ); $conditions_list = []; foreach ( $conditions as $group ) { foreach ( $group as $condition ) { $conditions_list[] = $condition; } } return $conditions_list; } /** * Ensures condition data integrity. * * @param array $condition Condition. * * @return array */ public function parse_condition( $condition ) { $condition = wp_parse_args( $condition, [ 'target' => '', 'not_operand' => false, 'settings' => [], ] ); $condition['not_operand'] = (bool) $condition['not_operand']; /** Backward compatibility layer */ foreach ( $condition['settings'] as $key => $value ) { $condition[ $key ] = $value; } // The not operand value is missing, set it to false. return $condition; } /** * Checks if this popup has any conditions. * * @param false|string[] $filters Array of filters to use. * * @return bool */ public function has_conditions( $filters = false ) { return (bool) count( $this->get_conditions( $filters ) ); } /** * Checks if the popup has a specific condition. * * Generally used for conditional asset loading. * * @param string[]|string $conditions Array of condition to check for. * * @return bool */ public function has_condition( $conditions ) { if ( ! $this->has_conditions() ) { return false; } $found = false; if ( ! is_array( $conditions ) ) { $conditions = [ $conditions ]; } foreach ( $this->get_conditions() as $group ) { foreach ( $group as $condition ) { if ( in_array( $condition['target'], $conditions, true ) ) { $found = true; } } } return (bool) $found; } /** * Retrieves the 'enabled' meta key and returns true if popup is enabled * * @since 1.12 * @return bool True if enabled */ public function is_enabled() { $enabled = $this->get_meta( 'enabled' ); // Post ID not valid. if ( false === $enabled ) { return false; } // If the key is missing... if ( '' === $enabled ) { // Set it to enabled. $enabled = 1; $this->update_meta( 'enabled', $enabled ); } else { // Else, load it in. $enabled = intval( $enabled ); if ( ! in_array( $enabled, [ 0, 1 ], true ) ) { $enabled = 1; } } if ( 1 === $enabled ) { return true; } else { return false; } } /** * Returns whether or not the popup is visible in the loop. * * @return bool */ public function is_loadable() { // Loadable defaults to true if no conditions. Making the popup available everywhere. $loadable = true; if ( ! $this->ID ) { return false; // Published/private. } // If popup is not enabled, this popup is not loadable. if ( ! $this->is_enabled() ) { return false; } if ( $this->has_conditions() ) { // All Groups Must Return True. Break if any is false and set $loadable to false. foreach ( $this->get_conditions() as $group => $conditions ) { // Groups are false until a condition proves true. $group_check = false; // At least one group condition must be true. Break this loop if any condition is true. foreach ( $conditions as $condition ) { // If this is JS condition, popup must load to check it later. Group can't be known false til then. if ( $this->is_js_condition( $condition ) ) { $group_check = true; break; } // If any condition passes, set $group_check true and break. if ( ! $condition['not_operand'] && $this->check_condition( $condition ) ) { $group_check = true; break; } elseif ( $condition['not_operand'] && ! $this->check_condition( $condition ) ) { $group_check = true; break; } } // If any group of conditions doesn't pass, popup is not loadable. if ( ! $group_check ) { $loadable = false; break; } } } return apply_filters( 'pum_popup_is_loadable', $loadable, $this->ID ); } /** * Check an individual condition with settings. * * @param array $condition Condition to check. * * @return bool */ public function check_condition( $condition = [] ) { $condition_args = PUM_Conditions::instance()->get_condition( $condition['target'] ); if ( ! $condition_args ) { return false; } // Bail early with true for conditions that will be processed in JavaScript later. if ( $this->is_js_condition( $condition ) ) { return true; } $condition['settings'] = isset( $condition['settings'] ) && is_array( $condition['settings'] ) ? $condition['settings'] : []; return (bool) call_user_func( $condition_args['callback'], $condition, $this ); } /** * Check if mobile was disabled * * @return bool */ public function mobile_disabled() { return (bool) apply_filters( 'pum_popup_mobile_disabled', $this->get_setting( 'disable_on_mobile' ), $this->ID ); } /** * Check if tablet was disabled * * @return bool */ public function tablet_disabled() { return (bool) apply_filters( 'pum_popup_tablet_disabled', (bool) $this->get_setting( 'disable_on_tablet' ), $this->ID ); } /** * Get a popups event count. * * @param string $event Event nme. * @param string $which Which stats to get. * * @return int */ public function get_event_count( $event = 'open', $which = 'current' ) { switch ( $which ) { case 'current': $current = $this->get_meta( "popup_{$event}_count" ); // Save future queries by inserting a valid count. if ( false === $current || ! is_numeric( $current ) ) { $current = 0; $this->update_meta( "popup_{$event}_count", $current ); } return absint( $current ); case 'total': $total = $this->get_meta( "popup_{$event}_count_total" ); // Save future queries by inserting a valid count. if ( false === $total || ! is_numeric( $total ) ) { $total = 0; $this->update_meta( "popup_{$event}_count_total", $total ); } return absint( $total ); } return 0; } /** * Increase popup event counts. * * @param string $event Evet to increase count for. */ public function increase_event_count( $event = 'open' ) { /** * This section simply ensures that all keys exist before the below query runs. This should only ever cause extra queries once per popup, usually in the admin. */ $keys = PUM_Analytics::event_keys( $event ); // Set the current count. $current = $this->get_event_count( $event ); if ( ! $current ) { $current = 0; } ++$current; // Set the total count since creation. $total = $this->get_event_count( $event, 'total' ); if ( ! $total ) { $total = 0; } ++$total; $this->update_meta( 'popup_' . $keys[0] . '_count', absint( $current ) ); $this->update_meta( 'popup_' . $keys[0] . '_count_total', absint( $total ) ); $this->update_meta( 'popup_last_' . $keys[1], time() ); $site_total = get_option( 'pum_total_' . $keys[0] . '_count', 0 ); ++$site_total; update_option( 'pum_total_' . $keys[0] . '_count', $site_total ); // If is multisite add this blogs total to the site totals. if ( function_exists( 'is_multisite' ) && is_multisite() ) { $network_total = get_site_option( 'pum_site_total_' . $keys[0] . '_count', false ); $network_total = ! $network_total ? $site_total : $network_total + 1; update_site_option( 'pum_site_total_' . $keys[0] . '_count', $network_total ); } if ( 'conversion' === $event || 'open' === $event ) { $open_count = (int) $this->get_event_count( 'open', 'current' ); $conversion_count = (int) $this->get_event_count( 'conversion', 'current' ); $this->update_meta( 'popup_conversion_rate', ( $open_count > 0 && $conversion_count >= 0 ) ? ( $conversion_count / $open_count ) : 0 ); $site_total_opens = (int) get_option( 'pum_total_open_count', 0 ); $site_total_conversions = (int) get_option( 'pum_total_conversion_count', 0 ); update_option( 'pum_overall_conversion_rate', ( $site_total_opens > 0 && $site_total_conversions >= 0 ) ? ( $site_total_conversions / $site_total_opens ) : 0 ); if ( function_exists( 'is_multisite' ) && is_multisite() ) { $network_total_opens = (int) get_site_option( 'pum_site_total_open_count', 0 ); $network_total_conversions = (int) get_site_option( 'pum_site_total_conversion_count', 0 ); update_site_option( 'pum_overall_conversion_rate', ( $network_total_opens > 0 && $network_total_conversions >= 0 ) ? ( $network_total_conversions / $network_total_opens ) : 0 ); } } } /** * Set event default values. * * @param string $event Event name. */ public function set_event_defaults( $event ) { $this->get_event_count( $event ); $this->get_event_count( $event, 'total' ); $keys = PUM_Analytics::event_keys( $event ); $last = $this->get_meta( 'popup_last_' . $keys[1] ); if ( empty( $last ) || ! is_numeric( $last ) ) { $this->update_meta( 'popup_last_' . $keys[1], 0 ); } } /** * Log and reset popup open count to 0. */ public function reset_counts() { // Log the reset time and count. add_post_meta( $this->ID, 'popup_count_reset', [ 'timestamp' => time(), 'opens' => absint( $this->get_event_count( 'open', 'current' ) ), 'conversions' => absint( $this->get_event_count( 'conversion', 'current' ) ), ] ); foreach ( [ 'open', 'conversion' ] as $event ) { $keys = PUM_Analytics::event_keys( $event ); $this->update_meta( 'popup_' . $keys[0] . '_count', 0 ); $this->update_meta( 'popup_last_' . $keys[1], 0 ); } } /** * Returns the last reset information. * * @return mixed */ public function get_last_count_reset() { $resets = $this->get_meta( 'popup_count_reset', false ); if ( empty( $resets ) ) { // No results found. return false; } if ( ! empty( $resets['timestamp'] ) ) { // Looks like the result is already the last one, return it. return $resets; } if ( count( $resets ) === 1 ) { // Looks like we only got one result, return it. return $resets[0]; } usort( $resets, [ $this, 'compare_resets' ] ); return $resets[0]; } /** * Array comparison callback function comparing timestamps. * * @param array $a Array with `timestamp` key for comparison. * @param array $b Array with `timestamp` key for comparison. * * @return int */ public function compare_resets( $a, $b ) { $a = (float) $a['timestamp']; $b = (float) $b['timestamp']; // Sort in descending order (newest first) to get the most recent reset return $b <=> $a; } /** * Setup this popup when instantiated. * * @param WP_Post $post WP_Post object. */ public function setup( $post ) { parent::setup( $post ); if ( ! $this->is_valid() ) { return; } // REVIEW Does this need to be here or somewhere else like get_meta/get_setting? if ( ! isset( $this->data_version ) ) { $this->data_version = (int) $this->get_meta( 'data_version' ); if ( ! $this->data_version ) { $theme = $this->get_meta( 'popup_theme' ); $display_settings = $this->get_meta( 'popup_display' ); // If there are existing settings set the data version to 2 so they can be updated. // Otherwise set to the current version as this is a new popup. $is_v2 = ( ! empty( $display_settings ) && is_array( $display_settings ) ) || $theme > 0; $this->data_version = $is_v2 ? 2 : $this->model_version; $this->update_meta( 'data_version', $this->data_version ); } } if ( $this->data_version < $this->model_version && pum_passive_popup_upgrades_enabled() ) { /** * Process passive settings migration as each popup is loaded. The will only run each migration routine once for each popup. */ $this->passive_migration(); } } /** * Allows for passive migration routines based on the current data version. */ public function passive_migration() { $this->doing_passive_migration = true; for ( $i = $this->data_version; $this->data_version < $this->model_version; $i++ ) { do_action_ref_array( 'pum_popup_passive_migration_' . $this->data_version, [ &$this ] ); ++$this->data_version; /** * Update the popups data version. */ $this->update_meta( 'data_version', $this->data_version ); } do_action_ref_array( 'pum_popup_passive_migration', [ &$this, $this->data_version ] ); $this->doing_passive_migration = false; } /** * Save unsaved data. * * @deprecated 1.7.0 Still used in several extension migration routines, so needs to stay for now. */ public function save() { try { pum()->popups->update_item( $this->ID, $this->to_array() ); } catch ( Exception $e ) { return; } } /** * Get instance of popup model. * * @deprecated 1.8.0 Only here to prevent possible errors. * * @param int $id Popup ID. * @param bool $force Force load. * * @return PUM_Model_Popup */ public static function instance( $id, $force = false ) { return pum_get_popup( $id ); } } classes/Extensions.php 0000644 00000012537 15174671772 0011102 0 ustar 00 <?php /** * Extension handlers. * * @package PUM\Core */ defined( 'ABSPATH' ) || exit; /** * Class PUM_Extensions */ class PUM_Extensions { /** * Get everything going. * * @return void */ public function __construct() { $this->init(); } /** * Initialize actions & filters. * * @return void */ public function init() { add_action( 'init', [ $this, 'rename_plugins' ] ); add_action( 'upgrader_process_complete', [ $this, 'monitor_plugin_updates_for_renaming' ], 10, 2 ); } /** * Get list of plugins that need renaming. * * @return string[] */ public function get_renamed_plugin_map() { // Array of old plugin name => new plugin name. $renamed_plugin_map = [ // phpcs:disable Squiz.PHP.CommentedOutCode.Found // 'popup-maker-edd/popup-maker-edd.php' => 'popup-maker-edd-pro/popup-maker-edd-pro.php', // 'pum-aweber-integration/pum-aweber-integration.php' => 'popup-maker-aweber-integration/popup-maker-aweber-integration.php', // 'pum-mailchimp-integration/pum-mailchimp-integration.php' => 'popup-maker-mailchimp-integration/popup-maker-mailchimp-integration.php', 'pum-scheduling/pum-scheduling.php' => 'popup-maker-scheduling/popup-maker-scheduling.php', // 'pum-videos/pum-videos.php' => 'popup-maker-videos/popup-maker-videos.php', // phpcs:enable Squiz.PHP.CommentedOutCode.Found ]; return $renamed_plugin_map; } /** * This function runs when WordPress completes its upgrade process. * It iterates through each plugin updated to see if it is included in our renamed plugin map. * * @param array $upgrader_object Array of information regarding the upgrade process. * @param array $options Array of bulk item update data. */ public function monitor_plugin_updates_for_renaming( $upgrader_object, $options ) { $renamed_plugin_map = $this->get_renamed_plugin_map(); $renamed_plugins = array_keys( $renamed_plugin_map ); $_transient_data = []; // If an update has taken place and the updated type is plugins and the plugins element exists. if ( 'update' === $options['action'] && 'plugin' === $options['type'] && isset( $options['plugins'] ) ) { // Iterate through the plugins being updated and check if ours is there. foreach ( $options['plugins'] as $plugin ) { if ( in_array( $plugin, $renamed_plugins, true ) ) { // Set a transient to record that our plugin has just been updated. $_transient_data[ $plugin ] = $renamed_plugin_map[ $plugin ]; } } } if ( ! empty( $_transient_data ) ) { set_transient( 'pum_renamed_plugins', $_transient_data, DAY_IN_SECONDS ); } } /** * Forces reactivation of renamed plugin. * * @param string $plugin The plugin to check. * @param bool $network_wide Whether to check for network wide activation. * @return void */ public function force_activate_renamed_plugin( $plugin, $network_wide ) { $renamed_plugin_map = $this->get_renamed_plugin_map(); if ( isset( $renamed_plugin_map[ $plugin ] ) ) { $renamed_plugin = $renamed_plugin_map[ $plugin ]; // Deactivate the old plugin. if ( is_plugin_active( $plugin ) ) { deactivate_plugins( $plugin, true, $network_wide ); } // Activate the new plugin. activate_plugin( $renamed_plugin, '', $network_wide ); } } /** * This function reactivates plugins that have been renamed, without requireing user interaction. * * @return void */ public function rename_plugins() { $renamed_plugin_map = $this->get_renamed_plugin_map(); // If we have no renamed plugins, return early. if ( empty( $renamed_plugin_map ) ) { return; } // Get the transient data. $_transient_data = get_transient( 'pum_renamed_plugins' ); // If we have no transient data, return early. if ( empty( $_transient_data ) ) { return; } // Require neccesary functions if they don't exist. if ( ! function_exists( 'is_plugin_active' ) ) { include_once ABSPATH . 'wp-admin/includes/plugin.php'; } // Foreach plugin in pum_renamed_plugins transient as $old_plugin => $new_plugin. foreach ( $_transient_data as $old_plugin => $new_plugin ) { // 1. If the old file exists & new file does not, the migration we're fixing didn't occur, unset & continue. if ( file_exists( WP_PLUGIN_DIR . '/' . $old_plugin ) && ! file_exists( WP_PLUGIN_DIR . '/' . $new_plugin ) ) { unset( $_transient_data[ $old_plugin ] ); continue; } // 2. Check if the old plugin was network active. $network_wide = is_multisite() && is_plugin_active_for_network( $old_plugin ); // 3. If is multisite & not network wide, loop over every site and force activate the new plugin. Else just force activate the new plugin. if ( is_multisite() && ! $network_wide ) { $sites = get_sites(); foreach ( $sites as $site ) { switch_to_blog( $site->blog_id ); // Only force activate if the plugin was active on this site before. if ( is_plugin_active( $old_plugin ) ) { $this->force_activate_renamed_plugin( $old_plugin, false ); } restore_current_blog(); } } else { $this->force_activate_renamed_plugin( $old_plugin, $network_wide ); } // 4. Remove $old_plugin from pum_renamed_plugins transient. unset( $_transient_data[ $old_plugin ] ); } if ( empty( $_transient_data ) ) { delete_transient( 'pum_renamed_plugins' ); } else { set_transient( 'pum_renamed_plugins', $_transient_data, DAY_IN_SECONDS ); } } } classes/Services/Repository/Popups.php 0000644 00000003153 15174671772 0014165 0 ustar 00 <?php /** * CTA registry service. * * @author Code Atlantic * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ // phpcs:disable Generic.CodeAnalysis.UselessOverridingMethod.Found namespace PopupMaker\Services\Repository; use PUM_Model_Popup as Popup; use PopupMaker\Base\Service\Repository; defined( 'ABSPATH' ) || exit; /** * Popups service. * * @since 1.21.0 * @template-extends Repository<Popup> */ class Popups extends Repository { /** * Post type key. * * @var string */ protected $post_type_key = 'popup'; /** * Initialize the service. * * @param \PopupMaker\Plugin\Core $container Container. */ public function __construct( $container ) { parent::__construct( $container ); // Fire action to dependent services to initialize. do_action( 'popup_maker/services/repository/ctas/init', $this ); } /** * Instantiate model from post. * * @param \WP_Post $post Post object. * * @return Popup|null */ public function instantiate_model_from_post( $post ) { if ( ! $post instanceof \WP_Post ) { return null; } return new Popup( $post ); } /** * Cache an item internally. * * @param Popup $item Item to cache. * * @return void */ protected function cache_item( $item ) { parent::cache_item( $item ); } /** * Generate select list query. * * @param array $args Query arguments. * * @return array */ public function generate_selectlist_query( $args = [] ) { $items = $this->query( $args ); $options = []; foreach ( $items as $item ) { $options[ $item->id ?? $item->ID ] = $item->title; } return $options; } } classes/Services/Repository/CallToActions.php 0000644 00000005170 15174671772 0015377 0 ustar 00 <?php /** * CTA registry service. * * @author Code Atlantic * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker\Services\Repository; use PopupMaker\Models\CallToAction; use PopupMaker\Base\Service\Repository; defined( 'ABSPATH' ) || exit; /** * Call To Action service. * * @since 1.21.0 * @template-extends Repository<\PopupMaker\Models\CallToAction> */ class CallToActions extends Repository { /** * Post type key. * * @var string */ protected $post_type_key = 'pum_cta'; /** * Items by UUID. * * @var array<string,\PopupMaker\Models\CallToAction> */ protected $items_by_uuid = []; /** * Initialize the service. * * @param \PopupMaker\Plugin\Core $container Container. */ public function __construct( $container ) { parent::__construct( $container ); // Fire action to dependent services to initialize. do_action( 'popup_maker/services/repository/ctas/init', $this ); } /** * Instantiate model from post. * * @param \WP_Post $post Post object. * * @return \PopupMaker\Models\CallToAction|null */ public function instantiate_model_from_post( $post ) { if ( ! $post instanceof \WP_Post ) { return null; } return new CallToAction( $post ); } /** * Cache an item internally. * * @param \PopupMaker\Models\CallToAction $item Item to cache. * * @return void */ protected function cache_item( $item ) { parent::cache_item( $item ); $this->items_by_uuid[ $item->get_uuid() ] = $item; } /** * Get call to action, by UUID. * * @param string $uuid Call to action UUID. * * @return \PopupMaker\Models\CallToAction|null */ public function get_by_uuid( $uuid = '' ) { $cache_key = 'popup_maker_cta_id_by_uuid_' . $uuid; $cta_id = wp_cache_get( $cache_key, 'popup_maker_ctas' ); if ( false !== $cta_id ) { return $this->get_by_id( $cta_id ); } if ( isset( $this->items_by_uuid[ $uuid ] ) ) { return $this->items_by_uuid[ $uuid ]; } $items = $this->query( [ 'meta_key' => 'cta_uuid', // phpcs:ignore WordPress.DB.SlowDBQuery 'meta_value' => $uuid, // phpcs:ignore WordPress.DB.SlowDBQuery 'posts_per_page' => 1, ] ); $item = ! empty( $items ) ? $items[0] : null; if ( $item ) { wp_cache_set( $cache_key, $item->ID, 'popup_maker_ctas' ); } return $item; } /** * Generate select list query. * * @param array $args Query arguments. * * @return array */ public function generate_selectlist_query( $args = [] ) { $items = $this->query( $args ); $options = []; foreach ( $items as $item ) { $options[ $item->ID ] = $item->title; } return $options; } } classes/Services/Upgrader.php 0000644 00000012762 15174671772 0012277 0 ustar 00 <?php /** * Plugin upgrader service. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Services; use PopupMaker\Base\Service; defined( 'ABSPATH' ) || exit; /** * Upgrader class. * * NOTE: For wordpress.org admins: This is only used if: * - The user explicitly entered a license key AND * - They further opened a browser window and authorized the installation of the pro upgrade from our dashboard complying with the WordPress.org plugin guidelines explicitly. * * @package PopupMaker */ class Upgrader extends Service { /** * Maybe load functions & classes required for upgrade. * * Purely here due to prevent possible random errors. * * @return void */ public function maybe_load_required_files() { if ( ! function_exists( 'request_filesystem_credentials' ) ) { require_once ABSPATH . 'wp-admin/includes/file.php'; } if ( ! function_exists( 'get_plugin_data' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } } /** * Log a message to the debug log if enabled. * * Here to prevent constant conditional checks for the debug mode. * * @param string $message Message. * @param string $type Type. * * @return void */ public function debug_log( $message, $type = 'INFO' ) { if ( defined( 'POPUP_MAKER_UPGRADE_DEBUG_LOGGING' ) && POPUP_MAKER_UPGRADE_DEBUG_LOGGING ) { $this->container->get( 'logging' )->log( "Plugin\Upgrader.$type: $message" ); } } /** * Get credentials for the current request. * * @return bool */ public function get_fs_creds() { // Prepare variables. $url = esc_url_raw( add_query_arg( [ 'post_type' => 'popup', 'page' => 'pum-settings#go-pro', ], admin_url( 'edit.php' ) ) ); $creds = request_filesystem_credentials( $url, '', false, '', null ); if ( false === $creds || ! WP_Filesystem( $creds ) ) { $this->debug_log( 'Unable to get filesystem credentials.', 'ERROR' ); return false; } return (bool) $creds; } /** * Activate a plugin. * * @param string $plugin_basename The plugin basename. * @return bool|\WP_Error */ public function activate_plugin( $plugin_basename ) { if ( empty( $plugin_basename ) ) { return new \WP_Error( 'popup_maker_plugin_basename', __( 'Plugin basename empty.', 'popup-maker' ) ); } // Activate the plugin silently. $activated = activate_plugin( $plugin_basename, '', false, true ); if ( is_wp_error( $activated ) ) { $this->debug_log( 'Plugin failed to activate: ' . $activated->get_error_message() ); return $activated; } $this->debug_log( 'Plugin activated: ' . $plugin_basename ); return true; } /** * Install a plugin from file. * * @param string $file The plugin file. * * @return bool|\WP_Error */ public function install_plugin( $file ) { // Load required files. $this->maybe_load_required_files(); // Check for file system permissions. if ( false === $this->get_fs_creds() ) { return new \WP_Error( 'popup_maker_fs_creds', __( 'Unable to get filesystem credentials.', 'popup-maker' ) ); } // Do not allow WordPress to search/download translations, as this will break JS output. remove_action( 'upgrader_process_complete', [ 'Language_Pack_Upgrader', 'async_upgrade' ], 20 ); $installer = new \PopupMaker\Installers\PluginSilentUpgrader( new \PopupMaker\Installers\Install_Skin() ); // 1. Check if the plugin exists already, if so upgrade it. // Error check. if ( ! method_exists( $installer, 'install' ) ) { return new \WP_Error( 'popup_maker_upgrader', __( 'Upgrader missing install method.', 'popup-maker' ) ); } $this->debug_log( 'Installing plugin from file: ' . $file ); $plugin = $installer->install( $file, [ 'overwrite_package' => true, ] ); if ( is_wp_error( $plugin ) && 'folder_exists' === $plugin->get_error_code() ) { $this->debug_log( 'Plugin already exists, upgrading instead.' ); // Plugin already exists, upgrade it. $plugin_basename = $installer->plugin_info(); // Filter get_site_transient( 'update_plugins' ) to replace $plugin_basename->package with $file. add_filter( 'pre_site_transient_update_plugins', function ( $current ) use ( $file, $plugin_basename ) { if ( isset( $current->response[ $plugin_basename ] ) ) { $current->response[ $plugin_basename ]->package = $file; } else { $current->response[ $plugin_basename ] = (object) [ 'id' => '0', 'slug' => $plugin_basename, 'new_version' => '0', 'url' => '', 'package' => $file, ]; } $this->debug_log( 'Filtering update_plugins transient to replace package with file.' ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r $this->debug_log( 'Current: ' . print_r( $current->response[ $plugin_basename ], true ) ); return $current; }, 10, 1 ); $this->debug_log( 'Upgrading plugin.' ); $upgraded = $installer->upgrade( $file ); if ( is_wp_error( $upgraded ) ) { $this->debug_log( 'Error upgrading plugin: ' . $upgraded->get_error_message(), 'ERROR' ); return $upgraded; } return $upgraded; } if ( is_wp_error( $plugin ) ) { $this->debug_log( 'Error installing plugin: ' . $plugin->get_error_message(), 'ERROR' ); return $plugin; } // Flush the cache and return the newly installed plugin basename. wp_cache_flush(); $plugin_basename = $installer->plugin_info(); $this->debug_log( 'Plugin installed: ' . $plugin_basename ); return $this->activate_plugin( $plugin_basename ); } } classes/Services/UpgradeStream.php 0000644 00000010756 15174671772 0013272 0 ustar 00 <?php /** * Plugin controller. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Services; use function PopupMaker\plugin; defined( 'ABSPATH' ) || exit; /** * HTTP Stream class. */ class UpgradeStream extends \PopupMaker\Base\Stream { /** * Upgrade status. * * @var array{total:int,progress:int,currentTask:null|array{name:string,total:int,progress:int}}|null */ public $status = [ 'total' => 0, 'progress' => 0, 'currentTask' => null, ]; /** * Update the status of the upgrade. * * @param array{total?:int|null,progress?:int|null,curentTask?:string|null} $status Status to update. * * @return void */ public function update_status( $status ) { $defaults = [ 'total' => 0, 'progress' => 0, 'currentTask' => null, ]; // Merge with existing status. $status = wp_parse_args( $status, $this->status ? (array) $this->status : [] ); // Update status (merge with defaults). $this->status = array_merge( $defaults, $status ); } /** * Update the status of the current task. * * @param array{total?:int,progress?:int,curentTask?:string}|null $task_status Status to update. * * @return void */ public function update_task_status( $task_status ) { $defaults = [ 'name' => '', 'total' => 0, 'progress' => 0, ]; if ( null === $task_status ) { // Reset current task. $this->status['currentTask'] = null; } else { // Merge with existing status. $task_status = wp_parse_args( $task_status, $this->status['currentTask'] ? (array) $this->status['currentTask'] : [] ); // Update status (merge with defaults). $this->status['currentTask'] = array_merge( $defaults, $task_status ); } } /** * Send an event to the client. * * @param string $event Event name. * @param mixed $data Data to send. * * @return void */ public function send_event( $event, $data = [] ) { // Always send the status. $data['status'] = $this->status; if ( ! empty( $data['message'] ) ) { plugin( 'logging' )->log( $data['message'] ); } $data = \wp_json_encode( $data ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo "event: {$event}" . PHP_EOL; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo "data: {$data}" . PHP_EOL; echo PHP_EOL; $this->flush_buffers(); } /** * Start the upgrade process. * * @param int $total Number of upgrades. * @param string $message Message to send. * * @return void */ public function start_upgrades( $total, $message = null ) { $this->update_status( [ 'total' => $total, 'progress' => 0, 'currentTask' => null, ] ); $this->send_event( 'upgrades:start', [ 'message' => $message ? $message : __( 'Starting upgrades...', 'popup-maker' ), ] ); } /** * Complete the upgrade process. * * @param string $message Message to send. * * @return void */ public function complete_upgrades( $message = null ) { $this->update_status( [ 'progress' => $this->status['total'], 'currentTask' => null, ] ); $this->send_event( 'upgrades:complete', [ 'message' => $message ? $message : __( 'Upgrades complete.', 'popup-maker' ), ] ); } /** * Start a task. * * @param string $name Task name. * @param int $task_steps Number of steps in the task. * @param string $message Message to send. * * @return void */ public function start_task( $name, $task_steps = 1, $message = null ) { $this->update_task_status( [ 'name' => $name, 'progress' => 0, 'total' => $task_steps, ] ); $this->send_event( 'task:start', [ 'message' => $message ? $message : $name, ] ); } /** * Update the progress of the current task. * * @param int $progress Progress of the task. * * @return void */ public function update_task_progress( $progress ) { $this->update_task_status( [ 'progress' => $progress, ] ); $this->send_event( 'task:progress', [] ); } /** * Complete the current task. * * @param string $message Message to send. * * @return void */ public function complete_task( $message = null ) { $task_status = $this->status['currentTask']; $this->update_task_status( null ); $this->update_status( [ 'progress' => $this->status['progress'] + 1, ] ); $this->send_event( 'task:complete', [ // translators: %s: task name. 'message' => $message ? $message : sprintf( __( 'Completed: %s', 'popup-maker' ), $task_status['name'] ), ] ); } } classes/Services/Logging.php 0000644 00000023770 15174671772 0012115 0 ustar 00 <?php /** * Logging class. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Services; use PopupMaker\Base\Service; use function PopupMaker\get_fs; defined( 'ABSPATH' ) || exit; /** * Logging service class. */ class Logging extends Service { /** * Whether the log file is writable. * * @var bool|null */ private $is_writable; /** * Log file name. * * @var string */ private $filename = ''; /** * Log file path. * * @var string */ private $file = ''; /** * Log file content. * * @var string|null */ private $content; /** * Initialize logging. */ public function __construct( $container ) { parent::__construct( $container ); if ( ! $this->enabled() ) { return; } $this->init(); $this->register_hooks(); } /** * Register hooks. * * @return void */ public function register_hooks() { // On shutdown, save the log file. add_action( 'shutdown', [ $this, 'save_logs' ] ); } /** * Check if logging is disabled. * * @return bool */ public function disabled() { // Disable logging by adding define( 'PUM_DISABLE_LOGGING', true );. if ( ( defined( '\PUM_DISABLE_LOGGING' ) && \PUM_DISABLE_LOGGING ) || ( defined( '\POPUP_MAKER_DISABLE_LOGGING' ) && \POPUP_MAKER_DISABLE_LOGGING ) ) { return true; } return false; } /** * Chek if logging is enabled. * * @return bool */ public function enabled() { return ! $this->disabled() && $this->is_writable(); } /** * Check if the log file is writable. * * @return boolean */ public function is_writable() { if ( isset( $this->is_writable ) ) { return $this->is_writable; } $file_system = get_fs(); if ( false === $file_system ) { $this->is_writable = false; return $this->is_writable; } $this->is_writable = 'direct' === $file_system->method; $upload_dir = \PopupMaker\get_upload_dir(); if ( ! $file_system->is_writable( $upload_dir['basedir'] ) ) { $this->is_writable = false; } return $this->is_writable; } /** * Get things started * * @return void */ public function init() { $upload_dir = \PopupMaker\get_upload_dir(); $file_system = get_fs(); if ( false === $upload_dir || false === $file_system ) { return; } $token_option_key = $this->container->get( 'option_prefix' ) . 'debug_log_token'; $file_token = \get_option( $token_option_key ); if ( false === $file_token ) { $file_token = uniqid( (string) wp_rand(), true ); \update_option( $token_option_key, $file_token ); } $this->filename = $this->container->get( 'slug' ) . "-debug-{$file_token}.log"; // ex. popup-maker-debug-5c2f6a9b9b5a3.log. $this->file = trailingslashit( $upload_dir['basedir'] ) . $this->filename; // If the old log file exists, migrate it to the new location. $this->migrate_old_log_file(); if ( ! $file_system->exists( $this->file ) ) { $this->setup_new_log(); } else { $this->content = $this->get_file( $this->file ); } // Truncate long log files. if ( $file_system->exists( $this->file ) && $file_system->size( $this->file ) >= 1048576 ) { $this->truncate_log(); } } /** * Migrate the old log file to the new location. * * @return void */ private function migrate_old_log_file() { $upload_dir = \PopupMaker\get_upload_dir(); $file_system = get_fs(); if ( false === $upload_dir || false === $file_system ) { return; } $old_file = trailingslashit( $upload_dir['basedir'] ) . 'pum-debug.log'; if ( $file_system->exists( $old_file ) ) { $old_content = $this->get_file( $old_file ); $this->set_log_content( $old_content, true ); // Move old log file to new obfuscated location() . $this->log_unique( 'Renaming log file.' ); // Move old file to new location. $file_system->move( $old_file, $this->file ); if ( $file_system->exists( $old_file ) ) { $file_system->delete( $old_file ); } } } /** * Get the log file path. * * @return string */ public function get_file_path() { return $this->file; } /** * Retrieves the url to the file * * @return string|bool The url to the file or false on failure */ public function get_file_url() { if ( ! $this->enabled() ) { return false; } return \PopupMaker\get_upload_dir_url( $this->filename ); } /** * Retrieve the log data * * @return false|string */ public function get_log() { return $this->get_log_content(); } /** * Delete the log file and token. * * @return void */ public function delete_logs() { $file_system = get_fs(); if ( false === $file_system ) { return; } $file_system->delete( $this->file ); $token_option_key = $this->container->get( 'option_prefix' ) . 'debug_log_token'; \delete_option( $token_option_key ); } /** * Log message to file * * @param string $message The message to log. * * @return void */ public function log( $message = '' ) { $this->write_to_log( wp_date( 'Y-n-d H:i:s' ) . ' - ' . $message ); } /** * Log unique message to file. * * @param string $message The unique message to log. * * @return void */ public function log_unique( $message = '' ) { $contents = $this->get_log_content(); if ( strpos( $contents, $message ) !== false ) { return; } $this->log( $message ); } /** * Get the log file contents. * * @return false|string */ public function get_log_content() { if ( ! isset( $this->content ) ) { $this->content = $this->get_file(); } return $this->content; } /** * Set the log file contents in memory. * * @param mixed $content The content to set. * @param bool $save Whether to save the content to the file immediately. * @return void */ private function set_log_content( $content, $save = false ) { $this->content = $content; if ( $save ) { $this->save_logs(); } } /** * Retrieve the contents of a file. * * @param string|boolean $file File to get contents of. * * @return false|string */ protected function get_file( $file = false ) { $file = $file ? $file : $this->file; $file_system = get_fs(); if ( false === $file_system || ! $this->enabled() ) { return ''; } $content = ''; if ( $file_system->exists( $file ) ) { $content = $file_system->get_contents( $file ); } return $content; } /** * Write the log message * * @param string $message The message to write. * * @return void */ protected function write_to_log( $message = '' ) { if ( ! $this->enabled() ) { return; } $contents = $this->get_log_content(); // If it doesn't end with a new line, add one. \r\n length is 2. if ( substr( $contents, -2 ) !== "\r\n" ) { $contents .= "\r\n"; } $this->set_log_content( $contents . $message ); } /** * Save the current contents to file. * * @return void */ public function save_logs() { $file_system = get_fs(); if ( false === $file_system || ! $this->enabled() ) { return; } $file_system->put_contents( $this->file, $this->content, FS_CHMOD_FILE ); } /** * Get a line count. * * @return int */ public function count_lines() { $file = $this->get_log_content(); $lines = explode( "\r\n", $file ); return count( $lines ); } /** * Truncates a log file to maximum of 250 lines. * * @return void */ public function truncate_log() { $content = $this->get_log_content(); $lines = explode( "\r\n", $content ); $lines = array_slice( $lines, 0, 250 ); // 50 is how many lines you want to keep $truncated_content = implode( "\r\n", $lines ); $this->set_log_content( $truncated_content, true ); } /** * Set up a new log file. * * @return void */ public function setup_new_log() { $this->set_log_content( $this->container->get( 'name' ) . " Debug Logs:\r\n" . wp_date( 'Y-n-d H:i:s' ) . " - Log file initialized\r\n", true ); } /** * Delete the log file. * * @return void */ public function clear_log() { $file_system = get_fs(); if ( false === $file_system ) { return; } // Delete the file. // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged @$file_system->delete( $this->file ); if ( $this->enabled() ) { $this->setup_new_log(); } } /** * Log an informational message. * * @param string $message The message to log. * * @return void */ public function info( $message = '' ) { $this->log( '[INFO] ' . $message ); } /** * Log unique informational message. * * @param string $message The message to log. * * @return void */ public function log_unique_info( $message = '' ) { $this->log_unique( '[INFO] ' . $message ); } /** * Log a warning message. * * @param string $message The message to log. * * @return void */ public function warning( $message = '' ) { $this->log( '[WARNING] ' . $message ); } /** * Log unique warning message. * * @param string $message The message to log. * * @return void */ public function log_unique_warning( $message = '' ) { $this->log_unique( '[WARNING] ' . $message ); } /** * Log an error message. * * @param string $message The message to log. * * @return void */ public function error( $message = '' ) { $this->log( '[ERROR] ' . $message ); } /** * Log unique error message. * * @param string $message The message to log. * * @return void */ public function log_unique_error( $message = '' ) { $this->log_unique( '[ERROR] ' . $message ); } /** * Log a deprecated notice. * * @param string $func_name Function name. * @param string $version Versoin deprecated. * @param string $replacement Replacement function (optional). * * @return void */ public function log_deprecated_notice( $func_name, $version, $replacement = null ) { if ( ! is_null( $replacement ) ) { $notice = sprintf( '%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.', $func_name, $version, $replacement ); } else { $notice = sprintf( '%1$s is <strong>deprecated</strong> since version %2$s with no alternative available.', $func_name, $version ); } $this->log_unique( $notice ); } } classes/Services/Globals.php 0000644 00000004712 15174671772 0012105 0 ustar 00 <?php /** * Globals service. * * @author Code Atlantic * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker\Services; use PUM_Model_Popup as Popup; defined( 'ABSPATH' ) || exit; /** * Globals service. */ class Globals { /** * Allowed global properties. * * @var array */ private $allowed_properties = [ 'current_rule', 'current_popup', ]; /** * Current rule. * * @var \PopupMaker\Models\RuleEngine\Rule|null */ public $current_rule = null; /** * Current popup. * * @var Popup|null */ public $current_popup = null; /** * Constructor. */ public function __construct() { } /** * Get context items by key. * * @param string $key Context key. * @param mixed $default_value Default value. * * @return mixed */ public function get( $key, $default_value = null ) { return property_exists( $this, $key ) ? $this->$key : $default_value; } /** * Set context items by key. * * @param string $key Context key. * @param mixed $value Context value. * * @return void */ public function set( $key, $value ) { if ( property_exists( $this, $key ) ) { $this->$key = $value; } } /** * Reset context items by key. * * @param string $key Context key. * * @return void */ public function reset( $key ) { if ( property_exists( $this, $key ) ) { $this->$key = null; } } /** * Reset all context items. * * @return void */ public function reset_all() { foreach ( $this->allowed_properties as $key ) { $this->reset( $key ); } } /** * Push to stack. * * @param string $key Context key. * @param mixed $value Context value. * * @return void */ public function push_to_stack( $key, $value ) { if ( property_exists( $this, $key ) ) { $values = $this->get( $key, [] ); $values[] = $value; $this->set( $key, $values ); } } /** * Pop from stack. * * @param string $key Context key. * * @return mixed */ public function pop_from_stack( $key ) { if ( property_exists( $this, $key ) ) { $values = $this->get( $key, [] ); if ( empty( $values ) ) { return null; } $value = array_pop( $values ); $this->set( $key, $values ); return $value; } return null; } /** * Check if stack is empty. * * @param string $key Context key. * * @return bool */ public function is_empty( $key ) { $value = $this->get( $key ); return ! isset( $value ) || empty( $value ); } } classes/Services/License.php 0000644 00000101265 15174671772 0012105 0 ustar 00 <?php /** * License management service. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Services; use PopupMaker\Base\Service; defined( 'ABSPATH' ) || exit; /** * Pro license management. * * NOTE: For wordpress.org admins: This is only used if: * - The user explicitly entered a Pro license key. * * @package PopupMaker */ class License extends Service { /** * EDD API URL. * * @var string */ const API_URL = 'https://wppopupmaker.com/edd-sl-api/'; /** * Item ID. * * @var int */ const ID = 480187; /** * Option key. * * @var string */ const OPTION_KEY = 'popup_maker_license'; /** * Settings key. * * @var string */ const SETTINGS_KEY = 'popup_maker_pro_license_key'; /** * Loss delay transient. * * @var string */ const DELAY_TRANSIENT = 'popup_maker_license_loss_delay'; /** * Loss check transient. * * @var string */ const CHECK_TRANSIENT = 'popup_maker_license_loss_check'; /** * License data * * @var array{key:string|null,status:array{success:bool,license:'invalid'|'valid',item_id:int|false,item_name:string,license_limit:int,site_count:int,expires:string,activations_left:int,checksum:string,payment_id:int,customer_name:string,customer_email:string,price_id:string|int,error?:'no_activations_left'|'license_not_activable'|'missing'|'invalid'|'expired'|'revoked'|'item_name_mismatch'|'site_inactive'|'no_activations_left'|string|null,error_message?:string}|null,auto_activation?:array{enabled:bool,first_activated:string|null,last_seen:string|null,key_missing_since:string|null,key_hash:string|null}}|null */ private $license_data; /** * Initialize license management. * * @param \PopupMaker\Plugin\Core $container Plugin container. */ public function __construct( $container ) { parent::__construct( $container ); $this->register_hooks(); } /** * Register hooks. * * @return void */ public function register_hooks() { add_action( 'init', [ $this, 'autoregister' ] ); add_action( 'popup_maker_license_status_check', [ $this, 'refresh_license_status' ] ); add_action( 'admin_init', [ $this, 'schedule_crons' ] ); add_filter( 'pum_settings_editor_args', [ $this, 'filter_settings_editor_args' ] ); } /** * Autoregister license with simplified security approach. * * For auto-activated licenses: * - Never stores the actual key in database (uses placeholder) * - Simple detection and setup without complex monitoring * - Self-healing: automatically corrects DB state if needed * - Detects loss of auto-activation for debugging * * @return void */ public function autoregister() { $constant_key = defined( 'POPUP_MAKER_PRO_LICENSE' ) && '' !== POPUP_MAKER_PRO_LICENSE ? POPUP_MAKER_PRO_LICENSE : false; $license_data = $this->get_license_data(); // Handle new auto-activation setup. if ( $constant_key ) { // Clear any existing delay transients when key is detected. $this->clear_transients(); $this->ensure_auto_activation_setup( $constant_key ); } else { $is_auto_activated = isset( $license_data['auto_activation']['enabled'] ); $constant_lost = ! empty( $license_data['auto_activation']['constant_lost_at'] ); // If auto-activation is enabled and constant is not lost, handle loss. if ( $is_auto_activated && ! $constant_lost ) { $this->handle_auto_activation_loss_with_delay(); } } } /** * Clear transients. * * @return void */ private function clear_transients(): void { delete_transient( self::DELAY_TRANSIENT ); delete_transient( self::CHECK_TRANSIENT ); } /** * Handle loss of auto-activation constant with transient-based delay. * * Uses simple transient system to delay loss detection by 5 minutes, * preventing false positives during plugin updates and WordPress operations. * * @return void */ private function handle_auto_activation_loss_with_delay(): void { // If delay transient exists, we're still waiting - do nothing if ( get_transient( self::DELAY_TRANSIENT ) ) { return; } // If check transient doesn't exist, start the delay period (first detection) if ( ! get_transient( self::CHECK_TRANSIENT ) ) { set_transient( self::DELAY_TRANSIENT, true, 10 ); set_transient( self::CHECK_TRANSIENT, true, 0 ); // Non-expiring transient return; } // Delay expired and we still don't have the constant - mark as lost $this->handle_auto_activation_loss(); // Clean up the check transient delete_transient( self::CHECK_TRANSIENT ); } /** * Ensure auto-activation is properly set up with simplified approach. * * @param string $key The license key from constant. * * @return void */ private function ensure_auto_activation_setup( string $key ): void { $license_data = $this->get_license_data(); $db_key = isset( $license_data['key'] ) ? $license_data['key'] : ''; // Self-healing: ensure DB has placeholder, not real key if ( '***AUTO***' !== $db_key || empty( $license_data['auto_activation']['enabled'] ) ) { $license_data = [ 'key' => '***AUTO***', 'status' => $license_data['status'] ?? null, // Preserve existing status 'auto_activation' => [ 'enabled' => true, ], ]; $this->update_license_data( $license_data ); // Activate using the constant key if not already active if ( ! $this->is_license_active() ) { try { $this->maybe_activate_license( $key ); // phpcs:ignore Generic.CodeAnalysis.EmptyStatement.DetectedCatch } catch ( \Exception $e ) { // Do nothing on activation failure. } } } elseif ( ! empty( $license_data['auto_activation']['constant_lost_at'] ) ) { // Constant was restored - clear the loss timestamp and grace period unset( $license_data['auto_activation']['constant_lost_at'] ); $this->update_license_data( $license_data ); // Clear delay transients since constant is back $this->clear_transients(); // Log restoration for debugging \PopupMaker\logging()->info( 'Auto-activation constant POPUP_MAKER_PRO_LICENSE was restored at ' . gmdate( 'Y-m-d H:i:s' ) ); } } /** * Handle loss of auto-activation constant. * * Tracks when auto-activation is lost for debugging and monitoring. * Updates the license data with loss information and clears transients. * Also clears license status to reflect the loss in UI. * * @return void */ private function handle_auto_activation_loss(): void { $license_data = $this->get_license_data(); // Mark as lost and clear license status so UI reflects the change $license_data['auto_activation']['constant_lost_at'] = gmdate( 'Y-m-d H:i:s' ); // Mark as lost and clear license status so UI reflects the change $license_data['auto_activation']['enabled'] = false; // Clear the key and status so UI shows inactive. $license_data['key'] = ''; $license_data['status'] = null; // Clear cached status so UI shows inactive // Update the license data. $this->update_license_data( $license_data ); // Clear the check transient since we've now marked it as lost $this->clear_transients(); $current_time = gmdate( 'Y-m-d H:i:s' ); // Log for debugging \PopupMaker\logging()->warning( 'Auto-activation constant POPUP_MAKER_PRO_LICENSE was removed at ' . $current_time ); } /** * Schedule cron jobs. * * @return void */ public function schedule_crons() { if ( ! wp_next_scheduled( 'popup_maker_license_status_check' ) ) { wp_schedule_event( time(), 'weekly', 'popup_maker_license_status_check' ); } } /** * Get license data. * * @return array{key:string|null,status:array{success:bool,license:'invalid'|'valid',item_id:int|false,item_name:string,license_limit:int,site_count:int,expires:string,activations_left:int,checksum:string,payment_id:int,customer_name:string,customer_email:string,price_id:string|int,error?:'no_activations_left'|'license_not_activable'|'missing'|'invalid'|'expired'|'revoked'|'item_name_mismatch'|'site_inactive'|'no_activations_left'|string|null,error_message?:string}|null,auto_activation?:array{enabled:bool,constant_lost_at?:string|null}} */ public function get_license_data() { if ( ! isset( $this->license_data ) ) { $this->license_data = \get_option( self::OPTION_KEY, [ 'key' => '', 'status' => null, 'auto_activation' => null, ] ); } return $this->license_data; } /** * Update license data. * * @param array{key:string|null,status:array{success:bool,license:'invalid'|'valid',item_id:int|false,item_name:string,license_limit:int,site_count:int,expires:string,activations_left:int,checksum:string,payment_id:int,customer_name:string,customer_email:string,price_id:string|int,error?:'no_activations_left'|'license_not_activable'|'missing'|'invalid'|'expired'|'revoked'|'item_name_mismatch'|'site_inactive'|'no_activations_left'|string|null,error_message?:string}|null,auto_activation?:array{enabled:bool,constant_lost_at?:string|null}} $license_data License data. * * @return bool */ private function update_license_data( array $license_data ): bool { if ( \update_option( self::OPTION_KEY, $license_data ) ) { $this->license_data = $license_data; return true; } return false; } /** * Get license key for display purposes. * * For auto-activated licenses, this always returns the constant value * or placeholder - never exposes real keys from database. * * @uses \PopupMaker\Services\License::get_license_data() For source of truth. * * @return string */ public function get_license_key(): string { $license_data = $this->get_license_data(); // Handle auto-activated licenses securely if ( ! empty( $license_data['auto_activation']['enabled'] ) ) { // For auto-activated, always return constant or placeholder return defined( 'POPUP_MAKER_PRO_LICENSE' ) && ! empty( POPUP_MAKER_PRO_LICENSE ) ? POPUP_MAKER_PRO_LICENSE : $license_data['key']; // Will be '***AUTO***' placeholder } // Return regular stored key return ! empty( $license_data['key'] ) ? $license_data['key'] : ''; } /** * Get raw license key for internal API calls only. * * This method should NEVER be used for display purposes. * For auto-activated licenses, it always retrieves from the constant. * * @return string|null */ private function get_raw_license_key(): ?string { $license_data = $this->get_license_data(); // For auto-activated licenses, always use the constant if ( ! empty( $license_data['auto_activation']['enabled'] ) ) { return defined( 'POPUP_MAKER_PRO_LICENSE' ) && ! empty( POPUP_MAKER_PRO_LICENSE ) ? POPUP_MAKER_PRO_LICENSE : null; } // For regular licenses, use stored key return ! empty( $license_data['key'] ) ? $license_data['key'] : null; } /** * Get license status. * * @uses \PopupMaker\Services\License::get_license_data() For source of truth. * * @param bool $refresh Whether to refresh license status. * * @return array{success:bool,license:'invalid'|'valid',item_id:int|false,item_name:string,license_limit:int,site_count:int,expires:string,activations_left:int,checksum:string,payment_id:int,customer_name:string,customer_email:string,price_id:string|int,error?:'no_activations_left'|'license_not_activable'|'missing'|'invalid'|'expired'|'revoked'|'item_name_mismatch'|'site_inactive'|'no_activations_left'|string|null,error_message?:string}|null */ public function get_license_status_data( ?bool $refresh = false ) { if ( $refresh ) { $this->refresh_license_status(); } $license_data = $this->get_license_data(); $license_status = isset( $license_data['status'] ) ? wp_parse_args( $license_data['status'], [ 'success' => false, // bool. 'license' => 'invalid', // valid or invalid. 'item_id' => self::ID, // int or false. 'item_name' => '', // string. 'license_limit' => 1, // int. 0 = unlimited. 'site_count' => 0, 'expires' => '', // date or 'lifetime'. 'activations_left' => 0, // int or 'unlimited'. 'checksum' => '', // string. 'payment_id' => 0, // int. 'customer_name' => '', // string. 'customer_email' => '', // string. 'price_id' => 0, // string or int. ] ) : null; return $license_status; } /** * Get license status. * * @return 'empty'|'inactive'|'expired'|'error'|'valid' */ public function get_license_status(): string { $license_key = $this->get_license_key(); $status_data = $this->get_license_status_data(); if ( empty( $license_key ) || empty( $status_data ) ) { return 'empty'; } $status = 'inactive'; // activate_license 'invalid' on anything other than valid, so if there was an error capture it if ( false === $status_data['success'] ) { $error = isset( $status_data['error'] ) ? $status_data['error'] : $status; switch ( $error ) { case 'expired': $status = 'expired'; break; case 'revoked': case 'missing': case 'invalid': case 'site_inactive': case 'item_name_mismatch': case 'no_activations_left': case 'license_not_activable': default: $status = 'error'; break; } } elseif ( 'valid' === $status_data['license'] ) { $status = 'valid'; } else { $status = 'deactivated'; } return $status; } /** * Get license level. * * Only used in pro version. * * @return int Integer representing license level. */ public function get_license_level(): int { $license_status = $this->get_license_status_data(); if ( empty( $license_status ) ) { return -1; } $price_id = isset( $license_status['price_id'] ) ? $license_status['price_id'] : null; switch ( $price_id ) { default: return -1; case false: case 0: return 0; case 1: case 2: case 3: case 4: return absint( $price_id ); } } /** * Get license tier (pro or pro_plus). * * @return string 'pro' or 'pro_plus' based on license data. */ public function get_license_tier(): string { $license_status = $this->get_license_status_data(); if ( empty( $license_status ) ) { return 'pro'; } // Check if license_tier is explicitly set in the license data. if ( ! empty( $license_status['license_tier'] ) ) { return in_array( $license_status['license_tier'], [ 'pro', 'pro_plus' ], true ) ? $license_status['license_tier'] : 'pro'; } // Fallback to 'pro' if not specified. return 'pro'; } /** * Update license key. * * Side Effects: * - Update License Data * - Reset License Status * - Fire action: popup_maker_license_key_changed * * @param string $key License key. * * @return bool */ private function update_license_key( string $key ): bool { $license_data = $this->get_license_data(); $new_key = trim( $key ); $old_key = isset( $license_data['key'] ) ? $license_data['key'] : ''; if ( $old_key === $new_key ) { return false; } $updated = $this->update_license_data( [ 'key' => $new_key, 'status' => null, ] ); if ( $updated ) { \PUM_Utils_Options::update( self::SETTINGS_KEY, $new_key ); /** * Fires when license key is changed. * * @param string $key License key. * @param string $old_key Old license key. */ \do_action( 'popup_maker_license_key_changed', $new_key, $old_key ); } return $updated; } /** * Update license status. * * @param array<string,mixed> $license_status License status data. * * @return bool */ private function update_license_status( array $license_status ): bool { $license_data = $this->get_license_data(); $previous_status = isset( $license_data['status'] ) ? $license_data['status'] : []; if ( ! empty( $license_status['error'] ) ) { $license_status['error_message'] = $this->get_license_error_message( $license_status ); } else { unset( $license_status['error_message'] ); unset( $license_status['error'] ); } $license_data['status'] = $license_status; if ( $this->update_license_data( $license_data ) ) { /** * Fires when license status is updated. * * @param array $license_status License status data. * @param array $previous_status Previous license status data. */ \do_action( 'popup_maker_license_status_updated', $license_status, $previous_status ); return true; } return false; } /** * Get license expiration from license status data. * * @param bool $as_datetime Whether to return as DateTime object. * * @return string|null|\DateTime */ public function get_license_expiration( ?bool $as_datetime = false ) { $status_data = $this->get_license_status_data(); if ( empty( $status_data ) ) { return null; } $expiration = isset( $status_data['expires'] ) ? $status_data['expires'] : null; return $as_datetime ? \DateTime::createFromFormat( 'Y-m-d H:i:s', $expiration ) : $expiration; } /** * Fetch license status from remote server. * This is a blocking request. * * @return bool */ public function refresh_license_status(): bool { $key = $this->get_raw_license_key(); if ( empty( $key ) ) { return false; } try { $status = $this->check_license_status(); } catch ( \Exception $e ) { $status = null; } return $this->update_license_status( $status ); } /** * Call the API. * * @param string $action The action to call. * @param array|null $params The parameters to pass to the API. * * @return array|null * * @throws \Exception If there is an error. */ private function api_call( string $action, ?array $params = null ) { $key = $this->get_raw_license_key(); if ( empty( $key ) ) { return null; } $api_params = [ 'edd_action' => $action, 'license' => $key, 'item_id' => self::ID, 'item_name' => rawurlencode( 'Popup Maker Pro' ), 'url' => home_url(), 'environment' => function_exists( 'wp_get_environment_type' ) ? wp_get_environment_type() : 'production', ]; // Call the custom API. $response = wp_remote_post( self::API_URL, array_merge( $params ?? [], [ 'timeout' => 15, 'sslverify' => ! in_array( wp_get_environment_type(), [ 'local', 'development' ], true ), 'body' => $api_params, ] ) ); // Make sure the response came back okay. if ( is_wp_error( $response ) || 200 !== wp_remote_retrieve_response_code( $response ) ) { if ( is_wp_error( $response ) ) { $message = $response->get_error_message(); } else { $message = __( 'An error occurred, please try again.', 'popup-maker' ); } throw new \Exception( esc_html( $message ) ); } $license_status = json_decode( wp_remote_retrieve_body( $response ), true ); if ( empty( $license_status ) ) { return null; } // No structure validation Fix: Validate expected fields exist and types match return $license_status; } /** * Get license status from remote server. * * Side Effects: * - API Call: Check License Status * * @return array{success:bool,license:'invalid'|'valid',item_id:int|false,item_name:string,license_limit:int,site_count:int,expires:string,activations_left:int,checksum:string,payment_id:int,customer_name:string,customer_email:string,price_id:string|int,error?:'no_activations_left'|'license_not_activable'|'missing'|'invalid'|'expired'|'revoked'|'item_name_mismatch'|'site_inactive'|'no_activations_left'|string|null,error_message?:string}|null * * @throws \Exception If there is an error. */ private function check_license_status() { return $this->api_call( 'check_license' ); } /** * Activate license. * * Side Effects: * - API Call: Check License Status * - Update Pro Activation Date * - Update License Status * * @return bool * * @throws \Exception If there is an error. */ public function activate_license(): bool { $license_status = $this->api_call( 'activate_license' ); // Bail early if the license status is empty. if ( empty( $license_status ) ) { return false; } $this->update_license_status( $license_status ); if ( $this->is_license_active() ) { if ( ! \get_option( 'popup_maker_pro_activation_date', false ) ) { \update_option( 'popup_maker_pro_activation_date', time() ); } } /** * Fires when license is activated. * * @param array $license_status License status data. */ \do_action( 'popup_maker_license_activated', $license_status ); return $this->is_license_active(); } /** * Deactivate license. * * Side Effects: * - API Call: Deactivate License * - Update License Status * * @return bool * * @throws \Exception If there is an error. */ public function deactivate_license(): bool { $license_status = $this->api_call( 'deactivate_license' ); $this->update_license_status( $license_status ); if ( empty( $license_status ) ) { return false; } $succeeded = 'deactivated' === $license_status['license']; /** * Fires when license is activated. * * @param array $license_status License status data. * @param bool $succeeded Whether the license was deactivated successfully. */ \do_action( 'popup_maker_license_deactivated', $license_status, $succeeded ); return $succeeded; } /** * Convert license error to human readable message. * * @param array{success:bool,license:'invalid'|'valid',item_id:int|false,item_name:string,license_limit:int,site_count:int,expires:string,activations_left:int,checksum:string,payment_id:int,customer_name:string,customer_email:string,price_id:string|int,error?:'no_activations_left'|'license_not_activable'|'missing'|'invalid'|'expired'|'revoked'|'item_name_mismatch'|'site_inactive'|'no_activations_left'|string|null,error_message?:string}|null $license_status License status data. * * @return string */ public function get_license_error_message( ?array $license_status = null ): string { if ( empty( $license_status ) ) { $license_status = $this->get_license_status_data(); } if ( empty( $license_status['error'] ) ) { return ''; } switch ( $license_status['error'] ) { case 'expired': $message = sprintf( /* translators: the license key expiration date */ __( 'Your license key expired on %s.', 'popup-maker' ), date_i18n( \get_option( 'date_format' ), strtotime( $license_status['expires'], time() ) ) ); break; case 'disabled': case 'revoked': $message = __( 'Your license key has been disabled.', 'popup-maker' ); break; case 'missing': $message = __( 'Invalid license.', 'popup-maker' ); break; case 'invalid': case 'site_inactive': $message = __( 'Your license is not active for this URL.', 'popup-maker' ); break; case 'item_name_mismatch': $message = sprintf( /* translators: the plugin name */ __( 'This appears to be an invalid license key for %s.', 'popup-maker' ), __( 'Popup Maker', 'popup-maker' ) ); break; case 'no_activations_left': $message = __( 'Your license key has reached its activation limit.', 'popup-maker' ); break; default: $message = __( 'An error occurred, please try again.', 'popup-maker' ); break; } return $message; } /** * Remove license. * * Caution: Destructive, this will remove the license key and status. * * @return bool */ public function remove_license(): bool { try { // Might be an invalid but used key, so we want to deactivate it. without checking if active. $this->deactivate_license(); if ( \delete_option( self::OPTION_KEY ) ) { // Delete the old license key option & status as well. \PUM_Utils_Options::delete( self::SETTINGS_KEY ); delete_option( 'popup_maker_pro_license_active' ); /** * Fires when license is removed. */ \do_action( 'popup_maker_license_removed' ); return true; } } catch ( \Exception $e ) { // phpcs:ignore Generic.CodeAnalysis.EmptyStatement.DetectedCatch // Do nothing. } return false; } /** * Safely update license key. * * Side effect: * - This will remove the license if the key is empty. * - This will update the license key if its different from the current key. * - Auto-activated licenses cannot be modified via this method. * * @param string $key License key. * * @return bool */ public function maybe_update_license_key( string $key ): bool { // Prevent modification of auto-activated licenses $license_data = $this->get_license_data(); if ( ! empty( $license_data['auto_activation']['enabled'] ) ) { return false; } if ( empty( $key ) ) { $this->remove_license(); return true; } else { // If the key is starred, get the original key. if ( strpos( $key, '*' ) !== false ) { $key = $this->get_license_key(); } return $this->update_license_key( $key ); } } /** * Safely attempt to activate the license. * * Proper external handlers with error control. * * @param string $key License key. * * @return bool */ public function maybe_activate_license( ?string $key = null ): bool { try { // Update the license key separately to avoid race condition. if ( $key ) { $this->maybe_update_license_key( $key ); } // Activate the license. return $this->activate_license(); } catch ( \Exception $e ) { return false; } } /** * Check if license is active. * * @return bool */ public function is_license_active() { return 'valid' === $this->get_license_status(); } /** * Check if license is auto-activated via POPUP_MAKER_PRO_LICENSE constant. * * Uses database flag for reliable detection even when constant is removed. * * @return bool */ public function is_auto_activated(): bool { $license_data = $this->get_license_data(); return ! empty( $license_data['auto_activation']['enabled'] ); } /** * Get auto-activation info for debugging. * * @return array{enabled:bool,constant_present:bool,db_key:string,constant_lost_at:string|null,status:string}|null */ public function get_auto_activation_info(): ?array { $license_data = $this->get_license_data(); if ( ! isset( $license_data['auto_activation']['enabled'] ) ) { return null; } $constant_key = defined( 'POPUP_MAKER_PRO_LICENSE' ) && ! empty( POPUP_MAKER_PRO_LICENSE ) ? POPUP_MAKER_PRO_LICENSE : null; $constant_present = null !== $constant_key; $constant_lost_at = $license_data['auto_activation']['constant_lost_at'] ?? null; // Determine status $status = 'unknown'; if ( $constant_present ) { $status = $constant_lost_at ? 'restored' : 'active'; } elseif ( $constant_lost_at ) { $status = 'lost'; } else { $status = 'missing'; } return [ 'enabled' => true, 'constant_present' => $constant_present, 'db_key' => $license_data['key'] ?? '', 'constant_lost_at' => $constant_lost_at, 'status' => $status, ]; } /** * Generate connection information for Pro upgrade. * * This method creates the necessary connection data for upgrading to Pro * when Pro is not already installed. * * @return array{url:string,back_url:string}|null Returns connection info or null if conditions not met. */ public function generate_connect_info(): ?array { // Only generate connect info if license is active and Pro is not installed. if ( ! $this->is_license_active() || $this->container->is_pro_installed() ) { return null; } $license_key = $this->get_license_key(); if ( empty( $license_key ) ) { return null; } // Use the Connect service to generate connection info. $connect_service = $this->container->get( 'connect' ); return $connect_service->get_connect_info( $license_key ); } /** * Validate license for Pro upgrade workflow. * * Determines if the current license state allows for Pro upgrade. * * @return array{valid:bool,can_upgrade:bool,reason:string} */ public function validate_for_upgrade(): array { $license_key = $this->get_license_key(); $license_status = $this->get_license_status(); $is_pro_installed = $this->container->is_pro_installed(); // No license key provided. if ( empty( $license_key ) ) { return [ 'valid' => false, 'can_upgrade' => false, 'reason' => 'no_license_key', ]; } // License is not active. if ( 'valid' !== $license_status ) { return [ 'valid' => false, 'can_upgrade' => false, 'reason' => "license_{$license_status}", ]; } // Pro is already installed. if ( $is_pro_installed ) { return [ 'valid' => true, 'can_upgrade' => false, 'reason' => 'pro_already_installed', ]; } // License is valid and Pro is not installed - can upgrade. return [ 'valid' => true, 'can_upgrade' => true, 'reason' => 'ready_for_upgrade', ]; } /** * Filter settings editor args. * * Add the license key value to the settings editor args, since its not actually stored in options array. * * @param mixed $args Settings editor args. * @return mixed Settings editor args. */ public function filter_settings_editor_args( $args ) { $value = isset( $args['current_values'][ self::SETTINGS_KEY ] ) ? $args['current_values'][ self::SETTINGS_KEY ] : ''; try { $license_service = \PopupMaker\plugin( 'license' ); $license_status = $license_service->get_license_status_data(); // Get the comprehensive license status from service $actual_status = $license_service->get_license_status(); // Get the actual license key (either from form input or service) // $license_key = ! empty( $value ) ? trim( $value ) : $license_service->get_license_key(); $license_key = $license_service->get_license_key(); $license_key = self::star_key( $license_key ); // Use the mapping function to get proper status and classes $status_mapping = $this->map_license_status( $actual_status ); // Get the license tier (pro or pro_plus). $license_tier = $license_service->get_license_tier(); // Get Pro installation status for template conditionals. $is_pro_installed = $this->container->is_pro_installed(); $is_pro_active = $this->container->is_pro_active(); $pro_version = $this->container->get_pro_version(); // Check for auto-activation status messages $messages = ! empty( $license_status['error_message'] ) ? [ $license_status['error_message'] ] : []; // Add auto-activation disconnect message if applicable $auto_info = $license_service->get_auto_activation_info(); if ( ! empty( $auto_info['constant_lost_at'] ) ) { $lost_date = $auto_info['constant_lost_at']; $messages[] = sprintf( /* translators: the date and time of the auto-activation disconnect */ __( 'Auto-activation was disconnected on %s. The POPUP_MAKER_PRO_LICENSE constant was removed from your configuration.', 'popup-maker' ), date_i18n( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), strtotime( $lost_date ) ) ); } // Pass anything we want to the template here. $args['current_values'][ self::SETTINGS_KEY ] = [ 'key' => $license_key, 'status' => $status_mapping['status'], 'messages' => $messages, 'expires' => $license_service->get_license_expiration(), 'classes' => $status_mapping['classes'], 'license_tier' => $license_tier, 'is_pro_installed' => $is_pro_installed, 'is_pro_active' => $is_pro_active, 'pro_version' => $pro_version, ]; } catch ( \Exception $e ) { $args['current_values'][ self::SETTINGS_KEY ] = [ 'key' => $this->star_key( trim( $value ) ), 'status' => 'invalid', /* translators: %s is the error message */ 'messages' => [ sprintf( __( 'Error loading license status: %s', 'popup-maker' ), $e->getMessage() ) ], 'expires' => '', 'classes' => 'pum-license-invalid', 'license_tier' => 'pro', // Default to pro on error. 'is_pro_installed' => $this->container->is_pro_installed(), 'is_pro_active' => $this->container->is_pro_active(), 'pro_version' => $this->container->get_pro_version(), ]; } return $args; } /** * Map license status to template data. * * @param string $status License status from service. * @return array Template data for license status. */ public function map_license_status( string $status ): array { switch ( $status ) { case 'valid': return [ 'status' => 'valid', 'classes' => 'pum-license-valid', ]; case 'deactivated': return [ 'status' => 'deactivated', 'classes' => 'pum-license-deactivated', ]; case 'expired': return [ 'status' => 'expired', 'classes' => 'pum-license-expired', ]; case 'empty': return [ 'status' => 'empty', 'classes' => 'pum-license-empty', ]; case 'error': default: return [ 'status' => 'invalid', 'classes' => 'pum-license-invalid', ]; } } /** * Star the key. * * @param string $key The key to star. * * @return string The starred key. */ public static function star_key( string $key ): string { if ( empty( $key ) ) { return ''; } return substr( $key, 0, 3 ) . str_repeat( '*', max( 0, strlen( $key ) - 6 ) ) . substr( $key, -3 ); } } classes/Services/Options.php 0000644 00000013043 15174671772 0012152 0 ustar 00 <?php /** * Plugin options manager.. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Services; use PopupMaker\Base\Service; defined( 'ABSPATH' ) || exit; /** * Class Options */ class Options extends Service { /** * Unique Prefix per plugin. * * @var string */ public $prefix; /** * Action namespace. * * @var string */ public $namespace; /** * Initialize Options on run. * * @param \PopupMaker\Plugin\Core $container Container. */ public function __construct( $container ) { parent::__construct( $container ); $prefix = (string) $this->container->get( 'option_prefix' ); // Set the prefix on init. $this->prefix = ! empty( $prefix ) ? trim( $prefix, '_' ) . '_' : ''; $this->namespace = ! empty( $prefix ) ? trim( $prefix, '_/' ) . '/' : ''; } /** * Get Settings * * Retrieves all plugin settings * * @return array<string,mixed> settings */ public function get_all() { $settings = \get_option( $this->prefix . 'settings' ); // TODO the below should really be done at install or during upgrade. // if ( ! is_array( $settings ) ) { // $settings = \PopupMaker\get_default_settings(); // \update_option( $this->prefix . 'settings', $settings ); // } /** * Filter the settings. * * @param array $settings Settings. * * @return array */ return apply_filters( $this->namespace . 'get_options', $settings ); } /** * Get an option * * Looks to see if the specified setting exists, returns default if not * * @param string $key Option key. * @param bool $default_value Default value. * * @return mixed|void */ public function get( $key = '', $default_value = false ) { $data = $this->get_all(); // Fetch key from array, converting to camelcase (how data is stored). Supports dot.notation. $value = \PopupMaker\fetch_key_from_array( $key, $data, 'camelCase' ); // If no value, return default. if ( null === $value ) { $value = $default_value; } /** * Filter the option. * * @param mixed $value Option value. * @param string $key Option key. * @param mixed $default_value Default value. * * @return mixed */ return apply_filters( $this->namespace . 'get_option', $value, $key, $default_value ); } /** * Update an option * * Updates an setting value in both the db and the global variable. * Warning: Passing in an empty, false or null string value will remove * the key from the _options array. * * @since 1.0.0 * * @param string $key The Key to update. * @param string|bool|int $value The value to set the key to. * * @return boolean True if updated, false if not. */ public function update( $key = '', $value = false ) { // If no key, exit. if ( empty( $key ) ) { return false; } if ( empty( $value ) ) { $remove_option = $this->delete( $key ); return $remove_option; } // First let's grab the current settings. $options = $this->get_all(); /** * Filter the new option value. * * @param mixed $value Option value. * @param string $key Option key. * * @return mixed */ $value = apply_filters( $this->namespace . 'update_option', $value, $key ); // Next let's try to update the value. $options[ $key ] = $value; $did_update = \update_option( $this->prefix . 'settings', $options ); return $did_update; } /** * Update many values at once. * * @param array<string,mixed> $new_options Array of new replacement options. * * @return bool */ public function update_many( $new_options = [] ) { $options = $this->get_all(); // Lets merge options that may exist previously that are not existing now. foreach ( $new_options as $key => $value ) { // If no key, exit. if ( empty( $key ) ) { continue; } if ( empty( $value ) && isset( $options[ $key ] ) ) { unset( $options[ $key ] ); } /** * Filter the new option value. * * @param mixed $value Option value. * @param string $key Option key. * * @return mixed */ $value = apply_filters( $this->namespace . 'update_option', $value, $key ); // Next let's try to update the value. $options[ $key ] = $value; } $did_update = \update_option( $this->prefix . 'settings', $options ); return $did_update; } /** * Remove an option * * @param string|string[] $keys Can be a single string or array of option keys. * * @return boolean True if updated, false if not. */ public function delete( $keys ) { // If no key, exit. if ( empty( $keys ) ) { return false; } elseif ( is_string( $keys ) ) { $keys = [ $keys ]; } // First let's grab the current settings. $options = $this->get_all(); // Remove each key/value pair. foreach ( $keys as $key ) { if ( isset( $options[ $key ] ) ) { unset( $options[ $key ] ); } } $did_update = \update_option( $this->prefix . 'settings', $options ); return $did_update; } /** * Remaps option keys. * * @param array<string,string> $remap_array an array of $old_key => $new_key values. * * @return bool */ public function remap_keys( $remap_array = [] ) { $options = $this->get_all(); /** * Remap array keys by first getting current value, * moving it to new key, finally deleting old key. */ foreach ( $remap_array as $key => $new_key ) { $value = $this->get( $key, false ); if ( ! empty( $value ) ) { $options[ $new_key ] = $value; } unset( $options[ $key ] ); } $did_update = \update_option( $this->prefix . 'settings', $options ); return $did_update; } } classes/Services/Collector/CallToActionTypes.php 0000644 00000005302 15174671772 0016005 0 ustar 00 <?php /** * Call To Action type collector. * * @author Code Atlantic * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker\Services\Collector; use PopupMaker\Base\Service; use PopupMaker\Base\CallToAction; defined( 'ABSPATH' ) || exit; /** * Class CallToActionTypes * * This class maintains a global set of all registered call to action types. * * @since 1.21.0 */ class CallToActionTypes extends Service { /** * Holds array of registered $ctas. * * @var CallToAction[] */ private $data = []; /** * Registers call to actions. * * @return void */ public function register_all() { $ctas = [ 'link' => new \PopupMaker\CallToAction\Link(), ]; /** * Allow registering additional call to actions quickly. * * @param CallToAction[] $ctas Call to actions. * * @return CallToAction[] */ $ctas = apply_filters( 'popup_maker/registered_call_to_actions', $ctas ); foreach ( $ctas as $call_to_action ) { $this->add( $call_to_action ); } /** * Allow manipulating registered call to actions. * * @param CallToActions $call_to_actions Call to actions. * * @return void */ do_action( 'popup_maker/register_call_to_actions', $this ); } /** * Add a call to action object to the collection. * * @param CallToAction $call_to_action Instance of a call to action. */ public function add( $call_to_action ) { $this->data[ $call_to_action->key ] = $call_to_action; } /** * Get array of all registered call to actions. * * @return CallToAction[] */ public function get_all() { if ( ! did_action( 'popup_maker/register_call_to_actions' ) ) { $this->register_all(); } return $this->data; } /** * Get call to action by key. * * @param string $key Key of the call to action to retrieve. * * @return bool|CallToAction */ public function get( $key ) { $call_to_actions = $this->get_all(); return $call_to_actions[ $key ] ?? false; } /** * Exports all call to actions to an array for use with generators such as JS or PHP. * * @return array<string,array<string,mixed>> */ public function get_as_array() { $call_to_actions = []; foreach ( $this->get_all() as $key => $value ) { $call_to_actions[ $key ] = $value->as_array(); } return apply_filters( 'popup_maker/cta_types_as_array', $call_to_actions ); } /** * Generate an array containing a select list of key=>label. * * @return array<string,string> */ public function get_select_list() { $call_to_actions = []; foreach ( $this->get_all() as $key => $value ) { $call_to_actions[ $key ] = $value->label(); } return apply_filters( 'popup_maker/cta_types_select_list', $call_to_actions ); } } classes/Services/Connect.php 0000644 00000045035 15174671772 0012116 0 ustar 00 <?php /** * Connect service. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Services; use PopupMaker\Base\Service; use function PopupMaker\plugin; defined( 'ABSPATH' ) || exit; /** * Connection management. * * NOTE: For wordpress.org admins: This is not called in the free, hosted version. This is only used if: * - The user explicitly entered a license key. * - This then opens a window to our site allowing the user to authorize one-time oauth-style connection & installation of pro. * * @package PopupMaker */ class Connect extends Service { const API_URL = 'https://upgrade.wppopupmaker.com/'; const TOKEN_OPTION_NAME = 'popup_maker_connect_token'; const NONCE_OPTION_NAME = 'popup_maker_connect_nonce'; const ERROR_REFERRER = 1; const ERROR_AUTHENTICATION = 2; const ERROR_USER_AGENT = 3; const ERROR_SIGNATURE = 4; const ERROR_NONCE = 5; const ERROR_WEBHOOK_ARGS = 6; /** * Check if debug mode is enabled. * * @return bool */ public function debug_mode_enabled() { return defined( '\WP_DEBUG' ) && \WP_DEBUG; } /** * Generate a new authorizatin token. * * @return string */ public function generate_token() { $token = hash( 'sha512', (string) wp_rand() ); \set_site_transient( self::TOKEN_OPTION_NAME, $token, HOUR_IN_SECONDS ); return $token; } /** * Get the current token. * * @return string|false */ public function get_access_token() { return \get_site_transient( self::TOKEN_OPTION_NAME ); } /** * Get the current nonce. * * @param string $token Token. * * @return string|false */ public function get_nonce_name( $token ) { return self::NONCE_OPTION_NAME . '_' . $token; } /** * Log a message to the debug log if enabled. * * Here to prevent constant conditional checks for the debug mode. * * @param string $message Message. * @param string $type Type. * * @return void */ public function debug_log( $message, $type = 'INFO' ) { if ( $this->debug_mode_enabled() ) { plugin( 'logging' )->log( "Plugin\Connect.$type: $message" ); } } /** * Get header Authorization * * @return null|string */ public function get_request_authorization_header() { $headers = null; if ( isset( $_SERVER['Authorization'] ) ) { $headers = trim( sanitize_text_field( wp_unslash( $_SERVER['Authorization'] ) ) ); } elseif ( isset( $_SERVER['HTTP_AUTHORIZATION'] ) ) { // Nginx or fast CGI. $headers = trim( sanitize_text_field( wp_unslash( $_SERVER['HTTP_AUTHORIZATION'] ) ) ); } elseif ( function_exists( 'apache_request_headers' ) ) { $request_headers = apache_request_headers(); // Server-side fix for bug in old Android versions (a nice side-effect of this fix means we don't care about capitalization for Authorization). $request_headers = array_combine( array_map( 'ucwords', array_keys( $request_headers ) ), array_values( $request_headers ) ); if ( isset( $request_headers['Authorization'] ) ) { $headers = trim( $request_headers['Authorization'] ); } } // Fallback: Some servers strip Authorization headers, check for custom headers if ( ! $headers ) { $fallback_headers = [ 'HTTP_X_AUTH_TOKEN' => 'X-Auth-Token', 'HTTP_X_AUTH_TOKEN_UC' => 'X-AUTH-TOKEN (uppercase)', // This won't match, but keeping for clarity 'HTTP_HTTP_X_AUTH_TOKEN' => 'HTTP_X_AUTH_TOKEN (server format)', ]; foreach ( $fallback_headers as $server_key => $header_name ) { if ( isset( $_SERVER[ $server_key ] ) ) { $token = sanitize_text_field( wp_unslash( $_SERVER[ $server_key ] ) ); $headers = 'Bearer ' . $token; // Using fallback header. break; } } } return $headers; } /** * Get access token from header. * * @return string|null */ public function get_request_token() { $headers = $this->get_request_authorization_header(); // HEADER: Get the access token from the header. if ( ! empty( $headers ) ) { if ( preg_match( '/Bearer\s(\S+)/', $headers, $matches ) ) { return trim( $matches[1], ', ' ); } } return null; } /** * Get nonce from header. * * @return string|null */ public function get_request_nonce() { $headers = $this->get_request_authorization_header(); // HEADER: Get the nonce from the header. if ( ! empty( $headers ) ) { if ( preg_match( '/Nonce\s(\S+)/', $headers, $matches ) ) { return trim( $matches[1], ', ' ); } } return null; } /** * Get the OAuth connect URL. * * @param string $license_key License key. * * @return array{url:string,back_url:string} */ public function get_connect_info( $license_key ) { $token = $this->generate_token(); $nonce = wp_create_nonce( $this->get_nonce_name( $token ) ); $webhook = rest_url( 'popup-maker/v2/connect/install' ); $redirect = add_query_arg( [ 'post_type' => 'popup', 'page' => 'pum-settings', // TODO This should be set to the Pro upgrade page? 'view' => 'upgrade', 'tab' => 'general', ], admin_url( 'edit.php' ) ); $url = add_query_arg( [ 'key' => $license_key, 'token' => $token, 'nonce' => $nonce, 'webhook' => $webhook, 'version' => plugin( 'version' ), 'siteurl' => admin_url(), 'homeurl' => home_url(), // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode 'redirect' => rawurlencode( base64_encode( $redirect ) ), ], self::API_URL ); $this->debug_log( 'Generated new connection.' ); $this->debug_log( 'Token: ' . $token ); $this->debug_log( 'Nonce: ' . $nonce ); $this->debug_log( 'Redirect URL: ' . $redirect ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode $this->debug_log( 'Base64 Redirect: ' . base64_encode( $redirect ) ); $this->debug_log( 'Final URL: ' . $url ); return [ 'url' => $url, 'back_url' => add_query_arg( [ 'action' => 'popup_maker_connect', 'token' => $token, ], $webhook ), ]; } /** * Kill the connection with no permission. * * @param int $error_no Error number. * @param string|false $message Error message. * * @return void */ public function kill_connection( $error_no = self::ERROR_REFERRER, $message = false ) { $this->debug_log( "Killing connection with error ($error_no) message: " . $message, 'ERROR' ); wp_die( esc_html( $this->debug_mode_enabled() && $message ? $message : __( 'Sorry, You Are Not Allowed to Access This Page.', 'popup-maker' ) ), esc_attr( (string) $error_no ), [ 'response' => 403 ] ); } /** * Verify the user agent. * * @return void */ public function verify_user_agent() { // Check user agent matches Popup Maker Upgrader. $user_agent = isset( $_SERVER['HTTP_USER_AGENT'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) ) : ''; if ( strpos( $user_agent, 'PopupMakerUpgrader' ) !== 0 ) { $this->kill_connection( self::ERROR_USER_AGENT, 'User agent invalid: ' . $user_agent ); } } /** * Verify the referrer. * * @return void */ public function verify_referrer() { $referer = isset( $_SERVER['HTTP_X_SENDING_DOMAIN'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_SENDING_DOMAIN'] ) ) : ''; if ( ! $referer ) { $this->kill_connection( self::ERROR_REFERRER, 'Missing referrer' ); } $referer_host = wp_parse_url( $referer, PHP_URL_HOST ); if ( ! $referer_host ) { $this->kill_connection( self::ERROR_REFERRER, 'Invalid referrer' ); } $allowed_hosts = [ 'wppopupmaker.com', 'upgrade.wppopupmaker.com', ]; if ( ! in_array( $referer_host, $allowed_hosts, true ) ) { $this->kill_connection( self::ERROR_REFERRER, 'Referrer doesn\'t match' ); } } /** * Verify the nonce. * * @deprecated 2.0.0 Don't use, it doesn't work as its a separate server making request. * * @return void */ public function verify_nonce() { $token = $this->get_access_token(); $nonce = $this->get_request_nonce(); if ( ! $nonce ) { $this->kill_connection( self::ERROR_NONCE, 'Missing nonce' ); } if ( false === wp_verify_nonce( $nonce, $this->get_nonce_name( $token ) ) ) { $this->debug_log( 'Nonce mismatch: ' . $nonce, 'DEBUG' ); $this->debug_log( 'Nonce Name: ' . $this->get_nonce_name( $token ) ); $this->kill_connection( self::ERROR_NONCE, 'Invalid nonce' ); } } /** * Verify the authentication token. * * @return void */ public function verify_authentication() { // Get token from header Bearer. $token = $this->get_access_token(); $auth_token = $this->get_request_token(); if ( ! $token || ! $auth_token ) { $this->kill_connection( self::ERROR_AUTHENTICATION, 'Missing authentication' ); } // Verify hashes match. if ( ! hash_equals( $token, $auth_token ) ) { $this->kill_connection( self::ERROR_AUTHENTICATION, 'Invalid authentication' ); } } /** * Generate signature hash. * * This must match the hash generated on the server. * * @see \PopupMakerUpgrader\App::generate_hash() * * @param array<string,mixed>|string $data Data to hash. * @param string $token Token to hash with. * @return string */ public function generate_hash( $data, $token ) { // Convert boolean values to their string representation. array_walk_recursive($data, function ( &$value ) { if ( is_bool( $value ) ) { $value = $value ? '1' : '0'; } }); if ( ! is_string( $data ) ) { // Sort the array before encoding it as JSON. ksort( $data ); // Ignored due to wp_json_encode stripping slashes and breaking hashes. // phpcs:ignore WordPress.WP.AlternativeFunctions.json_encode_json_encode $data = json_encode( $data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE ); } // Generate the hash binary. $hash = hash_hmac( 'sha256', $data, $token, true ); // Generate HMAC-SHA256 signature. // Encode the hash in base64 to make it URL safe. // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode return base64_encode( $hash ); } /** * Verify the signature of the requester. * * @return void */ public function verify_signature() { if ( ! isset( $_SERVER['HTTP_X_POPUPMAKER_SIGNATURE'] ) ) { $this->kill_connection( self::ERROR_SIGNATURE, 'Missing signature' ); } // Verify the webhook signature. $signature = sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_POPUPMAKER_SIGNATURE'] ) ); // Get the request data for signature calculation. $request_data = json_decode( file_get_contents( 'php://input' ), true ); // Fallback to $_POST if JSON body is empty (backwards compatibility). if ( empty( $request_data ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing $request_data = $_POST; } // Calculate the expected signature. $expected_signature = $this->generate_hash( $request_data, $this->get_access_token() ); // Compare the expected signature to the received signature. if ( ! hash_equals( $expected_signature, $signature ) ) { $this->kill_connection( self::ERROR_SIGNATURE, 'Invalid signature' ); } } /** * Validate the connection. * * @return void */ public function validate_connection() { // Validate connection security layers. $this->verify_user_agent(); $this->verify_referrer(); $this->verify_authentication(); $this->verify_signature(); } /** * Verify the connection. * * @return void */ public function process_verify_connection() { $this->validate_connection(); wp_send_json_success(); } /** * Get the webhook args. * * @return array{file:string,type:string,slug:string,force:boolean} */ public function get_webhook_args() { // First try to get data from JSON body (modern REST API approach) $json_data = json_decode( file_get_contents( 'php://input' ), true ); if ( is_array( $json_data ) && ! empty( $json_data ) ) { $this->debug_log( 'Using JSON body data for webhook args', 'DEBUG' ); $this->debug_log( 'JSON data: ' . wp_json_encode( $json_data, JSON_PRETTY_PRINT ), 'DEBUG' ); $args = [ 'file' => ! empty( $json_data['file'] ) ? esc_url_raw( $json_data['file'] ) : '', 'type' => ! empty( $json_data['type'] ) ? sanitize_text_field( $json_data['type'] ) : 'plugin', 'slug' => ! empty( $json_data['slug'] ) ? sanitize_text_field( $json_data['slug'] ) : '', 'force' => ! empty( $json_data['force'] ) ? (bool) $json_data['force'] : false, ]; } else { // Fallback to $_REQUEST for backwards compatibility $this->debug_log( 'Using $_REQUEST data for webhook args', 'DEBUG' ); $args = [ // phpcs:disable WordPress.Security.NonceVerification.Recommended 'file' => ! empty( $_REQUEST['file'] ) ? esc_url_raw( wp_unslash( $_REQUEST['file'] ) ) : '', 'type' => ! empty( $_REQUEST['type'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['type'] ) ) : 'plugin', 'slug' => ! empty( $_REQUEST['slug'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['slug'] ) ) : '', 'force' => ! empty( $_REQUEST['force'] ) ? (bool) $_REQUEST['force'] : false, // phpcs:enable WordPress.Security.NonceVerification.Recommended ]; } $this->debug_log( 'Parsed webhook args: ' . wp_json_encode( $args, JSON_PRETTY_PRINT ), 'DEBUG' ); $this->verify_webhook_args( $args ); return $args; } /** * Verify and return webhook args. * * @param array{file:string,type:string,slug:string,force:bool} $args The webhook args. * * @return void */ public function verify_webhook_args( $args ) { $file_url = ! empty( $args['file'] ) ? $args['file'] : false; $file_type = ! empty( $args['type'] ) ? $args['type'] : false; $file_slug = ! empty( $args['slug'] ) ? $args['slug'] : false; $force = ! empty( $args['force'] ) ? (bool) $args['force'] : false; if ( ! $file_url || ! $file_type || ! $file_slug ) { $this->kill_connection( self::ERROR_WEBHOOK_ARGS, 'Missing webhook args' ); } if ( ! in_array( $file_type, [ 'plugin', 'theme' ], true ) ) { $this->kill_connection( self::ERROR_WEBHOOK_ARGS, 'Invalid webhook args' ); } } /** * Listen for incoming secure webhooks from the API server. * * @return void */ public function process_webhook() { // 1. Validate the connection is secure & from the API server. $this->validate_connection(); $error = esc_html__( 'There was an error while installing an upgrade. Please download the plugin from wppopupmaker.com and install it manually.', 'popup-maker' ); // 2. Get the webhook data. $args = $this->get_webhook_args(); // 3. Validate license key. if ( ! plugin( 'license' )->is_license_active() ) { $this->debug_log( 'License not active', 'DEBUG' ); wp_send_json_error( $error ); } // Set the current screen to avoid undefined notices. set_current_screen( 'settings_page_popup-maker-settings' ); // 4. Install the plugin. switch ( $args['type'] ) { case 'plugin': $this->install_plugin( $args ); break; } // 5. Delete the token to prevent abuse. Doing so last means it should be possible to retry if something goes wrong. if ( ! $this->debug_mode_enabled() ) { $this->debug_log( 'Deleting token', 'DEBUG' ); \delete_site_transient( self::TOKEN_OPTION_NAME ); } } /** * Install a plugin. * * @param array{file:string,type:string,slug:string,force:bool} $args The file args. * @return void */ public function install_plugin( $args ) { $this->debug_log( 'Installing plugin...', 'DEBUG' ); // If not forcing, and already active, return success. if ( ! $args['force'] && is_plugin_active( "{$args['slug']}/{$args['slug']}.php" ) ) { $this->debug_log( 'Plugin already installed & active.', 'DEBUG' ); wp_send_json_success( esc_html__( 'Plugin installed & activated.', 'popup-maker' ) ); } // Get the upgrader. $upgrader = $this->container->get( 'upgrader' ); // Install the plugin. (if installed already, this will replace it using upgrade). $installed = $upgrader->install_plugin( $args['file'] ); if ( ! is_wp_error( $installed ) ) { $this->debug_log( 'Plugin installed & activated successfully.', 'DEBUG' ); wp_send_json_success( esc_html__( 'Plugin installed & activated.', 'popup-maker' ) ); } switch ( $installed->get_error_code() ) { default: $error = $installed->get_error_message(); } if ( empty( $error ) ) { $error = esc_html__( 'There was an error while installing an upgrade. Please download the plugin from wppopupmaker.com and install it manually.', 'popup-maker' ); } $this->debug_log( 'Plugin install failed: ' . $error, 'DEBUG' ); wp_send_json_error( $installed->get_error_message() ); } /** * Verify webhook request for REST API. * * Validates webhook requests coming through REST endpoints. * This method performs the same security checks as the AJAX webhook * but is designed for REST API integration. * * @param \WP_REST_Request $request REST request object. * @return array{valid:bool,error:string|null} */ public function verify_webhook_request( $request ) { $this->debug_log( 'Verifying webhook request via REST API...', 'DEBUG' ); try { // Validate the connection security. $this->validate_connection(); // Validate license is active. if ( ! plugin( 'license' )->is_license_active() ) { $this->debug_log( 'License not active for webhook request', 'DEBUG' ); return [ 'valid' => false, 'error' => 'License not active', ]; } $this->debug_log( 'Webhook request verified successfully', 'DEBUG' ); return [ 'valid' => true, 'error' => null, ]; } catch ( \Exception $e ) { $this->debug_log( 'Webhook verification failed: ' . $e->getMessage(), 'ERROR' ); return [ 'valid' => false, 'error' => $e->getMessage(), ]; } } /** * Generate webhook URL for REST endpoints. * * Creates properly formatted webhook URLs for REST API endpoints * with appropriate namespace and security parameters. * * @param string $endpoint The REST endpoint (e.g., 'connect/verify', 'upgrade/install'). * @param array $args Additional query arguments. * @return string The webhook URL. */ public function generate_webhook_url( $endpoint, $args = [] ) { // Generate security token. $token = $this->generate_token(); $nonce = wp_create_nonce( $this->get_nonce_name( $token ) ); // Base REST URL with our namespace. $base_url = rest_url( 'popup-maker/v2/' . ltrim( $endpoint, '/' ) ); // Add security parameters. $default_args = [ 'token' => $token, 'nonce' => $nonce, ]; $query_args = array_merge( $default_args, $args ); $webhook_url = add_query_arg( $query_args, $base_url ); $this->debug_log( 'Generated webhook URL: ' . $webhook_url ); $this->debug_log( 'Token: ' . $token ); $this->debug_log( 'Nonce: ' . $nonce ); return $webhook_url; } } classes/Repository/Popups.php 0000644 00000007047 15174671772 0012410 0 ustar 00 <?php /** * Repository Popups * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Repository_Popups */ class PUM_Repository_Popups extends PUM_Abstract_Repository_Posts { /** * @var string */ protected $model = 'PUM_Model_Popup'; /** * @return string */ protected function get_post_type() { return 'popup'; } /** * Build the args for WP Query. * * @param array $args * * @return array */ protected function build_wp_query_args( $args = [] ) { // Ordering $orderby = []; // Meta Query if ( isset( $args['meta_query'] ) && empty( $args['meta_query']['relation'] ) ) { $args['meta_query']['relation'] = 'AND'; } if ( isset( $args['popups'] ) ) { /** * If Looking for specific popups. No need for filtering. */ $args['post__in'] = wp_parse_id_list( $args['popups'] ); unset( $args['popups'] ); } /** * Apply easy ordering options or allow setting it manually. */ if ( ! isset( $args['orderby'] ) ) { $orderby['post_modified'] = isset( $args['order'] ) ? $args['order'] : 'DESC'; } elseif ( ! empty( $args['post__in'] ) && in_array( $args['orderby'], [ 'post__in', 'user_order' ], true ) ) { // This one can't be part of an $orderby array so needs to override. $orderby = 'post__in'; } else { switch ( $args['orderby'] ) { case 'name': $orderby['post_title'] = isset( $args['order'] ) ? $args['order'] : 'ASC'; break; case 'date': $orderby['post_date'] = isset( $args['order'] ) ? $args['order'] : 'DESC'; break; case 'activity': $orderby['post_modified'] = isset( $args['order'] ) ? $args['order'] : 'DESC'; break; default: $orderby[ $args['orderby'] ] = isset( $args['order'] ) ? $args['order'] : 'DESC'; break; } } // Replace the orderby property with the new $orderby array. $args['orderby'] = $orderby; // Clear unneeded values. unset( $args['order'] ); return parent::build_wp_query_args( $args ); } /** * @param int $id * * @return PUM_Model_Popup|WP_Post * @throws \InvalidArgumentException * * Ignore phpcs because this explictly overrides the parent method return type. */ public function get_item( $id ) { // phpcs:ignore Generic.CodeAnalysis.UselessOverridingMethod.Found return parent::get_item( $id ); } /** * @param array $args * * @return PUM_Model_Popup[]|WP_Post[] * * Ignore phpcs because this explictly overrides the parent method return type. */ public function get_items( $args = [] ) { // phpcs:ignore Generic.CodeAnalysis.UselessOverridingMethod.Found return parent::get_items( $args ); } /** * @param array $data * * @return PUM_Model_Popup|WP_Post * @throws InvalidArgumentException * * Ignore phpcs because this explictly overrides the parent method return type. */ public function create_item( $data ) { // phpcs:ignore Generic.CodeAnalysis.UselessOverridingMethod.Found return parent::create_item( $data ); } /** * @param int $id * @param array $data * * @return PUM_Model_Popup|WP_Post * @throws Exception * * Ignore phpcs because this explictly overrides the parent method return type. */ public function update_item( $id, $data ) { // phpcs:ignore Generic.CodeAnalysis.UselessOverridingMethod.Found return parent::update_item( $id, $data ); } /** * Assert that data is valid. * * @param array $data * * @throws InvalidArgumentException */ protected function assert_data( $data ) { // REQUIRED: Implement assert_data() method. } } classes/Repository/Themes.php 0000644 00000007036 15174671772 0012345 0 ustar 00 <?php /** * Repository Themes * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class Themes */ class PUM_Repository_Themes extends PUM_Abstract_Repository_Posts { /** * @var string */ protected $model = 'PUM_Model_Theme'; /** * @return string */ protected function get_post_type() { return 'popup_theme'; } /** * Build the args for WP Query. * * @param array $args * * @return array */ protected function build_wp_query_args( $args = [] ) { // Ordering $orderby = []; // Meta Query if ( isset( $args['meta_query'] ) && empty( $args['meta_query']['relation'] ) ) { $args['meta_query']['relation'] = 'AND'; } if ( isset( $args['themes'] ) ) { /** * If Looking for specific themes. No need for filtering. */ $args['post__in'] = wp_parse_id_list( $args['themes'] ); unset( $args['themes'] ); } /** * Apply easy ordering options or allow setting it manually. */ if ( ! isset( $args['orderby'] ) ) { $orderby['post_modified'] = isset( $args['order'] ) ? $args['order'] : 'DESC'; } elseif ( ! empty( $args['post__in'] ) && in_array( $args['orderby'], [ 'post__in', 'user_order' ], true ) ) { // This one can't be part of an $orderby array so needs to override. $orderby = 'post__in'; } else { switch ( $args['orderby'] ) { case 'name': $orderby['post_title'] = isset( $args['order'] ) ? $args['order'] : 'ASC'; break; case 'date': $orderby['post_date'] = isset( $args['order'] ) ? $args['order'] : 'DESC'; break; case 'activity': $orderby['post_modified'] = isset( $args['order'] ) ? $args['order'] : 'DESC'; break; default: $orderby[ $args['orderby'] ] = isset( $args['order'] ) ? $args['order'] : 'DESC'; break; } } // Replace the orderby property with the new $orderby array. $args['orderby'] = $orderby; // Clear unneeded values. unset( $args['order'] ); return parent::build_wp_query_args( $args ); } /** * @param int $id * * @return PUM_Model_Theme|WP_Post * @throws \InvalidArgumentException * * Ignore phpcs because this explictly overrides the parent method return type. */ public function get_item( $id ) { // phpcs:ignore Generic.CodeAnalysis.UselessOverridingMethod.Found return parent::get_item( $id ); } /** * @param array $args * * @return PUM_Model_Theme[]|WP_Post[] * * Ignore phpcs because this explictly overrides the parent method return type. */ public function get_items( $args = [] ) { // phpcs:ignore Generic.CodeAnalysis.UselessOverridingMethod.Found return parent::get_items( $args ); } /** * @param array $data * * @return PUM_Model_Theme|WP_Post * @throws InvalidArgumentException * * Ignore phpcs because this explictly overrides the parent method return type. */ public function create_item( $data ) { // phpcs:ignore Generic.CodeAnalysis.UselessOverridingMethod.Found return parent::create_item( $data ); } /** * @param int $id * @param array $data * * @return PUM_Model_Theme|WP_Post * @throws Exception * * Ignore phpcs because this explictly overrides the parent method return type. */ public function update_item( $id, $data ) { // phpcs:ignore Generic.CodeAnalysis.UselessOverridingMethod.Found return parent::update_item( $id, $data ); } /** * Assert that data is valid. * * @param array $data * * @throws InvalidArgumentException */ protected function assert_data( $data ) { // REQUIRED: Implement assert_data() method. } } classes/Utils/Cron.php 0000644 00000003660 15174671772 0010741 0 ustar 00 <?php /** * Cron Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Utils_Cron * * @since 1.8.0 */ class PUM_Utils_Cron { /** * PUM_Utils_Cron constructor. * * Initializes cron utility and registers WordPress hooks. * * @return void */ public function __construct() { add_filter( 'cron_schedules', [ $this, 'add_schedules' ] ); add_action( 'wp', [ $this, 'schedule_events' ] ); } /** * Registers new cron schedules for WordPress. * * Adds custom schedule intervals to WordPress cron system. * * @param array<string, array{interval: int, display: string}> $schedules WordPress cron schedules array * @return array<string, array{interval: int, display: string}> Modified schedules array with additional schedules */ public function add_schedules( $schedules = [] ) { // Adds once weekly to the existing schedules. $schedules['weekly'] = [ 'interval' => 604800, 'display' => __( 'Once Weekly', 'popup-maker' ), ]; return $schedules; } /** * Schedules all recurring cron events. * * Initializes both weekly and daily scheduled events for the plugin. * * @return void */ public function schedule_events() { $this->weekly_events(); $this->daily_events(); } /** * Schedule weekly recurring events. * * Sets up the weekly cron event if it hasn't been scheduled yet. * * @return void */ private function weekly_events() { if ( ! wp_next_scheduled( 'pum_weekly_scheduled_events' ) ) { wp_schedule_event( time(), 'weekly', 'pum_weekly_scheduled_events' ); } } /** * Schedule daily recurring events. * * Sets up the daily cron event if it hasn't been scheduled yet. * * @return void */ private function daily_events() { if ( ! wp_next_scheduled( 'pum_daily_scheduled_events' ) ) { wp_schedule_event( time(), 'daily', 'pum_daily_scheduled_events' ); } } } classes/Utils/Cache.php 0000644 00000010522 15174671772 0011036 0 ustar 00 <?php /** * Cache Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Utils_Cache */ class PUM_Utils_Cache { /** * @var string */ public static $prefix = 'pum'; /** * @return bool */ public static function enabled() { return (bool) ! pum_get_option( 'disable_cache', false ); } /** * Returns the general * * @param string $str * * @return string */ public static function prefix_( $str = '' ) { return empty( $str ) ? self::$prefix : self::$prefix . '_' . $str; } /** * Get cache timeout for a key * * @param string|int $key Cache key * @param string $group Cache group * * @return int Cache timeout in seconds */ public static function get_timeout( $key, $group = '' ) { return apply_filters( 'pum_cache_timeout', pum_cache_timeout( $group ), $key, $group ); } /** * Add data to cache (only if key doesn't exist) * * @param string|int $key Cache key * @param mixed $data Data to cache (any serializable value) * @param string $group Cache group * * @return bool True on success, false on failure */ public static function add( $key, $data, $group = '' ) { if ( ! self::enabled() ) { return true; } return wp_cache_add( $key, $data, self::prefix_( $group ), self::get_timeout( $key, $group ) ); } /** * Replace data in cache (only if key exists) * * @param string|int $key Cache key * @param mixed $data Data to cache (any serializable value) * @param string $group Cache group * * @return bool True on success, false on failure */ public static function replace( $key, $data, $group = '' ) { if ( ! self::enabled() ) { return true; } return wp_cache_replace( $key, $data, self::prefix_( $group ), self::get_timeout( $key, $group ) ); } /** * Set data in cache (create or update) * * @param string|int $key Cache key * @param mixed $data Data to cache (any serializable value) * @param string $group Cache group * * @return bool True on success, false on failure */ public static function set( $key, $data, $group = '' ) { if ( ! self::enabled() ) { return true; } return wp_cache_set( $key, $data, self::prefix_( $group ), self::get_timeout( $key, $group ) ); } /** * Get data from cache * * @param string|int $key Cache key * @param string $group Cache group * @param bool $force Force refresh from persistent cache * @param-out bool|null $found Whether the key was found in cache * * @return mixed|false Cache data on success, false on failure or cache disabled */ public static function get( $key, $group = '', $force = false, &$found = null ) { if ( ! self::enabled() ) { return false; } return wp_cache_get( $key, self::prefix_( $group ), $force, $found ); } /** * Delete data from cache * * @param string|int $key Cache key * @param string $group Cache group * * @return bool True on success, false on failure */ public static function delete( $key, $group = '' ) { if ( ! self::enabled() ) { return true; } return wp_cache_delete( $key, self::prefix_( $group ) ); } /** * @param string $group * * @return bool */ public static function delete_group( $group = '' ) { if ( ! self::enabled() ) { return true; } if ( ! function_exists( 'wp_cache_delete_group' ) ) { return false; } return wp_cache_delete_group( self::prefix_( $group ) ); } /** * Increment numeric cache value * * @param string|int $key Cache key * @param int $offset Amount to increment * @param string $group Cache group * * @return int|bool New value on success, false on failure, true when cache disabled */ public static function incr( $key, $offset = 1, $group = '' ) { if ( ! self::enabled() ) { return true; } return wp_cache_incr( $key, $offset, self::prefix_( $group ) ); } /** * Decrement numeric cache value * * @param string|int $key Cache key * @param int $offset Amount to decrement * @param string $group Cache group * * @return int|bool New value on success, false on failure, true when cache disabled */ public static function decr( $key, $offset = 1, $group = '' ) { if ( ! self::enabled() ) { return true; } return wp_cache_decr( $key, $offset, self::prefix_( $group ) ); } } classes/Utils/Logging.php 0000644 00000022255 15174671772 0011427 0 ustar 00 <?php /** * Debug Logging Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ /** * Class PUM_Utils_Logging * * @since 1.8.0 * @deprecated 1.21.0 Use \PopupMaker\logging() instead. */ class PUM_Utils_Logging { /** * Whether the log file is writable. * * @var bool */ public $is_writable = false; /** * Log file name. * * @var string */ private $filename = ''; /** * Log file path. * * @var string */ private $file = ''; /** * File system API. * * @var WP_Filesystem_Base|null */ private $fs; /** * Log file content. * * @var string|null */ private $content; /** * Instance. * * @var PUM_Utils_Logging */ public static $instance; /** * Get instance. * * @deprecated 1.21.0 Use \PopupMaker\plugin()->get( 'logging' ) instead. * * @return \PopupMaker\Services\Logging */ public static function instance() { return \PopupMaker\plugin()->get( 'logging' ); } /** * Get things started */ public function __construct() { if ( $this->disabled() ) { return; } $this->init_fs(); $this->init(); // On shutdown, save the log file. add_action( 'shutdown', [ $this, 'save_logs' ] ); } /** * Check if logging is disabled. * * @deprecated 1.21.0 Use \PopupMaker\logging()->disabled() instead. * * @return bool */ public function disabled() { return \PopupMaker\logging()->disabled(); } /** * Check if logging is writeable & not disabled. * * If this is true the $fs property will be set. * * @return bool */ public function enabled() { return ! $this->disabled() && $this->is_writable; } /** * Initialize the file system. * * - Check if the file system is writable. * - Check if the upload directory is writable. * - Set the file system instance. * * @return void */ public function init_fs() { $fs = $this->file_system(); $this->fs = false !== $fs ? $fs : null; // If the file system is not set, we can't check if it's writable. if ( null === $this->fs ) { return; } $this->is_writable = 'direct' === $this->fs->method; if ( ! $this->is_writable ) { return; } $upload_dir = PUM_Helpers::get_upload_dir(); if ( false === $upload_dir ) { $this->is_writable = false; return; } if ( ! $this->fs->is_writable( $upload_dir['basedir'] ) ) { $this->is_writable = false; } } /** * Get working WP Filesystem instance * * @return WP_Filesystem_Base|false */ public function file_system() { global $wp_filesystem; require_once ABSPATH . 'wp-admin/includes/file.php'; // If for some reason the include doesn't work as expected just return false. if ( ! function_exists( 'WP_Filesystem' ) ) { return false; } $writable = WP_Filesystem( false, '', true ); // We consider the directory as writable if it uses the direct transport, // otherwise credentials would be needed. return ( $writable && 'direct' === $wp_filesystem->method ) ? $wp_filesystem : false; } /** * Get things started. * * - Get filetoken & name. * - Check if old log file exists, move it to new location. * - Check if new log file exists, if not create it. * - Set log content. * - Truncate long log files. * * @return void */ public function init() { if ( ! $this->enabled() || null === $this->fs ) { return; } $upload_dir = \PopupMaker\get_upload_dir(); if ( false === $upload_dir ) { return; } $file_token = get_option( 'pum_debug_log_token' ); if ( false === $file_token ) { $file_token = uniqid( (string) wp_rand(), true ); update_option( 'pum_debug_log_token', $file_token ); } $this->filename = "pum-debug-{$file_token}.log"; // ex. pum-debug-5c2f6a9b9b5a3.log. $this->file = trailingslashit( $upload_dir['basedir'] ) . $this->filename; $old_file = trailingslashit( $upload_dir['basedir'] ) . 'pum-debug.log'; // If old file exists, move it. if ( $this->fs->exists( $old_file ) ) { $old_content = $this->get_file( $old_file ); $this->set_log_content( $old_content, true ); // Move old log file to new obfuscated location() . $this->log_unique( 'Renaming log file.' ); // Move old file to new location. $this->fs->move( $old_file, $this->file ); if ( $this->fs->exists( $old_file ) ) { $this->fs->delete( $old_file ); } } elseif ( ! $this->fs->exists( $this->file ) ) { $this->setup_new_log(); } else { $this->content = $this->get_file( $this->file ); } // Truncate long log files. if ( $this->fs->exists( $this->file ) && $this->fs->size( $this->file ) >= 1048576 ) { $this->truncate_log(); } } /** * Retrieves the url to the file * * @return string * @since 1.12.0 */ public function get_file_url() { $url = \PopupMaker\get_upload_dir_url( $this->filename ); return is_string( $url ) ? $url : ''; } /** * Retrieve the log data * * @return string|null */ public function get_log() { return $this->get_log_content(); } /** * Log message to file * * @param string $message The message to log. * @return void */ public function log( $message = '' ) { $this->write_to_log( ( function_exists( 'wp_date' ) ? wp_date( 'Y-n-d H:i:s' ) : date( 'Y-n-d H:i:s', current_time( 'timestamp' ) ) ) . ' - ' . $message ); } /** * Log unique message to file. * * @param string $message The unique message to log. * @return void */ public function log_unique( $message = '' ) { $contents = $this->get_log_content(); if ( strpos( $contents, $message ) !== false ) { return; } $this->log( $message ); } /** * Get the log file contents. * * @return string|null */ public function get_log_content() { if ( ! isset( $this->content ) ) { $this->content = $this->get_file(); } return $this->content; } /** * Set the log file contents in memory. * * @param string $content The content to set. * @param bool $save Whether to save the content to the file immediately. * @return void */ private function set_log_content( $content, $save = false ) { $this->content = $content; if ( $save ) { $this->save_logs(); } } /** * Retrieve the contents of a file. * * @param string|false $file File path to get contents of, or false to use default log file. * @return string File contents or empty string on failure. */ protected function get_file( $file = false ) { $file = $file ? $file : $this->file; if ( ! $this->enabled() || null === $this->fs ) { return ''; } $content = ''; if ( $this->fs->exists( $file ) ) { $file_content = $this->fs->get_contents( $file ); $content = is_string( $file_content ) ? $file_content : ''; } return $content; } /** * Write the log message * * @param string $message The message to write. * @return void */ protected function write_to_log( $message = '' ) { if ( ! $this->enabled() ) { return; } $contents = $this->get_log_content(); // If it doesn't end with a new line, add one. \r\n length is 2. if ( substr( $contents, -2 ) !== "\r\n" ) { $contents .= "\r\n"; } $this->set_log_content( $contents . $message ); } /** * Save the current contents to file. * * @return void */ public function save_logs() { if ( ! $this->enabled() || null === $this->fs ) { return; } $this->fs->put_contents( $this->file, $this->content ?? '', FS_CHMOD_FILE ); } /** * Get a line count. * * @return int */ public function count_lines() { $file = $this->get_log_content(); $lines = explode( "\r\n", $file ?? '' ); return count( $lines ); } /** * Truncates a log file to maximum of 250 lines. * * @return void */ public function truncate_log() { $content = $this->get_log_content(); $lines = explode( "\r\n", $content ?? '' ); $lines = array_slice( $lines, 0, 250 ); // 250 is how many lines you want to keep $truncated_content = implode( "\r\n", $lines ); $this->set_log_content( $truncated_content, true ); } /** * Set up a new log file. * * @return void */ public function setup_new_log() { $this->set_log_content( "Popup Maker Debug Logs:\r\n" . ( function_exists( 'wp_date' ) ? wp_date( 'Y-n-d H:i:s' ) : date( 'Y-n-d H:i:s', current_time( 'timestamp' ) ) ) . " - Log file initialized\r\n", true ); } /** * Delete the log file. * * @return void */ public function clear_log() { // Delete the file. if ( null !== $this->fs ) { // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged @$this->fs->delete( $this->file ); } if ( $this->enabled() ) { $this->setup_new_log(); } } /** * Log a deprecated notice. * * @param non-empty-string $func_name Function name. * @param non-empty-string $version Version deprecated. * @param string|null $replacement Replacement function (optional). * @return void */ public function log_deprecated_notice( $func_name, $version, $replacement = null ) { if ( ! is_null( $replacement ) ) { $notice = sprintf( '%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.', $func_name, $version, $replacement ); } else { $notice = sprintf( '%1$s is <strong>deprecated</strong> since version %2$s with no alternative available.', $func_name, $version ); } $this->log_unique( $notice ); } } classes/Utils/Blocks.php 0000644 00000002204 15174671772 0011246 0 ustar 00 <?php /** * Block utilities. * * @since 1.14 * @package PUM * @copyright Copyright (c) 2020, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Utils_Blocks */ class PUM_Utils_Blocks { /** * Find blocks with matching name in given list of blocks. * * Recursively searches through WordPress block structures, including nested blocks * within core/columns and core/column containers. * * @param array<string, mixed>[] $blocks Array of WordPress block structures. * @param string $search_name Block name to look for (supports wildcards like 'pum/*'). * * @return array<string, mixed>[] Array of matching WordPress blocks. */ public static function find_blocks( $blocks, $search_name = 'pum/*' ) { $found_blocks = []; foreach ( $blocks as $block ) { if ( in_array( $block['blockName'], [ 'core/columns', 'core/column' ], true ) ) { $found_blocks = array_merge( $found_blocks, self::find_blocks( $block['innerBlocks'], $search_name ) ); } if ( $search_name === $block['blockName'] ) { $found_blocks[] = $block; } } return $found_blocks; } } classes/Utils/Alerts.php 0000644 00000066063 15174671772 0011300 0 ustar 00 <?php /** * Alerts Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Utils_Alerts */ class PUM_Utils_Alerts { /** * Initialize the alerts system by setting up hooks and filters. * * @return void */ public static function init() { add_action( 'admin_init', [ __CLASS__, 'hooks' ] ); add_action( 'admin_init', [ __CLASS__, 'php_handler' ] ); add_action( 'wp_ajax_pum_alerts_action', [ __CLASS__, 'ajax_handler' ] ); add_filter( 'pum_alert_list', [ __CLASS__, 'whats_new_alerts' ], 0 ); add_filter( 'pum_alert_list', [ __CLASS__, 'integration_alerts' ], 5 ); add_filter( 'pum_alert_list', [ __CLASS__, 'translation_request' ], 10 ); add_action( 'admin_menu', [ __CLASS__, 'append_alert_count' ], 999 ); } /** * Gets a count of current alerts. * * @return int */ public static function alert_count() { return count( self::get_alerts() ); } /** * Append alert count to Popup Maker menu item. * * @return void */ public static function append_alert_count() { global $menu; $count = self::alert_count(); foreach ( $menu as $key => $item ) { if ( 'edit.php?post_type=popup' === $item[2] ) { // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited $menu[ $key ][0] .= $count ? ' <span class="update-plugins count-' . $count . '"><span class="plugin-count pum-alert-count" aria-hidden="true">' . $count . '</span></span>' : ''; } } } /** * Add translation request alert based on user's browser language preferences. * * @param array $alerts { * @type string $code Alert code. * @type string $message Alert message. * @type string $type Alert type. * @type string $html Optional. Alert HTML. * @type int $priority Optional. Alert priority. * @type mixed $dismissible Optional. Dismissible setting. * @type bool $global Optional. Global alert. * @type array $actions Optional. Alert actions. * } * * @return array<int, array{ * code: string, * message: string, * type: string, * html?: string, * priority?: int, * dismissible?: bool|string|int, * global?: bool, * actions?: array<int, array{ * text: string, * type: string, * action: string, * href?: string, * primary?: bool * }> * }> */ public static function translation_request( $alerts = [] ) { $version = explode( '.', Popup_Maker::$VER ); // Get only the major.minor version exclude the point releases. $version = $version[0] . '.' . $version[1]; $code = 'translation_request_' . $version; // Bail Early if they have already dismissed. if ( self::has_dismissed_alert( $code ) ) { return $alerts; } // Get locales based on the HTTP accept language header. $locales_from_header = PUM_Utils_I10n::get_http_locales(); // Abort early if no locales in header. if ( empty( $locales_from_header ) ) { return $alerts; } // Get acceptable non EN WordPress locales based on the HTTP accept language header. // Used when the current locale is EN only I believe. $non_en_locales_from_header = PUM_Utils_I10n::get_non_en_accepted_wp_locales_from_header(); // If no additional languages are supported abort if ( empty( $non_en_locales_from_header ) ) { return $alerts; } /** * Assume all at this point are possible polyglots. * * Viewing in English! * -- Translation available in one additional language! * ---- Show notice that there other language is available and we need help translating. * -- Translation available in more than one language! * ---- Show notice that their other languages are available and need help translating. * -- Translation not available! * ---- Show notice that plugin is not translated and we need help. * Else If translation for their language(s) exists, but isn't up to date! * -- Show notice that their language is available, but out of date and need help translating. * Else If translations for their language doesn't exist! * -- Show notice that plugin is not translated and we need help. */ $current_locale = function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale(); // Get the active language packs of the plugin. $translation_status = PUM_Utils_I10n::translation_status(); // Retrieve all the WordPress locales in which the plugin is translated. $locales_with_translations = wp_list_pluck( $translation_status, 'language' ); $locale_translation_versions = wp_list_pluck( $translation_status, 'version' ); // Suggests existing langpacks $suggested_locales_with_langpack = array_values( array_intersect( $non_en_locales_from_header, $locales_with_translations ) ); $current_locale_is_suggested = in_array( $current_locale, $suggested_locales_with_langpack, true ); $current_locale_is_translated = in_array( $current_locale, $locales_with_translations, true ); // Last chance to abort early before querying all available languages. // We abort here if the user is already using a translated language that is up to date! if ( $current_locale_is_suggested && $current_locale_is_translated && version_compare( $locale_translation_versions[ $current_locale ], Popup_Maker::$VER, '>=' ) ) { return $alerts; } // Retrieve all the WordPress locales. $locales_supported_by_wordpress = PUM_Utils_I10n::available_locales(); // Get the native language names of the locales. $suggest_translated_locale_names = []; foreach ( $suggested_locales_with_langpack as $locale ) { $suggest_translated_locale_names[ $locale ] = $locales_supported_by_wordpress[ $locale ]['native_name']; } $suggest_string = ''; // If we get this far, they clearly have multiple language available // If current locale is english but they have others available, they are likely polyglots. $currently_in_english = strpos( $current_locale, 'en' ) === 0; // Currently in English. if ( $currently_in_english ) { // Only one locale suggestion. if ( 1 === count( $suggest_translated_locale_names ) ) { $language = current( $suggest_translated_locale_names ); $suggest_string = sprintf( /* translators: %s: native language name. */ __( 'This plugin is also available in %1$s. <a href="%2$s" target="_blank">Help improve the translation!</a>', 'popup-maker' ), $language, esc_url( 'https://translate.wordpress.org/projects/wp-plugins/popup-maker' ) ); // Multiple locale suggestions. } elseif ( ! empty( $suggest_translated_locale_names ) ) { $primary_language = current( $suggest_translated_locale_names ); array_shift( $suggest_translated_locale_names ); $other_suggest = ''; foreach ( $suggest_translated_locale_names as $language ) { $other_suggest .= $language . ', '; } $suggest_string = sprintf( /* translators: 1: native language name, 2: other native language names, comma separated */ __( 'This plugin is also available in %1$s (also: %2$s). <a href="%3$s" target="_blank">Help improve the translation!</a>', 'popup-maker' ), $primary_language, trim( $other_suggest, ' ,' ), esc_url( 'https://translate.wordpress.org/projects/wp-plugins/popup-maker' ) ); // Non-English locale in header, no translations. } elseif ( count( $non_en_locales_from_header ) ) { if ( 1 === count( $non_en_locales_from_header ) ) { $locale = reset( $non_en_locales_from_header ); $suggest_string = sprintf( /* translators: 1: native language name, 2: URL to translate.wordpress.org */ __( 'This plugin is not translated into %1$s yet. <a href="%2$s" target="_blank">Help translate it!</a>', 'popup-maker' ), $locales_supported_by_wordpress[ $locale ]['native_name'], esc_url( 'https://translate.wordpress.org/projects/wp-plugins/popup-maker' ) ); } else { $primary_locale = reset( $non_en_locales_from_header ); $primary_language = $locales_supported_by_wordpress[ $primary_locale ]['native_name']; array_shift( $non_en_locales_from_header ); $other_suggest = ''; foreach ( $non_en_locales_from_header as $locale ) { $other_suggest .= $locales_supported_by_wordpress[ $locale ]['native_name'] . ', '; } $suggest_string = sprintf( /* translators: 1: native language name, 2: other native language names, comma separated */ __( 'This plugin is also available in %1$s (also: %2$s). <a href="%3$s" target="_blank">Help improve the translation!</a>', 'popup-maker' ), $primary_language, trim( $other_suggest, ' ,' ), esc_url( 'https://translate.wordpress.org/projects/wp-plugins/popup-maker' ) ); } } // The plugin has no translation for the current locale. } elseif ( ! $current_locale_is_suggested && ! $current_locale_is_translated ) { $suggest_string = sprintf( /* translators: 1. Native language name, 2. URL to translation. */ __( 'This plugin is not translated into %1$s yet. <a href="%2$s" target="_blank">Help translate it!</a>', 'popup-maker' ), $locales_supported_by_wordpress[ $current_locale ]['native_name'], esc_url( 'https://translate.wordpress.org/projects/wp-plugins/popup-maker' ) ); // The plugin has translations for current locale, but they are out of date. } elseif ( $current_locale_is_suggested && $current_locale_is_translated && version_compare( $locale_translation_versions[ $current_locale ], Popup_Maker::$VER, '<' ) ) { $suggest_string = sprintf( /* translators: %s: native language name. */ __( 'This plugin\'s translation for %1$s is out of date. <a href="%2$s" target="_blank">Help improve the translation!</a>', 'popup-maker' ), $locales_supported_by_wordpress[ $current_locale ]['native_name'], esc_url( 'https://translate.wordpress.org/projects/wp-plugins/popup-maker' ) ); } if ( ! empty( $suggest_string ) ) { $alerts[] = [ 'code' => $code, 'message' => $suggest_string, 'type' => 'info', ]; } return $alerts; } /** * Add "What's New" alerts for major version updates. * * @param array $alerts { * @type string $code Alert code. * @type string $message Alert message. * @type string $type Alert type. * @type string $html Optional. Alert HTML. * @type int $priority Optional. Alert priority. * @type mixed $dismissible Optional. Dismissible setting. * @type bool $global Optional. Global alert. * @type array $actions Optional. Alert actions. * } * * @return array<int, array{ * code: string, * message: string, * type: string, * html?: string, * priority?: int, * dismissible?: bool|string|int, * global?: bool, * actions?: array<int, array{ * text: string, * type: string, * action: string, * href?: string, * primary?: bool * }> * }> */ public static function whats_new_alerts( $alerts = [] ) { $upgraded_from = PUM_Utils_Upgrades::$upgraded_from; if ( version_compare( $upgraded_from, '0.0.0', '>' ) ) { if ( version_compare( $upgraded_from, '1.8.0', '<' ) ) { $alerts[] = [ 'code' => 'whats_new_1_8_0', 'type' => 'success', 'message' => sprintf( /* translators: 1. Version number, 2. URL to changelog, 3. closing HTML tag. */ '<strong>' . esc_html__( 'See whats new in v%1$s - (%2$sview all changes%3$s)', 'popup-maker' ) . '</strong>', '1.8.0', '<a href="' . add_query_arg( [ 'tab' => 'plugin-information', 'plugin' => 'popup-maker', 'section' => 'changelog', 'TB_iframe' => true, 'width' => 722, 'height' => 949, ], admin_url( 'plugin-install.php' ) ) . '" target="_blank">', '</a>' ), 'html' => "<ul class='ul-disc'><li>New UX for the Popup Theme editor.</li><li>New close button positions: top center, bottom center, middle left & middle right.</li><li>New option to position close button outside of popup.</li></ul>", 'priority' => 100, ]; } } return $alerts; } /** * Add alerts for available plugin integrations based on detected plugins. * * @param array $alerts { * @type string $code Alert code. * @type string $message Alert message. * @type string $type Alert type. * @type string $html Optional. Alert HTML. * @type int $priority Optional. Alert priority. * @type mixed $dismissible Optional. Dismissible setting. * @type bool $global Optional. Global alert. * @type array $actions Optional. Alert actions. * } * * @return array<int, array{ * code: string, * message: string, * type: string, * html?: string, * priority?: int, * dismissible?: bool|string|int, * global?: bool, * actions?: array<int, array{ * text: string, * type: string, * action: string, * href?: string, * primary?: bool * }> * }> */ public static function integration_alerts( $alerts = [] ) { $integrations = [ 'buddypress' => [ // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch 'label' => __( 'BuddyPress', 'buddypress' ), 'learn_more_url' => 'https://wppopupmaker.com/social-integrations/buddypress/', 'conditions' => ! class_exists( 'PUM_BuddyPress' ) && ( function_exists( 'buddypress' ) || class_exists( 'BuddyPress' ) ), 'slug' => 'popup-maker-buddypress-integration', 'name' => 'Popup Maker - BuddyPress Integration', 'free' => true, ], ]; foreach ( $integrations as $key => $integration ) { if ( $integration['conditions'] ) { $path = "{$integration['slug']}/{$integration['slug']}.php"; $plugin_data = file_exists( WP_PLUGIN_DIR . '/' . $path ) ? get_plugin_data( WP_PLUGIN_DIR . '/' . $path, false, false ) : false; $installed = $plugin_data && ! empty( $plugin_data['Name'] ) && $plugin_data['Name'] === $integration['name']; $text = $installed ? __( 'activate it now', 'popup-maker' ) : __( 'install it now', 'popup-maker' ); $url = $installed ? esc_url( wp_nonce_url( admin_url( 'plugins.php?action=activate&plugin=' . $path ), 'activate-plugin_' . $path ) ) : esc_url( wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=popup-maker-buddypress-integration' ), 'install-plugin_popup-maker-buddypress-integration' ) ); $alerts[] = [ 'code' => $key . '_integration_available', 'message' => sprintf( /* translators: 1. Opening HTML tag, 2. Closing HTML tag, 3. Integration name, 4. Learn more URL, 5. Opening HTML tag, 6. Closing HTML tag, 7. Activate/Install URL, 8. Activate/Install text. */ __( '%1$sDid you know:%2$s Popup Maker has custom integrations with %3$s, %4$slearn more%5$s or %6$s%7$s%8$s!', 'popup-maker' ), '<strong>', '</strong>', $integration['label'], '<a href="' . $integration['learn_more_url'] . '" target="_blank">', '</a>', '<a href="' . $url . '">', $text, '</a>' ), 'dismissible' => true, 'global' => false, 'type' => $installed ? 'warning' : 'info', ]; } } return $alerts; } /** * Hook into relevant WP actions for displaying admin notices. * * @return void */ public static function hooks() { if ( is_admin() && current_user_can( 'edit_posts' ) ) { add_action( 'admin_notices', [ __CLASS__, 'admin_notices' ] ); add_action( 'network_admin_notices', [ __CLASS__, 'admin_notices' ] ); add_action( 'user_admin_notices', [ __CLASS__, 'admin_notices' ] ); } } /** * @return bool */ public static function should_show_alerts() { return in_array( true, [ pum_is_admin_page(), count( self::get_global_alerts() ) > 0, ], true ); } /** * Allow additional style properties for notice alerts. * * @param string[] $styles Array of allowed style properties. * @return string[] */ public static function allow_inline_styles( $styles ) { $styles[] = 'display'; $styles[] = 'list-style'; $styles[] = 'margin'; $styles[] = 'padding'; $styles[] = 'margin-left'; $styles[] = 'margin-right'; $styles[] = 'margin-top'; $styles[] = 'margin-bottom'; return $styles; } /** * Return array of allowed html tags for wp_kses. * * @return array<string, array<string, bool>> */ public static function allowed_tags() { return array_merge_recursive( wp_kses_allowed_html( 'post' ), // Allow script tags with type="" attribute. [ 'script' => [ 'type' => true ], 'progress' => [ 'class' => true, 'max' => true, 'min' => true, ], 'input' => [ 'type' => true, 'class' => true, 'id' => true, 'name' => true, 'value' => true, 'checked' => true, ], 'button' => [ 'type' => true, 'class' => true, 'id' => true, 'name' => true, 'value' => true, ], 'fieldset' => [ 'class' => true, 'id' => true, 'name' => true, ], 'legend' => [ 'class' => true, 'id' => true, 'name' => true, ], 'div' => [ 'class' => true, 'id' => true, 'name' => true, ], 'span' => [ 'class' => true, 'id' => true, 'name' => true, ], 'ul' => [ 'class' => true, 'id' => true, 'name' => true, ], 'li' => [ 'class' => true, 'id' => true, 'name' => true, ], 'label' => [ 'class' => true, 'id' => true, 'name' => true, 'for' => true, ], 'select' => [ 'class' => true, 'id' => true, 'name' => true, 'for' => true, ], 'option' => [ 'class' => true, 'id' => true, 'name' => true, 'for' => true, ], 'form' => [ 'action' => true, 'method' => true, 'id' => true, 'class' => true, 'style' => true, 'data-*' => true, ], 'img' => [ 'class' => true, 'id' => true, 'name' => true, 'src' => true, 'alt' => true, 'width' => true, 'height' => true, ], ] ); } /** * Render admin alerts if available. * * @return void */ public static function admin_notices() { if ( ! self::should_show_alerts() ) { return; } $global_only = ! pum_is_admin_page(); $alerts = $global_only ? self::get_global_alerts() : self::get_alerts(); $count = count( $alerts ); if ( ! $count ) { return; } wp_enqueue_script( 'pum-admin-general' ); wp_enqueue_style( 'pum-admin-general' ); $nonce = wp_create_nonce( 'pum_alerts_action' ); ?> <script type="text/javascript"> window.pum_alerts_nonce = '<?php echo esc_attr( $nonce ); ?>'; </script> <div class="pum-alerts"> <h3> <img alt="" class="logo" src="<?php echo esc_attr( Popup_Maker::$URL ); ?>assets/images/mark.png" /> <?php printf( '%s%s (%s)', ( $global_only ? esc_html__( 'Popup Maker', 'popup-maker' ) . ' ' : '' ), esc_html__( 'Notifications', 'popup-maker' ), '<span class="pum-alert-count">' . esc_html( (string) $count ) . '</span>' ); ?> </h3> <p><?php __( 'Check out the following notifications from Popup Maker.', 'popup-maker' ); ?></p> <?php add_filter( 'safe_style_css', [ __CLASS__, 'allow_inline_styles' ] ); foreach ( $alerts as $alert ) { $expires = 1 === $alert['dismissible'] ? '' : (string) $alert['dismissible']; $dismiss_url = add_query_arg( [ 'nonce' => $nonce, 'code' => $alert['code'], 'pum_dismiss_alert' => 'dismiss', 'expires' => $expires, ] ); ?> <div class="pum-alert-holder" data-code="<?php echo esc_attr( $alert['code'] ); ?>" class="<?php echo $alert['dismissible'] ? 'is-dismissible' : ''; ?>" data-dismissible="<?php echo esc_attr( (string) $alert['dismissible'] ); ?>"> <div class="pum-alert <?php echo '' !== $alert['type'] ? 'pum-alert__' . esc_attr( $alert['type'] ) : ''; ?>"> <?php if ( ! empty( $alert['message'] ) ) : ?> <p><?php echo wp_kses_post( $alert['message'] ); ?></p> <?php endif; ?> <?php if ( ! empty( $alert['html'] ) ) : ?> <?php echo wp_kses( function_exists( 'wp_encode_emoji' ) ? wp_encode_emoji( $alert['html'] ) : $alert['html'], self::allowed_tags() ); ?> <?php endif; ?> <?php if ( ! empty( $alert['actions'] ) && is_array( $alert['actions'] ) ) : ?> <ul> <?php foreach ( $alert['actions'] as $action ) { $link_text = ! empty( $action['primary'] ) && true === $action['primary'] ? '<strong>' . esc_html( $action['text'] ) . '</strong>' : esc_html( $action['text'] ); if ( 'link' === $action['type'] ) { $url = $action['href'] ?? '#'; $attributes = 'target="_blank" rel="noreferrer noopener"'; } else { $url = add_query_arg( [ 'nonce' => $nonce, 'code' => $alert['code'], 'pum_dismiss_alert' => $action['action'], 'expires' => $expires, ] ); $attributes = 'class="pum-dismiss"'; } ?> <li><a data-action="<?php echo esc_attr( $action['action'] ); ?>" href="<?php echo esc_url( $url ); ?>" <?php echo esc_attr( $attributes ); ?> > <?php // Ignored because this breaks the HTML and link is escaped above. // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo wp_kses_post( $link_text ); ?> </a></li> <?php } ?> </ul> <?php endif; ?> </div> <?php if ( $alert['dismissible'] ) : ?> <a href="<?php echo esc_url( $dismiss_url ); ?>" data-action="dismiss" class="button dismiss pum-dismiss"> <span class="screen-reader-text"><?php esc_html_e( 'Dismiss this item.', 'popup-maker' ); ?></span> <span class="dashicons dashicons-no-alt"></span> </a> <?php endif; ?> </div> <?php } ?> </div> <?php remove_filter( 'safe_style_css', [ __CLASS__, 'allow_inline_styles' ] ); } /** * Get only alerts marked as global. * * @return array<int, array{ * code: string, * message: string, * type: string, * html: string, * priority: int, * dismissible: bool|string|int, * global: bool, * actions?: array<int, array{ * text: string, * type: string, * action: string, * href?: string, * primary?: bool * }> * }> */ public static function get_global_alerts() { $alerts = self::get_alerts(); $global_alerts = []; foreach ( $alerts as $alert ) { if ( $alert['global'] ) { $global_alerts[] = $alert; } } return $global_alerts; } /** * Get all alerts with defaults applied and filtered by dismissal status. * * @return array<int, array{ * code: string, * message: string, * type: string, * html: string, * priority: int, * dismissible: bool|string|int, * global: bool, * actions?: array<int, array{ * text: string, * type: string, * action: string, * href?: string, * primary?: bool * }> * }> */ public static function get_alerts() { static $alert_list; if ( ! isset( $alert_list ) ) { $alert_list = apply_filters( 'pum_alert_list', [] ); } $alerts = []; foreach ( $alert_list as $alert ) { // Ignore dismissed alerts. if ( self::has_dismissed_alert( $alert['code'] ) ) { continue; } $alerts[] = wp_parse_args( $alert, [ 'code' => 'default', 'priority' => 10, 'message' => '', 'type' => 'info', 'html' => '', 'dismissible' => true, 'global' => false, ] ); } // Sort alerts by priority, highest to lowest. $alerts = PUM_Utils_Array::sort( $alerts, 'priority', true ); return $alerts; } /** * Handles alert dismissal via AJAX. * * @return void */ public static function ajax_handler() { if ( ! isset( $_REQUEST['nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_REQUEST['nonce'] ) ), 'pum_alerts_action' ) ) { wp_send_json_error(); } $args = wp_parse_args( $_REQUEST, [ 'code' => '', 'expires' => '', 'pum_dismiss_alert' => '', ] ); $results = self::action_handler( $args['code'], $args['pum_dismiss_alert'], $args['expires'] ); if ( true === $results ) { wp_send_json_success(); } else { wp_send_json_error(); } } /** * Handles alert dismissal by page reload instead of AJAX. * * @since 1.11.0 * @return void */ public static function php_handler() { if ( ! isset( $_REQUEST['pum_dismiss_alert'] ) ) { return; } if ( ! isset( $_REQUEST['nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_REQUEST['nonce'] ) ), 'pum_alerts_action' ) ) { return; } $args = wp_parse_args( $_REQUEST, [ 'code' => '', 'expires' => '', 'pum_dismiss_alert' => '', ] ); self::action_handler( $args['code'], $args['pum_dismiss_alert'], $args['expires'] ); } /** * Handles the action taken on the alert. * * @param string $code The specific alert. * @param string $action Which action was taken * @param string $expires When the dismissal expires, if any. * * @return bool * @uses PUM_Utils_Logging::instance * @uses PUM_Utils_Logging::log * @since 1.11.0 */ public static function action_handler( $code, $action, $expires ) { if ( empty( $action ) || 'dismiss' === $action ) { try { $dismissed_alerts = self::dismissed_alerts(); $dismissed_alerts[ $code ] = ! empty( $expires ) ? strtotime( '+' . $expires ) : true; $user_id = get_current_user_id(); update_user_meta( $user_id, '_pum_dismissed_alerts', $dismissed_alerts ); return true; } catch ( Exception $e ) { pum_log_message( 'Error dismissing alert. Exception: ' . $e->getMessage() ); return false; } } do_action( 'pum_alert_dismissed', $code, $action ); return true; } /** * @param string $code * * @return bool */ public static function has_dismissed_alert( $code = '' ) { $dimissed_alerts = self::dismissed_alerts(); $alert_dismissed = array_key_exists( $code, $dimissed_alerts ); // If the alert was dismissed and has a non true type value, it is an expiry time. if ( $alert_dismissed && true !== $dimissed_alerts[ $code ] ) { return strtotime( 'now' ) < $dimissed_alerts[ $code ]; } return $alert_dismissed; } /** * Returns an array of dismissed alert groups. * * @return array<string, bool|int> */ public static function dismissed_alerts() { $user_id = get_current_user_id(); $dismissed_alerts = get_user_meta( $user_id, '_pum_dismissed_alerts', true ); if ( ! is_array( $dismissed_alerts ) ) { $dismissed_alerts = []; update_user_meta( $user_id, '_pum_dismissed_alerts', $dismissed_alerts ); } return $dismissed_alerts; } } classes/Utils/Prerequisites.php 0000644 00000023125 15174671772 0012702 0 ustar 00 <?php /** * Prerequisites Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ /** * Prerequisite handler. * * @version 1.0.0 */ class PUM_Utils_Prerequisites { /** * Cache accessible across instances. * * @var array{ * get_plugin_data?: array<string, array{Name?: string, Version?: string}> * } */ public static $cache = []; /** * Array of checks to perform. * * @var array<int, array<string, mixed>> */ protected $checks = []; /** * Array of detected failures. * * @var array<int, array<string, mixed>> */ protected $failures = []; /** * Instantiate prerequisite checker. * * @param array<int, array<string, mixed>> $requirements Array of requirements. */ public function __construct( $requirements = [] ) { foreach ( $requirements as $arguments ) { /** @var array{type: string, version?: string, slug?: string, name?: string, check_installed?: bool, dep_label?: string} $arguments */ switch ( $arguments['type'] ) { case 'php': $this->checks[] = wp_parse_args( $arguments, [ 'type' => 'php', 'version' => '5.6', ] ); break; case 'plugin': $this->checks[] = wp_parse_args( $arguments, [ 'type' => 'plugin', 'slug' => '', 'name' => '', 'version' => '', 'check_installed' => false, 'dep_label' => '', ] ); break; default: break; } } } /** * Check requirements. * * @param bool $return_on_fail Whether it should stop processing if one fails. * * @return bool */ public function check( $return_on_fail = false ) { $end_result = true; foreach ( $this->checks as $check ) { /** @var array<string, mixed> $check */ $result = $this->check_handler( $check ); if ( false === $result ) { if ( true === $return_on_fail ) { return false; } $end_result = false; } } return $end_result; } /** * Render notices when appropriate. * * @return void */ public function setup_notices() { add_action( 'admin_notices', [ $this, 'render_notices' ] ); } /** * Handle individual checks by mapping them to methods. * * @param array<string, mixed> $check Requirement check arguments. * * @return bool */ public function check_handler( $check ) { return method_exists( $this, 'check_' . $check['type'] ) ? $this->{'check_' . $check['type']}( $check ) : false; } /** * Report failure notice to the queue. * * @param array<string, mixed> $check_args Array of check arguments. * * @return void */ public function report_failure( $check_args ) { $this->failures[] = $check_args; } /** * Get a list of failures. * * @return array<int, array<string, mixed>> */ public function get_failures() { return $this->failures; } /** * Check PHP version against args. * * @param array<string, mixed> $check_args Array of args containing version requirement. * * @return bool */ public function check_php( $check_args ) { /** @var string $version */ $version = $check_args['version']; if ( false === version_compare( phpversion(), $version, '>=' ) ) { $this->report_failure( $check_args ); return false; } return true; } /** * Check plugin requirements. * * @param array<string, mixed> $check_args Array of args containing plugin requirements. * * @return bool */ public function check_plugin( $check_args ) { /** @var string $slug */ $slug = $check_args['slug']; $active = $this->plugin_is_active( $slug ); /** * The following checks are performed in this order for performance reasons. * * We start with most cached option, to least in hopes of a hit early. * * 1. If active and not checking version. * 2. If active and outdated. * 3. If not active and installed. * 4. If not installed */ if ( true === $active ) { // If required version is set & plugin is active, check that first. if ( isset( $check_args['version'] ) ) { /** @var string $required_version */ $required_version = $check_args['version']; $version = $this->get_plugin_data( $slug, 'Version' ); // If its higher than the required version, we can bail now > true. if ( version_compare( $version, $required_version, '>=' ) ) { return true; } else { // If not updated, report the failure and bail > false. $this->report_failure( array_merge( $check_args, [ // Report not_updated status. 'not_updated' => true, ] ) ); return false; } } else { // If the plugin is active, with no required version, were done > true. return true; } } /** @var bool $check_installed */ $check_installed = $check_args['check_installed']; if ( $check_installed ) { // Check if installed, if so the plugin is not activated. /** @var string $name */ $name = $check_args['name']; if ( $name === $this->get_plugin_data( $slug, 'Name' ) ) { $this->report_failure( array_merge( $check_args, [ // Report not_activated status. 'not_activated' => true, ] ) ); } else { $this->report_failure( array_merge( $check_args, [ // Report not_installed status. 'not_installed' => true, ] ) ); } } return false; } /** * Internally cached get_plugin_data/get_file_data wrapper. * * @param string $slug Plugins `folder/file.php` slug. * @param string|null $header Specific plugin header needed. * @return ($header is null ? array<string, string> : string|null) */ private function get_plugin_data( $slug, $header = null ) { if ( ! isset( static::$cache['get_plugin_data'][ $slug ] ) ) { $headers = \get_file_data( WP_PLUGIN_DIR . '/' . $slug, [ 'Name' => 'Plugin Name', 'Version' => 'Version', ], 'plugin' ); static::$cache['get_plugin_data'][ $slug ] = $headers; } $plugin_data = static::$cache['get_plugin_data'][ $slug ]; if ( empty( $header ) ) { return $plugin_data; } return isset( $plugin_data[ $header ] ) ? $plugin_data[ $header ] : null; } /** * Check if plugin is active. * * @param string $slug Slug to check for. * * @return bool */ protected function plugin_is_active( $slug ) { /** @var string[] $active_plugins */ $active_plugins = get_option( 'active_plugins', [] ); return in_array( $slug, $active_plugins, true ); } /** * Get php error message. * * @param array<string, mixed> $failed_check_args Check arguments containing version requirement. * * @return string */ public function get_php_message( $failed_check_args ) { /* translators: 1. PHP Version */ $message = __( 'This plugin requires <b>PHP %s</b> or higher in order to run.', 'popup-maker' ); /** @var string $version */ $version = $failed_check_args['version']; return sprintf( $message, $version ); } /** * Get plugin error message. * * @param array<string, mixed> $failed_check_args Plugin failure check arguments. * * @return string */ public function get_plugin_message( $failed_check_args ) { /** @var string $slug */ $slug = $failed_check_args['slug']; // Without file path. $short_slug = explode( '/', $slug ); $short_slug = $short_slug[0]; /** @var string $name */ $name = $failed_check_args['name']; /** @var string $dep_label */ $dep_label = $failed_check_args['dep_label']; if ( isset( $failed_check_args['not_activated'] ) ) { $url = esc_url( wp_nonce_url( admin_url( 'plugins.php?action=activate&plugin=' . $slug ), 'activate-plugin_' . $slug ) ); $link = '<a href="' . $url . '">' . __( 'activate it', 'popup-maker' ) . '</a>'; $text = sprintf( /* translators: 1. Plugin Name, 2. Required Plugin Name, 4. `activate it` link. */ __( 'The plugin "%1$s" requires %2$s! Please %3$s to continue!', 'popup-maker' ), $dep_label, '<strong>' . $name . '</strong>', $link ); } elseif ( isset( $failed_check_args['not_updated'] ) ) { $url = esc_url( wp_nonce_url( admin_url( 'update.php?action=upgrade-plugin&plugin=' . $slug ), 'upgrade-plugin_' . $slug ) ); $link = '<a href="' . $url . '">' . __( 'update it', 'popup-maker' ) . '</a>'; $text = sprintf( /* translators: 1. Plugin Name, 2. Required Plugin Name, 3. Version number, 4. `update it` link. */ __( 'The plugin "%1$s" requires %2$s v%3$s or higher! Please %4$s to continue!', 'popup-maker' ), $dep_label, '<strong>' . $name . '</strong>', '<strong>' . ( $failed_check_args['version'] ?? '' ) . '</strong>', $link ); } else { $url = esc_url( wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . $short_slug ), 'install-plugin_' . $short_slug ) ); $link = '<a href="' . $url . '">' . __( 'install it', 'popup-maker' ) . '</a>'; $text = sprintf( /* translators: 1. Plugin Name, 2. Required Plugin Name, 3. `install it` link. */ __( 'The plugin "%1$s" requires %2$s! Please %3$s to continue!', 'popup-maker' ), $dep_label, '<strong>' . $name . '</strong>', $link ); } return $text; } /** * Render needed admin notices. * * @return void */ public function render_notices() { foreach ( $this->failures as $failure ) { /** @var array{type: string} $failure */ $class = 'notice notice-error'; $message = method_exists( $this, 'get_' . $failure['type'] . '_message' ) ? $this->{'get_' . $failure['type'] . '_message'}( $failure ) : false; /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ printf( '<div class="%1$s"><p>%2$s</p></div>', esc_attr( $class ), $message ); } } } classes/Utils/Format.php 0000644 00000010424 15174671772 0011264 0 ustar 00 <?php /** * Format Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Utils_Format */ class PUM_Utils_Format { /** * Format timestamp based on specified format * * @param int|string $time Unix timestamp or date string * @param string $format Format type: 'U' for timestamp, 'human'/'human-readable' for readable format * @return ($format is 'human'|'human-readable' ? string : int|false) Formatted time or false on failure */ public static function time( $time, $format = 'U' ) { if ( ! PUM_Utils_Time::is_timestamp( $time ) ) { $time = strtotime( (string) $time ); if ( false === $time ) { return false; } } $time = (int) $time; switch ( $format ) { case 'human': case 'human-readable': return self::human_time( $time ); default: case 'U': return $time; } } /** * Format number based on specified format * * @param int|float|string $number Number to format * @param string $format Format type (currently only 'abbreviated' supported) * @return int|string Formatted number as integer for small values or string for abbreviated */ public static function number( $number, $format = '' ) { switch ( $format ) { default: case 'abbreviated': return self::abbreviated_number( $number ); } } /** * Convert the timestamp to a nice time format * * @param int $time Unix timestamp to format * @param int|null $current Current timestamp for comparison (defaults to current time) * @return string Human-readable time difference (filtered through WordPress) */ public static function human_time( $time, $current = null ) { if ( empty( $current ) ) { $current = time(); } $diff = (int) abs( $current - $time ); if ( $diff < 60 ) { $since = sprintf( /* translators: 1: Number of seconds. */ __( '%ss', 'popup-maker' ), $diff ); } elseif ( $diff < HOUR_IN_SECONDS ) { $mins = round( $diff / MINUTE_IN_SECONDS ); if ( $mins <= 1 ) { $mins = 1; } $since = sprintf( /* translators: 1: Number of minutes. */ __( '%smin', 'popup-maker' ), $mins ); } elseif ( $diff < DAY_IN_SECONDS && $diff >= HOUR_IN_SECONDS ) { $hours = round( $diff / HOUR_IN_SECONDS ); if ( $hours <= 1 ) { $hours = 1; } $since = sprintf( /* translators: 1: Number of hours. */ __( '%shr', 'popup-maker' ), $hours ); } elseif ( $diff < WEEK_IN_SECONDS && $diff >= DAY_IN_SECONDS ) { $days = round( $diff / DAY_IN_SECONDS ); if ( $days <= 1 ) { $days = 1; } $since = sprintf( /* translators: 1: Number of days. */ __( '%sd', 'popup-maker' ), $days ); } elseif ( $diff < MONTH_IN_SECONDS && $diff >= WEEK_IN_SECONDS ) { $weeks = round( $diff / WEEK_IN_SECONDS ); if ( $weeks <= 1 ) { $weeks = 1; } $since = sprintf( /* translators: 1: Number of weeks. */ __( '%sw', 'popup-maker' ), $weeks ); } else { $since = ''; } return apply_filters( 'pum_human_time_diff', $since, $diff, $time, $current ); } /** * K, M number formatting for large numbers * * @param int|float|string $n Number to abbreviate * @param non-empty-string $point Decimal point character * @param non-empty-string $sep Thousands separator character * @return int|string Returns 0 for negative or non-numeric values, formatted string for all positive values (e.g., "1.5K", "2.3M", "9,999") */ public static function abbreviated_number( $n, $point = '.', $sep = ',' ) { // Convert to float and validate $n = (float) $n; // Check if the conversion resulted in a valid number if ( ! is_numeric( $n ) || $n < 0 ) { return 0; } if ( $n < 10000 ) { return number_format( $n, 0, $point, $sep ); } $d = $n < 1000000 ? 1000 : 1000000; $f = round( $n / $d, 1 ); return number_format( $f, $f - intval( $f ) ? 1 : 0, $point, $sep ) . ( 1000 === $d ? 'K' : 'M' ); } /** * Strips line breaks, tabs & carriage returns from html. * * Used to prevent WP from adding <br> and <p> tags. * * @param string $str Input string to clean * @return string Cleaned string with whitespace removed */ public static function strip_white_space( $str = '' ) { return str_replace( [ "\t", "\r", "\n" ], '', $str ); } } classes/Utils/CSS.php 0000644 00000011450 15174671772 0010464 0 ustar 00 <?php /** * CSS Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Utils_CSS { /** * Converts hex color to RGB format * * @param mixed $hex Color value in hex format (accepts string, numeric, or array) * @param string $return_type Return format: 'array' for array<int, int>, 'rgb' for CSS string * @return ($return_type is 'array' ? array<int, int> : string) */ public static function hex2rgb( $hex = '#ffffff', $return_type = 'rgb' ) { // Handle invalid input types (null, false, objects, etc.) if ( ! is_string( $hex ) && ! is_numeric( $hex ) && ! is_array( $hex ) ) { $hex = '#ffffff'; } // Handle arrays by joining if ( is_array( $hex ) ) { $hex = implode( '', $hex ); } // Convert to string and remove hash $hex = str_replace( '#', '', (string) $hex ); // Validate hex format (3 or 6 valid hex characters only) if ( ! preg_match( '/^[0-9a-fA-F]{3}$|^[0-9a-fA-F]{6}$/', $hex ) ) { $hex = 'ffffff'; // Default to white for invalid hex } if ( strlen( $hex ) === 3 ) { $r = (int) hexdec( substr( $hex, 0, 1 ) . substr( $hex, 0, 1 ) ); $g = (int) hexdec( substr( $hex, 1, 1 ) . substr( $hex, 1, 1 ) ); $b = (int) hexdec( substr( $hex, 2, 1 ) . substr( $hex, 2, 1 ) ); } else { $r = (int) hexdec( substr( $hex, 0, 2 ) ); $g = (int) hexdec( substr( $hex, 2, 2 ) ); $b = (int) hexdec( substr( $hex, 4, 2 ) ); } $rgb = [ $r, $g, $b ]; if ( 'array' === $return_type ) { return $rgb; // returns an array with the rgb values } return 'rgb(' . implode( ',', $rgb ) . ')'; // returns the rgb values separated by commas } /** * Converts hex color to RGBA format with opacity * * @param mixed $hex Color value in hex format * @param int $opacity Opacity percentage (0-100) * @return string CSS RGBA color string */ public static function hex2rgba( $hex = '#ffffff', $opacity = 100 ) { $rgb = self::hex2rgb( $hex, 'array' ); $opacity = number_format( intval( $opacity ) / 100, 2 ); return 'rgba( ' . implode( ', ', $rgb ) . ', ' . $opacity . ' )'; } /** * Generates CSS border style string * * @param int $thickness Border thickness in pixels * @param string $style Border style (solid, dashed, dotted, etc.) * @param string $color Border color (hex, rgb, rgba, etc.) * @return string CSS border style string */ public static function border_style( $thickness = 1, $style = 'solid', $color = '#cccccc' ) { return "{$thickness}px {$style} {$color}"; } /** * Generates CSS box-shadow style string * * @param int $horizontal Horizontal offset in pixels * @param int $vertical Vertical offset in pixels * @param int $blur Blur radius in pixels * @param int $spread Spread radius in pixels * @param string $hex Shadow color in hex format * @param int<0, 100> $opacity Shadow opacity percentage (0-100) * @param 'yes'|'no' $inset Whether shadow is inset ('yes' or 'no') * @return string CSS box-shadow style string */ public static function box_shadow_style( $horizontal = 0, $vertical = 0, $blur = 0, $spread = 0, $hex = '#000000', $opacity = 50, $inset = 'no' ) { return "{$horizontal}px {$vertical}px {$blur}px {$spread}px " . self::hex2rgba( $hex, $opacity ) . ( 'yes' === $inset ? ' inset' : '' ); } /** * Generates CSS text-shadow style string * * @param int $horizontal Horizontal offset in pixels * @param int $vertical Vertical offset in pixels * @param int $blur Blur radius in pixels * @param string $hex Shadow color in hex format * @param int<0, 100> $opacity Shadow opacity percentage (0-100) * @return string CSS text-shadow style string */ public static function text_shadow_style( $horizontal = 0, $vertical = 0, $blur = 0, $hex = '#000000', $opacity = 50 ) { return "{$horizontal}px {$vertical}px {$blur}px " . self::hex2rgba( $hex, $opacity ); } /** * Generates CSS font style string * * @param int|string $size Font size (number for pixels, string for units) * @param int|string $weight Font weight (number or keyword like 'bold') * @param float|int|string $line_height Line height (number for pixels, string for relative) * @param string $family Font family name * @param string|null $style Font style (italic, normal, etc.) * @param string|null $variant Font variant (small-caps, etc.) * @return string CSS font shorthand property string */ public static function font_style( $size = 16, $weight = 300, $line_height = 1.2, $family = 'Times New Roman', $style = null, $variant = null ) { $size = is_int( $size ) ? "{$size}px" : $size; $line_height = is_int( $line_height ) ? "{$line_height}px" : $line_height; return str_replace( ' ', ' ', trim( "$style $variant $weight {$size}/{$line_height} \"$family\"" ) ); } } classes/Utils/Options.php 0000644 00000013171 15174671772 0011471 0 ustar 00 <?php /** * Options Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Utils_Options */ class PUM_Utils_Options { /** * Unique Prefix per plugin. * * @var string */ public static $prefix = 'popmake_'; /** * Keeps static copy of the options during runtime. * * @var array<string, string|int|bool|array<string, mixed>|null>|null */ private static $data; /** * Initialize Options on run. * * @param bool $force * @return void */ public static function init( $force = false ) { global $popmake_options; if ( ! isset( self::$data ) || $force ) { self::$data = self::get_all(); /** @deprecated 1.7.0 */ $popmake_options = self::$data; } } /** * Get Settings * * Retrieves all plugin settings * * @return array<string, string|int|bool|array<string, mixed>|null> settings */ public static function get_all() { $settings = get_option( self::$prefix . 'settings', [] ); if ( ! is_array( $settings ) ) { $settings = []; } /* @deprecated filter. */ $settings = apply_filters( 'popmake_get_settings', $settings ); return apply_filters( self::$prefix . 'get_options', $settings ); } /** * Get an option * * Looks to see if the specified setting exists, returns default if not * * @template T * @param string $key * @param T $default_value * * @return T */ public static function get( $key = '', $default_value = false ) { // Passive initialization. self::init(); $value = isset( self::$data[ $key ] ) ? self::$data[ $key ] : $default_value; return apply_filters( self::$prefix . 'get_option', $value, $key, $default_value ); } /** * Update an option * * Updates an setting value in both the db and the global variable. * Warning: Passing in an empty, false or null string value will remove * the key from the _options array. * * @param string $key The Key to update * @param string|int|bool|array<string, mixed>|null $value The value to set the key to * * @return bool True if updated, false if not. */ public static function update( $key = '', $value = false ) { // Passive initialization. self::init(); // If no key, exit if ( empty( $key ) ) { return false; } if ( empty( $value ) ) { $remove_option = self::delete( $key ); return $remove_option; } // First let's grab the current settings $options = get_option( self::$prefix . 'settings', [] ); // Let's let devs alter that value coming in $value = apply_filters( self::$prefix . 'update_option', $value, $key ); // Next let's try to update the value $options[ $key ] = $value; $did_update = update_option( self::$prefix . 'settings', $options ); // If it updated, let's update the global variable if ( $did_update ) { self::$data[ $key ] = $value; } return $did_update; } /** * Update the entire settings array from a new array. * * @param array<string, string|int|bool|array<string, mixed>|null> $new_options * * @return bool */ public static function update_all( $new_options = [] ) { // First let's grab the current settings $options = get_option( self::$prefix . 'settings' ); // Lets merge options that may exist previously that are not existing now. $new_options = wp_parse_args( $new_options, $options ); $did_update = update_option( self::$prefix . 'settings', $new_options ); // If it updated, let's update the global variable if ( $did_update ) { self::$data = $new_options; } return $did_update; } /** * Merge the new options into the settings array. * * @param array<string, string|int|bool|array<string, mixed>|null> $new_options * * @return bool */ public static function merge( $new_options = [] ) { $options = self::get_all(); // Merge new options. foreach ( $new_options as $key => $val ) { $options[ $key ] = ! empty( $val ) ? $val : false; } $did_update = update_option( self::$prefix . 'settings', $options ); // If it updated, let's update the global variable if ( $did_update ) { self::$data = $options; } return $did_update; } /** * Remove an option or multiple * * Removes a setting value in both the db and the global variable. * * @param string|array<int, string> $keys The Key/s to delete * * @return bool True if updated, false if not. */ public static function delete( $keys = '' ) { // Passive initialization. self::init(); // If no key, exit if ( empty( $keys ) ) { return false; } elseif ( is_string( $keys ) ) { $keys = [ $keys ]; } // First let's grab the current settings $options = get_option( self::$prefix . 'settings' ); // Remove each key/value pair. foreach ( $keys as $key ) { if ( isset( $options[ $key ] ) ) { unset( $options[ $key ] ); } } $did_update = update_option( self::$prefix . 'settings', $options ); // If it updated, let's update the global variable if ( $did_update ) { self::$data = $options; } return $did_update; } /** * Remaps option keys. * * @param array<string, string> $remap_array an array of $old_key => $new_key values. * * @return bool */ public static function remap_keys( $remap_array = [] ) { $options = self::get_all(); foreach ( $remap_array as $key => $new_key ) { if ( isset( $options[ $key ] ) ) { $options[ $new_key ] = $options[ $key ]; } unset( $options[ $key ] ); } $did_update = update_option( self::$prefix . 'settings', $options ); // If it updated, let's update the global variable if ( $did_update ) { self::$data = $options; } return $did_update; } } classes/Utils/Shortcodes.php 0000644 00000007130 15174671772 0012151 0 ustar 00 <?php /** * Shortcodes helper class. * * @since 1.21.0 * @package PUM * @copyright Copyright (c) 2020, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Utils_Shortcodes */ class PUM_Utils_Shortcodes { /** * Process do_shortcode without allowing printed side effects. * * @param string $shortcode_text Unprocessed string with shortcodes. * * @return string Processed shortcode content */ public static function clean_do_shortcode( $shortcode_text = '' ) { ob_start(); $content = do_shortcode( $shortcode_text ); $ob_content = ob_get_clean(); if ( ! empty( $ob_content ) ) { $content .= $ob_content; } return $content; } /** * Extract shortcodes from content. * * @param string $content Content containing shortcodes. * * @return array<int, array{ * full_text: string, * tag: string, * atts: array<string, string|bool>, * content: string, * token: string * }> Array of shortcodes found with structured data */ public static function get_shortcodes_from_content( $content ) { $pattern = get_shortcode_regex(); $shortcodes = []; if ( preg_match_all( '/' . $pattern . '/s', $content, $matches ) ) { foreach ( $matches[0] as $key => $value ) { $tag = $matches[2][ $key ]; $atts = shortcode_parse_atts( $matches[3][ $key ] ); $content = $matches[5][ $key ]; $shortcodes[ $key ] = [ 'full_text' => $value, 'tag' => $tag, 'atts' => $atts, 'content' => $content, 'token' => self::tokenize_shortcode( $tag, $atts, $content ), ]; if ( ! empty( $shortcodes[ $key ]['atts'] ) ) { foreach ( $shortcodes[ $key ]['atts'] as $attr_name => $attr_value ) { // Filter numeric keys as they are valueless/truthy attributes. if ( is_numeric( $attr_name ) ) { $shortcodes[ $key ]['atts'][ $attr_value ] = true; unset( $shortcodes[ $key ]['atts'][ $attr_name ] ); } } } } } return $shortcodes; } /** * Find specific shortcodes from given content. * * @param string $content Content containing shortcodes. * @param string|string[] $shortcode_tags Shortcode tags to look for. * * @return array<int, array{ * full_text: string, * tag: string, * atts: array<string, string|bool>, * content: string, * token: string * }> Array of matching shortcodes with structured data */ public static function find_shortcodes_in_content( $content, $shortcode_tags = [] ) { if ( ! is_array( $shortcode_tags ) ) { $shortcode_tags = array_map( 'trim', explode( ',', $shortcode_tags ) ); } $shortcodes = self::get_shortcodes_from_content( $content ); foreach ( $shortcodes as $key => $shortcode ) { if ( ! in_array( $shortcode['tag'], $shortcode_tags, true ) ) { unset( $shortcodes[ $key ] ); } } return $shortcodes; } /** * Returns a string token for a given shortcode. * * @param string $tag Shortcode tag. * @param array<string, string|bool>|string $atts Array of shortcode attributes or attribute string. * @param string $content Shortcodes inner content. * * @return string MD5 hash token for the shortcode */ public static function tokenize_shortcode( $tag, $atts = [], $content = '' ) { if ( ! is_array( $atts ) ) { $atts = shortcode_parse_atts( $atts ); } /** * Sort attributes so we get a uniform outcome. */ ksort( $atts ); $atts = wp_json_encode( $atts ); /** * Stringify and hash the tag & atts. */ return md5( "$tag-$atts-$content" ); } } classes/Utils/Time.php 0000644 00000001453 15174671772 0010734 0 ustar 00 <?php /** * Time Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Utils_Time */ class PUM_Utils_Time { /** * Check if a value is a valid Unix timestamp. * * Validates whether the input represents a valid Unix timestamp. * A valid timestamp must be a positive integer (as string or int). * Unix timestamps are positive integers representing seconds since 1970-01-01 00:00:00 UTC. * * @param int|string $timestamp Value to check for timestamp validity (accepts numeric strings) * @return bool True if the value is a valid Unix timestamp, false otherwise */ public static function is_timestamp( $timestamp ) { return ( 1 === preg_match( '~^[1-9][0-9]*$~', (string) $timestamp ) ); } } classes/Utils/Config.php 0000644 00000001340 15174671772 0011236 0 ustar 00 <?php /** * Config Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Utils_Config */ class PUM_Utils_Config { /** * Load configuration file * * @param string $file_name Configuration file name (without .php extension) * @return array<string, mixed> Configuration array or empty array if file not found */ public static function load( $file_name ) { $file_name = str_replace( '\\', DIRECTORY_SEPARATOR, $file_name ); $file = plugin_dir_path( __DIR__ ) . DIRECTORY_SEPARATOR . 'configs' . DIRECTORY_SEPARATOR . $file_name . '.php'; if ( ! file_exists( $file ) ) { return []; } return include $file; } } classes/Utils/I10n.php 0000644 00000012733 15174671772 0010550 0 ustar 00 <?php /** * Utility for I10n * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Utils_I10n */ class PUM_Utils_I10n { /** * Fetches translation status data from WordPress.org API. * * Stores it for 1 week. Returns empty array on API failures. * * @return array<string, array{ * language: string, * native_name: string, * english_name: string, * iso: string[], * version: string, * updated: string, * package: string, * autoupdate: bool * }>|array{} Translation data keyed by language code or empty array on error */ public static function translation_status() { $translations = get_transient( 'pum_alerts_translation_status' ); if ( ! $translations ) { $response = wp_remote_get( 'https://api.wordpress.org/translations/plugins/1.0/?slug=popup-maker&version=' . Popup_Maker::$VER ); // Check for WP_Error from wp_remote_get(). if ( is_wp_error( $response ) ) { return []; } // Validate HTTP response code. $response_code = wp_remote_retrieve_response_code( $response ); if ( 200 !== $response_code ) { return []; } // Get response body safely. $response_body_raw = wp_remote_retrieve_body( $response ); if ( empty( $response_body_raw ) ) { return []; } // Safely decode JSON. $response_body = json_decode( $response_body_raw, true ); if ( null === $response_body || ! is_array( $response_body ) ) { return []; } // Ensure translations key exists and is array. if ( ! isset( $response_body['translations'] ) || ! is_array( $response_body['translations'] ) ) { return []; } $translations = $response_body['translations']; set_transient( 'pum_alerts_translation_status', $translations, 604800 ); } // Ensure $translations is array before processing. if ( ! is_array( $translations ) ) { return []; } $ret = []; foreach ( $translations as $translation ) { // Validate translation structure before accessing. if ( is_array( $translation ) && isset( $translation['language'] ) && is_string( $translation['language'] ) ) { $ret[ $translation['language'] ] = $translation; } } return $ret; } /** * Get locales matching the HTTP accept language header. * * @return string[] List of locales, empty array if none found */ public static function get_non_en_accepted_wp_locales_from_header() { $res = []; $http_locales = self::get_http_locales(); if ( empty( $http_locales ) ) { return $res; } // Process locales if available. foreach ( $http_locales as $http_locale ) { $http_locale = explode( '-', $http_locale ); $lang = $http_locale[0]; $region = ! empty( $http_locale[1] ) ? $http_locale[1] : null; if ( is_null( $region ) ) { $region = $lang; } /* * Discard English -- it's the default for all browsers, * ergo not very reliable information */ if ( 'en' === $lang ) { continue; } // Region should be uppercase. $region = strtoupper( $region ); $mapped = self::map_locale( $lang, $region ); if ( $mapped ) { $res[] = $mapped; } } $res = array_unique( $res ); return $res; } /** * Get available WordPress translations. * * @return array<string, array{ * language: string, * native_name: string, * english_name: string, * iso: string[], * strings?: array<string, string> * }> Available translations keyed by locale */ public static function available_locales() { static $available_locales; if ( ! isset( $available_locales ) ) { if ( ! function_exists( 'wp_get_available_translations' ) ) { $translation_install_path = ABSPATH . 'wp-admin/includes/translation-install.php'; if ( file_exists( $translation_install_path ) ) { require_once $translation_install_path; } } $available_locales = wp_get_available_translations(); } return $available_locales; } /** * Tries to map a lang/region pair to one of our locales. * * @param string $lang Lang part of the HTTP accept header. * @param string $region Region part of the HTTP accept header. * * @return string|false Our locale matching $lang and $region, false otherwise. */ public static function map_locale( $lang, $region ) { $uregion = strtoupper( $region ); $ulang = strtoupper( $lang ); $variants = [ "$lang-$region", "{$lang}_$region", "$lang-$uregion", "{$lang}_$uregion", "{$lang}_$ulang", $lang, ]; $available_locales = self::available_locales(); $available_locales = array_keys( $available_locales ); foreach ( $variants as $variant ) { if ( in_array( $variant, $available_locales, true ) ) { return $variant; } } foreach ( $available_locales as $locale ) { $locale_parts = preg_split( '/[_-]/', $locale ); if ( false !== $locale_parts && ! empty( $locale_parts ) ) { $locale_lang = $locale_parts[0]; if ( $lang === $locale_lang ) { return $locale; } } } return false; } /** * Given a HTTP Accept-Language header returns all the locales in it. * * @return string[] Matched locales. */ public static function get_http_locales() { $locale_part_re = '[a-z]{2,}'; $locale_re = "($locale_part_re(\-$locale_part_re)?)"; if ( preg_match_all( "/$locale_re/i", isset( $_SERVER['HTTP_ACCEPT_LANGUAGE'] ) ? sanitize_key( wp_unslash( $_SERVER['HTTP_ACCEPT_LANGUAGE'] ) ) : '', $matches ) ) { return $matches[0]; } else { return []; } } } classes/Utils/Upgrades.php 0000644 00000045260 15174671772 0011614 0 ustar 00 <?php /** * Upgrades Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Handles processing of data migration & upgrade routines. */ class PUM_Utils_Upgrades { /** * @var PUM_Upgrade_Registry */ protected $registry; /** * @var self|null */ public static $instance; /** * Popup Maker version. * * @var string */ public static $version; /** * Popup Maker upgraded from version. * * @var string */ public static $upgraded_from; /** * Popup Maker initial version. * * @var string */ public static $initial_version; /** * Popup Maker db version. * * @var string|false */ public static $db_version; /** * Popup Maker install date. * * @var string */ public static $installed_on; /** * Gets everything going with a singleton instance. * * @return self */ public static function instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Sets up the Upgrades class instance. */ public function __construct() { // Here for backwards compatibility. Now using common API. self::$version = \PopupMaker\get_current_install_info( 'version' ); self::$installed_on = \PopupMaker\get_current_install_info( 'installed_on' ); self::$initial_version = \PopupMaker\get_current_install_info( 'initial_version' ); self::$upgraded_from = \PopupMaker\get_current_install_info( 'upgraded_from' ); self::$db_version = get_option( 'pum_db_ver' ); // TODO When we refactor data migrations, this will be removed. // If no current db version, but prior install detected, set db version correctly. // Here for backward compatibility. if ( ! self::$db_version || self::$db_version < Popup_Maker::$DB_VER ) { self::$db_version = (string) Popup_Maker::$DB_VER; update_option( 'pum_db_ver', self::$db_version ); } // Render upgrade admin notices. add_filter( 'pum_alert_list', [ $this, 'upgrade_alert' ] ); // Add Upgrade tab to Tools page when upgrades available. add_filter( 'pum_tools_tabs', [ $this, 'tools_page_tabs' ] ); // Render tools page upgrade tab content. add_action( 'pum_tools_page_tab_upgrades', [ $this, 'tools_page_tab_content' ] ); // Ajax upgrade handler. add_action( 'wp_ajax_pum_process_upgrade_request', [ $this, 'process_upgrade_request' ] ); // Register core upgrades. add_action( 'pum_register_upgrades', [ $this, 'register_processes' ] ); // Initiate the upgrade registry. Must be done after versions update for proper comparisons. $this->registry = PUM_Upgrade_Registry::instance(); } /** * Register core upgrade processes. * * @param PUM_Upgrade_Registry $registry The upgrade registry instance. * @return void */ public function register_processes( PUM_Upgrade_Registry $registry ) { // v1.7 Upgrades $registry->add_upgrade( 'core-v1_7-popups', [ 'rules' => [ version_compare( self::$initial_version, '1.7', '<' ), ], 'class' => 'PUM_Upgrade_v1_7_Popups', 'file' => Popup_Maker::$DIR . 'includes/batch/upgrade/class-upgrade-v1_7-popups.php', ] ); $registry->add_upgrade( 'core-v1_7-settings', [ 'rules' => [ version_compare( self::$initial_version, '1.7', '<' ), ], 'class' => 'PUM_Upgrade_v1_7_Settings', 'file' => Popup_Maker::$DIR . 'includes/batch/upgrade/class-upgrade-v1_7-settings.php', ] ); $registry->add_upgrade( 'core-v1_8-themes', [ 'rules' => [ $this->needs_v1_8_theme_upgrade(), ], 'class' => 'PUM_Upgrade_v1_8_Themes', 'file' => Popup_Maker::$DIR . 'includes/batch/upgrade/class-upgrade-v1_8-themes.php', ] ); } /** * Check if v1.8 theme upgrade is needed. * * @return bool True if upgrade is needed, false otherwise. */ public function needs_v1_8_theme_upgrade() { if ( pum_has_completed_upgrade( 'core-v1_8-themes' ) ) { return false; } $needs_upgrade = get_transient( 'pum_needs_1_8_theme_upgrades' ); if ( false === $needs_upgrade ) { $query = new WP_Query( [ 'post_type' => 'popup_theme', 'post_status' => 'any', 'fields' => 'ids', // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query 'meta_query' => [ 'relation' => 'OR', [ 'key' => 'popup_theme_data_version', 'compare' => 'NOT EXISTS', 'value' => 'deprecated', // Here for WP 3.9 or less. ], [ 'key' => 'popup_theme_data_version', 'compare' => '<', 'value' => 3, ], ], ] ); $needs_upgrade = $query->post_count; } if ( $needs_upgrade <= 0 ) { pum_set_upgrade_complete( 'core-v1_8-themes' ); delete_transient( 'pum_needs_1_8_theme_upgrades' ); return false; } set_transient( 'pum_needs_1_8_theme_upgrades', $needs_upgrade ); return (bool) $needs_upgrade; } /** * Registers a new upgrade routine. * * @param string $upgrade_id Upgrade ID. * @param array $args Arguments for registering a new upgrade routine. { * @type bool[] $rules Upgrade rules. * @type string $class Upgrade class name. * @type string $file Upgrade file path. * } * * @return bool True if the upgrade routine was added, otherwise false. */ public function add_routine( $upgrade_id, $args ) { return $this->registry->add_upgrade( $upgrade_id, $args ); } /** * Displays upgrade notices. * * @return void */ public function upgrade_notices() { if ( ! $this->has_uncomplete_upgrades() || ! current_user_can( 'manage_options' ) ) { return; } // Enqueue admin JS for the batch processor. wp_enqueue_script( 'pum-admin-batch' ); wp_enqueue_style( 'pum-admin-batch' ); ?> <div class="notice notice-info is-dismissible"> <?php $this->render_upgrade_notice(); ?> <?php $this->render_form(); ?> </div> <?php } /** * Add upgrade alert to the alerts list. * * @param array $alerts Current alerts list. { * @type string $code Alert code. * @type string $type Alert type. * @type string $html Alert HTML. * @type int $priority Alert priority. * @type bool $dismissible Dismissible setting. * @type bool $global Global alert. * } * * @return array<int, array{ * code: string, * type: string, * html: string, * priority: int, * dismissible: bool, * global: bool * }> Updated alerts list. */ public function upgrade_alert( $alerts = [] ) { if ( ! $this->has_uncomplete_upgrades() || ! current_user_can( 'manage_options' ) ) { return $alerts; } // Enqueue admin JS for the batch processor. wp_enqueue_script( 'pum-admin-batch' ); wp_enqueue_style( 'pum-admin-batch' ); ob_start(); $this->render_upgrade_notice(); $this->render_form(); $html = ob_get_clean(); $alerts[] = [ 'code' => 'upgrades_required', 'type' => 'warning', 'html' => $html, 'priority' => 1000, 'dismissible' => false, 'global' => true, ]; return $alerts; } /** * Renders the upgrade notification message. * * Message only, no form. * * @return void */ public function render_upgrade_notice() { $resume_upgrade = $this->maybe_resume_upgrade(); ?> <p class="pum-upgrade-notice"> <?php if ( empty( $resume_upgrade ) ) { ?> <strong><?php esc_html_e( 'The latest version of Popup Maker requires changes to the Popup Maker settings saved on your site.', 'popup-maker' ); ?></strong> <?php } else { esc_html_e( 'Popup Maker needs to complete a the update of your settings that was previously started.', 'popup-maker' ); } ?> </p> <?php } /** * Renders the upgrade processing form for reuse. * * @return void */ public function render_form() { $args = [ 'upgrade_id' => $this->get_current_upgrade_id(), 'step' => 1, ]; $resume_upgrade = $this->maybe_resume_upgrade(); if ( $resume_upgrade && is_array( $resume_upgrade ) ) { $args = wp_parse_args( $resume_upgrade, $args ); } ?> <form method="post" class="pum-form pum-batch-form pum-upgrade-form" data-ays="<?php esc_attr_e( 'This can sometimes take a few minutes, are you ready to begin?', 'popup-maker' ); ?>" data-upgrade_id="<?php echo esc_attr( $args['upgrade_id'] ); ?>" data-step="<?php echo (int) $args['step']; ?>" data-nonce="<?php echo esc_attr( wp_create_nonce( 'pum_upgrade_ajax_nonce' ) ); ?>"> <div class="pum-field pum-field-button pum-field-submit"> <p> <small><?php esc_html_e( 'The button below will process these changes automatically for you.', 'popup-maker' ); ?></small> </p> <?php submit_button( ! empty( $resume_upgrade ) ? __( 'Finish Upgrades', 'popup-maker' ) : __( 'Process Changes', 'popup-maker' ), 'secondary', 'submit', false ); ?> </div> <div class="pum-batch-progress"> <progress class="pum-overall-progress" max="100"> <div class="progress-bar"><span></span></div> </progress> <progress class="pum-task-progress" max="100"> <div class="progress-bar"><span></span></div> </progress> <div class="pum-upgrade-messages"></div> </div> </form> <?php } /** * Check if there's a partial upgrade that needs to be resumed. * * For use when doing 'stepped' upgrade routines, to see if we need to start somewhere in the middle. * * @return array{ * upgrade_id: string, * step: int * }|false When nothing to resume returns false, otherwise returns upgrade state data. */ public function maybe_resume_upgrade() { $doing_upgrade = get_option( 'pum_doing_upgrade', [] ); if ( empty( $doing_upgrade ) ) { return false; } return (array) $doing_upgrade; } /** * Retrieves an upgrade routine from the registry. * * @param string $upgrade_id Upgrade ID. * * @return array{ * rules: bool[], * class: string, * file: string * }|false Upgrade entry from the registry, otherwise false. */ public function get_routine( $upgrade_id ) { return $this->registry->get( $upgrade_id ); } /** * Get all upgrade routines. * * Note: Unfiltered. * * @return array<string, array{ * rules: bool[], * class: string, * file: string * }> Associative array of upgrade ID => upgrade data. */ public function get_routines() { return $this->registry->get_upgrades(); } /** * Adds an upgrade action to the completed upgrades array. * * @param string $upgrade_id The action to add to the completed upgrades array. * * @return bool True if the upgrade was successfully marked complete, false otherwise. */ public function set_upgrade_complete( $upgrade_id = '' ) { if ( empty( $upgrade_id ) ) { return false; } $completed_upgrades = $this->get_completed_upgrades(); if ( ! in_array( $upgrade_id, $completed_upgrades, true ) ) { $completed_upgrades[] = $upgrade_id; do_action( 'pum_set_upgrade_complete', $upgrade_id ); } // Remove any blanks, and only show uniques $completed_upgrades = array_unique( array_values( $completed_upgrades ) ); return update_option( 'pum_completed_upgrades', $completed_upgrades ); } /** * Get's the array of completed upgrade actions. * * @return array<int, string> The array of completed upgrade IDs. */ public function get_completed_upgrades() { $completed_upgrades = get_option( 'pum_completed_upgrades' ); if ( false === $completed_upgrades ) { $completed_upgrades = []; update_option( 'pum_completed_upgrades', $completed_upgrades ); } return get_option( 'pum_completed_upgrades', [] ); } /** * Check if the upgrade routine has been run for a specific action. * * @param string $upgrade_id The upgrade action to check completion for. * * @return bool True if the action has been completed, false otherwise. */ public function has_completed_upgrade( $upgrade_id = '' ) { if ( empty( $upgrade_id ) ) { return false; } $completed_upgrades = $this->get_completed_upgrades(); return in_array( $upgrade_id, $completed_upgrades, true ); } /** * Check if there are uncompleted upgrades available. * * @return bool True if upgrades are needed, false otherwise. */ public function has_uncomplete_upgrades() { return (bool) count( $this->get_uncompleted_upgrades() ); } /** * Returns array of uncompleted upgrades. * * This doesn't return an upgrade if: * - It was previously complete. * - If any false values in the upgrades $rules array are found. * * @return array<string, array{ * rules: bool[], * class: string, * file: string * }> Associative array of upgrade ID => upgrade data. */ public function get_uncompleted_upgrades() { $required_upgrades = $this->get_routines(); foreach ( $required_upgrades as $upgrade_id => $upgrade ) { // If the upgrade has already completed or one of the rules failed remove it from the list. if ( $this->has_completed_upgrade( $upgrade_id ) || in_array( false, $upgrade['rules'], true ) ) { unset( $required_upgrades[ $upgrade_id ] ); } } return $required_upgrades; } /** * Handles Ajax for processing an upgrade request. * * @return void */ public function process_upgrade_request() { $upgrade_id = isset( $_REQUEST['upgrade_id'] ) ? sanitize_key( $_REQUEST['upgrade_id'] ) : false; if ( ! $upgrade_id && ! $this->has_uncomplete_upgrades() ) { wp_send_json_error( [ 'error' => __( 'A batch process ID must be present to continue.', 'popup-maker' ), ] ); } // Nonce. if ( ! check_ajax_referer( 'pum_upgrade_ajax_nonce', 'nonce' ) ) { wp_send_json_error( [ 'error' => __( 'You do not have permission to initiate this request. Contact an administrator for more information.', 'popup-maker' ), ] ); } if ( ! $upgrade_id ) { $upgrade_id = $this->get_current_upgrade_id(); } $step = ! empty( $_REQUEST['step'] ) ? absint( $_REQUEST['step'] ) : 1; /** * Instantiate the upgrade class. * * @var PUM_Interface_Batch_Process|PUM_Interface_Batch_PrefetchProcess $upgrade */ $upgrade = $this->get_upgrade( $upgrade_id, $step ); if ( false === $upgrade ) { wp_send_json_error( [ 'error' => sprintf( /* translators: 1: Batch process ID. */ __( '%s is an invalid batch process ID.', 'popup-maker' ), esc_html( $upgrade_id ) ), ] ); } /** * Garbage collect any old temporary data in the case step is 1. * Here to prevent case ajax passes step 1 without resetting process counts. */ $first_step = $step < 2; if ( $first_step ) { $upgrade->finish(); } $using_prefetch = ( $upgrade instanceof PUM_Interface_Batch_PrefetchProcess ); // Handle pre-fetching data. if ( $using_prefetch ) { // Initialize any data needed to process a step. $data = isset( $_REQUEST['form'] ) ? sanitize_key( $_REQUEST['form'] ) : []; $upgrade->init( $data ); $upgrade->pre_fetch(); } /** @var int|string|WP_Error $step */ $step = $upgrade->process_step(); if ( ! is_wp_error( $step ) ) { $response_data = [ 'step' => $step, 'next' => null, ]; // Finish and set the status flag if done. if ( 'done' === $step ) { $response_data['done'] = true; $response_data['message'] = $upgrade->get_message( 'done' ); // Once all calculations have finished, run cleanup. $upgrade->finish(); // Set the upgrade complete. pum_set_upgrade_complete( $upgrade_id ); if ( $this->has_uncomplete_upgrades() ) { // Since the other was complete return the next (now current) upgrade_id. $response_data['next'] = $this->get_current_upgrade_id(); } } else { $response_data['done'] = false; $response_data['message'] = $first_step ? $upgrade->get_message( 'start' ) : ''; $response_data['percentage'] = $upgrade->get_percentage_complete(); } wp_send_json_success( $response_data ); } else { wp_send_json_error( $step ); } } /** * Returns the first key in the uncompleted upgrades. * * @return string|null The upgrade ID or null if no upgrades pending. */ public function get_current_upgrade_id() { $upgrades = $this->get_uncompleted_upgrades(); reset( $upgrades ); return key( $upgrades ); } /** * Returns the current upgrade processor instance. * * @return PUM_Interface_Batch_Process|PUM_Interface_Batch_PrefetchProcess|false False if no upgrade found. */ public function get_current_upgrade() { $upgrade_id = $this->get_current_upgrade_id(); return $this->get_upgrade( $upgrade_id ); } /** * Gets the upgrade process object. * * @param string $upgrade_id The upgrade identifier. * @param int $step The current step number. * * @return PUM_Interface_Batch_Process|PUM_Interface_Batch_PrefetchProcess|false The upgrade processor instance or false if not found. */ public function get_upgrade( $upgrade_id = '', $step = 1 ) { $upgrade = $this->registry->get( $upgrade_id ); if ( ! $upgrade ) { return false; } $class = isset( $upgrade['class'] ) ? sanitize_text_field( $upgrade['class'] ) : ''; $class_file = isset( $upgrade['file'] ) ? $upgrade['file'] : ''; if ( ! class_exists( $class ) && ! empty( $class_file ) && file_exists( $class_file ) ) { require_once $class_file; } else { wp_send_json_error( [ 'error' => sprintf( /* translators: 1: Batch process ID. */ __( 'An invalid file path is registered for the %1$s batch process handler.', 'popup-maker' ), "<code>{$upgrade_id}</code>" ), ] ); } if ( empty( $class ) || ! class_exists( $class ) ) { wp_send_json_error( [ 'error' => sprintf( /* translators: 1: Class name, 2: Batch process ID. */ __( '%1$s is an invalid handler for the %2$s batch process. Please try again.', 'popup-maker' ), "<code>{$class}</code>", "<code>{$upgrade_id}</code>" ), ] ); } /** * @var PUM_Interface_Batch_Process|PUM_Interface_Batch_PrefetchProcess */ return new $class( $step ); } /** * Add upgrades tab to tools page if there are upgrades available. * * @param array<string, string> $tabs Existing tabs array where key is tab ID and value is tab label. * * @return array<string, string> Updated tabs array. */ public function tools_page_tabs( $tabs = [] ) { if ( $this->has_uncomplete_upgrades() ) { $tabs['upgrades'] = __( 'Upgrades', 'popup-maker' ); } return $tabs; } /** * Renders upgrade form on the tools page upgrade tab. * * @return void */ public function tools_page_tab_content() { if ( ! $this->has_uncomplete_upgrades() ) { esc_html_e( 'No upgrades currently required.', 'popup-maker' ); return; } // Enqueue admin JS for the batch processor. wp_enqueue_script( 'pum-admin-batch' ); wp_enqueue_style( 'pum-admin-batch' ); $this->render_upgrade_notice(); $this->render_form(); } } classes/Utils/Sanitize.php 0000644 00000003323 15174671772 0011622 0 ustar 00 <?php /** * Sanitize Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * Class PUM_Utils_Sanitize */ class PUM_Utils_Sanitize { /** * Sanitize text field input * * @param string $value Input value to sanitize * @param mixed[] $args Configuration arguments (unused in current implementation) * @return string Sanitized text field value */ public static function text( $value = '', $args = [] ) { return sanitize_text_field( $value ); } /** * Sanitize checkbox input to boolean integer values * * @param mixed $value Input value to evaluate as checkbox * @param mixed[] $args Configuration arguments (unused in current implementation) * @return int<0, 1> Returns 1 for checked (truthy) values, 0 for unchecked */ public static function checkbox( $value = null, $args = [] ) { if ( intval( $value ) === 1 ) { return 1; } return 0; } /** * Sanitize measurement value with optional unit suffix * * @param string $value Base measurement value * @param array{id?: string} $args Configuration arguments containing optional field ID * @param mixed[] $fields Field definitions (unused in current implementation) * @param array<string, mixed> $values Form values array containing potential unit suffix * @return string Sanitized measurement value with unit suffix if available */ public static function measure( $value = '', $args = [], $fields = [], $values = [] ) { if ( isset( $args['id'] ) && isset( $values[ $args['id'] . '_unit' ] ) ) { $value .= $values[ $args['id'] . '_unit' ]; } return sanitize_text_field( $value ); } } classes/Utils/Array.php 0000644 00000036423 15174671772 0011121 0 ustar 00 <?php /** * Array Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Utils_Array * * Various functions to help manipulating arrays. */ class PUM_Utils_Array { /** * Filters out null values. * * @param array<mixed> $arr * @return array<mixed> */ public static function filter_null( $arr = [] ) { return array_filter( $arr, [ __CLASS__, 'filter_null_callback' ] ); } /** * Callback for filtering null values. * * @param mixed $val * @return bool */ public static function filter_null_callback( $val = null ) { return isset( $val ); } /** * Clean variables using sanitize_text_field. * * @param array<string, mixed>|string $str_or_arr * @return array<string, mixed>|string */ public static function sanitize( $str_or_arr ) { if ( is_string( $str_or_arr ) ) { return sanitize_text_field( $str_or_arr ); } return array_map( [ __CLASS__, 'sanitize' ], (array) $str_or_arr ); } /** * Helper function to move or swap array keys in various ways. * * PUM_Utils_Array::move_item($arr, 'move me', 'up'); //move it one up * PUM_Utils_Array::move_item($arr, 'move me', 'down'); //move it one down * PUM_Utils_Array::move_item($arr, 'move me', 'top'); //move it to top * PUM_Utils_Array::move_item($arr, 'move me', 'bottom'); //move it to bottom * * PUM_Utils_Array::move_item($arr, 'move me', -1); //move it one up * PUM_Utils_Array::move_item($arr, 'move me', 1); //move it one down * PUM_Utils_Array::move_item($arr, 'move me', 2); //move it two down * * PUM_Utils_Array::move_item($arr, 'move me', 'before', 'b'); //move it before ['b'] * PUM_Utils_Array::move_item($arr, 'move me', 'up', 'b'); //move it before ['b'] * PUM_Utils_Array::move_item($arr, 'move me', -1, 'b'); //move it before ['b'] * PUM_Utils_Array::move_item($arr, 'move me', 'after', 'b'); //move it after ['b'] * PUM_Utils_Array::move_item($arr, 'move me', 'down', 'b'); //move it after ['b'] * PUM_Utils_Array::move_item($arr, 'move me', 1, 'b'); //move it after ['b'] * PUM_Utils_Array::move_item($arr, 'move me', 2, 'b'); //move it two positions after ['b'] * * Special syntax, to swap two elements: * PUM_Utils_Array::move_item($arr, 'a', 0, 'd'); //Swap ['a'] with ['d'] * PUM_Utils_Array::move_item($arr, 'a', 'swap', 'd'); //Swap ['a'] with ['d'] * * @param array<string, mixed> $ref_arr * @param string $key1 * @param int|string $move * @param string|null $key2 * @return bool */ public static function move_item( &$ref_arr, $key1, $move, $key2 = null ) { $arr = $ref_arr; if ( null === $key2 ) { $key2 = $key1; } if ( ! isset( $arr[ $key1 ] ) || ! isset( $arr[ $key2 ] ) ) { return false; } $i = 0; foreach ( $arr as &$val ) { ++$i; $val = [ 'sort' => ( $i * 10 ), 'val' => $val, ]; } // Add a quick keyword `swap` to make syntax simpler to remember. if ( 'swap' === $move ) { $move = 0; } if ( is_numeric( $move ) ) { if ( 0 === $move && $key1 === $key2 ) { return true; } elseif ( 0 === $move ) { $tmp = $arr[ $key1 ]['sort']; $arr[ $key1 ]['sort'] = $arr[ $key2 ]['sort']; $arr[ $key2 ]['sort'] = $tmp; } else { $arr[ $key1 ]['sort'] = $arr[ $key2 ]['sort'] + ( $move * 10 + ( $key1 === $key2 ? ( $move < 0 ? - 5 : 5 ) : 0 ) ); } } else { switch ( $move ) { case 'up': case 'before': $arr[ $key1 ]['sort'] = $arr[ $key2 ]['sort'] - ( $key1 === $key2 ? 15 : 5 ); break; case 'down': case 'after': $arr[ $key1 ]['sort'] = $arr[ $key2 ]['sort'] + ( $key1 === $key2 ? 15 : 5 ); break; case 'top': $arr[ $key1 ]['sort'] = 5; break; case 'bottom': $arr[ $key1 ]['sort'] = $i * 10 + 5; break; default: return false; } } uasort( $arr, [ __CLASS__, 'sort_by_sort' ] ); foreach ( $arr as &$val ) { $val = $val['val']; } $ref_arr = $arr; return true; } /** * Pluck all array keys beginning with string. * * @param array<string, mixed> $arr * @param bool|string|string[] $strings * @return array<string, mixed> */ public static function pluck_keys_starting_with( $arr, $strings = [] ) { $to_be_removed = self::remove_keys_starting_with( $arr, $strings ); return array_diff_key( $arr, $to_be_removed ); } /** * Pluck all array keys ending with string. * * @param array<string, mixed> $arr * @param bool|string|string[] $strings * @return array<string, mixed> */ public static function pluck_keys_ending_with( $arr, $strings = [] ) { $to_be_removed = self::remove_keys_ending_with( $arr, $strings ); return array_diff_key( $arr, $to_be_removed ); } /** * Extract only allowed keys from an array. * * @param array<string, mixed> $arr Array to be extracted from. * @param string[] $allowed_keys List of keys. * @return array<string, mixed> */ public static function allowed_keys( $arr, $allowed_keys = [] ) { return array_intersect_key( $arr, array_flip( $allowed_keys ) ); } /** * This works exactly the same as wp_parse_args, except we remove unused keys for sanitization. * * @param array<string, mixed> $arr Array to be parsed. * @param array<string, mixed> $allowed_args Array of key=>defaultValue pairs for each allowed argument. * * @return array<string, mixed> */ public static function parse_allowed_args( $arr, $allowed_args = [] ) { $arr = wp_parse_args( $arr, $allowed_args ); return self::allowed_keys( $arr, array_keys( $allowed_args ) ); } /** * Pluck specified array keys. * * @param array<string, mixed> $arr * @param string[] $keys * @return array<string, mixed> */ public static function pluck( $arr, $keys = [] ) { // Convert objects to arrays to prevent fatal errors. if ( is_object( $arr ) ) { $arr = (array) $arr; } // Return empty array if input is not array-like. if ( ! is_array( $arr ) ) { return []; } return self::pluck_keys_containing( $arr, $keys ); } /** * Pluck all array keys containing a string or strings. * * @param array<string, mixed> $arr * @param string[] $strings * @return array<string, mixed> */ public static function pluck_keys_containing( $arr, $strings = [] ) { // Convert objects to arrays to prevent fatal errors. if ( is_object( $arr ) ) { $arr = (array) $arr; } // Return empty array if input is not array-like. if ( ! is_array( $arr ) ) { return []; } $to_be_removed = self::remove_keys_containing( $arr, $strings ); return array_diff_key( $arr, $to_be_removed ); } /** * Remove all array keys beginning with string. * * @param array<string, mixed> $arr * @param bool|string|string[] $strings * @return array<string, mixed> */ public static function remove_keys_starting_with( $arr, $strings = [] ) { if ( ! $strings ) { return $arr; } if ( ! is_array( $strings ) ) { $strings = [ $strings ]; } foreach ( $arr as $key => $value ) { foreach ( $strings as $string ) { if ( is_string( $string ) && strpos( (string) $key, $string ) === 0 ) { unset( $arr[ $key ] ); } } } return $arr; } /** * Remove all array keys ending with string. * * @param array<string, mixed> $arr * @param bool|string|string[] $strings * @return array<string, mixed> */ public static function remove_keys_ending_with( $arr, $strings = [] ) { if ( ! $strings ) { return $arr; } if ( ! is_array( $strings ) ) { $strings = [ $strings ]; } foreach ( $arr as $key => $value ) { foreach ( $strings as $string ) { if ( is_string( $string ) ) { $length = strlen( $string ); if ( substr( $key, - $length ) === $string ) { unset( $arr[ $key ] ); } } } } return $arr; } /** * Remove all array keys containing string. * * @param array<string, mixed> $arr * @param bool|string|string[] $strings * @return array<string, mixed> */ public static function remove_keys_containing( $arr, $strings = [] ) { if ( ! $strings ) { return $arr; } // Convert objects to arrays to prevent fatal errors. if ( is_object( $arr ) ) { $arr = (array) $arr; } // Return input unchanged if not array-like. if ( ! is_array( $arr ) ) { return $arr; } if ( ! is_array( $strings ) ) { $strings = [ $strings ]; } foreach ( $arr as $key => $value ) { foreach ( $strings as $string ) { if ( is_string( $string ) && strpos( (string) $key, $string ) !== false ) { unset( $arr[ $key ] ); } } } return $arr; } /** * Remove specific array keys. * * @param array<string, mixed> $arr * @param string|string[] $keys * @return array<string, mixed> */ public static function remove_keys( $arr, $keys = [] ) { if ( empty( $keys ) ) { return $arr; } if ( is_string( $keys ) ) { $keys = [ $keys ]; } foreach ( (array) $keys as $key ) { if ( is_string( $key ) && array_key_exists( $key, $arr ) ) { unset( $arr[ $key ] ); } } return $arr; } /** * Sort nested arrays with various options. * * @param array<string, mixed> $arr * @param string $type * @param bool $reverse * @return array<string, mixed> */ public static function sort( $arr = [], $type = 'key', $reverse = false ) { if ( ! is_array( $arr ) ) { return $arr; } switch ( $type ) { case 'key': if ( ! $reverse ) { ksort( $arr ); } else { krsort( $arr ); } break; case 'natural': natsort( $arr ); break; case 'priority': if ( ! $reverse ) { uasort( $arr, [ __CLASS__, 'sort_by_priority' ] ); } else { uasort( $arr, [ __CLASS__, 'rsort_by_priority' ] ); } break; } return $arr; } /** * @param array{sort: int, val: mixed} $a * @param array{sort: int, val: mixed} $b * * @return int */ public static function sort_by_sort( $a, $b ) { return $a['sort'] <=> $b['sort']; } /** * Sort array by priority value * * @param array<string, mixed> $a * @param array<string, mixed> $b * * @return int */ public static function sort_by_priority( $a, $b ) { $pri_a = isset( $a['pri'] ) ? $a['pri'] : ( isset( $a['priority'] ) ? $a['priority'] : false ); $pri_b = isset( $b['pri'] ) ? $b['pri'] : ( isset( $b['priority'] ) ? $b['priority'] : false ); if ( ! is_numeric( $pri_a ) || ! is_numeric( $pri_b ) || $pri_a === $pri_b ) { return 0; } return ( $pri_a < $pri_b ) ? - 1 : 1; } /** * Sort array in reverse by priority value * * @param array<string, mixed> $a * @param array<string, mixed> $b * * @return int */ public static function rsort_by_priority( $a, $b ) { $pri_a = isset( $a['pri'] ) ? $a['pri'] : ( isset( $a['priority'] ) ? $a['priority'] : false ); $pri_b = isset( $b['pri'] ) ? $b['pri'] : ( isset( $b['priority'] ) ? $b['priority'] : false ); if ( ! is_numeric( $pri_a ) || ! is_numeric( $pri_b ) || $pri_a === $pri_b ) { return 0; } return ( $pri_a < $pri_b ) ? 1 : - 1; } /** * Replace array key with new key name in same order. * * @param array<string, mixed> $arr * @param string $old_key * @param string $new_key * @return array<string, mixed>|false */ public static function replace_key( $arr, $old_key, $new_key ) { $keys = array_keys( $arr ); $index = array_search( $old_key, $keys, true ); if ( false === $index ) { // throw new \Exception( sprintf( 'Key "%s" does not exit', $old_key ) ); } $keys[ $index ] = $new_key; return array_combine( $keys, array_values( $arr ) ); } /** * Converts 'false' & 'true' string values in any array to proper boolean values. * * @param array<string, mixed>|mixed $data * @return array<string, mixed>|mixed */ public static function fix_json_boolean_values( $data ) { if ( is_array( $data ) ) { foreach ( (array) $data as $key => $value ) { if ( is_string( $value ) && in_array( $value, [ 'true', 'false' ], true ) ) { $data[ $key ] = json_decode( $value ); } elseif ( is_array( $value ) ) { $data[ $key ] = self::fix_json_boolean_values( $value ); } } } return $data; } /** * Convert object to array recursively. * * @param mixed $obj * @return array<string, mixed>|mixed */ public static function from_object( $obj ) { if ( is_object( $obj ) ) { $obj = (array) $obj; } if ( is_array( $obj ) ) { $new = []; foreach ( $obj as $key => $val ) { $new[ $key ] = self::from_object( $val ); } } else { $new = $obj; } return $new; } /** * Safely decode JSON string to array. * * @param mixed $arr * @return array<string, mixed> */ public static function safe_json_decode( $arr ) { if ( ! empty( $arr ) && is_string( $arr ) ) { if ( strpos( $arr, '\"' ) !== false ) { $arr = stripslashes( $arr ); } $arr = json_decode( $arr ); $arr = self::from_object( $arr ); $arr = self::fix_json_boolean_values( $arr ); } return (array) $arr; } /** * Ensures proper encoding for strings before json_encode is used. * * @param array<string, mixed>|string $data * @return string|false */ public static function safe_json_encode( $data = [] ) { return wp_json_encode( self::make_safe_for_json_encode( $data ) ); } /** * json_encode only accepts valid UTF8 characters, thus we need to properly convert translations and other data to proper utf. * * This function does that recursively. * * @param array<string, mixed>|string $data * @return array<string, mixed>|string */ public static function make_safe_for_json_encode( $data = [] ) { if ( is_scalar( $data ) ) { return html_entity_decode( (string) $data, ENT_QUOTES, 'UTF-8' ); } if ( is_array( $data ) ) { foreach ( (array) $data as $key => $value ) { if ( is_scalar( $value ) && ! is_bool( $value ) ) { $data[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); } elseif ( is_array( $value ) ) { $data[ $key ] = self::make_safe_for_json_encode( $value ); } } } return $data; } /** * Recursively convert string encoding to UTF-8. * * @param array<string, mixed>|string $d * @return array<string, mixed>|string */ public static function utf8_encode_recursive( $d ) { if ( is_array( $d ) ) { foreach ( $d as $k => $v ) { $d[ $k ] = self::utf8_encode_recursive( $v ); } } elseif ( is_string( $d ) ) { return mb_convert_encoding( $d, 'UTF-8', 'ISO-8859-1' ); } return $d; } /** * Convert value to JSON attribute if needed. * * @param mixed $value * @param bool $encode * @return mixed */ public static function maybe_json_attr( $value, $encode = false ) { if ( is_object( $value ) || is_array( $value ) ) { $json = wp_json_encode( $value ); if ( false === $json ) { return false; } return $encode ? htmlspecialchars( $json ) : $json; } return $value; } /** * Remaps array keys. * * @param array<string, mixed> $arr an array values. * @param array<string, string> $remap_array an array of $old_key => $new_key values. * @return array<string, mixed> */ public static function remap_keys( $arr, $remap_array = [] ) { foreach ( $remap_array as $old_key => $new_key ) { $value = isset( $arr[ $old_key ] ) ? $arr[ $old_key ] : false; if ( ! empty( $value ) ) { $arr[ $new_key ] = $value; } unset( $arr[ $old_key ] ); } return $arr; } } classes/Utils/Fields.php 0000644 00000027575 15174671772 0011261 0 ustar 00 <?php /** * Fields Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Utils_Fields */ class PUM_Utils_Fields { /** * Get a specific field from a flattened fields array * * @param array<string, mixed> $fields Fields array or nested fields structure * @param string $field_id Field identifier to retrieve * @return array{type: string, id?: string, label?: string, std?: mixed}|false Field configuration array or false if not found */ public static function get_field( $fields, $field_id ) { $fields = static::flatten_fields_array( $fields ); return isset( $fields[ $field_id ] ) ? $fields[ $field_id ] : false; } /** * Get default values for all fields in a form * * @param array<string, mixed> $fields Fields configuration array * @return array<string, mixed> Field ID => default value mapping */ public static function get_form_default_values( $fields = [] ) { $fields = static::flatten_fields_array( $fields ); return static::get_field_default_values( $fields ); } /** * Extract default values from field configurations * * @param array<string, mixed> $fields Flattened fields array * @return array<string, mixed> Field ID => default value mapping */ public static function get_field_default_values( $fields = [] ) { $defaults = []; foreach ( $fields as $field_id => $field ) { switch ( $field['type'] ) { case 'checkbox': $defaults[ $field_id ] = ! empty( $field['std'] ) ? $field['std'] : false; break; default: $defaults[ $field_id ] = isset( $field['std'] ) ? $field['std'] : null; } } return $defaults; } /** * Flatten a nested field structure into a single-level array * * @param array<string, mixed> $tabs Nested tabs/sections/fields structure * @return array<string, mixed> Flattened field ID => field config mapping */ public static function flatten_fields_array( $tabs ) { $fields = []; foreach ( $tabs as $tab_id => $tab_sections ) { if ( self::is_field( $tab_sections ) ) { $fields[ $tab_id ] = $tab_sections; continue; } else { foreach ( $tab_sections as $section_id => $section_fields ) { if ( self::is_field( $section_fields ) ) { $fields[ $section_id ] = $section_fields; continue; } foreach ( $section_fields as $field_id => $field ) { $fields[ $field_id ] = $field; continue; } } } } return $fields; } /** * Parse and merge field configuration with defaults * * @param array<string, mixed> $field Field configuration array * @return array<string, mixed> Complete field configuration with all defaults applied */ public static function parse_field( $field ) { return wp_parse_args( $field, [ 'section' => 'main', 'type' => 'text', 'id' => null, 'label' => '', 'desc' => '', 'name' => null, 'templ_name' => null, 'size' => 'regular', 'options' => [], 'std' => null, 'rows' => 5, 'cols' => 50, 'min' => 0, 'max' => 50, 'force_minmax' => false, 'step' => 1, 'select2' => null, 'object_type' => 'post_type', 'object_key' => 'post', 'post_type' => null, 'taxonomy' => null, 'multiple' => null, 'as_array' => false, 'placeholder' => null, 'checkbox_val' => 1, 'allow_blank' => true, 'readonly' => false, 'required' => false, 'disabled' => false, 'hook' => null, 'unit' => __( 'ms', 'popup-maker' ), 'desc_position' => 'bottom', 'units' => [ 'px' => 'px', '%' => '%', 'em' => 'em', 'rem' => 'rem', ], 'priority' => 10, 'doclink' => '', 'button_type' => 'submit', 'class' => '', 'messages' => [], 'license_status' => '', 'value' => null, 'private' => false, ] ); } /** * Parse tab-based field structure with optional sections * * @param array<string, mixed> $fields Tab-based fields structure * @param array{has_sections?: bool, name?: string} $args Parsing configuration options * @return array<string, mixed> Parsed fields structure */ public static function parse_tab_fields( $fields, $args = [] ) { $args = wp_parse_args( $args, [ 'has_sections' => false, 'name' => '%s', ] ); if ( $args['has_sections'] ) { foreach ( $fields as $tab_id => $tab_sections ) { foreach ( $tab_sections as $section_id => $section_fields ) { if ( is_array( $section_fields ) && self::is_field( $section_fields ) ) { // Allow for flat tabs with no sections. $section_id = 'main'; $section_fields = [ $section_id => $section_fields, ]; } if ( is_array( $section_fields ) ) { $fields[ $tab_id ][ $section_id ] = self::parse_fields( $section_fields, $args['name'] ); } } } } else { foreach ( $fields as $tab_id => $tab_fields ) { $fields[ $tab_id ] = self::parse_fields( $tab_fields, $args['name'] ); } } return $fields; } /** * Parse and validate individual fields array * * @param array<string, mixed> $fields Fields array to parse * @param string $name Name format template for field naming * @return array<string, mixed> Parsed and sorted fields array */ public static function parse_fields( $fields, $name = '%' ) { if ( ! empty( $fields ) ) { foreach ( $fields as $field_id => $field ) { if ( ! is_array( $field ) || ! self::is_field( $field ) ) { continue; } // Remap old settings. if ( is_numeric( $field_id ) && ! empty( $field['id'] ) ) { try { $updated_fields = PUM_Utils_Array::replace_key( $fields, $field_id, $field['id'] ); if ( is_array( $updated_fields ) ) { $fields = $updated_fields; } } catch ( Exception $e ) { // Exception handled by ignoring - field key replacement failed. unset( $e ); } $field_id = $field['id']; } elseif ( empty( $field['id'] ) && ! is_numeric( $field_id ) ) { $field['id'] = $field_id; } if ( empty( $field['name'] ) ) { $field['name'] = sprintf( $name, $field_id ); } $fields[ $field_id ] = self::parse_field( $field ); } } $fields = PUM_Utils_Array::sort( $fields, 'priority' ); return $fields; } /** * Checks if an array is a field configuration * * @param array<string, mixed> $arr Array to test * @return bool True if array represents a field configuration */ public static function is_field( $arr = [] ) { $field_tests = [ ! isset( $arr['type'] ) && ( isset( $arr['label'] ) || isset( $arr['desc'] ) ), isset( $arr['type'] ) && is_string( $arr['type'] ), ]; return in_array( true, $field_tests, true ); } /** * Checks if an array is a section (not a field) * * @param array<string, mixed> $arr Array to test * @return bool True if array represents a section (not a field) */ public static function is_section( $arr = [] ) { return ! self::is_field( $arr ); } /** * Render a single field using appropriate callback * * @param array{type?: string} $args Field configuration arguments * @return void */ public static function render_field( $args = [] ) { $args = static::parse_field( $args ); // If no type default to text. $type = ! empty( $args['type'] ) ? $args['type'] : 'text'; /** * Check if any actions hooked to this type of field and load run those. */ if ( has_action( "pum_{$type}_field" ) ) { do_action( "pum_{$type}_field", $args ); } else { $callback_method = $type . '_callback'; // @phpstan-ignore-next-line class.notFound if ( class_exists( 'PUM_Form_Fields' ) && method_exists( 'PUM_Form_Fields', $callback_method ) ) { /** * Check if renderer method exists and load that. */ $function_name = [ 'PUM_Form_Fields', $callback_method ]; } elseif ( function_exists( "pum_{$type}_callback" ) ) { /** * Check if function exists and load that. */ $function_name = "pum_{$type}_callback"; } else { /** * No method exists, lets notify them the field type doesn't exist. */ $function_name = [ 'PUM_Form_Fields', 'missing_callback' ]; } /** * Call the determined method, passing the field args & $value to the callback. */ if ( is_callable( $function_name ) ) { call_user_func_array( $function_name, [ $args ] ); } } } /** * Render all fields within a form structure * * @param object $form Form object containing fields * @return void */ public static function render_form_fields( $form ) { $tabs = method_exists( $form, 'get_tabs' ) ? $form->get_tabs() : []; $sections = method_exists( $form, 'get_sections' ) ? $form->get_sections() : []; $fields = method_exists( $form, 'get_fields' ) ? $form->get_fields() : []; if ( ! empty( $tabs ) ) { if ( ! empty( $sections ) ) { foreach ( $tabs as $tab_id => $tab_label ) { foreach ( $sections as $section_id => $section_label ) { foreach ( $fields[ $tab_id ][ $section_id ] as $field_id => $field_args ) { static::render_field( $field_args ); } } } } else { foreach ( $tabs as $tab_id => $label ) { foreach ( $fields[ $tab_id ] as $field_id => $field_args ) { static::render_field( $field_args ); } } } } else { foreach ( $fields as $field_id => $field_args ) { static::render_field( $field_args ); } } } /** * Sanitize an array of field values using field configurations * * @param array<string, mixed> $values Field values to sanitize (field_id => value mapping) * @param array<string, mixed> $fields Field configurations for sanitization rules * @return array<string, mixed> Sanitized field values */ public static function sanitize_fields( $values, $fields = [] ) { foreach ( $values as $key => $value ) { // Here to ensure undefined fields are still sanitized. if ( is_string( $value ) ) { $value = sanitize_text_field( $value ); } $field = self::get_field( $fields, $key ); if ( $field ) { $value = self::sanitize_field( $field, $value ); } // Update the value. $values[ $key ] = $value; } return $values; } /** * Sanitize a single field value using its configuration * * @param array{type?: string} $args Field configuration arguments * @param mixed $value Value to sanitize * @param array<string, mixed> $fields All field configurations for context * @param array<string, mixed> $values All field values for context * @return mixed Sanitized field value */ public static function sanitize_field( $args, $value = null, $fields = [], $values = [] ) { // If no type default to text. $type = ! empty( $args['type'] ) ? $args['type'] : 'text'; /** * Check if any actions hooked to this type of field and load run those. */ if ( has_filter( "pum_{$type}_sanitize" ) ) { $value = apply_filters( "pum_{$type}_sanitize", $value, $args, $fields, $values ); } else { /** * Check if override or custom function exists and load that. */ if ( function_exists( "pum_{$type}_sanitize" ) ) { $function_name = "pum_{$type}_sanitize"; } elseif ( method_exists( 'PUM_Utils_Sanitize', $type ) ) { /** * Check if core method exists and load that. */ $function_name = [ 'PUM_Utils_Sanitize', $type ]; } else { $function_name = null; } if ( $function_name && is_callable( $function_name ) ) { /** * Call the determined method, passing the field args & $value to the callback. */ $value = call_user_func_array( $function_name, [ $value, $args, $fields, $values ] ); } } $value = apply_filters( 'pum_settings_sanitize', $value, $args, $fields, $values ); return $value; } } classes/Utils/DataStorage.php 0000644 00000006705 15174671772 0012241 0 ustar 00 <?php /** * DataStorage Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Initializes a temporary data storage engine used by core in various capacities. */ class PUM_Utils_DataStorage { /** * Retrieves stored data by key. * * Given a key, get the information from the database directly. * * @template T * @param string $key The stored option key. * @param T $default_value Optional. A default value to retrieve should `$value` be empty. * Default null. * * @return ($default_value is null ? string|int|float|bool|array<string, mixed>|object|false : T|string|int|float|bool|array<string, mixed>|object) The stored data, value of `$default_value` if not null, otherwise false. */ public static function get( $key, $default_value = null ) { global $wpdb; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQL.NotPrepared $value = $wpdb->get_var( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s", $key ) ); if ( empty( $value ) && ! is_null( $default_value ) ) { return $default_value; } return empty( $value ) ? false : maybe_unserialize( $value ); } /** * Write some data based on key and value. * * @param string $key The option_name. * @param mixed $value The value to store. * * @return void */ public static function write( $key, $value ) { global $wpdb; $value = maybe_serialize( $value ); $data = [ 'option_name' => $key, 'option_value' => $value, 'autoload' => 'no', ]; $formats = self::get_data_formats( $value ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery $wpdb->replace( $wpdb->options, $data, $formats ); } /** * Derives the formats array based on the type of $value. * * @param mixed $value Value to store. * * @return array{0: '%s', 1: '%s'|'%d'|'%f', 2: '%s'} Formats array. First and last values will always be string ('%s'). */ public static function get_data_formats( $value ) { switch ( gettype( $value ) ) { case 'integer': $formats = [ '%s', '%d', '%s' ]; break; case 'double': $formats = [ '%s', '%f', '%s' ]; break; default: case 'string': $formats = [ '%s', '%s', '%s' ]; break; } return $formats; } /** * Deletes a piece of stored data by key. * * @param string $key The stored option name to delete. * * @return int|false The number of rows deleted, or false on error. */ public static function delete( $key ) { global $wpdb; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery return $wpdb->delete( $wpdb->options, [ 'option_name' => $key ] ); } /** * Deletes all options matching a given RegEx pattern. * * @param string $pattern Pattern to match against option keys. * * @return int|false The number of rows deleted, or false on error. */ public static function delete_by_match( $pattern ) { global $wpdb; // Double check to make sure the batch_id got included before proceeding. if ( '^[0-9a-z\\_]+' !== $pattern && ! empty( $pattern ) ) { // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery $result = $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->options WHERE option_name REGEXP %s", $pattern ) ); } else { $result = false; } return $result; } } classes/Utils/Template.php 0000644 00000016364 15174671772 0011620 0 ustar 00 <?php /** * Template Utility * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Utils_Template */ class PUM_Utils_Template { /** * Get template search paths with priorities. * * @return array<int, string> Priority-indexed array of template directory paths */ public static function paths() { $template_dir = apply_filters( 'pum_template_path', 'popup-maker' ); $old_template_dir = apply_filters( 'popmake_templates_dir', 'popmake_templates' ); $file_paths = apply_filters( 'pum_template_paths', [ 1 => trailingslashit( get_stylesheet_directory() ) . $template_dir, 2 => trailingslashit( get_stylesheet_directory() ) . $old_template_dir, 10 => trailingslashit( get_template_directory() ) . $template_dir, 11 => trailingslashit( get_template_directory() ) . $old_template_dir, 100 => Popup_Maker::$DIR . 'templates', ] ); /* @deprecated 1.8.9 */ $file_paths = apply_filters( 'popmake_template_paths', $file_paths ); // sort the file paths based on priority ksort( $file_paths, SORT_NUMERIC ); return array_map( 'trailingslashit', $file_paths ); } /** * Locate a template and return the path for inclusion. * * This is the load order: * * yourtheme / $template_path / $template_name * yourtheme / $template_name * $default_path / $template_name * * @access public * * @param string|string[] $template_names Template name(s) to locate * @param bool $load Whether to load the template immediately * @param bool $use_require_once Whether to use require_once when loading * * @return string|false Path to located template file, or false if not found * @internal param string $template_path (default: '') * @internal param string $default_path (default: '') */ public static function locate( $template_names, $load = false, $use_require_once = true ) { // No file found yet $located = false; $template_name = ''; // Try to find a template file foreach ( (array) $template_names as $template_name ) { // Continue if template is empty if ( empty( $template_name ) ) { continue; } // Trim off any slashes from the template name $template_name = ltrim( $template_name, '/' ); // try locating this template file by looping through the template paths foreach ( self::paths() as $template_path ) { if ( file_exists( $template_path . $template_name ) ) { $located = $template_path . $template_name; break; } } if ( $located ) { break; } } // Return what we found $located = apply_filters( 'pum_locate_template', $located, $template_name ); if ( ( true === $load ) && ! empty( $located ) ) { load_template( $located, $use_require_once ); } return $located; } /** * Locate a template part (for templates like the topic-loops). * * Popup_Maker::$DEBUG will prevent overrides in themes from taking priority. * * @param string $slug Template slug * @param string|null $name Template name variation * @param bool $load Whether to load the template immediately * * @return string|false Path to located template part, or false if not found */ public static function locate_part( $slug, $name = null, $load = false ) { /** @var string[] $templates */ $templates = []; if ( $name ) { // slug-name.php $templates[] = "{$slug}-{$name}.php"; } // slug.php $templates[] = "{$slug}.php"; // Allow template parts to be filtered $templates = apply_filters( 'pum_locate_template_part', $templates, $slug, $name ); /* @deprecated 1.8.0 */ $templates = apply_filters( 'popmake_get_template_part', $templates, $slug, $name ); // Return the part that is found return self::locate( $templates, $load, false ); } /** * Render file with extracted arguments. * * @param string|false $template Path to template file or false if not found * @param array<string, mixed> $args Variables to extract into template scope * @return void */ public static function render( $template, $args = [] ) { if ( ! $template || ! file_exists( $template ) ) { _doing_it_wrong( __FUNCTION__, sprintf( '<code>%s</code> does not exist.', esc_html( $template ?: 'unknown' ) ), '1.0.0' ); return; } if ( $args ) { // phpcs:ignore WordPress.PHP.DontExtract.extract_extract extract( $args ); } include $template; } /** * Render a template part in $slug-$name.php fashion. * * Allows passing arguments that will be globally accessible in the template. * * @param string $slug Template slug * @param string|null $name Template name variation * @param array<string, mixed> $args Variables to extract into template scope * @return void */ public static function part( $slug, $name = null, $args = [] ) { // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo self::get_part( $slug, $name, $args ); } /** * Get a template part in $slug-$name.php fashion. * * Allows passing arguments that will be globally accessible in the template. * * @param string $slug Template slug * @param string|null $name Template name variation * @param array<string, mixed> $args Variables to extract into template scope * * @return string Rendered template content (empty string if template not found) */ public static function get_part( $slug, $name = null, $args = [] ) { $template = self::locate_part( $slug, $name ); ob_start(); do_action( 'pum_before_template_part', $template, $slug, $name, $args ); /* @deprecated 1.8.0 */ do_action( 'get_template_part_' . $slug, $slug, $name ); if ( $template ) { self::render( $template, $args ); } do_action( 'pum_after_template_part', $template, $slug, $name, $args ); $content = ob_get_clean(); return false !== $content ? $content : ''; } /** * Gets the rendered contents of the specified template file. * * @param string $template_name Template file name to locate and render * @param array<string, mixed> $args Variables to extract into template scope * * @return string Rendered template content (empty string if template not found) */ public static function get( $template_name, $args = [] ) { $template = self::locate( $template_name ); // Allow 3rd party plugin filter template file from their plugin. $template = apply_filters( 'pum_get_template', $template, $template_name, $args ); ob_start(); do_action( 'pum_before_template', $template_name, $template, $args ); if ( $template ) { self::render( $template, $args ); } do_action( 'pum_after_template', $template_name, $template, $args ); $content = ob_get_clean(); return false !== $content ? $content : ''; } /** * Get other templates (e.g. popup content) passing attributes and including the file. * * @deprecated public * * @param string $template_name Template file name with extension: file-name.php * @param array<string, mixed> $args Template variables (default: array()) * @return void */ public static function load( $template_name, $args = [] ) { // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo self::get( $template_name, $args ); } } classes/Upgrade/Registry.php 0000644 00000005374 15174671772 0012143 0 ustar 00 <?php /** * Upgrade Registry * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Implements a registry for core upgrade routines. * * @since 1.7.0 * * @see PUM_Batch_Process_Registry */ class PUM_Upgrade_Registry extends PUM_Batch_Process_Registry { /** * @var string Currently installed version. */ public $version; /** * @var string Upgraded from version. */ public $upgraded_from; /** * @var string Initially installed version. */ public $initial_version; /** * @var PUM_Upgrade_Registry */ public static $instance; /** * @return PUM_Upgrade_Registry */ public static function instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); add_action( 'init', [ self::$instance, 'init' ], -9999 ); } return self::$instance; } /** * Initializes the upgrade registry. */ public function init() { $this->register_upgrades(); /** * Fires during instantiation of the batch processing registry. * * @param PUM_Upgrade_Registry $registry PUM_Abstract_Registry instance. */ do_action( 'pum_upgrade_process_init', $this ); } /** * Registers upgrade routines. * * @see PUM_Utils_Upgrades::add_routine() */ private function register_upgrades() { /** * Fires during instantiation of the batch processing registry allowing proper registration of upgrades. * * @param PUM_Upgrade_Registry $registry PUM_Abstract_Registry instance. */ do_action( 'pum_register_upgrades', $this ); } /** * Adds an upgrade to the registry. * * @param int $upgrade_id upgrade ID. * @param array $attributes { * Upgrade attributes. * * @type string $class upgrade handler class. * @type string $file upgrade handler class file. * } * * @return true Always true. */ public function add_upgrade( $upgrade_id, $attributes ) { $attributes = wp_parse_args( $attributes, [ 'rules' => [], 'class' => '', 'file' => '', ] ); // Log an error if it's too late to register the process. if ( did_action( 'pum_upgrade_process_init' ) ) { pum_log_message( sprintf( 'The %s upgrade process was registered too late. Registrations must occur while/before <code>pum_upgrade_process_init</code> fires.', esc_html( $upgrade_id ) ) ); return false; } return $this->register_process( $upgrade_id, $attributes ); } /** * Removes an upgrade from the registry by ID. * * @param string $upgrade_id upgrade ID. */ public function remove_upgrade( $upgrade_id ) { parent::remove_process( $upgrade_id ); } /** * Retrieves registered upgrades. * * @return array The list of registered upgrades. */ public function get_upgrades() { return parent::get_items(); } } classes/Integrations.php 0000644 00000031410 15174671772 0011400 0 ustar 00 <?php /** * Integrations class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Integrations */ class PUM_Integrations { /** * @var PUM_Abstract_Integration[]|PUM_Abstract_Integration_Form[] */ public static $integrations = []; /** * @var bool */ public static $preload_posts = false; public static $form_success; public static $form_submission; /** * Initializes all form plugin and page builder integrations. */ public static function init() { self::$integrations = apply_filters( 'pum_integrations', [ // Forms. 'ninjaforms' => new PUM_Integration_Form_NinjaForms(), 'gravityforms' => new PUM_Integration_Form_GravityForms(), 'contactform7' => new PUM_Integration_Form_ContactForm7(), 'calderaforms' => new PUM_Integration_Form_CalderaForms(), 'mc4wp' => new PUM_Integration_Form_MC4WP(), 'wpforms' => new PUM_Integration_Form_WPForms(), 'wsforms' => new PUM_Integration_Form_WSForms(), 'formidableforms' => new PUM_Integration_Form_FormidableForms(), 'fluentforms' => new PUM_Integration_Form_FluentForms(), 'bricksbuilder' => new PUM_Integration_Form_BricksBuilder(), // Builders. 'kingcomposer' => new PUM_Integration_Builder_KingComposer(), 'visualcomposer' => new PUM_Integration_Builder_VisualComposer(), // 'bricks' => new PUM_Integration_Builder_Bricks(), ] ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended self::$preload_posts = isset( $_GET['page'] ) && 'pum-settings' === $_GET['page']; add_filter( 'pum_settings_fields', [ __CLASS__, 'settings_fields' ] ); add_action( 'pum_preload_popup', [ __CLASS__, 'enqueue_assets' ] ); add_filter( 'pum_registered_conditions', [ __CLASS__, 'register_conditions' ] ); add_filter( 'pum_vars', [ __CLASS__, 'pum_vars' ] ); add_action( 'init', [ __CLASS__, 'wp_init_late' ], 99 ); add_action( 'admin_init', [ __CLASS__, 'admin_init' ] ); add_filter( 'pum_popup_post_type_args', [ __CLASS__, 'popup_post_type_args' ] ); add_filter( 'pum_generated_js', [ __CLASS__, 'generated_js' ] ); add_filter( 'pum_generated_css', [ __CLASS__, 'generated_css' ] ); add_filter( 'pum_popup_settings', [ __CLASS__, 'popup_settings' ], 10, 2 ); PUM_Integration_GoogleFonts::init(); } /** * Checks if a 3rd party integration should be enabled. * * @param $key * * @return bool */ public static function enabled( $key ) { return (bool) isset( self::$integrations[ $key ] ) && self::$integrations[ $key ]->enabled(); } /** * @return PUM_Abstract_Integration_Form[] */ public static function get_enabled_form_integrations() { $enabled_forms = []; foreach ( self::$integrations as $object ) { if ( $object instanceof PUM_Abstract_Integration_Form && $object->enabled() ) { $enabled_forms[ $object->key ] = $object; } } return $enabled_forms; } /** * Returns an array of value=>labels for select fields containing enabled form plugin integrations. * * @return array */ public static function get_enabled_forms_selectlist() { $enabled_form_integrations = self::get_enabled_form_integrations(); $form_types = []; foreach ( $enabled_form_integrations as $key => $object ) { $form_types[ $key ] = $object->label(); } return $form_types; } /** * @param $key * * @return bool|PUM_Abstract_Integration|PUM_Abstract_Integration_Form */ public static function get_integration_info( $key ) { return isset( self::$integrations[ $key ] ) ? self::$integrations[ $key ] : false; } /** * @param string $key * * @return array */ public static function get_form_provider_forms( $key ) { $integration = self::get_integration_info( $key ); if ( ! ( $integration instanceof PUM_Abstract_Integration_Form ) || ! $integration->enabled() ) { return []; } return $integration->get_forms(); } /** * @param $key * @param $id * * @return array|mixed */ public static function get_form_provider_form( $key, $id ) { $integration = self::get_integration_info( $key ); if ( ! ( $integration instanceof PUM_Abstract_Integration_Form ) || ! $integration->enabled() ) { return []; } return $integration->get_form( $id ); } /** * @param $key * * @return array */ public static function get_form_provider_forms_selectlist( $key ) { $integration = self::get_integration_info( $key ); if ( ! ( $integration instanceof PUM_Abstract_Integration_Form ) || ! $integration->enabled() ) { return []; } return $integration->get_form_selectlist(); } /** * Adds additional settings to help better integrate with 3rd party plugins. * * @param array $fields * * @return array */ public static function settings_fields( $fields = [] ) { foreach ( self::$integrations as $key => $integration ) { if ( ! ( $integration instanceof PUM_Interface_Integration_Settings ) || ! $integration->enabled() ) { continue; } // TODO LEFT OFF HERE. // TODO Could this be done via add_filter( 'pum_settings_fields', array( $integration, 'append_fields' ) ); // TODO If so, do we do it inside the __construct for the PUM_Abstract_Integration, or the Integration_{Provider} class itself. // TODO Alternatively do we simply loop over all enabled providers during self::init() and add the filters/hooks there instead. $fields = $integration->append_fields( $fields ); } return $fields; } public static function enqueue_assets( $popup_id = 0 ) { $popup = pum_get_popup( $popup_id ); if ( ! pum_is_popup( $popup ) ) { return; } // Do stuff here. } public static function register_conditions( $conditions = [] ) { foreach ( self::$integrations as $key => $enabled ) { if ( ! $enabled ) { continue; } switch ( $key ) { default: // Modify the conditions array. $conditions; break; } } return $conditions; } /** * Runs during init */ public static function wp_init_late() { /** * Force KingComposer support for popups. */ if ( self::enabled( 'kingcomposer' ) ) { global $kc; $kc->add_content_type( 'popup' ); } } /** * Runs during admin_init */ public static function admin_init() { if ( ! self::enabled( 'visualcomposer' ) && ( is_admin() && ( pum_is_popup_editor() || // phpcs:ignore WordPress.Security.NonceVerification.Recommended ( isset( $_GET['page'] ) && in_array( $_GET['page'], [ 'vc_settings', 'fl-builder-settings' ], true ) ) ) ) ) { add_filter( 'vc_role_access_with_post_types_get_state', '__return_true' ); add_filter( 'vc_role_access_with_backend_editor_get_state', '__return_true' ); add_filter( 'vc_role_access_with_frontend_editor_get_state', '__return_false' ); add_filter( 'vc_check_post_type_validation', '__return_true' ); } } public static function popup_post_type_args( $args = [] ) { if ( self::enabled( 'kingcomposer' ) && ( // phpcs:ignore WordPress.Security.NonceVerification.Recommended ( is_admin() && isset( $_GET['page'] ) && 'kingcomposer' === $_GET['page'] ) || pum_is_popup_editor() ) ) { $args = array_merge( $args, [ 'public' => true, 'exclude_from_search' => true, 'publicly_queryable' => false, 'show_in_nav_menus' => false, ] ); } if ( self::enabled( 'visualcomposer' ) && ( is_admin() && ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) && ( ( // phpcs:ignore WordPress.Security.NonceVerification.Recommended isset( $_GET['page'] ) && in_array( $_GET['page'], [ 'vc_settings','fl-builder-settings' ], true ) ) || ( // phpcs:ignore WordPress.Security.NonceVerification.Missing isset( $_POST['option_page'] ) && 'wpb_js_composer_settings_general' === $_POST['option_page'] ) || pum_is_popup_editor() ) ) ) { $args = array_merge( $args, [ 'public' => true, 'exclude_from_search' => true, 'publicly_queryable' => false, // Was true, verify this isn't a problem. 'show_in_nav_menus' => false, ] ); } return $args; } /** * @param array $js * * @return array */ public static function generated_js( $js = [] ) { foreach ( self::$integrations as $integration ) { if ( $integration->enabled() && method_exists( $integration, 'custom_scripts' ) ) { $js = $integration->custom_scripts( $js ); } } return $js; } /** * @param array $css * * @return array $css */ public static function generated_css( $css = [] ) { foreach ( self::$integrations as $integration ) { if ( $integration->enabled() && method_exists( $integration, 'custom_styles' ) ) { $css = $integration->custom_styles( $css ); } } return $css; } /** * Modify popup settings. * * @param array $settings * @param int $popup_id * * @return array */ public static function popup_settings( $settings, $popup_id ) { if ( is_admin() || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) { return $settings; } static $form_popup_id; /** * Checks for popup form submission. */ if ( ! isset( $form_popup_id ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended $form_popup_id = isset( $_REQUEST['pum_form_popup_id'] ) && absint( $_REQUEST['pum_form_popup_id'] ) > 0 ? absint( $_REQUEST['pum_form_popup_id'] ) : false; } // Should it reopen? Only if all of the following are true. $should_reopen = [ // Form popup was submitted and matches this popup. $form_popup_id && $popup_id === $form_popup_id, // Form reopen was not marked disable. empty( $settings['disable_form_reopen'] ) || ! $settings['disable_form_reopen'], // Close on form submission is disbaled, or has a timer larger than 0. ( empty( $settings['close_on_form_submission'] ) || ! $settings['close_on_form_submission'] || ( $settings['close_on_form_submission'] && $settings['close_on_form_submission_delay'] > 0 ) ), ]; /** * If submission exists for this popup remove auto open triggers and add an admin_debug trigger to reshow the popup. */ if ( ! in_array( false, $should_reopen, true ) ) { $triggers = ! empty( $settings['triggers'] ) ? $settings['triggers'] : []; foreach ( $triggers as $key => $trigger ) { if ( 'auto_open' === $trigger['type'] ) { unset( $triggers[ $key ] ); } } $settings['triggers'][] = [ 'type' => 'admin_debug', ]; } return $settings; } /** * Add various extra global pum_vars js values. * * Primarily used to pass form success options for custom integrations and custom code. * * @param array $vars * * @return array */ public static function pum_vars( $vars = [] ) { /** * If a form was submitted via non-ajax methods this checks if a successful submission was reported. */ if ( isset( self::$form_success ) && ! empty( self::$form_success['popup_id'] ) ) { self::$form_success['settings'] = wp_parse_args( self::$form_success['settings'], [ 'openpopup' => false, 'openpopup_id' => 0, 'closepopup' => false, 'closedelay' => 0, 'redirect_enabled' => false, 'redirect' => '', 'cookie' => false, ] ); if ( is_array( self::$form_success['settings']['cookie'] ) ) { self::$form_success['settings']['cookie'] = wp_parse_args( self::$form_success['settings']['cookie'], [ 'name' => 'pum-' . self::$form_success['popup_id'], 'expires' => '+1 year', ] ); } $vars['form_success'] = self::$form_success; } if ( ! empty( self::$form_submission ) ) { // Remap values from PHP underscore_case to JS camelCase $vars['form_submission'] = PUM_Utils_Array::remap_keys( self::$form_submission, [ 'form_provider' => 'formProvider', 'form_id' => 'formId', 'form_instance_id' => 'formInstanceId', 'popup_id' => 'popupId', ] ); } return $vars; } /** * Returns array of options for a select field to select an integrated form. * * @return array */ public static function get_integrated_forms_selectlist() { $enabled_form_integrations = self::get_enabled_form_integrations(); $options = []; foreach ( $enabled_form_integrations as $integration ) { switch ( $integration->key ) { default: $group_options = [ $integration->key . '_any' => sprintf( /* translators: 1. Integration label. */ __( 'Any %s Form', 'popup-maker' ), $integration->label() ), ]; foreach ( $integration->get_form_selectlist() as $form_id => $form_label ) { // ex. ninjaforms_1, contactform7_55 $group_options[ $integration->key . '_' . $form_id ] = $form_label; } $options[ $integration->label() ] = $group_options; break; } } return $options; } } classes/DB/Subscribers.php 0000644 00000015064 15174671772 0011514 0 ustar 00 <?php /** * Subscribers DB Handler * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * * phpcs:disable WordPress.DB.DirectDatabaseQuery.DirectQuery */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * PUM_Subscribers Class */ class PUM_DB_Subscribers extends PUM_Abstract_Database { /** * The name of our database table */ public $table_name = 'pum_subscribers'; /** * The version of our database table */ public $version = 20200917; /** * The name of the primary column */ public $primary_key = 'ID'; /** * Get columns and formats */ public function get_columns() { return [ 'ID' => '%d', 'uuid' => '%s', 'popup_id' => '%d', 'email_hash' => '%s', 'email' => '%s', 'name' => '%s', 'fname' => '%s', 'lname' => '%s', 'user_id' => '%d', 'consent_args' => '%s', 'consent' => '%s', 'created' => '%s', ]; } /** * Get default column values */ public function get_column_defaults() { return [ 'uuid' => '', 'popup_id' => 0, 'email_hash' => '', 'email' => '', 'name' => '', 'fname' => '', 'lname' => '', 'user_id' => 0, 'consent_args' => '', 'consent' => 'no', 'created' => current_time( 'mysql', 0 ), ]; } /** * Create the table */ public function create_table() { global $wpdb; if ( ! function_exists( 'dbDelta' ) ) { require_once ABSPATH . 'wp-admin/includes/upgrade.php'; } $charset_collate = $wpdb->get_charset_collate(); /** * - [x] You must put each field on its own line in your SQL statement. * - [x] You must have two spaces between the words PRIMARY KEY and the definition of your primary key. * - [x] You must use the key word KEY rather than its synonym INDEX and you must include at least one KEY. * - [x] KEY must be followed by a SINGLE SPACE then the key name then a space then open parenthesis with the field name then a closed parenthesis. * - [x] You must not use any apostrophes or backticks around field names. * - [x] Field types must be all lowercase. * - [x] SQL keywords, like CREATE TABLE and UPDATE, must be uppercase. * - [x] You must specify the length of all fields that accept a length parameter. int(11), for example. */ $sql = 'CREATE TABLE ' . $this->table_name() . " ( ID bigint(20) NOT NULL AUTO_INCREMENT, email_hash varchar(32) NOT NULL, popup_id bigint(20) NOT NULL, user_id bigint(20) NOT NULL, email varchar(191) NOT NULL, name varchar(255) NOT NULL, fname varchar(255) NOT NULL, lname varchar(255) NOT NULL, uuid varchar(255) NOT NULL, consent varchar(255) NOT NULL, consent_args longtext NOT NULL, created datetime NOT NULL, PRIMARY KEY (ID), KEY email (email), KEY user_id (user_id), KEY popup_id (popup_id), KEY email_hash (email_hash) ) $charset_collate;"; $results = dbDelta( $sql ); // Strip prefix to ensure it doesn't leak unintentionally. $results = str_replace( $wpdb->prefix, '', implode( ',', $results ) ); pum_log_message( 'Subscriber table results: ' . $results ); $previous_error = $wpdb->last_error; // The show tables query will erase the last error. So, record it now in case we need it. if ( $this->wp_version >= 6.2 ) { $table_found = $wpdb->get_var( $wpdb->prepare( 'SHOW TABLES LIKE %i', $this->table_name() ) ); } else { // Ignored because these are identifiersas we still support <=6.2 // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared $table_found = $wpdb->get_var( "SHOW TABLES LIKE '{$this->table_name()}'" ); } if ( $this->table_name() !== $table_found ) { pum_log_message( 'Subscriber table exists check failed! Last error from wpdb: ' . str_replace( $wpdb->prefix, '', $previous_error ) ); } update_option( $this->table_name . '_db_version', $this->version ); } public function get_by_email( $email = '' ) { } public function query( $args = [], $return_type = 'OBJECT' ) { global $wpdb; $args = wp_parse_args( $args, [ 'fields' => '*', 'page' => null, 'limit' => null, 'offset' => null, 's' => null, 'orderby' => null, 'order' => null, ] ); $columns = $this->get_columns(); $fields = $args['fields']; if ( '*' === $fields ) { $fields = array_keys( $columns ); } else { $fields = explode( ',', $args['fields'] ); $fields = array_map( 'trim', $fields ); $fields = array_map( 'sanitize_text_field', $fields ); } $select_fields = implode( '`, `', $fields ); // Begin building query. $query = "SELECT `$select_fields` FROM {$this->table_name()}"; // Set up $values array for wpdb::prepare $values = []; // Define an empty WHERE clause to start from. $where = 'WHERE 1=1'; // Build search query. if ( $args['s'] && ! empty( $args['s'] ) ) { $search = wp_unslash( trim( $args['s'] ) ); $search_where = []; foreach ( $columns as $key => $type ) { if ( in_array( $key, $fields, true ) ) { if ( '%s' === $type || ( '%d' === $type && is_numeric( $search ) ) ) { $values[] = '%' . $wpdb->esc_like( $search ) . '%'; $search_where[] = "`$key` LIKE '%s'"; } } } if ( ! empty( $search_where ) ) { $where .= ' AND (' . join( ' OR ', $search_where ) . ')'; } } $query .= " $where"; if ( ! empty( $args['orderby'] ) ) { $query .= ' ORDER BY %i'; $values[] = wp_unslash( trim( $args['orderby'] ) ); switch ( $args['order'] ) { case 'asc': case 'ASC': $query .= ' ASC'; break; case 'desc': case 'DESC': default: $query .= ' DESC'; break; } } if ( ! empty( $args['limit'] ) ) { $query .= ' LIMIT %d'; $values[] = absint( $args['limit'] ); } // Pagination. if ( $args['page'] >= 1 ) { $args['offset'] = ( $args['page'] * $args['limit'] ) - $args['limit']; } if ( ! empty( $args['offset'] ) ) { $query .= ' OFFSET %d'; $values[] = absint( $args['offset'] ); } if ( strpos( $query, '%s' ) || strpos( $query, '%d' ) || strpos( $query, '%i' ) ) { // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared $query = $wpdb->prepare( $query, $values ); } // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared return $wpdb->get_results( $query, $return_type ); } /** * @param $args * * @return int */ public function total_rows( $args ) { $args['limit'] = null; $args['offset'] = null; $args['page'] = null; $results = $this->query( $args ); return $results ? count( $results ) : 0; } } classes/CallToAction/Link.php 0000644 00000004223 15174671772 0012145 0 ustar 00 <?php /** * Link Call To Action class. * * @since 1.21.0 * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\CallToAction; if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class Link */ class Link extends \PopupMaker\Base\CallToAction { /** * Key identifier. * * @var string */ public $key = 'link'; /** * Label for this cta. * * @return string */ public function label(): string { return __( 'Link', 'popup-maker' ); } /** * Handle the CTA action. * * @param \PopupMaker\Models\CallToAction $call_to_action Call to action object. * @param array $extra_args Optional. Additional data passed to the handler (will include popup_id). * * @return void */ public function action_handler( \PopupMaker\Models\CallToAction $call_to_action, array $extra_args = [] ): void { /** * @var string|false $url */ $url = $call_to_action->get_setting( 'url' ); if ( ! $url ) { $cta_args = apply_filters( 'popup_maker/cta_valid_url_args', [ 'cta', 'pid' ] ); // Strip query args and use the current page. $url = remove_query_arg( $cta_args ); } $call_to_action->track_conversion( $extra_args ); \PopupMaker\safe_redirect( $url ); exit; } /** * Array of options for this CTA. * * @return array */ public function fields(): array { return [ 'general' => [ 'url' => [ 'type' => 'url', 'label' => __( 'Link URL', 'popup-maker' ), 'placeholder' => __( 'https://example.com', 'popup-maker' ), 'priority' => 1.2, 'required' => true, 'dependencies' => [ 'type' => 'link', ], 'std' => '', ], ], ]; } /** * Validate CTA settings array before saving. * * @param array $settings The raw settings array to validate. * * @return true|\WP_Error|\WP_Error[] True if valid, WP_Error if validation fails. */ public function validate_settings( array $settings ) { if ( empty( $settings['url'] ) ) { return new \WP_Error( 'missing_url', __( 'URL is required', 'popup-maker' ), [ 'field' => 'url', ] ); } return true; } } classes/Plugin/Container.php 0000644 00000005625 15174671772 0012123 0 ustar 00 <?php /** * Main plugin container. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Plugin; use PopupMaker\Base\Controller; /** * Main plugin container. */ class Container extends \PopupMaker\Base\Container { /** * Array of controllers. * * Useful to unhook actions/filters from global space. * * @var \PopupMaker\Base\Container */ public $controllers; /** * Initiate the plugin. * * @param array<string,string|bool> $config Configuration variables passed from main plugin file. */ public function __construct( $config ) { parent::__construct( $config ); $this->controllers = new \PopupMaker\Base\Container(); $this->register_services(); $this->initiate_controllers(); } /** * Register services. * * @return void */ protected function register_services() { // Override in child class if needed. } /** * Update & track version info. * * @return array<string,\PopupMaker\Base\Controller> */ protected function registered_controllers() { return []; } /** * Register controllers. * * @param array<string,\PopupMaker\Interfaces\Controller> $controllers Array of controllers. * @return void */ public function register_controllers( $controllers = [] ) { foreach ( $controllers as $name => $controller ) { if ( $controller instanceof \PopupMaker\Interfaces\Controller ) { if ( $controller->controller_enabled() ) { $controller->init(); } $this->controllers->set( $name, $controller ); } } } /** * Initiate internal components. * * @return void */ protected function initiate_controllers() { $this->register_controllers( $this->registered_controllers() ); } /** * Get a controller. * * @param string $name Controller name. * * @return Controller|null */ public function get_controller( $name ) { $controller = $this->controllers->get( $name ); if ( $controller instanceof Controller ) { return $controller; } return null; } public function offsetExists( $id ) { if ( parent::offsetExists( $id ) ) { return true; } if ( $this->controllers->offsetExists( $id ) ) { return true; } return false; } public function get( $id ) { // 1. Check if the item exists in the controllers container. if ( $this->controllers->offsetExists( $id ) ) { // Doing it wrong. Use get_controller() instead. _deprecated_function( __METHOD__, 'X.X.X', __CLASS__ . '::get_controller()' ); return $this->controllers->get( $id ); } return parent::get( $id ); } /** * Utility method to get a path. * * @param string $path Subpath to return. * @return string */ public function get_path( $path = '' ) { return $this->get( 'path' ) . $path; } /** * Utility method to get a url. * * @param string $path Sub url to return. * @return string */ public function get_url( $path = '' ) { return $this->get( 'url' ) . $path; } } classes/Plugin/Extension.php 0000644 00000002724 15174671772 0012152 0 ustar 00 <?php /** * Extension base class * * @package PopupMaker\Plugin * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Plugin; defined( 'ABSPATH' ) || exit; /** * Abstract base class for all Popup Maker extensions. * * @since 1.21.0 */ abstract class Extension extends Container { /** * Core plugin instance. * * @var \PopupMaker\Plugin\Core */ protected $core; /** * Extension constructor. * * @param array<string,string|bool> $config Configuration variables. */ public function __construct( $config ) { parent::__construct( $config ); // Get core plugin instance. $this->core = \PopupMaker\plugin(); } /** * Register all controllers. * * @return array<string,\PopupMaker\Base\Controller> */ abstract protected function registered_controllers(); /** * Get core plugin instance. * * @return \PopupMaker\Plugin\Core */ public function core() { return $this->core; } /** * Get a service or configuration variable. * * @param string $id Service or configuration variable ID. * @return mixed * @throws \PopupMaker\Vendor\Pimple\Exception\UnknownIdentifierException */ public function get( $id ) { try { return parent::get( $id ); } catch ( \PopupMaker\Vendor\Pimple\Exception\UnknownIdentifierException $e ) { if ( $this->core()->offsetExists( $id ) ) { return $this->core()->get( $id ); } // Re-throw the exception if we couldn't find the service. throw $e; } } } classes/Plugin/Controller.php 0000644 00000000666 15174671772 0012324 0 ustar 00 <?php /** * Main plugin container. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Plugin; /** * Main plugin container. * * @template-extends \PopupMaker\Base\Controller<\PopupMaker\Plugin\Core> * * @since 1.21.0 */ abstract class Controller extends \PopupMaker\Base\Controller { /** * Plugin Container. * * @var \PopupMaker\Plugin\Core */ public $container; } classes/Plugin/Core.php 0000644 00000025770 15174671772 0011074 0 ustar 00 <?php /** * Main plugin. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Plugin; use PopupMaker\Plugin\Container; use PopupMaker\Interfaces\Controller; defined( 'ABSPATH' ) || exit; /** * Class Plugin * * @since 1.21.0 */ final class Core extends \PopupMaker\Plugin\Container { /** * Initiate the plugin. * * @param array<string,string|bool> $config Configuration variables passed from main plugin file. */ public function __construct( $config ) { parent::__construct( $config ); $this->check_version(); $this->init_services(); } /** * Update & track version info. * * @return array<string,\PopupMaker\Base\Controller> */ protected function registered_controllers() { return [ 'Admin' => new \PopupMaker\Controllers\Admin( $this ), 'Assets' => new \PopupMaker\Controllers\Assets( $this ), 'CallToActions' => new \PopupMaker\Controllers\CallToActions( $this ), 'Compatibility' => new \PopupMaker\Controllers\Compatibility( $this ), 'Debug' => new \PopupMaker\Controllers\Debug( $this ), 'PostTypes' => new \PopupMaker\Controllers\PostTypes( $this ), 'RestAPI' => new \PopupMaker\Controllers\RestAPI( $this ), 'Upgrades' => new \PopupMaker\Controllers\Upgrades( $this ), 'WP' => new \PopupMaker\Controllers\WP( $this ), 'Frontend' => new \PopupMaker\Controllers\Frontend( $this ), // 'BlockEditor' => new \PopupMaker\Controllers\BlockEditor( $this ), // 'Frontend' => new \PopupMaker\Controllers\Frontend( $this ), // 'Shortcodes' => new \PopupMaker\Controllers\Shortcodes( $this ), // 'TrustedLoginController' => new \PopupMaker\Controllers\TrustedLogin( $this ), ]; } /** * Update & track version info. * * @return void */ protected function check_version() { // Get the version of the current plugin code. $version = $this->get( 'version' ); // Get the plugin version stored in the database. $current_data = \get_option( 'popup_maker_version_info', false ); $data = wp_parse_args( // If the current data exists, use it. false !== $current_data ? $current_data : [], [ 'version' => $version, 'upgraded_from' => null, 'initial_version' => $version, 'installed_on' => gmdate( 'Y-m-d H:i:s' ), ] ); // Process old version data storage, only runs once ever. if ( false === $current_data ) { $data = $this->process_version_data_migration( $data ); if ( \update_option( 'popup_maker_version_info', $data ) ) { \PopupMaker\cleanup_old_install_data(); } } if ( version_compare( $data['version'], (string) $version, '<' ) ) { // Allow processing of small core upgrades. /** * Fires when the plugin version is updated. * * Note: Old version is still available in options. * * @param string $old_version The old version. * @param string $new_version The new version. */ do_action( 'popup_maker/update_version', $data['version'], $version ); /** * Fires when the plugin version is updated. * * Allow processing of small core upgrades * * @param string $version The old version. * * @since 1.8.0 * @deprecated 1.21.0 */ do_action( 'pum_update_core_version', $data['version'] ); // Save Upgraded From option. $data['upgraded_from'] = $data['version']; $data['version'] = $version; } if ( $current_data !== $data ) { \update_option( 'popup_maker_version_info', $data ); } } /** * Look for old version data and migrate it to the new format. * * @param array<string,string|null> $data Array of data. * * @return array{ * version: string, * upgraded_from: string, * initial_version: string, * installed_on: string, * } */ protected function process_version_data_migration( $data ) { // This class can be extended for addons, only do the following if this is core and not an extended class. // If the current instance is not an extended class, check if old settings exist. $version = \PopupMaker\detect_previous_install_version(); $initial_version = \PopupMaker\detect_initial_install_version(); $installed_on = \PopupMaker\detect_initial_install_date(); $upgraded_from = get_option( 'pum_ver_upgraded_from', null ); $data = [ // Setting to 0.0.0 if not set forces a "migration" to run. 'version' => $version ? $version : '0.0.0', 'upgraded_from' => $upgraded_from ? (string) $upgraded_from : null, 'initial_version' => $initial_version ? $initial_version : $version, 'installed_on' => $installed_on, ]; return $data; } /** * Add default services to our Container. * * @return void */ protected function register_services() { /** * Attach our container to the global. */ $GLOBALS[ $this->get( 'option_prefix' ) ] = $this; /** * Check if this is the core plugin. * * Because extensions extend this class for access to services, * we only want to load the core services if this is the core plugin. */ $this->set( 'options', /** * Get plugin options. * * @return \PopupMaker\Services\Options */ function ( $container ) { return new \PopupMaker\Services\Options( $container ); } ); $this->set( 'connect', /** * Get plugin connect. * * @return Connect */ function ( $container ) { return new \PopupMaker\Services\Connect( $container ); } ); $this->set( 'license', /** * Get plugin license. * * @return License */ function ( $container ) { return new \PopupMaker\Services\License( $container ); } ); $this->set( 'logging', /** * Get plugin logging. * * @return Logging */ function ( $container ) { return new \PopupMaker\Services\Logging( $container ); } ); $this->set( 'upgrader', /** * Get plugin upgrader. * * @return Upgrader */ function ( $container ) { return new \PopupMaker\Services\Upgrader( $container ); } ); $this->set( 'popups', /** * Get user popups from the database. * * @return \PopupMaker\Services\Repository\Popups */ function ( $container ) { return new \PopupMaker\Services\Repository\Popups( $container ); } ); $this->set( 'ctas', /** * Get user call to actions from the database. * * @return \PopupMaker\Services\Repository\CallToActions */ function ( $container ) { return new \PopupMaker\Services\Repository\CallToActions( $container ); } ); $this->set( 'cta_types', /** * Get registered call to actions types. * * @return \PopupMaker\Services\Collector\CallToActionTypes */ function ( $container ) { return new \PopupMaker\Services\Collector\CallToActionTypes( $container ); } ); // $this->set( // 'rules', /** * Get plugin rules. * * @return \PopupMaker\RuleEngine\Rules */ // function () { // return new \PopupMaker\RuleEngine\Rules(); // } // ); $this->set( 'globals', /** * Get plugin global manager. * * @return \PopupMaker\Services\Globals */ function () { return new \PopupMaker\Services\Globals(); } ); do_action( 'popup_maker/register_services', $this ); } /** * Initialize services. * * @return void */ protected function init_services() { $license = $this->get( 'license' ); } /** * Get the options service. * * @return \PopupMaker\Services\Options * @throws \PopupMaker\Vendor\Pimple\Exception\UnknownIdentifierException */ public function options() { return $this->get( 'options' ); } /** * Get plugin option. * * @param string $key Option key. * @param boolean|mixed $default_value Default value. * @return mixed */ public function get_option( $key, $default_value = false ) { // Use old class directly to get all old options. $deprecated_options = \PUM_Utils_Options::get_all(); if ( isset( $deprecated_options[ $key ] ) ) { // Use the old class to get the option, specifically for backwards compatibility as it has filters. return \PUM_Utils_Options::get( $key, $default_value ); } return $this->options()->get( $key, $default_value ); } /** * Get plugin permissions. * * @return array<string,string> Array of permissions. */ public function get_permissions() { $permissions = \PopupMaker\get_default_permissions(); $user_permisions = $this->options()->get( 'permissions', [] ); if ( ! empty( $user_permisions ) ) { foreach ( $user_permisions as $cap => $user_permission ) { if ( ! empty( $user_permission ) ) { $permissions[ $cap ] = $user_permission; } } } return $permissions; } /** * Get plugin permission for capability. * * @param string $cap Permission key. * * @return string User role or cap required. */ public function get_permission( $cap ) { $permissions = $this->get_permissions(); return isset( $permissions[ $cap ] ) ? $permissions[ $cap ] : 'manage_options'; } /** * Check if debug mode is enabled. * * This is only used to change from minified to unminified * assets to make debugging easier, specifically when logged out. * * @return boolean */ public function is_debug_mode_enabled() { // Ignored as we are simply checking for a query var's existence. // phpcs:ignore WordPress.Security.NonceVerification.Recommended return isset( $_GET['pum_debug'] ) || \PUM_Utils_Options::get( 'debug_mode', false ); } /** * Check if pro version is installed. * * @return boolean */ public function is_pro_installed() { return file_exists( WP_PLUGIN_DIR . '/popup-maker-pro/popup-maker-pro.php' ); } /** * Check if pro version is active. * * @return boolean */ public function is_pro_active() { return $this->is_pro_installed() && function_exists( '\PopupMaker\Pro\plugin' ); } /** * Get Pro plugin version if installed. * * @return string Pro plugin version or empty string if not installed. */ public function get_pro_version() { $pro_plugin_file = WP_PLUGIN_DIR . '/popup-maker-pro/popup-maker-pro.php'; if ( ! file_exists( $pro_plugin_file ) ) { return ''; } if ( ! function_exists( 'get_plugin_data' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } $plugin_data = get_plugin_data( $pro_plugin_file, false, false ); return isset( $plugin_data['Version'] ) ? $plugin_data['Version'] : ''; } /** * Check if license is active. * * @return boolean */ public function is_license_active() { return $this->get( 'license' )->is_license_active(); } /** * Check if any Popup Maker extensions are active. * * @return boolean */ public function has_extensions() { $enabled_extensions = pum_enabled_extensions(); return ! empty( $enabled_extensions ); } /** * Check if any Pro+ addons are active. * * @return boolean */ public function has_pro_plus_addons() { // Pro+ addons include ecommerce-popups and lms-popups. return pum_extension_enabled( 'ecommerce-popups' ) || pum_extension_enabled( 'lms-popups' ); } } classes/Cache.php 0000644 00000000374 15174671772 0007742 0 ustar 00 <?php /** * Cache class file * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Cache * * @deprecated 1.8.0 */ class PUM_Cache extends PUM_Utils_Cache {} classes/Conditions.php 0000644 00000034416 15174671772 0011054 0 ustar 00 <?php /** * Conditions class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class Conditions */ class PUM_Conditions { /** * @var PUM_Conditions */ public static $instance; /** * @var bool */ public $preload_posts = false; /** * @var array */ public $conditions; /** * @var array */ public $condition_sort_order = []; /** * */ public static function init() { self::instance(); } /** * @return self */ public static function instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); self::$instance->preload_posts = popmake_is_admin_popup_page(); } return self::$instance; } /** * @param array $conditions */ public function add_conditions( $conditions = [] ) { foreach ( $conditions as $key => $condition ) { if ( empty( $condition['id'] ) && ! is_numeric( $key ) ) { $condition['id'] = $key; } $this->add_condition( $condition ); } } /** * @param array $condition */ public function add_condition( $condition = [] ) { if ( ! empty( $condition['id'] ) && ! isset( $this->conditions[ $condition['id'] ] ) ) { $condition = wp_parse_args( $condition, [ 'id' => '', 'callback' => null, 'group' => '', 'name' => '', 'priority' => 10, 'fields' => [], 'advanced' => false, ] ); $this->conditions[ $condition['id'] ] = $condition; } } /** * @return array */ public function get_conditions() { if ( ! isset( $this->conditions ) ) { $this->register_conditions(); } return $this->conditions; } /** * @return array|mixed */ public function condition_sort_order() { if ( ! $this->condition_sort_order ) { $order = [ __( 'General', 'popup-maker' ) => 1, __( 'Pages', 'popup-maker' ) => 5, __( 'Posts', 'popup-maker' ) => 5, __( 'Categories', 'popup-maker' ) => 14, __( 'Tags', 'popup-maker' ) => 14, __( 'Format', 'popup-maker' ) => 16, ]; $post_types = get_post_types( [ 'public' => true, '_builtin' => false, ], 'objects' ); foreach ( $post_types as $name => $post_type ) { $order[ $post_type->labels->name ] = 10; } $taxonomies = get_taxonomies( [ 'public' => true, '_builtin' => false, ], 'objects' ); foreach ( $taxonomies as $tax_name => $taxonomy ) { $order[ $taxonomy->labels->name ] = 15; } $this->condition_sort_order = apply_filters( 'pum_condition_sort_order', $order ); } return $this->condition_sort_order; } /** * @param $a * @param $b * * @return int */ public function sort_condition_groups( $a, $b ) { $order = $this->condition_sort_order(); $ai = isset( $order[ $a ] ) ? intval( $order[ $a ] ) : 10; $bi = isset( $order[ $b ] ) ? intval( $order[ $b ] ) : 10; if ( $ai === $bi ) { return 0; } // Compare their positions in line. return $ai > $bi ? 1 : - 1; } /** * @return array */ public function get_conditions_by_group() { static $groups; if ( ! isset( $groups ) ) { $groups = []; foreach ( $this->get_conditions() as $condition ) { $groups[ $condition['group'] ][ $condition['id'] ] = $condition; } uksort( $groups, [ $this, 'sort_condition_groups' ] ); } return $groups; } /** * @return array */ public function dropdown_list() { $groups = []; $conditions_by_group = $this->get_conditions_by_group(); foreach ( $conditions_by_group as $group => $_conditions ) { $conditions = []; foreach ( $_conditions as $id => $condition ) { $conditions[ $id ] = $condition['name']; } $groups[ $group ] = $conditions; } return $groups; } /** * @param null $condition * * @return mixed|null */ public function get_condition( $condition = null ) { $conditions = $this->get_conditions(); return isset( $conditions[ $condition ] ) ? $conditions[ $condition ] : null; } /** * @return array */ public function generate_post_type_conditions() { $conditions = []; $post_types = get_post_types( [ 'public' => true ], 'objects' ); foreach ( $post_types as $name => $post_type ) { if ( 'popup' === $name || 'popup_theme' === $name ) { continue; } if ( $post_type->has_archive ) { $conditions[ $name . '_index' ] = [ 'group' => $post_type->labels->name, 'name' => sprintf( /* translators: 1. Post type plural label. */ _x( '%s Archive', 'condition: post type plural label ie. Posts: All', 'popup-maker' ), $post_type->labels->name ), 'callback' => [ 'PUM_ConditionCallbacks', 'post_type' ], 'priority' => 5, ]; } $conditions[ $name . '_all' ] = [ 'group' => $post_type->labels->name, 'name' => sprintf( /* translators: 1. Post type plural label. */ _x( 'All %s', 'condition: post type plural label ie. Posts: All', 'popup-maker' ), $post_type->labels->name ), 'callback' => [ 'PUM_ConditionCallbacks', 'post_type' ], ]; $conditions[ $name . '_selected' ] = [ 'group' => $post_type->labels->name, 'name' => sprintf( /* translators: 1. Post type plural label. */ _x( '%s: Selected', 'condition: post type plural label ie. Posts: Selected', 'popup-maker' ), $post_type->labels->name ), 'fields' => [ 'selected' => [ 'placeholder' => sprintf( /* translators: 1. Post type plural label. */ _x( 'Select %s.', 'condition: post type plural label ie. Select Posts', 'popup-maker' ), strtolower( $post_type->labels->name ) ), 'type' => 'postselect', 'post_type' => $name, 'multiple' => true, 'as_array' => true, 'std' => [], ], ], 'callback' => [ 'PUM_ConditionCallbacks', 'post_type' ], ]; $conditions[ $name . '_ID' ] = [ 'group' => $post_type->labels->name, 'name' => sprintf( /* translators: 1. Post type plural label. */ _x( '%s: ID', 'condition: post type plural label ie. Posts: ID', 'popup-maker' ), $post_type->labels->name ), 'fields' => [ 'selected' => [ 'placeholder' => sprintf( /* translators: 1. Post type singular label. */ _x( '%s IDs: 128, 129', 'condition: post type singular label ie. Posts IDs', 'popup-maker' ), strtolower( $post_type->labels->singular_name ) ), 'type' => 'text', ], ], 'callback' => [ 'PUM_ConditionCallbacks', 'post_type' ], ]; if ( is_post_type_hierarchical( $name ) ) { $conditions[ $name . '_children' ] = [ 'group' => $post_type->labels->name, 'name' => sprintf( /* translators: 1. Post type plural label. */ _x( '%s: Child Of', 'condition: post type plural label ie. Posts: ID', 'popup-maker' ), $post_type->labels->name ), 'fields' => [ 'selected' => [ 'placeholder' => sprintf( /* translators: 1. Post type plural label. */ _x( 'Select %s.', 'condition: post type plural label ie. Select Posts', 'popup-maker' ), strtolower( $post_type->labels->name ) ), 'type' => 'postselect', 'post_type' => $name, 'multiple' => true, 'as_array' => true, ], ], 'callback' => [ 'PUM_ConditionCallbacks', 'post_type' ], ]; $conditions[ $name . '_ancestors' ] = [ 'group' => $post_type->labels->name, 'name' => sprintf( /* translators: 1. Post type plural label. */ _x( '%s: Ancestor Of', 'condition: post type plural label ie. Posts: ID', 'popup-maker' ), $post_type->labels->name ), 'fields' => [ 'selected' => [ 'placeholder' => sprintf( /* translators: 1. Post type plural label. */ _x( 'Select %s.', 'condition: post type plural label ie. Select Posts', 'popup-maker' ), strtolower( $post_type->labels->name ) ), 'type' => 'postselect', 'post_type' => $name, 'multiple' => true, 'as_array' => true, ], ], 'callback' => [ 'PUM_ConditionCallbacks', 'post_type' ], ]; } $templates = wp_get_theme()->get_page_templates(); if ( 'page' === $name && ! empty( $templates ) ) { $conditions[ $name . '_template' ] = [ 'group' => $post_type->labels->name, 'name' => sprintf( /* translators: 1. Post type plural label. */ _x( '%s: With Template', 'condition: post type plural label ie. Pages: With Template', 'popup-maker' ), $post_type->labels->name ), 'fields' => [ 'selected' => [ 'type' => 'select', 'select2' => true, 'multiple' => true, 'as_array' => true, 'options' => array_merge( [ 'default' => __( 'Default', 'popup-maker' ) ], $templates ), ], ], 'callback' => [ 'PUM_ConditionCallbacks', 'post_type' ], ]; } $conditions = array_merge( $conditions, $this->generate_post_type_tax_conditions( $name ) ); } return $conditions; } /** * @param $name * * @return array */ public function generate_post_type_tax_conditions( $name ) { $post_type = get_post_type_object( $name ); $taxonomies = get_object_taxonomies( $name, 'object' ); $conditions = []; foreach ( $taxonomies as $tax_name => $taxonomy ) { if ( is_string( $taxonomy ) ) { $taxonomy = get_taxonomy( $tax_name ); } /* @var WP_Taxonomy[] $taxonomy */ $conditions[ $name . '_w_' . $tax_name ] = [ 'group' => $post_type->labels->name, 'name' => sprintf( /* translators: 1. Post type plural label, 2. Taxonomy singular label. */ _x( '%1$s: With %2$s', 'condition: post type plural and taxonomy singular label ie. Posts: With Category', 'popup-maker' ), $post_type->labels->name, $taxonomy->labels->singular_name ), 'fields' => [ 'selected' => [ 'placeholder' => sprintf( /* translators: 1. Taxonomy plural label. */ _x( 'Select %s.', 'condition: post type plural label ie. Select categories', 'popup-maker' ), strtolower( $taxonomy->labels->name ) ), 'type' => 'taxonomyselect', 'taxonomy' => $tax_name, 'multiple' => true, 'as_array' => true, ], ], 'callback' => [ 'PUM_ConditionCallbacks', 'post_type_tax' ], ]; } return $conditions; } /** * Generates conditions for all public taxonomies. * * @return array */ public function generate_taxonomy_conditions() { $conditions = []; $taxonomies = get_taxonomies( [ 'public' => true ], 'objects' ); foreach ( $taxonomies as $tax_name => $taxonomy ) { $conditions[ 'tax_' . $tax_name . '_all' ] = [ 'group' => $taxonomy->labels->name, 'name' => sprintf( /* translators: 1. Taxonomy plural label. */ _x( '%s: All', 'condition: taxonomy plural label ie. Categories: All', 'popup-maker' ), $taxonomy->labels->name ), 'callback' => [ 'PUM_ConditionCallbacks', 'taxonomy' ], ]; $conditions[ 'tax_' . $tax_name . '_selected' ] = [ 'group' => $taxonomy->labels->name, 'name' => sprintf( /* translators: 1. Taxonomy plural label. */ _x( '%s: Selected', 'condition: taxonomy plural label ie. Categories: Selected', 'popup-maker' ), $taxonomy->labels->name ), 'fields' => [ 'selected' => [ 'placeholder' => sprintf( /* translators: 1. Taxonomy plural label. */ _x( 'Select %s.', 'condition: taxonomy plural label ie. Select Categories', 'popup-maker' ), strtolower( $taxonomy->labels->name ) ), 'type' => 'taxonomyselect', 'taxonomy' => $tax_name, 'multiple' => true, 'as_array' => true, ], ], 'callback' => [ 'PUM_ConditionCallbacks', 'taxonomy' ], ]; $conditions[ 'tax_' . $tax_name . '_ID' ] = [ 'group' => $taxonomy->labels->name, 'name' => sprintf( /* translators: 1. Taxonomy plural label. */ _x( '%s: IDs', 'condition: taxonomy plural label ie. Categories: Selected', 'popup-maker' ), $taxonomy->labels->name ), 'fields' => [ 'selected' => [ 'placeholder' => sprintf( /* translators: 1. Taxonomy singular label. */ _x( '%s IDs: 128, 129', 'condition: taxonomy plural label ie. Category IDs', 'popup-maker' ), strtolower( $taxonomy->labels->singular_name ) ), 'type' => 'text', ], ], 'callback' => [ 'PUM_ConditionCallbacks', 'taxonomy' ], ]; } return $conditions; } /** * Registers all known conditions when called. */ public function register_conditions() { $conditions = array_merge( $this->generate_post_type_conditions(), $this->generate_taxonomy_conditions() ); $conditions['is_front_page'] = [ 'group' => __( 'General', 'popup-maker' ), 'name' => __( 'Home Page', 'popup-maker' ), 'callback' => 'is_front_page', 'priority' => 2, ]; $conditions['is_home'] = [ 'group' => __( 'Posts', 'popup-maker' ), 'name' => __( 'Blog Index', 'popup-maker' ), 'callback' => 'is_home', 'priority' => 1, ]; $conditions['is_search'] = [ 'group' => __( 'General', 'popup-maker' ), 'name' => __( 'Search Result Page', 'popup-maker' ), 'callback' => 'is_search', ]; $conditions['is_404'] = [ 'group' => __( 'General', 'popup-maker' ), 'name' => __( '404 Error Page', 'popup-maker' ), 'callback' => 'is_404', ]; $conditions = apply_filters( 'pum_registered_conditions', $conditions ); // @deprecated filter. $old_conditions = apply_filters( 'pum_get_conditions', [] ); foreach ( $old_conditions as $id => $condition ) { if ( ! empty( $condition['labels'] ) && ! empty( $condition['labels']['name'] ) ) { $condition['name'] = $condition['labels']['name']; unset( $condition['labels'] ); } if ( ! isset( $conditions[ $id ] ) ) { $conditions[ $id ] = $condition; } } $this->add_conditions( $conditions ); } /** * Gets a filterable array of the allowed user roles. * * @return array */ public static function allowed_user_roles() { global $wp_roles; static $roles; if ( ! isset( $roles ) && is_object( $wp_roles ) ) { $roles = apply_filters( 'pum_user_roles', $wp_roles->role_names ); if ( ! is_array( $roles ) || empty( $roles ) ) { $roles = []; } } else { return []; } return $roles; } } classes/Ajax.php 0000644 00000003245 15174671772 0007622 0 ustar 00 <?php /** * AJAX Initialization & Helper Functions * * @since 1.4 * @package PUM * @subpackage PUM/includes * @author Daniel Iser <danieliser@wizardinternetsolutions.com> * @copyright Copyright (c) 2023, Code Atlantic LLC * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Controls the basic analytics methods for Popup Maker */ class PUM_Ajax { /** * Creates and returns a 1x1 tracking gif to the browser. */ public static function serve_pixel() { $gif = self::get_file( POPMAKE_DIR . 'assets/images/beacon.gif' ); header( 'Content-Type: image/gif' ); header( 'Content-Length: ' . strlen( $gif ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo $gif; exit; } public static function get_file( $path ) { if ( function_exists( 'realpath' ) ) { $path = realpath( $path ); } // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged if ( ! $path || ! @is_file( $path ) ) { return ''; } // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged return @file_get_contents( $path ); } /** * Returns a 204 no content header. */ public static function serve_no_content() { header( 'HTTP/1.0 204 No Content' ); header( 'Content-Type: image/gif' ); header( 'Content-Length: 0' ); exit; } /** * Serves a proper json response. * * @param mixed $data */ public static function serve_json( $data = 0 ) { header( 'Content-Type: application/json' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo PUM_Utils_Array::safe_json_encode( $data ); exit; } } classes/Triggers.php 0000644 00000024524 15174671772 0010530 0 ustar 00 <?php /** * Class for Triggers * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { // Exit if accessed directly. exit; } /** * Class PUM_Triggers */ class PUM_Triggers { /** * @var PUM_Triggers */ public static $instance; /** * @var bool */ public $preload_posts = false; /** * @var array */ public $triggers; /** * Initializes the triggers. */ public static function init() { self::instance(); } /** * Creates the triggers instance. * * @return PUM_Triggers */ public static function instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); self::$instance->preload_posts = pum_is_popup_editor(); } return self::$instance; } /** * Adds an array of triggers to the initialized triggers. * * @param array $triggers The array of triggers to add. * @uses PUM_Triggers::add_trigger() */ public function add_triggers( $triggers = [] ) { foreach ( $triggers as $key => $trigger ) { if ( empty( $trigger['id'] ) && ! is_numeric( $key ) ) { $trigger['id'] = $key; } $this->add_trigger( $trigger ); } } /** * Initializes a single trigger * * @param array $trigger The trigger array. */ public function add_trigger( $trigger = [] ) { if ( ! empty( $trigger['id'] ) && ! isset( $this->triggers[ $trigger['id'] ] ) ) { $trigger = wp_parse_args( $trigger, [ 'id' => '', 'name' => '', 'modal_title' => '', 'settings_column' => '', 'priority' => 10, 'tabs' => $this->get_tabs(), 'fields' => [], ] ); if ( empty( $trigger['modal_title'] ) && ! empty( $trigger['name'] ) ) { $trigger['modal_title'] = sprintf( /* translators: 1. Trigger name. */ _x( '%s Trigger Settings', 'trigger settings modal title', 'popup-maker' ), $trigger['name'] ); } // Here for backward compatibility to merge in labels properly. $labels = $this->get_labels(); $trigger_labels = isset( $labels[ $trigger['id'] ] ) ? $labels[ $trigger['id'] ] : []; if ( ! empty( $trigger_labels ) ) { foreach ( $trigger_labels as $key => $value ) { if ( empty( $trigger[ $key ] ) ) { $trigger[ $key ] = $value; } } } // Remove cookie fields. if ( ! empty( $trigger['fields']['cookie'] ) ) { unset( $trigger['fields']['cookie'] ); } // Add cookie fields for all triggers automatically. if ( empty( $trigger['fields']['general']['cookie_name'] ) ) { $trigger['fields']['general'] = array_merge( $trigger['fields']['general'], $this->cookie_fields() ); } $this->triggers[ $trigger['id'] ] = apply_filters( 'pum_trigger', $trigger ); } } /** * Retrieves all initialized triggers. * * @return array The triggers */ public function get_triggers() { if ( ! isset( $this->triggers ) ) { $this->register_triggers(); } return $this->triggers; } /** * Retrieves a single trigger by the trigger key * * @param string|null $trigger The key for the trigger. * @return mixed|null The trigger array or null if none found */ public function get_trigger( $trigger = null ) { $triggers = $this->get_triggers(); return isset( $triggers[ $trigger ] ) ? $triggers[ $trigger ] : null; } /** * @param null $trigger * @param array $settings * * @return array * @deprecated */ public function validate_trigger( $trigger = null, $settings = [] ) { return $settings; } /** * Registers all known triggers when called. * * @uses PUM_Triggers::add_triggers() */ public function register_triggers() { $triggers = apply_filters( 'pum_registered_triggers', [ 'click_open' => [ 'name' => __( 'Click Open', 'popup-maker' ), 'modal_title' => __( 'Click Trigger Settings', 'popup-maker' ), 'settings_column' => sprintf( '<strong>%1$s</strong>: %2$s', __( 'Extra Selectors', 'popup-maker' ), '{{data.extra_selectors}}' ), 'fields' => [ 'general' => [ 'click_info' => [ 'type' => 'html', 'content' => '<p>' . __( 'Adding the class "popmake-<span id="pum-default-click-trigger-class">{popup-ID}</span>" to an element will trigger it to be opened once clicked. Additionally you can add additional CSS selectors below.', 'popup-maker' ) . '</p>', ], 'extra_selectors' => [ 'label' => __( 'Extra CSS Selectors', 'popup-maker' ), 'desc' => __( 'For more than one selector, separate by comma (,)', 'popup-maker' ) . '<br /><strong>eg: </strong>' . __( ' .class-here, .class-2-here, #button_id', 'popup-maker' ), 'placeholder' => __( '.class-here', 'popup-maker' ), 'doclink' => 'https://wppopupmaker.com/docs/triggering-popups/getting-css-selectors/?utm_campaign=contextual-help&utm_medium=inline-doclink&utm_source=plugin-popup-editor&utm_content=extra-selectors', ], ], 'advanced' => [ 'do_default' => [ 'type' => 'checkbox', 'label' => __( 'Do not prevent the default click functionality.', 'popup-maker' ), 'desc' => __( 'This prevents us from disabling the browsers default action when a trigger is clicked. It can be used to allow a link to a file to both trigger a popup and still download the file.', 'popup-maker' ), ], ], ], ], 'auto_open' => [ 'name' => __( 'Time Delay / Auto Open', 'popup-maker' ), 'modal_title' => __( 'Time Delay Settings', 'popup-maker' ), 'settings_column' => sprintf( '<strong>%1$s</strong>: %2$s', __( 'Delay', 'popup-maker' ), '{{data.delay}}' ), 'fields' => [ 'general' => [ 'delay' => [ 'type' => 'rangeslider', 'label' => __( 'Delay', 'popup-maker' ), 'desc' => __( 'The delay before the popup will open in milliseconds.', 'popup-maker' ), 'std' => 500, 'min' => 0, 'max' => 10000, 'step' => 500, 'unit' => 'ms', ], ], ], ], 'form_submission' => [ 'name' => __( 'Form Submission', 'popup-maker' ), // 'settings_column' => sprintf( '<strong>%1$s</strong>: %2$s', __( 'Form', 'popup-maker' ), '' ), 'fields' => [ 'general' => [ 'form' => [ 'type' => 'select', 'label' => __( 'Form', 'popup-maker' ), 'options' => $this->preload_posts ? array_merge( [ 'any' => __( 'Any Supported Form*', 'popup-maker' ), __( 'Popup Maker', 'popup-maker' ) => [ 'pumsubform' => __( 'Subscription Form', 'popup-maker' ), ], ], PUM_Integrations::get_integrated_forms_selectlist() ) : [], 'std' => 'any', ], 'delay' => [ 'type' => 'rangeslider', 'label' => __( 'Delay', 'popup-maker' ), 'desc' => __( 'The delay before the popup will open in milliseconds.', 'popup-maker' ), 'std' => 0, 'min' => 0, 'max' => 10000, 'step' => 500, 'unit' => 'ms', ], ], ], ], ] ); foreach ( $triggers as $key => $trigger ) { $triggers[ $key ]['fields'] = PUM_Admin_Helpers::parse_tab_fields( $triggers[ $key ]['fields'], [ 'has_subtabs' => false, 'name' => '%s', ] ); } // @deprecated filter. $old_triggers = apply_filters( 'pum_get_triggers', [] ); foreach ( $old_triggers as $type => $trigger ) { if ( isset( $triggers[ $type ] ) ) { continue; } if ( ! empty( $trigger['fields'] ) ) { foreach ( $trigger['fields'] as $tab_id => $tab_fields ) { foreach ( $tab_fields as $field_id => $field ) { if ( ! empty( $field['options'] ) ) { $trigger['fields'][ $tab_id ][ $field_id ]['options'] = array_flip( $trigger['fields'][ $tab_id ][ $field_id ]['options'] ); } } } } $triggers[ $type ] = $trigger; } $this->add_triggers( $triggers ); } /** * Prepares an array to create a dropdown list of triggers * * @return array An array of triggers with ID as key and name as value */ public function dropdown_list() { $_triggers = $this->get_triggers(); $triggers = []; foreach ( $_triggers as $id => $trigger ) { $triggers[ $id ] = $trigger['name']; } return $triggers; } /** * Returns the cookie fields used for trigger options. * * @return array * @uses filter pum_trigger_cookie_fields */ public function cookie_fields() { /** * Filter the array of default trigger cookie fields. * * @param array $fields The list of trigger cookie fields. */ return apply_filters( 'pum_trigger_cookie_fields', [ 'cookie_name' => $this->cookie_field(), ] ); } /** * Returns the cookie field used for trigger options. * * @return array * @uses filter pum_trigger_cookie_field */ public function cookie_field() { /** * Filter the array of default trigger cookie field. * * @param array $fields The list of trigger cookie field. */ return apply_filters( 'pum_trigger_cookie_field', [ 'label' => __( 'Cookie Name', 'popup-maker' ), 'desc' => __( 'Choose which cookies will disable this trigger', 'popup-maker' ), 'type' => 'select', 'multiple' => true, 'as_array' => true, 'select2' => true, 'priority' => 99, 'options' => [ 'add_new' => __( 'Add New Cookie', 'popup-maker' ), ], ] ); } /** * Returns an array of section labels for all triggers. * * Use the filter pum_get_trigger_section_labels to add or modify labels. * * @return array */ public function get_tabs() { /** * Filter the array of trigger section labels. * * @param array $to_do The list of trigger section labels. */ return apply_filters( 'pum_get_trigger_tabs', [ 'general' => __( 'General', 'popup-maker' ), 'cookie' => __( 'Cookie', 'popup-maker' ), 'advanced' => __( 'Advanced', 'popup-maker' ), ] ); } /** * Returns an array of trigger labels. * * Use the filter pum_get_trigger_labels to add or modify labels. * * @return array */ public function get_labels() { static $labels; if ( ! isset( $labels ) ) { /** * Filter the array of trigger labels. * * @param array $to_do The list of trigger labels. */ $labels = apply_filters( 'pum_get_trigger_labels', [] ); } return $labels; } } classes/Popups.php 0000644 00000001423 15174671772 0010221 0 ustar 00 <?php /** * Popups class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class Post_Types */ class PUM_Popups { /** * Hook the initialize method to the WP init action. */ public static function init() { } /** * @deprecated 1.8.0 * @remove 1.9.0 * * @return \WP_Query */ public static function get_all() { static $query; if ( ! isset( $query ) ) { $query = self::query(); } return $query; } /** * @deprecated 1.8.0 * @remove 1.9.0 * * @return \WP_Query */ public static function query( $args = [] ) { $args = wp_parse_args( $args, [ 'post_type' => 'popup', 'posts_per_page' => - 1, ] ); return new WP_Query( $args ); } } classes/Logging.php 0000644 00000000412 15174671772 0010316 0 ustar 00 <?php /** * Logging class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ /** * Class PUM_Logging * * @since 1.7.0 * @deprecated 1.8.0 Use PUM_Utils_Logging instead. */ class PUM_Logging extends PUM_Utils_Logging { } classes/Helpers.php 0000644 00000023066 15174671772 0010344 0 ustar 00 <?php /** * Helpers class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Helpers */ class PUM_Helpers { /** * Process do_shortcode without allowing printed side effects. * * @deprecated 1.21.0 Use PUM_Utils_Shortcodes::clean_do_shortcode * * @param string $shortcode_text Unprocessed string with shortcodes. * * @return string */ public static function do_shortcode( $shortcode_text = '' ) { return PUM_Utils_Shortcodes::clean_do_shortcode( $shortcode_text ); } /** * Get all shortcodes from given content. * * @deprecated 1.14 * * @param string $content Content potentially containing shortcodes. * * @return array<int,array<string,mixed>> */ public static function get_shortcodes_from_content( $content ) { return PUM_Utils_Shortcodes::get_shortcodes_from_content( $content ); } /** * Gets the directory caching should be stored in. * * Accounts for various adblock bypass options. * * @return string|false */ public static function get_cache_dir_url() { $upload_dir = \PopupMaker\get_upload_dir_url(); if ( false === $upload_dir ) { return false; } if ( ! pum_get_option( 'bypass_adblockers', false ) ) { return trailingslashit( (string) $upload_dir ) . 'pum'; } return (string) $upload_dir; } /** * Gets the uploads directory path * * @since 1.10 * @deprecated 1.21.0 Use \PopupMaker\get_upload_dir_path instead. * * @param string $path A path to append to end of upload directory URL. * @return bool|string The uploads directory path or false on failure */ public static function get_upload_dir_path( $path = '' ) { return \PopupMaker\get_upload_dir_path( $path ); } /** * Gets the uploads directory URL * * @since 1.10 * @deprecated 1.21.0 Use \PopupMaker\get_upload_dir_url instead. * * @param string $path A path to append to end of upload directory URL. * @return bool|string The uploads directory URL or false on failure */ public static function get_upload_dir_url( $path = '' ) { return \PopupMaker\get_upload_dir_url( $path ); } /** * Gets the Uploads directory * * @since 1.10.0 * @deprecated 1.21.0 Use \PopupMaker\get_upload_dir instead. * * @return array{basedir: string, baseurl: string}|false An associated array with upload directory data or false on failure */ public static function get_upload_dir() { $result = \PopupMaker\get_upload_dir(); return is_array( $result ) ? $result : false; } /** * @deprecated 1.10.0 Use \PopupMaker\get_upload_dir_url instead. * * @param string $path A path to append to end of upload directory URL. * @return string|false The uploads directory URL or false on failure */ public static function upload_dir_url( $path = '' ) { $result = \PopupMaker\get_upload_dir_url( $path ); return false === $result ? false : (string) $result; } /** * Sort array by priority value * * @param array{priority?: int} $a * @param array{priority?: int} $b * * @return int * @see PUM_Utils_Array::sort_by_priority instead. * * @deprecated 1.7.20 */ public static function sort_by_priority( $a, $b ) { return PUM_Utils_Array::sort_by_priority( $a, $b ); } /** * Sort nested arrays with various options. * * @param array<string,mixed> $arr * @param string $type * @param bool $reverse * * @return array<string,mixed> * @deprecated 1.7.20 * @see PUM_Utils_Array::sort instead. */ public static function sort_array( $arr = [], $type = 'key', $reverse = false ) { return PUM_Utils_Array::sort( $arr, $type, $reverse ); } /** * Query posts for selectlist options. * * @param string|string[] $post_type Post type(s) to query. * @param array<string,mixed> $args Query arguments. * @param bool $include_total Whether to include total count in results. * @return ($include_total is true ? array{items: array<int,string>, total_count: int} : array<int,string>) */ public static function post_type_selectlist_query( $post_type, $args = [], $include_total = false ) { // Normalize post_type input - handles string, comma-separated string, or array $post_types = wp_parse_list( $post_type ); // If only one post type, pass as string for consistency with WP_Query expectations $normalized_post_type = count( $post_types ) === 1 ? $post_types[0] : $post_types; $args = wp_parse_args( $args, [ 'posts_per_page' => 10, 'post_type' => $normalized_post_type, 'post__in' => null, 'post__not_in' => null, 'post_status' => null, 'page' => 1, // Performance Optimization. 'no_found_rows' => ! $include_total ? true : false, 'update_post_term_cache' => false, 'update_post_meta_cache' => false, ] ); if ( 'attachment' === $post_type ) { $args['post_status'] = 'inherit'; } // Query Caching. static $queries = []; $key = md5( wp_json_encode( $args ) ?: '' ); if ( ! isset( $queries[ $key ] ) ) { $query = new WP_Query( $args ); $posts = []; foreach ( $query->posts as $post ) { if ( $post instanceof WP_Post ) { $posts[ $post->ID ] = $post->post_title; } } $results = [ 'items' => $posts, 'total_count' => $query->found_posts, ]; $queries[ $key ] = $results; } else { $results = $queries[ $key ]; } return ! $include_total ? $results['items'] : $results; } /** * Query taxonomy terms for selectlist options. * * @param string[]|string $taxonomies Taxonomy name(s) to query. * @param array<string,mixed> $args Query arguments. * @param bool $include_total Whether to include total count in results. * @return ($include_total is true ? array{items: array<int,string>, total_count: int} : array<int,string>) */ public static function taxonomy_selectlist_query( $taxonomies = [], $args = [], $include_total = false ) { if ( empty( $taxonomies ) ) { $taxonomies = [ 'category' ]; } // Normalize taxonomy input - handles string, comma-separated string, or array $taxonomies = wp_parse_list( $taxonomies ); // Ensure all taxonomy names are strings $taxonomies = array_map( 'strval', $taxonomies ); $defaults = [ 'hide_empty' => false, 'number' => 10, 'search' => '', 'include' => null, 'exclude' => null, 'offset' => 0, 'page' => null, 'taxonomy' => $taxonomies, ]; $args = wp_parse_args( $args, $defaults ); if ( $args['page'] ) { $args['offset'] = ( $args['page'] - 1 ) * $args['number']; } // Remove page parameter as it's not a valid get_terms argument unset( $args['page'] ); // Query Caching. static $queries = []; $key = md5( wp_json_encode( $args ) ?: '' ); if ( ! isset( $queries[ $key ] ) ) { $terms = []; $term_results = get_terms( $args ); if ( ! is_wp_error( $term_results ) && is_array( $term_results ) ) { foreach ( $term_results as $term ) { if ( $term instanceof WP_Term ) { $terms[ $term->term_id ] = $term->name; } } } $total_args = [ 'taxonomy' => $taxonomies, 'hide_empty' => (bool) ( $args['hide_empty'] ?? false ), ]; if ( ! empty( $args['search'] ) ) { $total_args['search'] = (string) $args['search']; } if ( ! empty( $args['include'] ) ) { $total_args['include'] = $args['include']; } if ( ! empty( $args['exclude'] ) ) { $total_args['exclude'] = $args['exclude']; } $results = [ 'items' => $terms, 'total_count' => $include_total ? wp_count_terms( $total_args ) : null, ]; $queries[ $key ] = $results; } else { $results = $queries[ $key ]; } return ! $include_total ? $results['items'] : $results; } /** * Query users for selectlist options. * * @param array<string,mixed> $args Query arguments. * @param bool $include_total Whether to include total count in results. * * @return ($include_total is true ? array{items: array<int,string>, total_count: int} : array<int,string>) */ public static function user_selectlist_query( $args = [], $include_total = false ) { $args = wp_parse_args( $args, [ 'role' => null, 'count_total' => ! $include_total ? true : false, ] ); // Query Caching. static $queries = []; $key = md5( wp_json_encode( $args ) ?: '' ); if ( ! isset( $queries[ $key ] ) ) { $query = new WP_User_Query( $args ); $users = []; foreach ( $query->get_results() as $user ) { /** @var WP_User $user */ $users[ $user->ID ] = $user->display_name; } $results = [ 'items' => $users, 'total_count' => $query->get_total(), ]; $queries[ $key ] = $results; } else { $results = $queries[ $key ]; } return ! $include_total ? $results['items'] : $results; } /** * Get popup themes for selectlist options. * * @return array<int,string> Theme ID => title mapping */ public static function popup_theme_selectlist() { $themes = []; foreach ( pum_get_all_themes() as $theme ) { $themes[ $theme->ID ] = $theme->post_title; } return $themes; } /** * Get popups for selectlist options. * * @param array<string,mixed> $args Query arguments. * @return array<string,string> Popup ID => title mapping */ public static function popup_selectlist( $args = [] ) { $popup_list = []; $popups = pum_get_all_popups( $args ); foreach ( $popups as $popup ) { if ( $popup->is_published() ) { $popup_list[ (string) $popup->ID ] = $popup->post_title; } } return $popup_list; } } classes/Shortcode.php 0000644 00000027741 15174671772 0010700 0 ustar 00 <?php /** * Shortcode class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Shortcode * * This is a base class for all popup maker & extension shortcodes. */ abstract class PUM_Shortcode { /** * Per instance version for compatibility fixes. * * @var int */ public $version = 1; /** * Used to force ajax rendering of the shortcode. * * @var bool */ public $ajax_rendering = false; /** * Shortcode supports inner content. * * @var bool */ public $has_content = false; /** * Section/Tab where the content editor will be placed. * * @var string */ public $inner_content_section = 'general'; /** * Field priority of the content editor. * * @var int */ public $inner_content_priority = 5; /** * @deprecated 1.7.0 * @var string */ public $field_prefix = 'attrs'; /** * @deprecated 1.7.0 * @var string */ public $field_name_format = '{$prefix}[{$field}]'; /** * Current version used for compatibility fixes. * * @var int */ public $current_version = 2; /** * Class constructor will set the needed filter and action hooks */ public function __construct() { if ( ! did_action( 'init' ) ) { add_action( 'init', [ $this, 'register' ] ); } elseif ( ! did_action( 'admin_head' ) && current_action() !== 'init' ) { add_action( 'admin_head', [ $this, 'register' ] ); } else { $this->register(); } } /** * Register this shortcode with Shortcode UI & Shortcake. */ public function register() { add_shortcode( $this->tag(), [ $this, 'handler' ] ); add_action( 'print_media_templates', [ $this, 'render_template' ] ); add_action( 'register_shortcode_ui', [ $this, 'register_shortcode_ui' ] ); PUM_Shortcodes::instance()->add_shortcode( $this ); } /** * The shortcode tag. */ abstract public function tag(); /** * @return mixed */ public static function init() { $class = get_called_class(); return new $class(); } /** * Shortcode handler * * @param array $atts shortcode attributes * @param string $content shortcode content * * @return string */ abstract public function handler( $atts, $content = null ); public function _tabs() { // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore $tabs = $this->version < 2 && method_exists( $this, 'sections' ) ? $this->sections() : $this->tabs(); return apply_filters( 'pum_shortcode_tabs', $tabs, $this->tag() ); } public function _subtabs() { // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore $subtabs = $this->version >= 2 && method_exists( $this, 'subtabs' ) ? $this->subtabs() : []; foreach ( $this->_tabs() as $tab_id => $tab_label ) { if ( empty( $subtabs[ $tab_id ] ) || ! is_array( $subtabs[ $tab_id ] ) ) { $subtabs[ $tab_id ] = [ 'main' => $tab_label, ]; } } return apply_filters( 'pum_shortcode_subtabs', $subtabs, $this->tag() ); } /** * Sections. * * @deprecated 1.7.0 Use $this->tabs() instead. * * @todo Once all shortcodes are v2+ remove $this->sections() * * @return array */ public function sections() { return [ 'general' => __( 'General', 'popup-maker' ), 'options' => __( 'Options', 'popup-maker' ), 'appearance' => __( 'Appearance', 'popup-maker' ), 'extra' => __( 'Extra', 'popup-maker' ), ]; } /** * Returns a list of tabs for this shortcodes editor. * * @return array */ public function tabs() { return [ 'general' => __( 'General', 'popup-maker' ), 'options' => __( 'Options', 'popup-maker' ), 'appearance' => __( 'Appearance', 'popup-maker' ), 'extra' => __( 'Extra', 'popup-maker' ), ]; } /** * Returns a list of tabs for this shortcodes editor. * * @return array */ public function subtabs() { return [ 'general' => [ 'main' => __( 'General', 'popup-maker' ), ], 'options' => [ 'main' => __( 'Options', 'popup-maker' ), ], 'appearance' => [ 'main' => __( 'Appearance', 'popup-maker' ), ], 'extra' => [ 'main' => __( 'Extra', 'popup-maker' ), ], ]; } /** * Gets preprocessed shortcode attributes. * * @param $atts * * @return array */ public function shortcode_atts( $atts ) { if ( ! is_array( $atts ) ) { $atts = []; } foreach ( $atts as $key => $value ) { /** * Fix for truthy & value-less arguments such as [shortcode argument] */ if ( is_int( $key ) ) { unset( $atts[ $key ] ); $atts[ $value ] = true; } } return shortcode_atts( $this->defaults(), $atts, $this->tag() ); } /** * Array of default attribute values. * * @todo Convert this to pull from the std of $this->fields. * * @return array */ public function defaults() { $defaults = []; $fields = PUM_Admin_Helpers::flatten_fields_array( $this->fields() ); foreach ( $fields as $key => $field ) { $defaults[ $key ] = isset( $field['std'] ) ? $field['std'] : null; } return apply_filters( 'pum_shortcode_defaults', $defaults, $this ); } /** * Render the template based on shortcode classes methods. */ public function render_template() { if ( $this->version >= 2 && $this->get_template() !== false ) { echo '<script type="text/html" id="tmpl-pum-shortcode-view-' . esc_attr( $this->tag() ) . '">'; $this->style_block(); $this->template(); echo '</script>'; } else { /** @deprecated, here in case shortcode doesn't yet have the new $this->template() method. */ $this->_template(); } } /** * Returns the inner contents of the JS templates. * * @todo Once all shortcodes have been updated to use template over _template make this abstract. * * @return void */ public function template() {} /** * Render the template based on shortcode classes methods. */ public function style_block() { $styles = $this->get_template_styles(); if ( false !== $styles ) { // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo '<style>' . $styles . '</style>'; } } /** * @deprecated 1.7.0 Use template() instead. */ public function _template() { // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore } /** * Render the template based on shortcode classes methods. * * @return string|false */ public function get_template_styles() { ob_start(); $this->template_styles(); /** $this->_template_styles() is @deprecated and here in case shortcode doesn't yet have the new $this->template() method. */ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo $this->_template_styles(); $styles = ob_get_clean(); return ! empty( $styles ) ? $styles : false; } /** * Returns the styles for inner contents of the JS templates. * * @todo Once all shortcodes have been updated to use template over _template make this abstract. */ public function template_styles() {} /** * @deprecated 1.7.0 use template_styles() instead. * * @return string */ public function _template_styles() { // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore return ''; } /** * Returns the inner contents of the JS templates. * * @todo Once all shortcodes have been updated to use template over _template make this abstract. * * @return bool|string */ public function get_template() { ob_start(); $this->template(); $template = ob_get_clean(); return ! empty( $template ) ? $template : false; } /** * Register this shortcode in shortcake ui. */ public function register_shortcode_ui() { if ( ! is_admin() || ! function_exists( 'shortcode_ui_register_for_shortcode' ) ) { return; } $shortcode_ui_args = [ 'label' => $this->label(), 'listItemImage' => $this->icon(), 'post_type' => apply_filters( 'pum_shortcode_post_types', $this->post_types(), $this ), 'attrs' => [], ]; /** * Register UI for the "inner content" of the shortcode. Optional. * If no UI is registered for the inner content, then any inner content * data present will be backed up during editing. */ if ( $this->has_content ) { $shortcode_ui_args['inner_content'] = $this->inner_content_labels(); } $fields = PUM_Admin_Helpers::flatten_fields_array( $this->_fields() ); if ( count( $fields ) ) { foreach ( $fields as $field_id => $field ) { // Don't register inner content fields. if ( '_inner_content' === $field_id ) { continue; } // text, checkbox, textarea, radio, select, email, url, number, date, attachment, color, post_select switch ( $field['type'] ) { case 'select': $shortcode_ui_args['attrs'][] = [ 'label' => esc_html( $field['label'] ), 'attr' => $field_id, 'type' => 'select', 'options' => $field['options'], ]; break; case 'postselect': case 'objectselect': if ( empty( $field['post_type'] ) ) { break; } $shortcode_ui_args['attrs'][] = [ 'label' => wp_kses( $field['label'], wp_kses_allowed_html( 'post' ) ), 'attr' => $field_id, 'type' => 'post_select', 'options' => isset( $field['options'] ) ? $field['options'] : [], 'query' => [ 'post_type' => $field['post_type'] ], ]; break; case 'taxonomyselect': break; case 'text': default: $shortcode_ui_args['attrs'][] = [ 'label' => $field['label'], 'attr' => $field_id, 'type' => 'text', 'value' => ! empty( $field['std'] ) ? $field['std'] : '', // 'encode' => true, 'meta' => [ 'placeholder' => $field['placeholder'], ], ]; break; } } } /** * Register UI for your shortcode * * @param string $shortcode_tag * @param array $ui_args */ shortcode_ui_register_for_shortcode( $this->tag(), $shortcode_ui_args ); } /** * How the shortcode should be labeled in the UI. Required argument. * * @return string */ abstract public function label(); /** * Include an icon with your shortcode. Optional. * Use a dashicon, or full URL to image. * * Only used by Shortcake * * @return string */ public function icon() { return 'dashicons-editor-quote'; } /** * Limit this shortcode UI to specific post_types. Optional. * * @return array */ public function post_types() { return [ 'post', 'page', 'popup' ]; } /** * @todo Remove the inner function calls and just have this function define them directly. * * @return array */ public function inner_content_labels() { return [ 'label' => $this->label(), 'description' => $this->description(), ]; } /** * Used internally to merge the inner content field with existing fields. * * @return array */ public function _fields() { // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore $fields = apply_filters( 'pum_shortcode_fields', $this->fields(), $this ); if ( $this->has_content ) { $inner_content_labels = $this->inner_content_labels(); $fields[ $this->inner_content_section ]['main']['_inner_content'] = [ 'label' => $inner_content_labels['label'], 'desc' => $inner_content_labels['description'], 'section' => $this->inner_content_section, 'type' => 'textarea', 'priority' => $this->inner_content_priority, ]; } $fields = PUM_Admin_Helpers::parse_tab_fields( $fields, [ 'has_subtabs' => $this->version >= 2, 'name' => 'attrs[%s]', ] ); if ( $this->version < 2 ) { foreach ( $fields as $tab_id => $tab_fields ) { foreach ( $tab_fields as $field_id => $field ) { /** * Apply field compatibility fixes for shortcodes still on v1. */ if ( ! empty( $field['type'] ) && in_array( $field['type'], [ 'select', 'postselect', 'radio', 'multicheck' ], true ) ) { $fields[ $tab_id ][ $field_id ]['options'] = ! empty( $field['options'] ) ? array_flip( $field['options'] ) : []; } } } } return $fields; } /** * @return string */ abstract public function description(); /** * Array of fields by tab. * * @return array */ abstract public function fields(); } classes/Privacy.php 0000644 00000040311 15174671772 0010347 0 ustar 00 <?php /** * Privacy class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Privacy */ class PUM_Privacy { public static function init() { add_filter( 'wp_privacy_personal_data_exporters', [ __CLASS__, 'register_exporter' ], 10 ); add_filter( 'wp_privacy_personal_data_erasers', [ __CLASS__, 'register_erasers' ], 10 ); add_action( 'admin_init', [ __CLASS__, 'privacy_policy_content' ], 20 ); add_action( 'pum_save_popup', [ __CLASS__, 'clear_cookie_list' ] ); } public static function clear_cookie_list() { delete_option( 'pum_privacy_cookie_list' ); } /** * Add the suggested privacy policy text to the policy postbox. */ public static function privacy_policy_content() { if ( function_exists( 'wp_add_privacy_policy_content' ) ) { $content = self::default_privacy_policy_content( true ); wp_add_privacy_policy_content( __( 'Popup Maker', 'popup-maker' ), $content ); } } /** * Return the default suggested privacy policy content. * * @param bool $descr Whether to include the descriptions under the section headings. Default false. * * @return string The default policy content. */ public static function default_privacy_policy_content( $descr = false ) { $suggested_text = $descr ? '<strong class="privacy-policy-tutorial">' . __( 'Suggested text:', 'popup-maker' ) . ' </strong>' : ''; ob_start(); ?> <div class="pum-suggested-text"> <p class="privacy-policy-tutorial"><?php esc_html_e( 'Hello,', 'popup-maker' ); ?></p> <p class="privacy-policy-tutorial"><?php esc_html_e( 'This information serves as a guide on what sections need to be modified due to usage of Popup Maker and its extensions.', 'popup-maker' ); ?></p> <p class="privacy-policy-tutorial"><?php esc_html_e( 'You should include the information below in the correct sections of you privacy policy.', 'popup-maker' ); ?></p> <p class="privacy-policy-tutorial"><strong> <?php esc_html_e( 'Disclaimer:', 'popup-maker' ); ?></strong> <?php esc_html_e( 'This information is only for guidance and not to be considered as legal advice.', 'popup-maker' ); ?></p> <p class="privacy-policy-tutorial"><strong> <?php esc_html_e( 'Note:', 'popup-maker' ); ?></strong> <?php esc_html_e( 'Some of the information below is dynamically generated, such as cookies. If you add or change popups you will see those additions or changes below and will need to update your policy accordingly.', 'popup-maker' ); ?> </p> <h2><?php esc_html_e( 'What personal data we collect and why we collect it', 'popup-maker' ); ?></h2> <h3><?php esc_html_e( 'Subscription forms', 'popup-maker' ); ?></h3> <p class="privacy-policy-tutorial"><?php esc_html_e( 'Popup Maker subscription forms are not enabled by default.', 'popup-maker' ); ?></p> <p class="privacy-policy-tutorial"><?php esc_html_e( 'If you have used them in your popups to collect email subscribers, use this subsection to note what personal data is captured when someone submits a subscription form, and how long you keep it.', 'popup-maker' ); ?></p> <p class="privacy-policy-tutorial"><?php esc_html_e( 'For example, you may note that you keep form submissions for ongoing marketing purposes.', 'popup-maker' ); ?></p> <p><?php echo esc_html( $suggested_text ) . esc_html__( 'If you submit a subscription form on our site you will be opting in for us to save your name, email address and other relevant information.', 'popup-maker' ); ?></p> <p><?php esc_html_e( 'These subscriptions are used to notify you about related content, discounts & other special offers.', 'popup-maker' ); ?></p> <p><?php esc_html_e( 'You can opt our or unsubscribe at any time in the future by clicking link in the bottom of any email.', 'popup-maker' ); ?></p> <h3><?php esc_html_e( 'Cookies', 'popup-maker' ); ?></h3> <p class="privacy-policy-tutorial"><?php esc_html_e( 'Popup Maker uses cookies for most popups. The primary function is to prevent your users from being annoyed by seeing the same popup repeatedly.', 'popup-maker' ); ?></p> <p class="privacy-policy-tutorial"><?php esc_html_e( 'This may result in cookies being saved for an extended period of time. These are non-tracking cookies used only by our popups.', 'popup-maker' ); ?></p> <?php $cookies = self::get_all_cookies(); if ( ! empty( $cookies ) ) : ?> <p class="privacy-policy-tutorial"><?php esc_html_e( 'Below is a list of all cookies currently registered within your popup settings. These are here for you to disclose if you are so required.', 'popup-maker' ); ?></p> <table class="wp-list-table" style="width: 100%;"> <thead> <tr> <th align="left"><?php esc_html_e( 'Cookie Name', 'popup-maker' ); ?></th> <th align="left"><?php esc_html_e( 'Usage', 'popup-maker' ); ?></th> <th align="left"><?php esc_html_e( 'Time', 'popup-maker' ); ?></th> </tr> </thead> <tbody style="border: 1px solid;"> <?php foreach ( $cookies as $cookie ) { if ( ! is_array( $cookie ) ) { continue; } $cookie = wp_parse_args( $cookie, [ 'name' => '', 'label' => '', 'time' => '', ] ); printf( '<tr><td style="border-top: 1px dashed;">%s</td><td style="border-top: 1px dashed;">%s</td><td style="border-top: 1px dashed;">%s</td></tr>', esc_html( $cookie['name'] ), esc_html( $cookie['label'] ), esc_html( $cookie['time'] ) ); } ?> </tbody> </table> <?php endif; ?> <p><?php echo esc_html( $suggested_text ) . esc_html__( 'We use anonymous cookies to prevent users from seeing the same popup repetitively in an attempt to make our users experience more pleasant while still delivering time sensitive messaging.', 'popup-maker' ); ?></p> <h3><?php esc_html_e( 'Analytics', 'popup-maker' ); ?></h3> <p class="privacy-policy-tutorial"><?php esc_html_e( 'Popup Maker anonymously tracks popup views and conversions.', 'popup-maker' ); ?></p> <h2><?php esc_html_e( 'How long we retain your data', 'popup-maker' ); ?></h2> <p><?php esc_html_e( 'Subscriber information is retained in the local database indefinitely for analytic tracking purposes and for future export.', 'popup-maker' ); ?></p> <p><?php esc_html_e( 'Data will be exported or removed upon users request via the existing Exporter or Eraser.', 'popup-maker' ); ?></p> <p><?php esc_html_e( 'If syncing data to a 3rd party service (for example Mailchimp), data is retained there until unsubscribed or deleted.', 'popup-maker' ); ?></p> <h2><?php esc_html_e( 'Where we send your data', 'popup-maker' ); ?></h2> <p><?php esc_html_e( 'Popup Maker does not send any user data outside of your site by default.', 'popup-maker' ); ?></p> <p><?php esc_html_e( 'If you have extended our subscription forms to send data to a 3rd party service such as Mailchimp, user info may be passed to these external services. These services may be located abroad.', 'popup-maker' ); ?></p> </div> <?php $content = ob_get_clean(); /** * Filters the default content suggested for inclusion in a privacy policy. * * @param string $content The default policy content. */ return apply_filters( 'pum_get_default_privacy_policy_content', $content ); } /** * Register exporter for Popup Maker Optin Form Subscriber Data. * * @see https://github.com/allendav/wp-privacy-requests/blob/master/EXPORT.md * * @param $exporters * * @return array */ public static function register_exporter( $exporters ) { $exporters[] = [ 'exporter_friendly_name' => __( 'Popup Maker Subscribe Form', 'popup-maker' ), 'callback' => [ __CLASS__, 'exporter' ], ]; return $exporters; } /** * Register erasers for Popup Maker Optin Form Subscriber Data. * * @see https://github.com/allendav/wp-privacy-requests/blob/master/EXPORT.md * * @param $exporters * * @return array */ public static function register_erasers( $exporters ) { $exporters[] = [ 'eraser_friendly_name' => __( 'Popup Maker Subscribe Form', 'popup-maker' ), 'callback' => [ __CLASS__, 'eraser' ], ]; return $exporters; } /** * Exporter for Popup Maker Optin Form Subscriber Data. * * @see https://github.com/allendav/wp-privacy-requests/blob/master/EXPORT.md * * @param $email_address * @param int $page * * @return array */ public static function exporter( $email_address, $page = 1 ) { $number = 500; // Limit us to avoid timing out $page = (int) $page; $export_items = []; $subscribers = PUM_DB_Subscribers::instance()->query( [ 's' => $email_address, 'page' => $page, 'limit' => $number, 'orderby' => 'ID', 'order' => 'ASC', ], 'ARRAY_A' ); foreach ( (array) $subscribers as $subscriber ) { if ( $subscriber['email'] === $email_address ) { // Most item IDs should look like postType-postID // If you don't have a post, comment or other ID to work with, // use a unique value to avoid having this item's export // combined in the final report with other items of the same id $item_id = "pum-subscriber-{$subscriber['ID']}"; // Core group IDs include 'comments', 'posts', etc. // But you can add your own group IDs as needed $group_id = 'pum-subscribers'; // Optional group label. Core provides these for core groups. // If you define your own group, the first exporter to // include a label will be used as the group label in the // final exported report $group_label = __( 'Subscriber Data', 'popup-maker' ); // Plugins can add as many items in the item data array as they want $data = []; foreach ( $subscriber as $field_key => $field_value ) { switch ( $field_key ) { case 'ID': $data[] = [ 'name' => __( 'ID', 'popup-maker' ), 'value' => $field_value, ]; break; case 'email': $data[] = [ 'name' => __( 'Email', 'popup-maker' ), 'value' => $field_value, ]; break; case 'name': $data[] = [ 'name' => __( 'Name', 'popup-maker' ), 'value' => $field_value, ]; break; case 'fname': $data[] = [ 'name' => __( 'First Name', 'popup-maker' ), 'value' => $field_value, ]; break; case 'lname': $data[] = [ 'name' => __( 'Last Name', 'popup-maker' ), 'value' => $field_value, ]; break; case 'consent': $data[] = [ 'name' => __( 'Provided Consent', 'popup-maker' ), 'value' => ucfirst( $field_value ), ]; break; case 'values': case 'consent_args': $values = maybe_unserialize( $field_value ); foreach ( (array) $values as $key => $value ) { // Empty values don't need to be rendered. if ( empty( $value ) ) { continue; } $label = ''; switch ( $key ) { case 'provider': $providers = PUM_Newsletter_Providers::instance()->get_providers(); if ( ! empty( $providers[ $value ] ) ) { $label = $providers[ $value ]->name; } break; case 'required': $label = __( 'Consent Required', 'popup-maker' ); break; case 'text': $label = __( 'Consent Text', 'popup-maker' ); break; case 'name': case 'lname': case 'email': case 'fname': case 'list_id': case 'popup_id': case 'email_hash': case 'pum_form_popup_id': case 'mc_args': // Leave these values out. break; } $label = apply_filters( 'pum_privacy_subscriber_value_label', $label, $key, $value ); if ( ! empty( $label ) ) { $data[] = [ 'name' => $label, 'value' => $value, ]; } } break; case 'created': $data[] = [ 'name' => __( 'Date Subscribed', 'popup-maker' ), 'value' => $field_value, ]; break; } } $export_items[] = [ 'group_id' => $group_id, 'group_label' => $group_label, 'item_id' => $item_id, 'data' => $data, ]; } } // Tell core if we have more comments to work on still $done = count( $subscribers ) < $number; return [ 'data' => $export_items, 'done' => $done, ]; } /** * Eraser for Popup Maker Optin Form Subscriber Data. * * @see https://github.com/allendav/wp-privacy-requests/blob/master/EXPORT.md * * @param $email_address * @param int $page * * @return array */ public static function eraser( $email_address, $page = 1 ) { if ( empty( $email_address ) ) { return [ 'items_removed' => false, 'items_retained' => false, 'messages' => [], 'done' => true, ]; } $messages = []; $items_removed = false; $items_retained = false; $number = 500; // Limit us to avoid timing out $page = (int) $page; $subscribers = PUM_DB_Subscribers::instance()->query( [ 's' => $email_address, 'page' => $page, 'limit' => $number, 'orderby' => 'ID', 'order' => 'ASC', ], 'ARRAY_A' ); foreach ( (array) $subscribers as $subscriber ) { if ( $subscriber['email'] === $email_address ) { // Data should not be deleted if the user was left subscribed to a service provider. $unsubscribed = apply_filters( 'pum_privacy_eraser_subscriber_was_unsubscribed', true, $email_address, $subscriber ); if ( $unsubscribed ) { $deleted = PUM_DB_Subscribers::instance()->delete( $subscriber['ID'] ); if ( $deleted ) { $items_removed = true; } else { $items_retained = true; $messages[] = __( 'Subscription information was not removed. A database error may have occurred during deletion.', 'popup-maker' ); } } else { $items_retained = true; $messages[] = __( 'Subscription information was not removed. This may occur when no immediate confirmation is received during our attempt to unsubscribe you from our mailing list.', 'popup-maker' ); } } } // Tell core if we have more comments to work on still $done = count( $subscribers ) < $number; return [ 'items_removed' => $items_removed, 'items_retained' => $items_retained, 'messages' => $messages, 'done' => $done, ]; } /** * @return array */ public static function get_all_cookies() { $cookie_list = get_option( 'pum_privacy_cookie_list' ); $cookies = ! empty( $cookie_list['cookies'] ) ? $cookie_list['cookies'] : []; if ( false === $cookie_list || ! isset( $cookie_list['timestamp'] ) || strtotime( '-7 days' ) > $cookie_list['timestamp'] ) { $popups = pum_get_all_popups(); if ( ! empty( $popups ) ) { foreach ( $popups as $popup ) { if ( ! pum_is_popup( $popup ) ) { continue; } // Set this popup as the global $current. pum()->current_popup = $popup; $popup_cookies = $popup->get_setting( 'cookies', [] ); if ( ! empty( $popup_cookies ) ) { foreach ( $popup_cookies as $cookie ) { if ( ! empty( $cookie['settings']['name'] ) ) { $current_time = 0; if ( ! empty( $cookies[ $cookie['settings']['name'] ] ) ) { $current_time = strtotime( '+' . $cookies[ $cookie['settings']['name'] ]['time'] ); } if ( empty( $cookies[ $cookie['settings']['name'] ] ) ) { $cookies[ $cookie['settings']['name'] ] = [ 'label' => __( 'Cookie used to prevent popup from displaying repeatedly.', 'popup-maker' ), 'name' => $cookie['settings']['name'], 'time' => $cookie['settings']['time'], ]; } $new_time = strtotime( '+' . $cookie['settings']['time'] ); if ( $new_time > $current_time ) { $cookies[ $cookie['settings']['name'] ]['time'] = $cookie['settings']['time']; } } } } } // Clear the global $current. pum()->current_popup = null; } // Update cookie list so we don't have to regenerate it every page load. update_option( 'pum_privacy_cookie_list', [ 'cookies' => $cookies, 'timestamp' => strtotime( 'now' ), ] ); } return apply_filters( 'pum_privacy_get_all_cookies', $cookies ); } } classes/Base/Model/Post.php 0000644 00000005151 15174671772 0011574 0 ustar 00 <?php /** * Base Model for versioned Post objects. * * @author Code Atlantic * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker\Base\Model; use WP_Post; defined( 'ABSPATH' ) || exit; /** * Class Post * * @since 1.21.0 */ class Post { /** * Current model version. * * @var int */ const MODEL_VERSION = 1; /** * Post object. * * @var \WP_Post */ private $post; /** * Call To Action id. * * @var int */ public $ID = 0; /** * Call To Action slug. * * @var string */ public $slug = ''; /** * Call To Action label. * * @var string */ public $title = ''; /** * Call To Action status. * * @var string */ public $status = ''; /** * Data version. * * @var int */ public $data_version = 0; /** * Build a post. * * @param WP_Post $post Post data. */ public function __construct( $post ) { $this->post = $post; $properties = [ 'ID' => $post->ID, 'slug' => $post->post_name, 'title' => $post->post_title, 'status' => $post->post_status, ]; foreach ( $properties as $key => $value ) { $this->$key = $value; } $this->data_version = get_post_meta( $post->ID, 'data_version', true ); if ( ! $this->data_version ) { $this->data_version = self::MODEL_VERSION; update_post_meta( $post->ID, 'data_version', self::MODEL_VERSION ); } } /** * Get edit link. * * @return string Empty string if user cannot edit post, otherwise admin edit URL. */ public function get_edit_link() { if ( current_user_can( 'edit_post', $this->ID ) ) { return admin_url( "post.php?action=edit&post_type={$this->post->post_type}&post=" . absint( $this->ID ) ); } return ''; } /** * Get post meta value. * * @param string $key Meta key. * @param bool $single Whether to return a single value. * * @return ($single is true ? mixed : mixed[]) */ public function get_meta( $key, $single = true ) { return get_post_meta( $this->ID, $key, $single ); } /** * Update post meta value. * * @param string $key Meta key. * @param mixed $value Meta value. * * @return int|bool Meta ID on success, true on update, false on failure. */ public function update_meta( $key, $value ) { return update_post_meta( $this->ID, $key, $value ); } /** * Convert this call to action to an array. * * @return array{ * ID: int, * slug: string, * title: string, * status: string * } */ public function to_array() { return [ 'ID' => $this->ID, 'slug' => $this->slug, 'title' => $this->title, 'status' => $this->status, ]; } } classes/Base/Container.php 0000644 00000003107 15174671772 0011530 0 ustar 00 <?php /** * Plugin container. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Base; defined( 'ABSPATH' ) || exit; /** * Localized container class. * * Extends Pimple dependency injection container with convenience methods * for WordPress plugin architecture. Supports service registration, * factory patterns, and parameter storage. */ class Container extends \PopupMaker\Vendor\Pimple\Container { /** * Get item from container. * * Retrieves a service or parameter from the container. If the service is a factory, * it will be instantiated. If it's a protected service, it will be returned as-is. * * @param string $id The unique identifier for the parameter or service. * * @return mixed The value of the parameter or an instantiated service. * * @throws \PopupMaker\Vendor\Pimple\Exception\UnknownIdentifierException If the identifier is not defined. */ public function get( $id ) { return $this->offsetGet( $id ); } /** * Set item in container. * * Stores a parameter or service definition in the container. Parameters are stored * as-is, while service definitions (callables) are stored for lazy instantiation. * * @param string $id The unique identifier for the parameter or service. * @param mixed $value The value of the parameter or a callable service definition. * * @return void * * @throws \PopupMaker\Vendor\Pimple\Exception\FrozenServiceException If attempting to override a frozen service. */ public function set( $id, $value ) { $this->offsetSet( $id, $value ); } } classes/Base/CallToAction.php 0000644 00000012030 15174671772 0012115 0 ustar 00 <?php /** * Call To Action abstract class. * * @author Code Atlantic * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker\Base; defined( 'ABSPATH' ) || exit; /** * Class CallToAction * * @since 1.21.0 */ abstract class CallToAction implements \PopupMaker\Interfaces\CallToAction { /** * Unique identifier token. * * @var string */ public $key; /** * Whether the CTA requires the user to be logged in. * * @var bool */ public $login_required = false; /** * Label for reference. * * @return string */ abstract public function label(): string; /** * Function that returns array of fields by group. * * @return array<string, array<string, mixed>[]> Array of field groups where each group contains field configurations */ abstract public function fields(): array; /** * Whether the CTA requires the user to be logged in. * * @return void */ public function check_login_required() { if ( $this->login_required ) { if ( ! is_user_logged_in() ) { // Get current URL including query args safely using WordPress functions. $current_url = add_query_arg( [] ); $this->safe_redirect( wp_login_url( $current_url ) ); } } } /** * Handle the CTA action. * * @param \PopupMaker\Models\CallToAction $call_to_action Call to action object. * @param array<string, mixed> $extra_args Optional. Additional data passed to the handler (will include popup_id). * * @return void */ abstract public function action_handler( \PopupMaker\Models\CallToAction $call_to_action, array $extra_args = [] ): void; /** * Validate CTA settings array before saving. * * @param array<string, mixed> $settings The raw settings array to validate. * * @return true|\WP_Error|\WP_Error[] True if valid, WP_Error if validation fails. */ abstract public function validate_settings( array $settings ); /** * Validate required fields. * * @param array<string, mixed> $settings The raw settings array to validate. * * @return true|\WP_Error|\WP_Error[] True if valid, WP_Error if validation fails. */ public function validate_required_fields( array $settings ) { // Default implementation: validate required fields. /** @var string[] $errors */ $errors = []; $fields = $this->fields(); // Check all fields in all tabs for required validation. foreach ( $fields as $tab_fields ) { foreach ( $tab_fields as $field_id => $field ) { if ( empty( $field['required'] ) ) { continue; } // Check dependencies - field should only be validated if dependencies are met. if ( ! empty( $field['dependencies'] ) ) { $dependencies_met = true; foreach ( $field['dependencies'] as $key => $expected_value ) { $actual_value = $settings[ $key ] ?? ''; if ( is_string( $expected_value ) ) { if ( $actual_value !== $expected_value ) { $dependencies_met = false; break; } } if ( is_bool( $expected_value ) ) { if ( (bool) $actual_value !== $expected_value ) { $dependencies_met = false; break; } } } if ( ! $dependencies_met ) { continue; // Skip validation if dependencies not met. } } // Check if required field is empty. $field_value = $settings[ $field_id ] ?? ''; if ( empty( $field_value ) || ( is_string( $field_value ) && '' === trim( $field_value ) ) ) { $field_label = $field['label'] ?? $field_id; /* translators: %s: Field label */ $errors[] = sprintf( __( '%s is required', 'popup-maker' ), $field_label ); } } } if ( ! empty( $errors ) ) { return new \WP_Error( 'validation_failed', implode( ', ', $errors ), $errors ); } return true; } /** * Returns an array that represents the cta. * * Used to pass configs to JavaScript. * * @return array{ * key: string, * label: string, * login_required: bool, * fields: array<string, array<string, mixed>[]> * } */ public function as_array(): array { return [ 'key' => $this->key, 'label' => $this->label(), 'login_required' => $this->login_required, 'fields' => $this->fields(), ]; } /** * Safely redirect user with fallback handling & sanitization. * * This function handles the common pattern of redirecting with fallbacks * used across PopupMaker Pro helper classes. * * @param string $redirect_url Redirect URL. * @param string $fallback_url Fallback URL. * @return void */ public function safe_redirect( string $redirect_url = '', string $fallback_url = '' ): void { if ( ! empty( $redirect_url ) && filter_var( $redirect_url, FILTER_VALIDATE_URL ) ) { \PopupMaker\safe_redirect( $redirect_url ); } elseif ( ! empty( $fallback_url ) ) { \PopupMaker\safe_redirect( $fallback_url ); } else { // Default fallback. /** @var string[] $cta_args */ $cta_args = apply_filters( 'popup_maker/cta_valid_url_args', [ 'cta', 'pid' ] ); $url = remove_query_arg( $cta_args ); \PopupMaker\safe_redirect( $url ); } exit; } } classes/Base/Service/Repository.php 0000644 00000011073 15174671772 0013366 0 ustar 00 <?php /** * Repository service. * * @author Code Atlantic * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker\Base\Service; use PopupMaker\Base\Service; use PopupMaker\Base\Model\Post; defined( 'ABSPATH' ) || exit; /** * Repository service for managing Post-based entities. * * @since 1.21.0 * @template TPost of Post * @template-extends Service<\PopupMaker\Plugin\Core> */ abstract class Repository extends Service { /** * Post type key for registration. * * @var non-empty-string */ protected $post_type_key; /** * Registered WordPress post type name. * * @var non-empty-string */ protected $post_type; /** * Cache of instantiated items indexed by post ID. * * @var array<int, TPost> */ protected $items_by_id = []; /** * Initialize the service. * * @param \PopupMaker\Plugin\Core $container Plugin container. */ public function __construct( $container ) { parent::__construct( $container ); $this->post_type = $container->get_controller( 'PostTypes' )->get_type_key( $this->post_type_key ); } /** * Instantiate model from post. * * @param \WP_Post $post Post object. * * @return TPost|null */ abstract public function instantiate_model_from_post( $post ); /** * Cache an item in internal storage. * * @param TPost $item Item to cache by ID for fast retrieval. * @return void */ protected function cache_item( $item ) { $this->items_by_id[ $item->ID ] = $item; } /** * Get a list of all queried items. * * @param array<string, mixed> $args { * Optional. WP_Query arguments for filtering posts. * * @type string|string[] $post_type Post type to query. * @type int $posts_per_page Number of posts to retrieve. * @type string|string[] $post_status Post status to query. * @type string $meta_key Meta key to query. * @type mixed $meta_value Meta value to query. * } * @return TPost[] Array of instantiated model objects matching the query. */ public function query( $args = [] ) { $query_args = wp_parse_args( $args, [ 'post_type' => $this->post_type, 'posts_per_page' => - 1, ] ); $query_results = new \WP_Query( $query_args ); /** @var TPost[] $items */ $items = []; foreach ( $query_results->posts as $post ) { if ( ! $post instanceof \WP_Post ) { continue; } $item = $this->instantiate_model_from_post( $post ); if ( ! $item ) { continue; } // Cache the item. $this->cache_item( $item ); $items[] = $item; } return $items; } /** * Get item by ID. * * @param int|numeric-string $item_id Item ID to retrieve. * @return TPost|null Model instance if found, null otherwise. */ public function get_by_id( $item_id = 0 ) { // Convert to integer for consistent handling. $item_id = (int) $item_id; // If item is cached, get the object. if ( isset( $this->items_by_id[ $item_id ] ) ) { return $this->items_by_id[ $item_id ]; } // Query for a post by ID. if ( $item_id > 0 ) { $post = get_post( $item_id ); if ( $post && $post->post_type === $this->post_type ) { $item = $this->instantiate_model_from_post( $post ); if ( $item ) { $this->cache_item( $item ); } return $item; } } return null; } /** * Get item by custom field or column. * * @param non-empty-string $field Field name (post column like 'post_name' or meta key). * @param string|int|float $value Field value to search for. * @param 'column'|'meta' $type Search type: 'column' for post table columns or 'meta' for post meta fields. * @return TPost|null Model instance if found, null otherwise. */ public function get_by_field( $field, $value, $type = 'column' ) { if ( empty( $field ) || ( empty( $value ) && 0 !== $value && '0' !== $value ) ) { return null; } $query_args = [ 'post_type' => $this->post_type, 'posts_per_page' => 1, 'post_status' => [ 'publish', 'private', 'draft' ], ]; if ( 'meta' === $type ) { $query_args['meta_key'] = $field; // phpcs:ignore WordPress.DB.SlowDBQuery $query_args['meta_value'] = $value; // phpcs:ignore WordPress.DB.SlowDBQuery } else { // For post columns like post_name, post_title, etc. $query_args[ $field ] = $value; } $query = new \WP_Query( $query_args ); if ( $query->have_posts() ) { $post = $query->posts[0]; if ( $post instanceof \WP_Post ) { $item = $this->instantiate_model_from_post( $post ); if ( $item ) { $this->cache_item( $item ); } return $item; } } return null; } } classes/Base/Controller.php 0000644 00000001404 15174671772 0011727 0 ustar 00 <?php /** * Plugin controller. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Base; defined( 'ABSPATH' ) || exit; /** * Localized container class. * * @template TContainer of \PopupMaker\Plugin\Container */ abstract class Controller implements \PopupMaker\Interfaces\Controller { /** * Plugin Container. * * @var TContainer */ public $container; /** * Initialize based on dependency injection principles. * * @param TContainer $container Plugin container. * @return void */ public function __construct( $container ) { $this->container = $container; } /** * Check if controller is enabled. * * @return bool */ public function controller_enabled() { return true; } } classes/Base/Service.php 0000644 00000001341 15174671772 0011204 0 ustar 00 <?php /** * Plugin controller. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Base; defined( 'ABSPATH' ) || exit; /** * Base service class for dependency injection. * * Provides container access for all services implementing the service interface. * * @template TContainer of \PopupMaker\Plugin\Core */ abstract class Service implements \PopupMaker\Interfaces\Service { /** * Plugin Container. * * @var TContainer */ public $container; /** * Initialize based on dependency injection principles. * * @param TContainer $container Plugin container. * @return void */ public function __construct( $container ) { $this->container = $container; } } classes/Base/Upgrade.php 0000644 00000006317 15174671772 0011203 0 ustar 00 <?php /** * Plugin controller. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Base; defined( 'ABSPATH' ) || exit; use Closure; use stdClass; /** * Base Upgrade class. */ abstract class Upgrade implements \PopupMaker\Interfaces\Upgrade { /** * Type. * * @var string Uses data versioning types. */ const TYPE = ''; /** * Version. * * @var int */ const VERSION = 1; /** * Stream. * * @var \PopupMaker\Services\UpgradeStream|null */ public $stream; /** * Upgrade constructor. * * @return void */ public function __construct() { } /** * Upgrade label * * @return string */ abstract public function label(); /** * Return full description for this upgrade. * * @return string */ public function description() { return ''; } /** * Check if the upgrade is required. * * @return bool */ public function is_required() { $current_version = \PopupMaker\get_data_version( static::TYPE ); return $current_version && $current_version < static::VERSION; } /** * Get the type of upgrade. * * @return string */ public function get_type() { return static::TYPE; } /** * Check if the prerequisites are met. * * @return bool */ public function prerequisites_met() { return true; } /** * Get the dependencies for this upgrade. * * @return string[] */ public function get_dependencies() { return []; } /** * Run the upgrade. * * @return void|\WP_Error|false */ abstract public function run(); /** * Run the upgrade with stream support. * * @param \PopupMaker\Services\UpgradeStream $stream Stream for progress reporting and communication. * * @return bool|\WP_Error True on success, WP_Error on failure. */ public function stream_run( $stream ) { $this->stream = $stream; $return = $this->run(); $this->stream = null; if ( is_bool( $return ) || is_wp_error( $return ) ) { return $return; } return true; } /** * Return the stream. * * If no stream is available it returns a mock object with no-op methods to prevent errors. * * @return \PopupMaker\Services\UpgradeStream|(object{ * send_event: Closure, * send_error: Closure, * send_data: Closure, * update_status: Closure, * update_task_status: Closure, * start_upgrades: Closure, * complete_upgrades: Closure, * start_task: Closure, * update_task_progress: Closure, * complete_task: Closure * }&\stdClass) Stream instance or mock object with no-op methods. */ public function stream() { $noop = /** * No-op function for mock stream methods. * * @param mixed ...$args Variable arguments (ignored). * * @return void */ function () {}; return is_a( $this->stream, '\PopupMaker\Services\UpgradeStream' ) ? $this->stream : (object) [ 'send_event' => $noop, 'send_error' => $noop, 'send_data' => $noop, 'update_status' => $noop, 'update_task_status' => $noop, 'start_upgrades' => $noop, 'complete_upgrades' => $noop, 'start_task' => $noop, 'update_task_progress' => $noop, 'complete_task' => $noop, ]; } } classes/Base/Stream.php 0000644 00000011505 15174671772 0011042 0 ustar 00 <?php /** * Plugin controller. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Base; defined( 'ABSPATH' ) || exit; /** * HTTP Server-Sent Events (SSE) Stream class. * * Provides functionality for streaming real-time data to clients via SSE protocol. * Handles header configuration, buffer management, and message formatting. */ class Stream { /** * Stream name identifier for this SSE connection. * * @var non-empty-string */ protected $stream_name; /** * Stream class version. * * @var string */ const VERSION = '1.0.0'; /** * Stream constructor. * * @param non-empty-string $stream_name Stream name identifier. */ public function __construct( $stream_name = 'stream' ) { $this->stream_name = $stream_name; } /** * Start SSE stream. * * Configures PHP environment and sends initial headers for SSE connection. * Prevents execution if headers have already been sent. * * @return void */ public function start() { if ( headers_sent() ) { // Do not start the stream if headers have already been sent. return; } // Disable default disconnect checks. ignore_user_abort( true ); // phpcs:disable WordPress.PHP.IniSet.Risky, WordPress.PHP.NoSilencedErrors.Discouraged @ini_set( 'zlib.output_compression', '0' ); @ini_set( 'implicit_flush', '1' ); @ini_set( 'log_limit', '8096' ); @ob_end_clean(); set_time_limit( 0 ); // phpcs:enable WordPress.PHP.IniSet.Risky, WordPress.PHP.NoSilencedErrors.Discouraged $this->send_headers(); } /** * Send SSE headers. * * Sends required HTTP headers for Server-Sent Events protocol including * content type, stream name, caching directives, and connection settings. * * @return void */ public function send_headers() { header( 'Content-Type: text/event-stream' ); header( 'Stream-Name: ' . $this->stream_name ); header( 'Cache-Control: no-cache' ); header( 'Connection: keep-alive' ); // Nginx: unbuffered responses suitable for Comet and HTTP streaming applications. header( 'X-Accel-Buffering: no' ); $this->flush_buffers(); } /** * Flush buffers. * * Sends padding data to reach minimum buffer size for immediate flushing, * then flushes output buffers. Uses micro delay to prevent excessive flush rates. * * @return void */ protected function flush_buffers() { // This is for the buffer achieve the minimum size in order to flush data. // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo str_repeat( ' ', 1024 * 8 ) . PHP_EOL; flush(); // Unless both are called. Some browsers will still cache. // Neccessary to prevent the stream from flushing too quickly. usleep( 1000 ); } /** * Send general message/data to the client. * * Formats and sends data via SSE protocol. Automatically encodes non-string * data as JSON. Follows SSE specification for data messages. * * @param string|int|float|bool|array<string, mixed>|object $data Data to send (string, array, object, scalar). * * @return void */ public function send_data( $data ) { $data = is_string( $data ) ? $data : \wp_json_encode( $data ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo "data: {$data}" . PHP_EOL; echo PHP_EOL; $this->flush_buffers(); } /** * Send an event to the client. * * Sends a named event with optional data via SSE protocol. Follows SSE * specification for event messages with event type and data fields. * * @param non-empty-string $event Event name identifier. * @param string|int|float|bool|array<string, mixed>|object $data Data to send with the event (string, array, object, scalar). * * @return void */ public function send_event( $event, $data = '' ) { $data = is_string( $data ) ? $data : \wp_json_encode( $data ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo "event: {$event}" . PHP_EOL; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo "data: {$data}" . PHP_EOL; echo PHP_EOL; $this->flush_buffers(); } /** * Send an error to the client. * * Sends error information as a specialized 'error' event. * Accepts either a simple error message string or structured error data. * * @param string|array{message: string, code?: int|string, details?: array<string, mixed>} $error Error message or structured error data. * * @return void */ public function send_error( $error ) { $this->send_event( 'error', $error ); } /** * Check if the connection should abort. * * Determines if the client has disconnected or the connection should be terminated. * Useful for long-running streams to detect client disconnection. * * @return bool True if connection is aborted, false if still active. */ public function should_abort() { return (bool) connection_aborted(); } } classes/Deactivator.php 0000644 00000001122 15174671772 0011174 0 ustar 00 <?php /** * Fired during plugin deactivation. * * This class defines all code necessary to run during the plugin's deactivation. * * @since 1.4 * @deprecated 1.9.0 Use PUM_Install instead. * @package PUM * @subpackage PUM/includes * @author Daniel Iser <danieliser@wizardinternetsolutions.com> */ class PUM_Deactivator extends PUM_Install { /** * Short Description. (use period) * * Long Description. * * @since 1.4 * @deprecated 1.9.0 */ public static function deactivate( $network_wide = false ) { parent::deactivate_plugin( $network_wide ); } } classes/ConditionCallbacks.php 0000644 00000014602 15174671772 0012464 0 ustar 00 <?php /** * ConditionCallbacks class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_ConditionCallbacks { /** * Checks if this is one of the selected post_type items. * * @param array $condition * * @return bool */ public static function post_type( $condition = [] ) { global $post; $target = explode( '_', $condition['target'] ); // Modifier should be the last key. $modifier = array_pop( $target ); // Post type is the remaining keys combined. $post_type = implode( '_', $target ); $selected = ! empty( $condition['settings']['selected'] ) ? $condition['settings']['selected'] : []; switch ( $modifier ) { case 'index': if ( is_post_type_archive( $post_type ) ) { return true; } break; case 'all': // Checks for valid post type, if $post_type is page, then include the front page as most users simply expect this. if ( self::is_post_type( $post_type ) || ( 'page' === $post_type && is_front_page() ) ) { return true; } break; case 'ID': case 'selected': if ( self::is_post_type( $post_type ) && is_singular( $post_type ) && in_array( $post->ID, wp_parse_id_list( $selected ), true ) ) { return true; } break; case 'children': if ( ! is_post_type_hierarchical( $post_type ) || ! is_singular( $post_type ) ) { return false; } // Chosen parents. $selected = wp_parse_id_list( $selected ); foreach ( $selected as $id ) { if ( $post->post_parent === $id ) { return true; } } break; case 'ancestors': if ( ! is_post_type_hierarchical( $post_type ) || ! is_singular( $post_type ) ) { return false; } // Ancestors of the current page. $ancestors = get_post_ancestors( $post->ID ); // Chosen parent/grandparents. $selected = wp_parse_id_list( $selected ); foreach ( $selected as $id ) { if ( in_array( $id, $ancestors, true ) ) { return true; } } break; case 'template': if ( is_page() && is_page_template( $selected ) ) { return true; } break; } return false; } /** * Checks if this is one of the selected taxonomy term. * * @param array $condition * * @return bool */ public static function taxonomy( $condition = [] ) { $target = explode( '_', $condition['target'] ); // Remove the tax_ prefix. array_shift( $target ); // Assign the last key as the modifier _all, _selected $modifier = array_pop( $target ); // Whatever is left is the taxonomy. $taxonomy = implode( '_', $target ); if ( 'category' === $taxonomy ) { return self::category( $condition ); } elseif ( 'post_tag' === $taxonomy ) { return self::post_tag( $condition ); } switch ( $modifier ) { case 'all': if ( is_tax( $taxonomy ) ) { return true; } break; case 'ID': case 'selected': $selected = ! empty( $condition['settings']['selected'] ) ? $condition['settings']['selected'] : []; if ( is_tax( $taxonomy, wp_parse_id_list( $selected ) ) ) { return true; } break; } return false; } /** * Checks if this is one of the selected categories. * * @param array $condition * * @return bool */ public static function category( $condition = [] ) { $target = explode( '_', $condition['target'] ); // Assign the last key as the modifier _all, _selected $modifier = array_pop( $target ); switch ( $modifier ) { case 'all': if ( is_category() ) { return true; } break; case 'selected': $selected = ! empty( $condition['settings']['selected'] ) ? $condition['settings']['selected'] : []; if ( is_category( wp_parse_id_list( $selected ) ) ) { return true; } break; } return false; } /** * Checks if this is one of the selected tags. * * @param array $condition * * @return bool */ public static function post_tag( $condition = [] ) { $target = explode( '_', $condition['target'] ); // Assign the last key as the modifier _all, _selected $modifier = array_pop( $target ); switch ( $modifier ) { case 'all': if ( is_tag() ) { return true; } break; case 'selected': $selected = ! empty( $condition['settings']['selected'] ) ? $condition['settings']['selected'] : []; if ( is_tag( wp_parse_id_list( $selected ) ) ) { return true; } break; } return false; } /** * Checks if the post_type has the selected categories. * * @param array $condition * * @return bool */ public static function post_type_tax( $condition = [] ) { $target = explode( '_w_', $condition['target'] ); // First key is the post type. $post_type = array_shift( $target ); // Last Key is the taxonomy $taxonomy = array_pop( $target ); if ( 'category' === $taxonomy ) { return self::post_type_category( $condition ); } elseif ( 'post_tag' === $taxonomy ) { return self::post_type_tag( $condition ); } $selected = ! empty( $condition['settings']['selected'] ) ? $condition['settings']['selected'] : []; if ( self::is_post_type( $post_type ) && has_term( wp_parse_id_list( $selected ), $taxonomy ) ) { return true; } return false; } /** * Checks if the post_type has the selected categories. * * @param array $condition * * @return bool */ public static function post_type_category( $condition = [] ) { $target = explode( '_w_', $condition['target'] ); // First key is the post type. $post_type = array_shift( $target ); $selected = ! empty( $condition['settings']['selected'] ) ? $condition['settings']['selected'] : []; if ( self::is_post_type( $post_type ) && has_category( wp_parse_id_list( $selected ) ) ) { return true; } return false; } /** * Checks is a post_type has the selected tags. * * @param array $condition * * @return bool */ public static function post_type_tag( $condition = [] ) { $target = explode( '_w_', $condition['target'] ); // First key is the post type. $post_type = array_shift( $target ); $selected = ! empty( $condition['settings']['selected'] ) ? $condition['settings']['selected'] : []; if ( self::is_post_type( $post_type ) && has_tag( wp_parse_id_list( $selected ) ) ) { return true; } return false; } public static function is_post_type( $post_type ) { global $post; return is_object( $post ) && isset( $post->post_type ) && ( is_singular( $post_type ) || $post->post_type === $post_type ); } } classes/Abstract/Model/Post.php 0000644 00000014273 15174671772 0012472 0 ustar 00 <?php /** * Abstract for post models * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Abstract_Model_Post */ abstract class PUM_Abstract_Model_Post { /** * The current model version. * * Used for compatibility testing. * 1 - v1.0.0 * * @var int */ public $model_version = 1; /** * The version of the data currently stored for the current item. * * 1 - v1.0.0 * * @var int */ public $data_version; /** * The post ID */ public $ID = 0; /** * Declare the default properties in WP_Post as we can't extend it */ public $post_author = 0; /** * @var string */ public $post_date = '0000-00-00 00:00:00'; /** * @var string */ public $post_date_gmt = '0000-00-00 00:00:00'; /** * @var string */ public $post_content = ''; /** * @var string */ public $post_title = ''; /** * @var string */ public $post_excerpt = ''; /** * @var string */ public $post_status = 'publish'; /** * @var string */ public $comment_status = 'open'; /** * @var string */ public $ping_status = 'open'; /** * @var string */ public $post_password = ''; /** * @var string */ public $post_name = ''; /** * @var string */ public $post_type = ''; /** * @var string */ public $to_ping = ''; /** * @var string */ public $pinged = ''; /** * @var string */ public $post_modified = '0000-00-00 00:00:00'; /** * @var string */ public $post_modified_gmt = '0000-00-00 00:00:00'; /** * @var string */ public $post_content_filtered = ''; /** * @var int */ public $post_parent = 0; /** * @var string */ public $guid = ''; /** * @var int */ public $menu_order = 0; /** * @var string */ public $post_mime_type = ''; /** * @var int */ public $comment_count = 0; /** * @var string */ public $filter; /** * @var WP_Post */ public $post; /** * The required post type of the object. * * @var string|string[]|false */ protected $required_post_type = false; /** * Whether the object is valid. */ protected $valid = true; /** * Get things going * * @param WP_Post|int $post */ public function __construct( $post ) { if ( ! is_a( $post, 'WP_Post' ) ) { $post = get_post( $post ); } $this->setup( $post ); } /** * Given the post data, let's set the variables * * @param WP_Post $post */ protected function setup( $post ) { if ( ! is_a( $post, 'WP_Post' ) || ! $this->is_required_post_type( $post ) ) { $this->valid = false; return; } $this->post = $post; foreach ( get_object_vars( $post ) as $key => $value ) { $this->$key = $value; } } /** * @param WP_Post $post * * @return bool */ protected function is_required_post_type( $post ) { if ( $this->required_post_type ) { if ( is_array( $this->required_post_type ) && ! in_array( $post->post_type, $this->required_post_type, true ) ) { return false; } elseif ( is_string( $this->required_post_type ) && $this->required_post_type !== $post->post_type ) { return false; } } return true; } /** * is triggered when invoking inaccessible methods in an object context. * * @param $name string * @param $arguments array * * @return mixed * @link http://php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.methods */ public function __call( $name, $arguments ) { if ( method_exists( $this, 'get_' . $name ) ) { return call_user_func_array( [ $this, 'get_' . $name ], $arguments ); } } /** * Magic __get function to dispatch a call to retrieve a private property * * @param $key * * @return mixed|WP_Error */ public function __get( $key ) { if ( method_exists( $this, 'get_' . $key ) ) { return call_user_func( [ $this, 'get_' . $key ] ); } else { $meta = $this->get_meta( $key ); if ( $meta ) { return $meta; } return new WP_Error( 'post-invalid-property', sprintf( /* translators: %s is the property name. */ __( 'Can\'t get property %s', 'default' ), $key ) ); } } /** * Is object valid. * * @return bool. */ public function is_valid() { return $this->valid; } /** * @param $key * @param bool $single * * @return mixed|false */ public function get_meta( $key, $single = true ) { /** * Checks for remapped meta values. This allows easily adding compatibility layers in the object meta. */ $remapped_value = $this->remapped_meta( $key ); if ( false !== $remapped_value ) { return $remapped_value; } return get_post_meta( $this->ID, $key, $single ); } /** * @param string $key * @param mixed $value * @param bool $unique * * @return bool|int */ public function add_meta( $key, $value, $unique = false ) { return add_post_meta( $this->ID, $key, $value, $unique ); } /** * @param string $key * @param mixed $value * * @return bool|int */ public function update_meta( $key, $value ) { return update_post_meta( $this->ID, $key, $value ); } /** * @param string $key * * @return bool */ public function delete_meta( $key ) { return delete_post_meta( $this->ID, $key ); } /** * Allows for easy backward compatibility layer management in each child class. * * @param string $key * * @return bool */ public function remapped_meta( $key = '' ) { return false; } /** * @return int */ public function author_id() { return (int) $this->post_author; } /** * Convert object to array. * * @return array Object as array. */ public function to_array() { $post = get_object_vars( $this ); return $post; } /** * @return bool */ public function is_trash() { return get_post_status( $this->ID ) === 'trash'; } /** * @return bool */ public function is_published() { return get_post_status( $this->ID ) === 'publish'; } /** * @return bool */ public function is_draft() { return get_post_status( $this->ID ) === 'draft'; } /** * @return bool */ public function is_private() { return get_post_status( $this->ID ) === 'private'; } /** * @return bool */ public function is_pending() { return get_post_status( $this->ID ) === 'pending'; } } classes/Abstract/Model/User.php 0000644 00000013352 15174671772 0012460 0 ustar 00 <?php /** * Abstract for user model * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Core class used to implement the custom WP_User object. * * @property string $nickname * @property string $description * @property string $user_description * @property string $first_name * @property string $user_firstname * @property string $last_name * @property string $user_lastname * @property string $user_login * @property string $user_pass * @property string $user_nicename * @property string $user_email * @property string $user_url * @property string $user_registered * @property string $user_activation_key * @property string $user_status * @property int $user_level * @property string $display_name * @property string $spam * @property string $deleted * @property string $locale */ abstract class PUM_Abstract_Model_User { /** * The current model version. * * Used for compatibility testing. * 1 - v1.0.0 * * @var int */ public $model_version = 1; /** * The version of the data currently stored for the current item. * * 1 - v1.0.0 * * @var int */ public $data_version; /** * The user's ID. * * @var int */ public $ID = 0; /** * @var \WP_User */ public $user; /** * @var string[] An array of keys that can be accessed via the $this->user (WP_User) object. */ public $core_data_keys = [ 'nickname', 'description', 'user_description', 'first_name', 'user_firstname', 'last_name', 'user_lastname', 'user_login', 'user_pass', 'user_nicename', 'user_email', 'user_url', 'user_registered', 'user_activation_key', 'user_status', 'user_level', 'display_name', 'spam', 'deleted', 'locale', 'data', 'ID', 'caps', 'cap_key', 'roles', 'allcaps', 'filter', ]; /** * The required permission|user_role|capability|user_level of the user. */ protected $required_permission = ''; /** * Get things going * * @param WP_User|int $user */ public function __construct( $user ) { if ( ! is_a( $user, 'WP_User' ) ) { $user = new WP_User( $user ); } $this->setup( $user ); } /** * Given the user data, let's set the variables * * @param WP_User $user The User Object */ protected function setup( $user ) { if ( ! is_a( $user, 'WP_User' ) || ( $this->required_permission && ! $user->has_cap( $this->required_permission ) ) ) { return; } if ( ! isset( $user->data->ID ) ) { $user->data->ID = 0; } $this->user = $user; // Set $this->ID based on the users ID. $this->ID = $user->ID; } /** * @param $key * * @return bool */ public function __isset( $key ) { if ( in_array( $key, $this->core_data_keys, true ) ) { return isset( $this->user->$key ); } return false; } /** * @param $key */ public function __unset( $key ) { if ( in_array( $key, $this->core_data_keys, true ) ) { unset( $this->user->$key ); } } /** * Magic __get function to dispatch a call to retrieve a private property * * @param $key * * @return mixed|WP_Error */ public function __get( $key ) { if ( in_array( $key, $this->core_data_keys, true ) ) { return $this->user->$key; } elseif ( method_exists( $this, 'get_' . $key ) ) { return call_user_func( [ $this, 'get_' . $key ] ); } else { $meta = get_user_meta( $this->ID, $key, true ); if ( $meta ) { return $meta; } return new WP_Error( 'user-invalid-property', sprintf( /* translators: %s is the property name. */ __( 'Can\'t get property %s', 'default' ), $key ) ); } } /** * @param $name * @param $arguments * * @return mixed */ public function __call( $name, $arguments ) { if ( method_exists( $this->user, $name ) ) { return call_user_func_array( [ $this->user, $name ], $arguments ); } } /** * Get per site or global user options. * * @param $key * * @return mixed */ public function get_option( $key ) { return get_user_option( $key, $this->ID ); } /** * Used to set per site or global user options. * * @param $key * @param $value * @param bool $is_global * * @return bool|int */ public function update_option( $key, $value, $is_global = false ) { return update_user_option( $this->ID, $key, $value, $is_global ); } /** * Used to delete per site or global user options. * * @param $key * @param bool $is_global * * @return bool */ public function delete_option( $key, $is_global = false ) { return delete_user_option( $this->ID, $key, $is_global ); } /** * Get user meta. * * @param $key * @param bool $single * * @return mixed */ public function get_meta( $key, $single = true ) { return get_user_meta( $this->ID, $key, $single ); } /** * Add user meta. * * @param $key * @param $value * * @return bool|int */ public function add_meta( $key, $value, $unique = false ) { return add_user_meta( $this->ID, $key, $value, $unique ); } /** * Update user meta. * * @param $key * @param $value * * @return bool|int */ public function update_meta( $key, $value ) { return update_user_meta( $this->ID, $key, $value ); } /** * Delete user meta. * * @param $key * @param $value * * @return bool|int */ public function delete_meta( $key, $value = '' ) { return delete_user_meta( $this->ID, $key, $value ); } /** * @param int $size * * @return false|string */ public function get_avatar( $size = 35 ) { return get_avatar( $this->ID, $size ); } /** * Convert object to array. * * @return array Object as array. */ public function to_array() { $user = $this->user->to_array(); foreach ( get_object_vars( $this ) as $k => $v ) { $user[ $k ] = $v; } return $user; } } classes/Abstract/Repository/Posts.php 0000644 00000022453 15174671772 0013773 0 ustar 00 <?php /** * Abstract for posts repository * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Abstract_Repository_Posts * * Interface between WP_Query and our data needs. Essentially a query factory. */ abstract class PUM_Abstract_Repository_Posts implements PUM_Interface_Repository { /** * WordPress query object. * * @var WP_Query */ protected $query; /** * Array of hydrated object models. * * @var array */ protected $cache = [ 'objects' => [], 'queries' => [], ]; /** * @var string */ protected $model; /** * Should return a valid post type to test against. * * @return string */ protected function get_post_type() { return 'post'; } /** * Initialize the repository. */ protected function init() { $this->query = new WP_Query(); $this->reset_strict_query_args(); } public function __construct() { $this->init(); } /** * @return array */ public function default_query_args() { return []; } /** * @var array */ protected $strict_query_args = []; /** * Returns an array of default strict query args that can't be over ridden, such as post type. * * @return array */ protected function default_strict_query_args() { return [ 'post_type' => $this->get_post_type(), ]; } /** * Returns an array of enforced query args that can't be over ridden, such as post type. * * @return array */ protected function get_strict_query_args() { return $this->strict_query_args; } /** * Sets a specific query arg to a strict value. * * @param $key * @param null $value */ protected function set_strict_query_arg( $key, $value = null ) { $this->strict_query_args[ $key ] = $value; } /** * Returns an array of enforced query args that can't be over ridden, such as post type. * * @return array */ protected function reset_strict_query_args() { $this->strict_query_args = $this->default_strict_query_args(); return $this->strict_query_args; } /** * @param array $args * * @return array */ protected function do_build_wp_query_args( $args = [] ) { $args = wp_parse_args( $args, $this->default_query_args() ); $args = $this->build_wp_query_args( $args ); return array_merge( $args, $this->get_strict_query_args() ); } /** * @param array $args * * @return array */ protected function build_wp_query_args( $args = [] ) { return $args; } /** * @param int $id * * @return WP_Post|PUM_Abstract_Model_Post * @throws \InvalidArgumentException */ public function get_item( $id ) { if ( ! $this->has_item( $id ) ) { throw new InvalidArgumentException( sprintf( /* translators: %1$s is the post type name, %2$d is the ID. */ esc_attr__( 'No %1$s found with id %2$d.', 'popup-maker' ), esc_attr( $this->get_post_type() ), absint( $id ) ) ); } return $this->get_model( $id ); } /** * @param $field * @param $value * * @return PUM_Abstract_Model_Post|\WP_Post * @throws InvalidArgumentException */ public function get_item_by( $field, $value ) { global $wpdb; // Will be circling back to this in the future to either add caching or defer to WP_Query entirely. Leaving NoCaching flagged for now. // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery $id = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE %s = %s", $field, $value ) ); if ( ! $id || ! $this->has_item( $id ) ) { throw new InvalidArgumentException( sprintf( /* translators: %1$s is the post type name, %2$s is the field name, %3$s is the value. */ esc_attr__( 'No %1$s found with %2$s %3$s.', 'popup-maker' ), esc_attr( $this->get_post_type() ), esc_attr( $field ), esc_attr( $value ) ) ); } return $this->get_model( $id ); } /** * @param int $id * * @return bool */ public function has_item( $id ) { return get_post_type( $id ) === $this->get_post_type(); } /** * @param $args * * @return string */ protected function get_args_hash( $args ) { return md5( wp_json_encode( $args ) ); } /** * @param array $args * * @return WP_Post[]|PUM_Abstract_Model_Post[] */ public function get_items( $args = [] ) { /** Reset default strict query args. */ $this->reset_strict_query_args(); $args = $this->do_build_wp_query_args( $args ); $hash = $this->get_args_hash( $args ); if ( ! isset( $this->cache['queries'][ $hash ] ) ) { /** * Initialize a new query and return it. * * This also keeps the query cached for potential later usage via $this->get_last_query(); */ $this->query->query( $args ); $this->cache['queries'][ $hash ] = (array) $this->query->posts; } /** @var array $posts */ $posts = $this->cache['queries'][ $hash ]; /** * Only convert to models if the model set is valid and not the WP_Post default. */ foreach ( $posts as $key => $post ) { $posts[ $key ] = $this->get_model( $post ); } return $posts; } /** * @param array $args * * @return int */ public function count_items( $args = [] ) { /** Reset default strict query args. */ $this->reset_strict_query_args(); /** Set several strict query arg overrides, no matter what args were passed. */ $this->set_strict_query_arg( 'fields', 'ids' ); $this->set_strict_query_arg( 'posts_per_page', 1 ); /** We don't use $this->query here to avoid returning count queries via $this->>get_last_query(); */ $query = new WP_Query( $this->do_build_wp_query_args( $args ) ); return (int) $query->found_posts; } /** * @return \WP_Query */ public function get_last_query() { return $this->query; } /** * Assert that data is valid. * * @param array $data * * @throws InvalidArgumentException * * TODO Add better Exceptions via these guides: * - https://www.brandonsavage.net/using-interfaces-for-exceptions/ * - https://www.alainschlesser.com/structuring-php-exceptions/ * * if ( isset( $data['subject'] ) && ! $data['subject'] ) { * throw new InvalidArgumentException( 'The subject is required.' ); * } */ abstract protected function assert_data( $data ); /** * @param array $data * * @return WP_Post|PUM_Abstract_Model_Post * @throws InvalidArgumentException */ public function create_item( $data ) { $data = wp_parse_args( $data, [ 'content' => '', 'title' => '', 'meta_input' => [], ] ); $this->assert_data( $data ); $post_id = wp_insert_post( [ 'post_type' => $this->get_post_type(), 'post_status' => 'publish', 'post_title' => $data['title'], 'post_content' => $data['content'], 'meta_input' => $data['meta_input'], ], true ); if ( is_wp_error( $post_id ) ) { throw new InvalidArgumentException( esc_html( $post_id->get_error_message() ) ); } return $this->get_item( $post_id ); } /** * @param int $id * @param array $data * * @return WP_Post|PUM_Abstract_Model_Post * @throws Exception */ public function update_item( $id, $data ) { $this->assert_data( $data ); /** @var WP_Post|PUM_Abstract_Model_Post $original */ $original = $this->get_item( $id ); $post_update = []; foreach ( $data as $key => $value ) { if ( $original->$key === $value ) { continue; } switch ( $key ) { default: $post_update[ $key ] = $value; break; case 'title': $post_update['post_title'] = $value; break; case 'content': $post_update['post_content'] = $value; break; case 'custom_meta_key': update_post_meta( $id, '_custom_meta_key', $value ); } } if ( count( $post_update ) ) { $post_update['ID'] = $id; wp_update_post( $post_update ); } return $this->get_item( $id ); } /** * @param $post * * @return string */ protected function get_post_hash( $post ) { return md5( wp_json_encode( $post ) ); } /** * @param $post * * @return bool */ protected function cached_model_exists( $post ) { return isset( $this->cache['objects'][ $post->ID ] ) && $this->get_post_hash( $post ) === $this->cache['objects'][ $post->ID ]['hash']; } /** * @param int|WP_Post $id * * @return WP_Post|PUM_Abstract_Model_Post */ protected function get_model( $id ) { $post = is_a( $id, 'WP_Post' ) ? $id : get_post( $id ); /** * Only convert to models if the model set is valid and not the WP_Post default. */ $model = $this->model; if ( ! $model || 'WP_Post' === $model || ! class_exists( $model ) || is_a( $post, $model ) ) { return $post; } if ( ! $this->cached_model_exists( $post ) ) { $object = new $model( $post ); $this->cache['objects'][ $post->ID ] = [ 'object' => $object, 'hash' => $this->get_post_hash( $post ), ]; } return $this->cache['objects'][ $post->ID ]['object']; } /** * @param int $id * * @return bool */ public function delete_item( $id ) { return EMPTY_TRASH_DAYS && (bool) wp_trash_post( $id ); } /** * @param int $id * * @return bool */ public function is_item_trashed( $id ) { return get_post_status( $id ) === 'trash'; } /** * @param int $id * * @return bool */ public function untrash_item( $id ) { return (bool) wp_untrash_post( $id ); } /** * @param int $id * * @return bool */ public function force_delete_item( $id ) { return (bool) wp_delete_post( $id, true ); } } classes/Abstract/Upgrade/Popups.php 0000644 00000001613 15174671772 0013354 0 ustar 00 <?php /** * Abstract for Popup Upgrades * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Implements a batch processor for migrating existing popups to new data structure. * * @since 1.7.0 * * @see PUM_Abstract_Upgrade * @see PUM_Interface_Batch_PrefetchProcess * @see PUM_Interface_Upgrade_Posts */ abstract class PUM_Abstract_Upgrade_Popups extends PUM_Abstract_Upgrade_Posts implements PUM_Interface_Upgrade_Posts { /** * Post type. * * @var string */ public $post_type = 'popup'; /** * Process needed upgrades on each post. * * @param int $post_id */ public function process_post( $post_id = 0 ) { $this->process_popup( $post_id ); } /** * Process needed upgrades on each popup. * * @param int $popup_id */ abstract public function process_popup( $popup_id = 0 ); } classes/Abstract/Upgrade/Settings.php 0000644 00000003060 15174671772 0013664 0 ustar 00 <?php /** * Abstract for settings upgrade * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Implements a batch processor for updating settings after new version. * * @since 1.7.0 * * @see PUM_Abstract_Upgrade */ abstract class PUM_Abstract_Upgrade_Settings extends PUM_Abstract_Upgrade { /** * Batch process ID. * * @var string */ public $batch_id = ''; /** * Executes a single step in the batch process. * * @return int|string|WP_Error Next step number, 'done', or a WP_Error object. */ public function process_step() { // Allows sending a start & success message separately. if ( $this->step > 1 ) { return 'done'; } $settings = pum_get_options(); $this->process_settings( $settings ); return ++$this->step; } /** * Retrieves a message for the given code. * * @param string $code Message code. * * @return string Message. */ public function get_message( $code ) { switch ( $code ) { case 'start': $message = sprintf( /* translators: 1: Version number. */ __( 'Updating settings for v%s compatibility.', 'popup-maker' ), '1.7' ); break; case 'done': $message = __( 'Settings updated successfully.', 'popup-maker' ); break; default: $message = ''; break; } return $message; } /** * Process needed upgrades on Popup Maker settings * * You need to handle saving!!! * * @param array $settings */ abstract public function process_settings( $settings = [] ); } classes/Abstract/Upgrade/Posts.php 0000644 00000016452 15174671772 0013205 0 ustar 00 <?php /** * Abstract for posts upgrade * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Implements a batch processor for migrating existing posts to new data structure. * * @since 1.7.0 * * @see PUM_Abstract_Upgrade * @see PUM_Interface_Batch_PrefetchProcess * @see PUM_Interface_Upgrade_Posts */ abstract class PUM_Abstract_Upgrade_Posts extends PUM_Abstract_Upgrade implements PUM_Interface_Upgrade_Posts { /** * Batch process ID. * * @var string */ public $batch_id; /** * Post type. * * @var string */ public $post_type = 'post'; /** * Post status to update. * * @var array */ public $post_status = [ 'publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', 'trash' ]; /** * Number of posts to migrate per step. * * @var int */ public $per_step = 1; /** * @var array */ public $post_ids; /** * @var array */ public $completed_post_ids; /** * Allows disabling of the post_id array query prefetch for stepping. * * When true will prefetch all post_ids from the query and cache them, stepping through that array. WP_Query is only called once. * * When false the stepping will occur via a new WP_Query with pagination. * * True is useful if you are querying on data that will be changed during processing. * * False is useful if there may be a massive amount of post data to migrate. * False is not useful when the query args are targeting data that will be changed. * Ex: Query all posts with old_meta, then during each step moving old_meta to new_meta. * In this example, the second query will not include posts updated in the first step, but then also sets an offset skipping posts that need update still. * * @var bool */ public $prefetch_ids = true; public function init( $data = null ) { } public function pre_fetch() { $total_to_migrate = $this->get_total_count(); if ( ! $total_to_migrate ) { $posts = $this->get_posts( [ 'fields' => 'ids', 'posts_per_page' => - 1, ] ); $posts = wp_parse_id_list( $posts ); $total_to_migrate = count( $posts ); if ( $this->prefetch_ids ) { $this->set_post_ids( $posts ); } $this->set_total_count( $total_to_migrate ); } } /** * Gets the results of a custom post query. * * @param array $args * * @return array */ public function get_posts( $args = [] ) { return get_posts( $this->query_args( $args ) ); } /** * Generates an array of query args for this upgrade. * * @uses self::custom_query_args(); * * @param array $args * * @return array */ public function query_args( $args = [] ) { $defaults = wp_parse_args( $this->custom_query_args(), [ 'post_status' => $this->post_status, 'post_type' => $this->post_type, ] ); return wp_parse_args( $args, $defaults ); } /** * @return array */ public function custom_query_args() { return []; } /** * Executes a single step in the batch process. * * @return int|string|WP_Error Next step number, 'done', or a WP_Error object. */ public function process_step() { $completed_post_ids = $this->get_completed_post_ids(); if ( $this->prefetch_ids ) { $all_posts = $this->get_post_ids(); $remaining_post_ids = array_diff( $all_posts, $completed_post_ids ); $posts = array_slice( $remaining_post_ids, 0, $this->per_step ); } else { $posts = $this->get_posts( [ 'fields' => 'ids', 'posts_per_page' => $this->per_step, 'offset' => $this->get_offset(), 'orderby' => 'ID', 'order' => 'ASC', ] ); } if ( empty( $posts ) ) { return 'done'; } foreach ( $posts as $post_id ) { $this->process_post( $post_id ); $completed_post_ids[] = $post_id; } // Deduplicate. $completed_post_ids = wp_parse_id_list( $completed_post_ids ); $this->set_completed_post_ids( $completed_post_ids ); $this->set_current_count( count( $completed_post_ids ) ); return ++$this->step; } /** * Retrieves a message for the given code. * * @param string $code Message code. * * @return string Message. */ public function get_message( $code ) { $post_type = get_post_type_object( $this->post_type ); $labels = get_post_type_labels( $post_type ); $singular = strtolower( $labels->singular_name ); $plural = strtolower( $labels->name ); switch ( $code ) { case 'start': $total_count = $this->get_total_count(); $message = sprintf( /* translators: 1: Number of items updated. 2: Singular or plural label. */ _n( 'Updating %1$d %2$s.', 'Updating %1$d %2$s.', $total_count, 'popup-maker' ), number_format_i18n( $total_count ), 1 === $total_count ? $singular : $plural ); break; case 'done': $final_count = $this->get_current_count(); $message = sprintf( /* translators: 1: Number of items updated. 2: Singular or plural label. */ _n( '%1$s %2$s was updated successfully.', '%1$s %2$s were updated successfully.', $final_count, 'popup-maker' ), number_format_i18n( $final_count ), 1 === $final_count ? $singular : $plural ); break; default: $message = ''; break; } return $message; } /** * Process needed upgrades on each post. * * @param int $post_id */ abstract public function process_post( $post_id = 0 ); /** * Full list of post_ids to be processed. * * @return array|bool Default false. */ protected function get_post_ids() { if ( ! isset( $this->post_ids ) || ! $this->post_ids ) { $this->post_ids = PUM_Utils_DataStorage::get( "{$this->batch_id}_post_ids", false ); if ( is_array( $this->post_ids ) ) { $this->post_ids = wp_parse_id_list( $this->post_ids ); } } return $this->post_ids; } /** * Sets list of post_ids to be processed. * * @param array $post_ids Full list of post_ids to be processed. */ protected function set_post_ids( $post_ids = [] ) { $this->post_ids = $post_ids; PUM_Utils_DataStorage::write( "{$this->batch_id}_post_ids", $post_ids ); } /** * Deletes the stored data for this process. */ protected function delete_post_ids() { $this->post_ids = false; PUM_Utils_DataStorage::delete( "{$this->batch_id}_post_ids" ); } /** * Full list of completed_post_ids to be processed. * * @return array|bool Default false. */ protected function get_completed_post_ids() { if ( ! isset( $this->completed_post_ids ) || ! $this->completed_post_ids ) { $completed_post_ids = PUM_Utils_DataStorage::get( "{$this->batch_id}_completed_post_ids", [] ); $this->completed_post_ids = wp_parse_id_list( $completed_post_ids ); } return $this->completed_post_ids; } /** * Sets list of completed_post_ids to be processed. * * @param array $completed_post_ids Full list of post_ids to be processed. */ protected function set_completed_post_ids( $completed_post_ids = [] ) { $this->completed_post_ids = wp_parse_id_list( $completed_post_ids ); PUM_Utils_DataStorage::write( "{$this->batch_id}_completed_post_ids", $completed_post_ids ); } /** * Deletes the stored data for this process. */ protected function delete_completed_post_ids() { $this->completed_post_ids = false; PUM_Utils_DataStorage::delete( "{$this->batch_id}_completed_post_ids" ); } } classes/Abstract/Upgrade/Themes.php 0000644 00000001654 15174671772 0013320 0 ustar 00 <?php /** * Abstract for themes upgrade * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Implements a batch processor for migrating existing popup themes to new data structure. * * @since 1.7.0 * * @see PUM_Abstract_Upgrade * @see PUM_Interface_Batch_PrefetchProcess * @see PUM_Interface_Upgrade_Posts */ abstract class PUM_Abstract_Upgrade_Themes extends PUM_Abstract_Upgrade_Posts implements PUM_Interface_Upgrade_Posts { /** * Post type. * * @var string */ public $post_type = 'popup_theme'; /** * Process needed upgrades on each post. * * @param int $post_id */ public function process_post( $post_id = 0 ) { $this->process_theme( $post_id ); } /** * Process needed upgrades on each popup theme. * * @param int $theme_id * * @return void */ abstract public function process_theme( $theme_id = 0 ); } classes/Abstract/Provider.php 0000644 00000024462 15174671772 0012300 0 ustar 00 <?php /** * Abstract class for Provider * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Abstract_Provider */ abstract class PUM_Abstract_Provider implements PUM_Interface_Provider { /** * Option name prefix. * * @var string */ public $opt_prefix = ''; /** * Email provider name such as 'mailchimp' * * @var string */ public $id = ''; /** * Email provider name for labeling such as 'MailChimp's * * @var string */ public $name = ''; /** * Version of the email provider implementation. Used for compatibility. * * @var int */ public $version = 1; /** * Latest current version. * * @var int */ public $current_version = 2; /** * The constructor method which sets up all filters and actions to prepare fields and messages */ public function __construct() { /** Register Provider Globally */ PUM_Newsletter_Providers::instance()->add_provider( $this ); /** Settings */ add_filter( 'pum_settings_fields', [ $this, 'register_settings' ] ); add_filter( 'pum_settings_tab_sections', [ $this, 'register_settings_tab_section' ] ); /** * Don't add the shortcodes or default options or process anything if the provider is disabled. */ if ( ! $this->enabled() ) { return; } /** Shortcodes Fields */ add_filter( 'pum_sub_form_shortcode_tabs', [ $this, 'shortcode_tabs' ] ); add_filter( 'pum_sub_form_shortcode_subtabs', [ $this, 'shortcode_subtabs' ] ); add_filter( 'pum_sub_form_shortcode_fields', [ $this, 'shortcode_fields' ] ); add_filter( 'pum_sub_form_shortcode_defaults', [ $this, 'shortcode_defaults' ] ); /** Forms Processing & AJAX */ add_filter( 'pum_sub_form_sanitization', [ $this, 'process_form_sanitization' ], 10 ); add_filter( 'pum_sub_form_validation', [ $this, 'process_form_validation' ], 10, 2 ); add_action( 'pum_sub_form_submission', [ $this, 'process_form_submission' ], 10, 3 ); /** Form Rendering */ add_action( 'pum_sub_form_fields', [ $this, 'render_fields' ] ); } /** * Determines whether to load this providers fields in the shortcode editor among other things. * * @return bool */ abstract public function enabled(); /** * Contains each providers unique fields. * * @deprecated 1.7.0 Use instead: $this->shortcode_tabs, $this->shortcode_subtabs & $this->shortcode_fields instead. * @uses self::instance()->shortcode_tabs() * * @return array */ public function fields() { return PUM_Admin_Helpers::flatten_fields_array( $this->shortcode_fields() ); } /** * Contains each providers unique global settings. * * @return array */ abstract public function register_settings(); /** * Contains each providers unique global settings tab sections.. * * @param array $sections Array of settings page tab sections. * * @return array */ public function register_settings_tab_section( $sections = [] ) { $sections['subscriptions'][ $this->id ] = $this->name; return $sections; } /** * Creates the inputs for each of the needed fields for the email provider * * TODO Determine how this should really work for visible custom fields. * * @param array $shortcode_atts Array of shortcodee attrs. */ public function render_fields( $shortcode_atts ) { $fields = PUM_Admin_Helpers::flatten_fields_array( $this->shortcode_fields() ); foreach ( $fields as $key => $field ) { if ( ! $field['private'] && isset( $shortcode_atts[ $key ] ) ) { echo wp_kses( '<input type="hidden" name="' . $key . '" value="' . $shortcode_atts[ $key ] . '" />', [ 'input' => [ 'type' => 'hidden', 'name' => true, 'value' => true, ], ] ); } } } /** * Process form value sanitization. * * @param array $values Values. * * @return array $values */ public function form_sanitization( $values = [] ) { return $values; } /** * Process form values for errors. * * @param WP_Error $errors Errors object. * @param array $values Values. * * @return WP_Error */ public function form_validation( WP_Error $errors, $values = [] ) { return $errors; } /** * Subscribes the user to the list * * @param array $values Values. * @param array $json_response JSON Response. * @param WP_Error $errors Errors object. */ public function form_submission( $values, &$json_response, WP_Error &$errors ) { } /** * Internally processes sanitization only for the current provider. * * @param array $values Values. * * @return array $values */ public function process_form_sanitization( $values = [] ) { if ( $this->id !== $values['provider'] && ( 'none' === $values['provider'] && PUM_Utils_Options::get( 'newsletter_default_provider' ) !== $this->id ) ) { return $values; } return $this->form_sanitization( $values ); } /** * Internally processes validation only for the current provider. * * @param WP_Error $errors Errors object. * @param array $values Values. * * @return WP_Error */ public function process_form_validation( WP_Error $errors, $values = [] ) { if ( $this->id !== $values['provider'] && ( 'none' === $values['provider'] && PUM_Utils_Options::get( 'newsletter_default_provider' ) !== $this->id ) ) { return $errors; } return $this->form_validation( $errors, $values ); } /** * Internally processes submission only for the current provider. * * @param array $values Values. * @param array $json_response AJAX JSON Response array. * @param WP_Error $errors Errors object. */ public function process_form_submission( $values, &$json_response, WP_Error &$errors ) { if ( $this->id !== $values['provider'] && ( 'none' === $values['provider'] && PUM_Utils_Options::get( 'newsletter_default_provider' ) !== $this->id ) ) { return; } $this->form_submission( $values, $json_response, $errors ); } /** * * * @return string $tab_id; */ public function shortcode_tab_id() { return 'provider_' . $this->id; } /** * Adds a tab for each provider. These will be hidden except for the chosen provider. * * @param array $tabs Array of tab. * * @return array */ public function shortcode_tabs( $tabs = [] ) { $resorted_tabs = []; foreach ( $tabs as $tab_id => $label ) { $resorted_tabs[ $tab_id ] = $label; if ( 'general' === $tab_id ) { $resorted_tabs[ $this->shortcode_tab_id() ] = $this->name; } } return $resorted_tabs; } /** * Adds a subtabs for each provider. These will be hidden except for the chosen provider. * * @param array $subtabs Array of tab=>subtabs. * * @return array */ public function shortcode_subtabs( $subtabs = [] ) { return array_merge( $subtabs, [ $this->shortcode_tab_id() => [ 'main' => $this->name, ], ] ); } /** * Registers the fields for this providers shortcode tab. * * @param array $fields Array of fields. * * @return array */ public function shortcode_fields( $fields = [] ) { $new_fields = $this->version < 2 ? PUM_Admin_Helpers::flatten_fields_array( $this->fields() ) : []; foreach ( $new_fields as $field_id => $field ) { if ( isset( $field['options'] ) ) { $new_fields[ $field_id ]['options'] = array_flip( $field['options'] ); } } return array_merge( $fields, [ $this->shortcode_tab_id() => [ 'main' => $new_fields, ], ] ); } /** * Registers the defaults for this provider. * * @param array $defaults Array of default values. * * @return array */ public function shortcode_defaults( $defaults ) { // Flatten fields array. $fields = PUM_Admin_Helpers::flatten_fields_array( $this->shortcode_fields() ); return array_merge( $defaults, PUM_Admin_Helpers::get_field_defaults( $fields ) ); } /** * Gets default messages. * * @param string|null $context Context of the message to be returned. * * @return array|mixed|string */ public function default_messages( $context = null ) { return pum_get_newsletter_default_messages( $context ); } /** * Get default or customized messages. * * @param string $context Context. * @param array $values Array of values. * * @return string */ public function get_message( $context, $values = [] ) { $message = PUM_Utils_Options::get( "{$this->opt_prefix}{$context}_message", '' ); if ( empty( $message ) ) { $message = $this->default_messages( $context ); } if ( strpos( $message, '{' ) ) { $message = $this->dynamic_message( $message, $values ); } return apply_filters( "pum_newsletter_{$context}_message", $message, $this ); } /** * Process a message with dynamic values. * * @param string $message Message. * @param array $values Array of values. * * @return mixed|string */ protected function dynamic_message( $message = '', $values = [] ) { preg_match_all( '/{(.*?)}/', $message, $found ); if ( count( $found[1] ) ) { foreach ( $found[1] as $key => $match ) { $message = $this->message_text_replace( $message, $match, $values ); } } return $message; } /** * Replaces a single matched message. * * @param string $message Message. * @param string $search Matched phrase. * @param array $values Values for replacement. * * @return mixed|string */ protected function message_text_replace( $message = '', $search = '', $values = [] ) { if ( empty( $search ) ) { return $message; } if ( strpos( $search, '||' ) !== false ) { $searches = explode( '||', $search ); } else { $searches = [ $search ]; } $replace = ''; foreach ( $searches as $string ) { if ( ! array_key_exists( $string, $values ) ) { // If its not a valid code it is likely a fallback. $replace = $string; } else { // This is a form field value, replace accordingly. switch ( $string ) { default: $replace = $values[ $string ]; break; } } // If we found a replacement stop the loop. if ( ! empty( $replace ) ) { break; } } return str_replace( '{' . $search . '}', $replace, $message ); } /** * Magic method replacement. * * @param string $name Function or field name. * * @return mixed */ public function __get( $name ) { if ( method_exists( $this, 'get_' . $name ) ) { $method = 'get_' . $name; return $this->$method(); } if ( property_exists( $this, $name ) ) { return $this->$name; } return false; } } classes/Abstract/Database.php 0000644 00000034606 15174671772 0012213 0 ustar 00 <?php /** * Abstract class for database * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * * phpcs:disable WordPress.DB.DirectDatabaseQuery.DirectQuery */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Abstract database class. * * @package PopupMaker */ abstract class PUM_Abstract_Database { /** * Instance of the class. * * @var static */ public static $instance; /** * The name of our database table. * * @var string */ public $table_name = ''; /** * The version of our database table. * * @var integer */ public $version = 1; /** * The name of the primary column. * * @var string */ public $primary_key = 'ID'; /** * The WordPress version. * * @var float */ public $wp_version = ''; /** * Get things started */ public function __construct() { /** * @var \wpdb $wpdb */ global $wpdb; $this->wp_version = floatval( get_bloginfo( 'version' ) ); $current_db_version = $this->get_installed_version(); if ( ! $current_db_version || $current_db_version < $this->version ) { // Install the table. // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged @$this->create_table(); // Leaving this flagged for caching to optimize in future. if ( $this->wp_version >= 6.2 ) { $table_found = $wpdb->get_var( $wpdb->prepare( 'SHOW TABLES LIKE %s', $this->table_name() ) ); } else { // Ignored because these are identifiersas we still support <=6.2 // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared $table_found = $wpdb->get_var( "SHOW TABLES LIKE '{$this->table_name()}'" ); } if ( $this->table_name() === $table_found ) { $this->update_db_version(); } } $wpdb->{$this->table_name} = $this->table_name(); } /** * Gets db version from new or old source. * * @return float */ public function get_installed_version() { // Get list of all current db table versions. $db_versions = get_option( 'pum_db_versions', [] ); // #1 If it exists in new pum_db_vers[] option, move on. if ( isset( $db_versions[ $this->table_name ] ) ) { return (float) $db_versions[ $this->table_name ]; } // #2 Else look for old key, if exists, migrate and delete. $db_version_old_key = get_option( $this->table_name . '_db_version' ); if ( $db_version_old_key ) { if ( $db_version_old_key > 0 ) { $db_versions[ $this->table_name ] = (float) $db_version_old_key; update_option( 'pum_db_versions', $db_versions ); } delete_option( $this->table_name . '_db_version' ); } return (float) $db_version_old_key; } public function update_db_version() { // Get list of all current db table versions. $db_versions = get_option( 'pum_db_versions', [] ); $db_versions[ $this->table_name ] = (float) $this->version; update_option( 'pum_db_versions', $db_versions ); } /** * Create the table */ abstract public function create_table(); /** * @return static * @throws \Exception */ public static function instance() { $class = get_called_class(); if ( ! isset( self::$instance[ $class ] ) ) { self::$instance[ $class ] = new $class(); } return self::$instance[ $class ]; } /** * Retrieve a row by the primary key * * @param $row_id * * @return object */ public function get( $row_id ) { global $wpdb; if ( $this->wp_version >= 6.2 ) { // Use %i format. $result = $wpdb->get_row( $wpdb->prepare( 'SELECT * FROM %i WHERE %i = %d LIMIT 1;', $this->table_name(), $this->primary_key, $row_id ) ); } else { $result = $wpdb->get_row( $wpdb->prepare( // Ignored because these are identifiersas we still support <=6.2 // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared "SELECT * FROM {$this->table_name()} WHERE $this->primary_key = %d LIMIT 1;", $row_id ) ); } return $this->prepare_result( $result ); } /** * @param object|array $result * * @return object|array */ public function prepare_result( $result ) { if ( ! $result || ( ! is_array( $result ) && ! is_object( $result ) ) ) { return $result; } if ( is_object( $result ) ) { $vars = get_object_vars( $result ); foreach ( $vars as $key => $value ) { if ( is_string( $value ) ) { $result->$key = maybe_unserialize( $value ); } } } elseif ( is_array( $result ) ) { foreach ( $result as $key => $value ) { if ( is_string( $value ) ) { $result[ $key ] = maybe_unserialize( $value ); } } } return $result; } /** * @param array|object[] $results * * @return mixed */ public function prepare_results( $results ) { foreach ( $results as $key => $result ) { $results[ $key ] = $this->prepare_result( $result ); } return $results; } /** * @return string */ public function table_name() { global $wpdb; return $wpdb->prefix . $this->table_name; } /** * Retrieve a row by a specific column / value * * @param string $column * @param int $row_id * * @return object */ public function get_by( $column, $row_id ) { global $wpdb; if ( $this->wp_version >= 6.2 ) { // Use %i format. $result = $wpdb->get_row( $wpdb->prepare( 'SELECT * FROM %i WHERE %i = %s LIMIT 1;', $this->table_name(), $column, $row_id ) ); } else { $result = $wpdb->get_row( $wpdb->prepare( // Ignored because these are identifiersas we still support <=6.2 // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared "SELECT * FROM {$this->table_name()} WHERE $column = %d LIMIT 1;", $row_id ) ); } return $this->prepare_result( $result ); } /** * Retrieve a specific column's value by the primary key * * @param string $column * @param int $row_id * * @return string */ public function get_column( $column, $row_id ) { global $wpdb; if ( $this->wp_version >= 6.2 ) { // Use %i format. $result = $wpdb->get_var( $wpdb->prepare( 'SELECT %i FROM %i WHERE %i = %d LIMIT 1;', $column, $this->table_name(), $this->primary_key, $row_id ) ); } else { $result = $wpdb->get_var( $wpdb->prepare( // Ignored because these are identifiers as we still support <=6.2 // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared "SELECT $column FROM {$this->table_name()} WHERE $this->primary_key = %d LIMIT 1;", $row_id ) ); } return $this->prepare_result( $result ); } /** * Retrieve a specific column's value by the the specified column / value * * @param $column * @param $column_where * @param $column_value * * @return string */ public function get_column_by( $column, $column_where, $column_value ) { global $wpdb; if ( $this->wp_version >= 6.2 ) { // Use %i format. $result = $wpdb->get_var( $wpdb->prepare( 'SELECT %i FROM %i WHERE %i = %s LIMIT 1;', $column, $this->table_name(), $column_where, $column_value ) ); } else { $result = $wpdb->get_var( $wpdb->prepare( // Ignored because these are identifiers as we still support <=6.2 // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared "SELECT $column FROM {$this->table_name()} WHERE $column_where = %s LIMIT 1;", $column_value ) ); } return $this->prepare_result( $result ); } /** * Insert a new row * * @param array $data * * @return int */ public function insert( $data ) { global $wpdb; // Set default values $data = wp_parse_args( $data, $this->get_column_defaults() ); do_action( 'pum_pre_insert_' . $this->table_name, $data ); // Initialise column format array $column_formats = $this->get_columns(); // Force fields to lower case $data = array_change_key_case( $data ); // White list columns $data = array_intersect_key( $data, $column_formats ); // Reorder $column_formats to match the order of columns given in $data $data_keys = array_keys( $data ); $column_formats = array_merge( array_flip( $data_keys ), $column_formats ); foreach ( $data as $key => $value ) { if ( is_array( $value ) ) { $data[ $key ] = maybe_serialize( $value ); } } $wpdb->insert( $this->table_name(), $data, $column_formats ); do_action( 'pum_post_insert_' . $this->table_name, $wpdb->insert_id, $data ); return $wpdb->insert_id; } /** * Default column values * * @return array */ public function get_column_defaults() { return []; } /** * Whitelist of columns * * @return array */ public function get_columns() { return []; } /** * Update a row * * @param $row_id * @param array $data * @param string $where * * @return bool */ public function update( $row_id, $data = [], $where = '' ) { global $wpdb; // Row ID must be positive integer $row_id = absint( $row_id ); if ( empty( $row_id ) ) { return false; } if ( empty( $where ) ) { $where = $this->primary_key; } // Initialise column format array $column_formats = $this->get_columns(); // Force fields to lower case $data = array_change_key_case( $data ); // White list columns $data = array_intersect_key( $data, $column_formats ); foreach ( $data as $key => $value ) { if ( is_array( $value ) ) { $data[ $key ] = maybe_serialize( $value ); } } // Reorder $column_formats to match the order of columns given in $data $data_keys = array_keys( $data ); $column_formats = array_merge( array_flip( $data_keys ), $column_formats ); if ( false === $wpdb->update( $this->table_name(), $data, [ $where => $row_id ], $column_formats ) ) { return false; } return true; } /** * Delete a row identified by the primary key * * @param int $row_id * * @return bool */ public function delete( $row_id = 0 ) { global $wpdb; // Row ID must be positive integer $row_id = absint( $row_id ); if ( empty( $row_id ) ) { return false; } if ( $this->wp_version >= 6.2 ) { // Use %i format. $result = $wpdb->query( $wpdb->prepare( 'DELETE FROM %i WHERE %i = %d', $this->table_name(), $this->primary_key, $row_id ) ); } else { $result = $wpdb->query( $wpdb->prepare( // Ignored because these are identifiersas we still support <=6.2 // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared "DELETE FROM {$this->table_name()} WHERE $this->primary_key = %d", $row_id ) ); } if ( false === $result ) { return false; } return true; } /** * Delete a row identified by the primary key * * @param $column * @param $row_id * * @return bool */ public function delete_by( $column, $row_id ) { global $wpdb; if ( empty( $row_id ) ) { return false; } if ( $this->wp_version >= 6.2 ) { // Use %i format. $result = $wpdb->query( $wpdb->prepare( 'DELETE FROM %i WHERE %i = %s', $this->table_name(), $column, $row_id ) ); } else { $result = $wpdb->query( $wpdb->prepare( // Ignored because these are identifiersas we still support <=6.2 // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared "DELETE FROM {$this->table_name()} WHERE $column = %s", $row_id ) ); } if ( false === $result ) { return false; } return true; } /** * Prepare query. * * @param $query * @param array $args * * @return string */ public function prepare_query( $query, $args = [] ) { if ( $args['orderby'] ) { $query .= " ORDER BY {$args['orderby']} {$args['order']}"; } $query .= " LIMIT {$args['limit']}"; if ( $args['offset'] ) { $query .= " OFFSET {$args['offset']}"; } $query .= ';'; return $query; } /** * @param array $args * @param string $return_type * * @return array|mixed|object[] */ public function query( $args = [], $return_type = OBJECT ) { global $wpdb; $args = wp_parse_args( $args, [ 'fields' => '*', 'page' => null, 'limit' => null, 'offset' => null, 's' => null, 'orderby' => null, 'order' => null, ] ); $columns = $this->get_columns(); $fields = $args['fields']; if ( '*' === $fields ) { $fields = array_keys( $columns ); } else { $fields = explode( ',', $args['fields'] ); $fields = array_map( 'trim', $fields ); $fields = array_map( 'sanitize_text_field', $fields ); } $select_fields = implode( '`, `', $fields ); // Begin building query. $query = "SELECT `$select_fields` FROM {$this->table_name()}"; // Set up $values array for wpdb::prepare $values = []; // Define an empty WHERE clause to start from. $where = 'WHERE 1=1'; // Build search query. if ( $args['s'] && ! empty( $args['s'] ) ) { $search = wp_unslash( trim( $args['s'] ) ); $search_where = []; foreach ( $columns as $key => $type ) { if ( in_array( $key, $fields, true ) ) { if ( '%s' === $type || ( '%d' === $type && is_numeric( $search ) ) ) { $values[] = '%' . $wpdb->esc_like( $search ) . '%'; $search_where[] = "`$key` LIKE '%s'"; } } } if ( ! empty( $search_where ) ) { $where .= ' AND (' . join( ' OR ', $search_where ) . ')'; } } $query .= " $where"; if ( ! empty( $args['orderby'] ) ) { $query .= ' ORDER BY %s'; $values[] = wp_unslash( trim( $args['orderby'] ) ); switch ( $args['order'] ) { case 'asc': case 'ASC': $query .= ' ASC'; break; case 'desc': case 'DESC': default: $query .= ' DESC'; break; } } if ( ! empty( $args['limit'] ) ) { $query .= ' LIMIT %d'; $values[] = absint( $args['limit'] ); } // Pagination. if ( $args['page'] >= 1 ) { $args['offset'] = ( $args['page'] * $args['limit'] ) - $args['limit']; } if ( ! empty( $args['offset'] ) ) { $query .= ' OFFSET %d'; $values[] = absint( $args['offset'] ); } if ( strpos( $query, '%s' ) || strpos( $query, '%d' ) ) { // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared $query = $wpdb->prepare( $query, $values ); } // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared return $this->prepare_results( $wpdb->get_results( $query, $return_type ) ); } /** * Queries for total rows * * @param $args * * @return int */ public function total_rows( $args ) { // TODO REVIEW this can probably be done more efficiently. Look at how we do it for DB models. $args['limit'] = null; $args['offset'] = null; $args['page'] = null; $results = $this->query( $args ); return $results ? count( $results ) : 0; } } classes/Abstract/Batch/Process.php 0000644 00000011032 15174671772 0013132 0 ustar 00 <?php /** * Batch Process Handler. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Implements a basic batch process. * * @since 1.7.0 */ abstract class PUM_Abstract_Batch_Process implements PUM_Interface_Batch_Process { /** * Batch process ID. * * @var string */ public $batch_id; /** * The current step being processed. * * @var int|string Step number or 'done'. */ public $step; /** * Number of items to process per step. * * @var int */ public $per_step = 100; /** * Capability needed to perform the current batch process. * * @var string */ public $capability = 'manage_options'; /** * Sets up the batch process. * * @param int|string $step Step number or 'done'. */ public function __construct( $step = 1 ) { $this->step = $step; if ( has_filter( "pum_batch_per_step_{$this->batch_id}" ) ) { /** * Filters the number of items to process per step for the given batch process. * * The dynamic portion of the hook name, `$this->export_type` refers to the export * type defined in each sub-class. * * @param int $per_step The number of items to process for each step. Default 100. * @param PUM_Abstract_Batch_Process $process Batch process instance. */ $this->per_step = apply_filters( "pum_batch_per_step_{$this->batch_id}", $this->per_step, $this ); } } /** * Determines if the current user can perform the current batch process. * * @return bool True if the current user has the needed capability, otherwise false. */ public function can_process() { return current_user_can( $this->capability ); } /** * Executes a single step in the batch process. * * @return int|string|WP_Error Next step number, 'done', or a WP_Error object. */ public function process_step() { return 'done'; } /** * Retrieves the calculated completion percentage. * * @return int Percentage completed. */ public function get_percentage_complete() { $percentage = 0; $current_count = $this->get_current_count(); $total_count = $this->get_total_count(); if ( $total_count > 0 ) { $percentage = ( $current_count / $total_count ) * 100; } if ( $percentage > 100 ) { $percentage = 100; } return $percentage; } /** * Retrieves a message based on the given message code. * * @param string $code Message code. * * @return string Message. */ public function get_message( $code ) { switch ( $code ) { case 'done': $final_count = $this->get_current_count(); /* translators: 1: Number of items processed. */ $message = sprintf( _n( '%s item was successfully processed.', '%s items were successfully processed.', $final_count, 'popup-maker' ), number_format_i18n( $final_count ) ); break; default: $message = ''; break; } return $message; } /** * Defines logic to execute once batch processing is complete. */ public function finish() { PUM_Utils_DataStorage::delete_by_match( "^{$this->batch_id}[0-9a-z\_]+" ); } /** * Calculates and retrieves the offset for the current step. * * @return int Number of items to offset. */ public function get_offset() { return ( $this->step - 1 ) * $this->per_step; } /** * Retrieves the current, stored count of processed items. * * @see get_percentage_complete() * * @return int Current number of processed items. Default 0. */ protected function get_current_count() { return PUM_Utils_DataStorage::get( "{$this->batch_id}_current_count", 0 ); } /** * Sets the current count of processed items. * * @param int $count Number of processed items. */ protected function set_current_count( $count ) { PUM_Utils_DataStorage::write( "{$this->batch_id}_current_count", $count ); } /** * Retrieves the total, stored count of items to process. * * @see get_percentage_complete() * * @return int Current number of processed items. Default 0. */ protected function get_total_count() { return PUM_Utils_DataStorage::get( "{$this->batch_id}_total_count", 0 ); } /** * Sets the total count of items to process. * * @param int $count Number of items to process. */ protected function set_total_count( $count ) { PUM_Utils_DataStorage::write( "{$this->batch_id}_total_count", $count ); } /** * Deletes the stored current and total counts of processed items. */ protected function delete_counts() { PUM_Utils_DataStorage::delete( "{$this->batch_id}_current_count" ); PUM_Utils_DataStorage::delete( "{$this->batch_id}_total_count" ); } } classes/Abstract/Registry.php 0000644 00000003665 15174671772 0012320 0 ustar 00 <?php /** * Abstract class for Registry * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Defines the construct for building an item registry or collection. * * @since 1.7.0 */ abstract class PUM_Abstract_Registry { /** * Array of registry items. * * @var array */ protected $items = []; /** * Adds an item to the registry. * * @param int $item_id Item ID. * @param array|object|mixed $attributes { * Item attributes. * * @type string $class Item handler class. * @type string $file Item handler class file. * } * * @return true Always true. */ public function add_item( $item_id, $attributes ) { foreach ( $attributes as $attribute => $value ) { $this->items[ $item_id ][ $attribute ] = $value; } return true; } /** * Removes an item from the registry by ID. * * @param string $item_id Item ID. */ public function remove_item( $item_id ) { unset( $this->items[ $item_id ] ); } /** * Retrieves an item and its associated attributes. * * @param string $item_id Item ID. * * @return array|false Array of attributes for the item if registered, otherwise false. */ public function get( $item_id ) { if ( array_key_exists( $item_id, $this->items ) ) { return $this->items[ $item_id ]; } return false; } /** * Retrieves registered items. * * @return array The list of registered items. */ public function get_items() { return $this->items; } /** * Only intended for use by tests. */ public function _reset_items() { // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore if ( ! defined( 'WP_TESTS_DOMAIN' ) ) { _doing_it_wrong( 'PUM_Abstract_Registry::_reset_items', 'This method is only intended for use in phpunit tests', '1.7.0' ); } else { $this->items = []; } } } classes/Abstract/Integration/Form.php 0000644 00000003610 15174671772 0013664 0 ustar 00 <?php /** * Abstract for Integration Form * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ /** * Abstract for Form Integration */ abstract class PUM_Abstract_Integration_Form extends PUM_Abstract_Integration implements PUM_Interface_Integration_Form { /** * @var string */ public $type = 'form'; /** * @return array */ abstract public function get_forms(); /** * @param string $id * * @return mixed */ abstract public function get_form( $id ); /** * @return array */ abstract public function get_form_selectlist(); /** * @param array $js * * @return array */ public function custom_scripts( $js = [] ) { return $js; } /** * @param array $css * * @return array */ public function custom_styles( $css = [] ) { return $css; } /** * Retrieves the popup ID associated with the form, if any * * @return false|int * @since 1.13.0 */ public function get_popup_id() { // Ignored because this piggy backs on the nonce check in the form submission handler, and only allows for absint or false. // phpcs:ignore WordPress.Security.NonceVerification.Recommended $popup_id = isset( $_REQUEST['pum_form_popup_id'] ) ? absint( $_REQUEST['pum_form_popup_id'] ) : false; return $popup_id > 0 ? $popup_id : false; } /** * Increase the conversion count for popup * * @param int $popup_id The ID for the popup. * @since 1.13.0 */ public function increase_conversion( $popup_id ) { $popup_id = intval( $popup_id ); $popup = pum_get_popup( $popup_id ); $popup->increase_event_count( 'conversion' ); } /** * Returns whether or not we should process any form submissions * * @return bool True if we should process the form submission * @since 1.13.0 */ public function should_process_submission() { if ( wp_doing_ajax() || defined( 'REST_REQUEST' ) ) { return false; } return true; } } classes/Abstract/Upgrade.php 0000644 00000001612 15174671772 0012065 0 ustar 00 <?php /** * Abstract class for Upgrade * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Implements a basic upgrade process. * * Handles marking complete and resume management. * * @since 1.7.0 */ abstract class PUM_Abstract_Upgrade extends PUM_Abstract_Batch_Process { /** * Store the current upgrade args in case we need to redo somehting * * @param int $step */ public function __construct( $step = 1 ) { update_option( 'pum_doing_upgrade', [ 'upgrade_id' => $this->batch_id, 'step' => $step, ] ); parent::__construct( $step ); } /** * Defines logic to execute once batch processing is complete. */ public function finish() { /** * Clear the doing upgrade flag to prevent issues later. */ delete_option( 'pum_doing_upgrade' ); parent::finish(); } } classes/Abstract/Integration.php 0000644 00000000725 15174671772 0012765 0 ustar 00 <?php /** * Abstract class for Integrations. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ /** * Abstract class for Integrations. */ abstract class PUM_Abstract_Integration implements PUM_Interface_Integration { /** * @var string */ public $key; /** * @var string */ public $type; /** * @return string */ abstract public function label(); /** * @return bool */ abstract public function enabled(); } classes/Admin.php 0000644 00000005003 15174671772 0007761 0 ustar 00 <?php /** * Admin class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Admin { public static function init() { PUM_Admin_BlockEditor::init(); PUM_Admin_Pages::init(); PUM_Admin_Ajax::init(); PUM_Admin_Assets::init(); PUM_Admin_Notices::init(); PUM_Admin_Popups::init(); PUM_Admin_Themes::init(); PUM_Admin_Subscribers::init(); PUM_Admin_Settings::init(); PUM_Admin_Tools::init(); PUM_Admin_Shortcode_UI::init(); PUM_Upsell::init(); PUM_Admin_Onboarding::init(); add_filter( 'user_has_cap', [ __CLASS__, 'prevent_default_theme_deletion' ], 10, 3 ); add_action( 'admin_init', [ __CLASS__, 'after_install' ] ); add_action( 'admin_head', [ __CLASS__, 'clean_ui' ] ); } /** * Prevent user from deleting the current default popup_theme * * @param $allcaps * @param $caps * @param $args * * @return mixed */ public static function prevent_default_theme_deletion( $allcaps, $caps, $args ) { global $wpdb; if ( isset( $args[0] ) && isset( $args[2] ) && pum_get_option( 'default_theme' ) === $args[2] && 'delete_post' === $args[0] ) { $allcaps[ $caps[0] ] = false; } return $allcaps; } /** * Post-installation * * Runs just after plugin installation and exposes the * popmake_after_install hook. * * @since 1.0 * @return void */ public static function after_install() { if ( ! is_admin() ) { return; } $already_installed = get_option( '_pum_installed' ); // Exit if not in admin or the transient doesn't exist if ( false === $already_installed ) { do_action( 'pum_after_install' ); update_option( '_pum_installed', true ); } } /** * Cleans the UI area within our admin pages * * @since 1.12 * * @return void */ public static function clean_ui() { if ( ! class_exists( '\Elementor\Plugin' ) || ! isset( \Elementor\Plugin::$instance ) ) { return; } // Elementor shows an upsell notice for their popup builder targeting only our admin area. This removes that. if ( class_exists( 'Elementor\Core\Admin\Admin' ) && pum_is_admin_page() ) { $instance = \Elementor\Plugin::instance(); if ( isset( $instance->admin ) && is_a( $instance->admin, '\Elementor\Core\Admin\Admin' ) && method_exists( $instance->admin, 'get_component' ) ) { $notices = $instance->admin->get_component( 'admin-notices' ); if ( false !== $notices && is_a( $notices, '\Elementor\Core\Admin\Admin_Notices' ) ) { remove_action( 'admin_notices', [ $notices, 'admin_notices' ], 20 ); } } } } } classes/Popup.php 0000644 00000000360 15174671772 0010035 0 ustar 00 <?php /** * Popup class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ /** * Class PUM_Popup * * Empty class extender here for backward compatibility. */ class PUM_Popup extends PUM_Model_Popup {} classes/Analytics.php 0000644 00000017332 15174671772 0010670 0 ustar 00 <?php /** * Analytics class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Controls the basic analytics methods for Popup Maker */ class PUM_Analytics { /** * Initializes analytics endpoints and data */ public static function init() { if ( ! self::analytics_enabled() ) { return; } add_action( 'rest_api_init', [ __CLASS__, 'register_endpoints' ] ); add_action( 'wp_ajax_pum_analytics', [ __CLASS__, 'ajax_request' ] ); add_action( 'wp_ajax_nopriv_pum_analytics', [ __CLASS__, 'ajax_request' ] ); add_filter( 'pum_vars', [ __CLASS__, 'pum_vars' ] ); } /** * Checks whether analytics is enabled. * * @return bool */ public static function analytics_enabled() { $disabled = pum_get_option( 'disable_analytics' ) || popmake_get_option( 'disable_popup_open_tracking' ); return (bool) apply_filters( 'pum_analytics_enabled', ! $disabled ); } /** * Get a list of key pairs for each event type. * Internally used only for meta keys. * * Example returns [[open,opened],[conversion,conversion]]. * * Usage examples: * - popup_open_count, popup_last_opened * - popup_conversion_count, popup_last_conversion * * @param string $event Event key. * * @return mixed */ public static function event_keys( $event ) { $keys = [ $event, rtrim( $event, 'e' ) . 'ed' ]; if ( 'conversion' === $event ) { $keys[1] = 'conversion'; } return apply_filters( 'pum_analytics_event_keys', $keys, $event ); } /** * Returns an array of valid event types. * * @return string[] */ public static function valid_events() { return apply_filters( 'pum_analytics_valid_events', [ 'open', 'conversion' ] ); } /** * Track an event. * * This is called by various methods including the ajax & rest api requests. * * Can be used externally such as after purchase tracking. * * @param array $args */ public static function track( $args = [] ) { // TODO: Remove this to support beacon for CTA conversions. if ( empty( $args['pid'] ) || $args['pid'] <= 0 ) { return; } $event = sanitize_text_field( $args['event'] ); $popup = pum_get_popup( $args['pid'] ); if ( ! pum_is_popup( $popup ) || ! in_array( $event, self::valid_events(), true ) ) { return; } $popup->increase_event_count( $event ); if ( has_action( 'pum_analytics_' . $event ) ) { do_action( 'pum_analytics_' . $event, $popup->ID, $args ); } do_action( 'pum_analytics_event', $args ); } /** * Process ajax requests. * * Only used when WP-JSON Restful API is not available. */ public static function ajax_request() { $args = wp_parse_args( // phpcs:ignore WordPress.Security.NonceVerification.Recommended $_REQUEST, [ 'event' => null, 'pid' => null, 'method' => null, ] ); self::track( $args ); switch ( $args['method'] ) { case 'image': self::serve_pixel(); break; case 'json': self::serve_json(); break; default: self::serve_no_content(); break; } } /** * @param WP_REST_Request $request * * @return WP_Error|mixed */ public static function analytics_endpoint( WP_REST_Request $request ) { $args = $request->get_params(); if ( ! $args || empty( $args['pid'] ) ) { return new WP_Error( 'missing_params', __( 'Missing Parameters.', 'default' ), [ 'status' => 404 ] ); } self::track( $args ); self::serve_no_content(); return true; } /** * @param $param * * @return bool */ public static function endpoint_absint( $param ) { return is_numeric( $param ); } /** * Registers the analytics endpoints */ public static function register_endpoints() { register_rest_route( self::get_analytics_namespace(), self::get_analytics_route(), apply_filters( 'pum_analytics_rest_route_args', [ 'methods' => [ 'GET', 'POST' ], 'callback' => [ __CLASS__, 'analytics_endpoint' ], 'permission_callback' => '__return_true', 'args' => [ 'event' => [ 'required' => true, 'description' => __( 'Event Type', 'popup-maker' ), 'type' => 'string', ], 'pid' => [ 'required' => true, 'description' => __( 'Popup ID', 'popup-maker' ), 'type' => 'integer', 'validation_callback' => [ __CLASS__, 'endpoint_absint' ], 'sanitize_callback' => 'absint', ], ], ] ) ); } /** * Adds our analytics endpoint to pum_vars * * @param array $vars The current pum_vars. * @return array The updates pum_vars */ public static function pum_vars( $vars = [] ) { $vars['analytics_enabled'] = self::analytics_enabled(); $vars['analytics_route'] = self::get_analytics_route(); if ( function_exists( 'rest_url' ) ) { $vars['analytics_api'] = esc_url_raw( rest_url( self::get_analytics_namespace() ) ); } else { $vars['analytics_api'] = false; } return $vars; } /** * Gets the analytics namespace * * If bypass adblockers is enabled, will return random or custom string. If not, returns 'pum/v1'. * * @return string The analytics namespce * @since 1.13.0 */ public static function get_analytics_namespace() { $version = 1; $namespace = self::customize_endpoint_value( 'pum' ); return "$namespace/v$version"; } /** * Gets the analytics route * * If bypass adblockers is enabled, will return random or custom string. If not, returns 'analytics'. * * @return string The analytics route * @since 1.13.0 */ public static function get_analytics_route() { $route = 'analytics'; return self::customize_endpoint_value( $route ); } /** * Customizes the endpoint value given to it * * If bypass adblockers is enabled, will return random or custom string. If not, returns the value given to it. * * @param string $value The value to, potentially, customize. * @return string * @since 1.13.0 */ public static function customize_endpoint_value( $value = '' ) { $bypass_adblockers = pum_get_option( 'bypass_adblockers', false ); if ( true === $bypass_adblockers || 1 === intval( $bypass_adblockers ) ) { switch ( pum_get_option( 'adblock_bypass_url_method', 'random' ) ) { case 'custom': $value = preg_replace( '/[^a-z0-9]+/', '-', pum_get_option( 'adblock_bypass_custom_filename', $value ) ); break; case 'random': default: $site_url = get_site_url(); $value = md5( $site_url . $value ); break; } } return $value; } /** * Creates and returns a 1x1 tracking gif to the browser. */ public static function serve_pixel() { $gif = self::get_file( Popup_Maker::$DIR . 'assets/images/beacon.gif' ); header( 'Content-Type: image/gif' ); header( 'Content-Length: ' . strlen( $gif ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo $gif; exit; } /** * @param $path * * @return bool|string */ public static function get_file( $path ) { if ( function_exists( 'realpath' ) ) { $path = realpath( $path ); } // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged if ( ! $path || ! @is_file( $path ) ) { return ''; } // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged return @file_get_contents( $path ); } /** * Returns a 204 no content header. */ public static function serve_no_content() { header( 'HTTP/1.0 204 No Content' ); header( 'Content-Type: image/gif' ); header( 'Content-Length: 0' ); exit; } /** * Serves a proper json response. * * @param mixed $data */ public static function serve_json( $data = 0 ) { header( 'Content-Type: application/json' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo PUM_Utils_Array::safe_json_encode( $data ); exit; } } classes/AssetCache.php 0000644 00000075413 15174671772 0010750 0 ustar 00 <?php /** * AssestCache class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * AssetCache class. */ class PUM_AssetCache { /** * Cache directory. * * @var string */ public static $cache_dir; /** * Suffix for minified assets. * * @var string */ public static $suffix; /** * Asset url. * * @var string */ public static $asset_url; /** * JS Url. * * @var string */ public static $js_url; /** * CSS Url. * * @var string */ public static $css_url; /** * Should we disable asset caching? * * @var bool */ public static $disabled = true; /** * Should we output debug information? * * @var bool */ public static $debug; /** * Check to see if the cache has been initialized. * * @var boolean */ public static $initialized = false; /** * Initialize asset cache. */ public static function init() { if ( ! self::$initialized ) { self::$cache_dir = self::get_cache_dir(); self::$debug = Popup_Maker::debug_mode() || ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ); self::$suffix = self::$debug ? '' : '.min'; self::$asset_url = Popup_Maker::$URL . 'assets/'; self::$js_url = self::$asset_url . 'js/'; self::$css_url = self::$asset_url . 'css/'; if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) { self::$disabled = true; } else { self::$disabled = pum_get_option( 'disable_asset_caching', false ); } add_action( 'pum_extension_updated', [ __CLASS__, 'reset_cache' ] ); add_action( 'pum_extension_deactivated', [ __CLASS__, 'reset_cache' ] ); add_action( 'pum_extension_activated', [ __CLASS__, 'reset_cache' ] ); add_action( 'pum_regenerate_asset_cache', [ __CLASS__, 'reset_cache' ] ); add_action( 'pum_save_settings', [ __CLASS__, 'reset_cache' ] ); add_action( 'pum_save_popup', [ __CLASS__, 'reset_cache' ] ); add_action( 'pum_save_theme', [ __CLASS__, 'reset_cache' ] ); add_action( 'pum_update_core_version', [ __CLASS__, 'reset_cache' ] ); add_action( 'pum_update_core_version', [ __CLASS__, 'maybe_reset_asset_cache_notices' ] ); if ( isset( $_GET['flush_popup_cache'] ) && check_admin_referer( 'flush_popup_cache' ) ) { add_action( 'init', [ __CLASS__, 'reset_cache' ] ); } add_filter( 'pum_alert_list', [ __CLASS__, 'cache_alert' ] ); add_action( 'pum_styles', [ __CLASS__, 'global_custom_styles' ] ); if ( null === get_option( 'pum_files_writeable', null ) ) { add_option( 'pum_files_writeable', true ); add_option( '_pum_writeable_notice_dismissed', true ); pum_reset_assets(); } if ( is_admin() && current_user_can( 'edit_posts' ) ) { add_action( 'init', [ __CLASS__, 'admin_notice_check' ] ); } // Run our own action for enqueuing scripts via our API. add_action( 'wp_enqueue_scripts', function () { do_action( 'pum_register_scripts' ); }, 0 ); // Run our own action for enqueuing scripts via our API. add_action( 'wp_enqueue_scripts', function () { do_action( 'pum_enqueue_scripts' ); }, 10 ); // Run our own action for enqueuing scripts via our API. add_action( 'admin_enqueue_scripts', function () { do_action( 'pum_register_scripts' ); do_action( 'pum_admin_register_scripts' ); }, 0 ); // Run our own action for enqueuing scripts via our API. add_action( 'admin_enqueue_scripts', function () { do_action( 'pum_admin_enqueue_scripts' ); }, 10 ); add_action( 'wp_print_scripts', [ __CLASS__, 'localize_bundled_scripts' ], 10 ); // Prevent reinitialization. self::$initialized = true; } } /** * Checks if Asset caching is possible and enabled. * * @return bool */ public static function enabled() { if ( defined( 'PUM_ASSET_CACHE' ) && ! PUM_ASSET_CACHE ) { return false; } return self::writeable() && ! self::$disabled; } /** * Is the cache directory writeable? * * @return bool True if directory is writeable */ public static function writeable() { if ( self::$disabled ) { return false; } // If we have already determined files to not be writeable, go ahead and return. if ( true !== (bool) get_option( 'pum_files_writeable', true ) ) { return false; } /** * Filesystem. * * @var \WP_Filesystem_Base $wp_filesystem */ global $wp_filesystem; if ( ! function_exists( 'WP_Filesystem' ) ) { require_once ABSPATH . 'wp-admin/includes/file.php'; } $results = WP_Filesystem(); if ( true !== $results ) { // Prevents this from running again and set to show the admin notice. update_option( 'pum_files_writeable', false ); update_option( '_pum_writeable_notice_dismissed', false ); if ( ! is_null( $results ) && isset( $wp_filesystem->errors ) && $wp_filesystem->errors->has_errors() ) { $error = $wp_filesystem->errors->get_error_message(); pum_log_message( sprintf( 'Cache directory is not writeable due to filesystem error. Error given: %s', esc_html( $error ) ) ); } else { pum_log_message( 'Cache directory is not writeable due to incorrect filesystem method.' ); } return false; } // Checks and create cachedir. if ( false !== self::$cache_dir && ! is_dir( self::$cache_dir ) ) { $wp_filesystem->mkdir( self::$cache_dir ); } // phpcs:ignore WordPress.Security.NonceVerification.Missing return false !== self::$cache_dir && $wp_filesystem->is_writable( self::$cache_dir ) && ! isset( $_POST['wp_customize'] ); } /** * Regenerate cache on demand. */ public static function regenerate_cache() { self::cache_js(); self::cache_css(); } /** * Gets the directory caching should be stored in. * * Accounts for various adblock bypass options. * * @return array|string */ public static function get_cache_dir() { $upload_dir = PUM_Helpers::get_upload_dir_path(); if ( false === $upload_dir ) { return false; } if ( ! pum_get_option( 'bypass_adblockers', false ) ) { return trailingslashit( $upload_dir ) . 'pum'; } return $upload_dir; } /** * Generates a cache filename based on the current adblock bypass settings. * * @param string $filename Filename. * * @return string */ public static function generate_cache_filename( $filename ) { if ( ! pum_get_option( 'bypass_adblockers', false ) ) { global $blog_id; $is_multisite = ( is_multisite() ) ? '-' . $blog_id : ''; return $filename . $is_multisite; } $site_url = get_site_url(); switch ( pum_get_option( 'adblock_bypass_url_method', 'random' ) ) { case 'random': $filename = md5( $site_url . $filename ); break; case 'custom': $filename = preg_replace( '/[^a-z0-9]+/', '-', pum_get_option( 'adblock_bypass_custom_filename', 'pm-' . $filename ) ); break; } return $filename; } /** * Generate JS cache file. */ public static function cache_js() { if ( false === self::$cache_dir ) { return; } $js_file = self::generate_cache_filename( 'pum-site-scripts' ) . '.js'; $js = "/**\n"; $js .= " * Do not touch this file! This file created by the Popup Maker plugin using PHP\n"; $js .= ' * Last modified time: ' . ( function_exists( 'wp_date' ) ? wp_date( 'M d Y, h:i:s' ) : date( 'M d Y, h:i:s', current_time( 'timestamp' ) ) ) . "\n"; $js .= " */\n\n\n"; $js .= self::generate_js(); if ( ! self::cache_file( $js_file, $js ) ) { update_option( 'pum-has-cached-js', false ); } else { update_option( 'pum-has-cached-js', strtotime( 'now' ) ); } } /** * Generate CSS cache file. */ public static function cache_css() { if ( false === self::$cache_dir ) { return; } $css_file = self::generate_cache_filename( 'pum-site-styles' ) . '.css'; $css = "/**\n"; $css .= " * Do not touch this file! This file created by the Popup Maker plugin using PHP\n"; $css .= ' * Last modified time: ' . ( function_exists( 'wp_date' ) ? wp_date( 'M d Y, h:i:s' ) : date( 'M d Y, h:i:s', current_time( 'timestamp' ) ) ) . "\n"; $css .= " */\n\n\n"; $css .= self::generate_css(); if ( ! self::cache_file( $css_file, $css ) ) { update_option( 'pum-has-cached-css', false ); } else { update_option( 'pum-has-cached-css', strtotime( 'now' ) ); } } /** * Generate custom JS * * @return string */ public static function generate_js() { /** * Filesystem. * * @var \WP_Filesystem_Base $wp_filesystem */ global $wp_filesystem; // Load core scripts so we can eliminate another stylesheet. $core_js = $wp_filesystem->get_contents( Popup_Maker::$DIR . 'dist/assets/site.js' ); /** * 0 Core * 5 Extensions * 8 Integrations * 10 Per Popup JS */ $js = [ 'core' => [ 'content' => $core_js, 'priority' => 0, ], ]; $popups = pum_get_all_popups(); if ( ! empty( $popups ) ) { foreach ( $popups as $popup ) { // Set this popup as the global $current. pum()->current_popup = $popup; ob_start(); // Allow per popup JS additions. do_action( 'pum_generate_popup_js', $popup->ID ); $popup_js = ob_get_clean(); if ( ! empty( $popup_js ) ) { $js[ 'popup-' . $popup->ID ] = [ 'content' => $popup_js, ]; } } // Clear the global $current. pum()->current_popup = null; } $js = apply_filters( 'pum_generated_js', $js ); foreach ( $js as $key => $code ) { $js[ $key ] = wp_parse_args( $code, [ 'content' => '', 'priority' => 10, ] ); } uasort( $js, [ 'PUM_Helpers', 'sort_by_priority' ] ); $js_code = ''; foreach ( $js as $key => $code ) { if ( ! empty( $code['content'] ) ) { $js_code .= $code['content'] . "\n\n"; } } return $js_code; } /** * Cache file contents. * * @param string $filename Filename of file to generate. * @param string $contents Contents to put into file. * * @return bool */ public static function cache_file( $filename, $contents ) { /** * WP Filesystem. * * @var \WP_Filesystem_Base $wp_filesystem */ global $wp_filesystem; if ( false === self::$cache_dir ) { return false; } if ( ! function_exists( 'WP_Filesystem' ) ) { require_once ABSPATH . 'wp-admin/includes/file.php'; } $file = trailingslashit( self::$cache_dir ) . $filename; WP_Filesystem(); $results = $wp_filesystem->put_contents( $file, $contents, defined( 'FS_CHMOD_FILE' ) ? FS_CHMOD_FILE : false ); // If the file is generated and is accessible... if ( true === $results && self::is_file_accessible( $filename ) ) { return true; } else { // ... else, let's set our flags to prevent cache running again for now. update_option( 'pum_files_writeable', false ); update_option( '_pum_writeable_notice_dismissed', false ); return false; } } /** * Generate Custom Styles * * @return string */ public static function generate_css() { /** * WP Filesystem. * * @var \WP_Filesystem_Base $wp_filesystem */ global $wp_filesystem; // Include core styles so we can eliminate another stylesheet. $core_css = $wp_filesystem->get_contents( Popup_Maker::$DIR . 'dist/assets/site' . ( is_rtl() ? '-rtl' : '' ) . '.css' ); /** * 0 Core * 1 Popup Themes * 5 Extensions * 10 Per Popup CSS */ $css = [ 'imports' => [ 'content' => self::generate_font_imports(), 'priority' => - 1, ], 'core' => [ 'content' => $core_css, 'priority' => 0, ], 'themes' => [ 'content' => self::generate_popup_theme_styles(), 'priority' => 1, ], 'popups' => [ 'content' => self::generate_popup_styles(), 'priority' => 15, ], 'custom' => [ 'content' => self::custom_css(), 'priority' => 20, ], ]; $css = apply_filters( 'pum_generated_css', $css ); foreach ( $css as $key => $code ) { $css[ $key ] = wp_parse_args( $code, [ 'content' => '', 'priority' => 10, ] ); } uasort( $css, [ 'PUM_Helpers', 'sort_by_priority' ] ); $css_code = ''; foreach ( $css as $key => $code ) { if ( ! empty( $code['content'] ) ) { $css_code .= $code['content'] . "\n\n"; } } return $css_code; } /** * Render global custom styles. */ public static function global_custom_styles() { if ( pum_get_option( 'adjust_body_padding' ) ) { echo 'html.pum-open.pum-open-overlay.pum-open-scrollable body > *:not([aria-modal="true"]) { padding-right: ' . esc_attr( pum_get_option( 'body_padding_override', '15px' ) ) . '!important; }'; } } /** * Generate Popup Styles * * @return string */ public static function generate_popup_styles() { $popup_css = ''; $popups = pum_get_all_popups(); if ( ! empty( $popups ) ) { foreach ( $popups as $popup ) { // Set this popup as the global $current. pum()->current_popup = $popup; $popup = pum_get_popup( $popup->ID ); if ( ! pum_is_popup( $popup ) ) { continue; } ob_start(); if ( $popup->get_setting( 'zindex', false ) ) { $zindex = esc_attr( $popup->get_setting( 'zindex' ) ); printf( "#pum-%d {z-index: %d}\r\n", esc_attr( $popup->ID ), esc_attr( $zindex ) ); } // Allow per popup CSS additions. do_action( 'pum_generate_popup_css', $popup->ID ); $popup_css .= ob_get_clean(); } // Clear the global $current. pum()->current_popup = null; } return $popup_css; } /** * Used when asset cache is not enabled. * * @return string */ public static function inline_css() { ob_start(); // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped echo self::generate_font_imports(); echo self::generate_popup_theme_styles(); // Render popup styles. echo self::generate_popup_styles(); // Render any extra styles globally added. echo self::custom_css(); // phpcs:enable WordPress.Security.EscapeOutput.OutputNotEscaped return ob_get_clean(); } /** * Generate Popup Theme Styles * * @return string */ public static function custom_css() { // Reset ob. ob_start(); // Render any extra styles globally added. if ( ! empty( $GLOBALS['pum_extra_styles'] ) ) { // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo $GLOBALS['pum_extra_styles']; } // Allows rendering extra css via action. do_action( 'pum_styles' ); return ob_get_clean(); } /** * Generate Popup Theme Styles * * @return mixed|string */ public static function generate_font_imports() { $imports = ''; $google_fonts = []; foreach ( pum_get_all_themes() as $theme ) { $google_fonts = array_merge( $google_fonts, pum_get_theme( $theme->ID )->get_google_fonts_used() ); } if ( ! empty( $google_fonts ) && ! pum_get_option( 'disable_google_font_loading', false ) ) { $link = '//fonts.googleapis.com/css?family='; foreach ( $google_fonts as $font_family => $variants ) { if ( '//fonts.googleapis.com/css?family=' !== $link ) { $link .= '|'; } $link .= $font_family; if ( is_array( $variants ) ) { if ( implode( ',', $variants ) !== '' ) { $link .= ':'; $link .= trim( implode( ',', $variants ), ':' ); } } } $imports = "/* Popup Google Fonts */\r\n@import url('$link');\r\n\r\n" . $imports; } $imports = apply_filters( 'pum_generate_font_imports', $imports ); return $imports; } /** * Generate Popup Theme Styles * * @return mixed|string */ public static function generate_popup_theme_styles() { $styles = ''; $themes = pum_get_all_themes(); foreach ( $themes as $theme ) { $theme_styles = pum_get_rendered_theme_styles( $theme->ID ); if ( '' !== $theme_styles ) { $styles .= '/* Popup Theme ' . esc_attr( $theme->ID ) . ': ' . esc_html( $theme->post_title ) . " */\r\n"; $styles .= $theme_styles . "\r\n"; } } $styles = apply_filters( 'popmake_theme_styles', $styles ); $styles = apply_filters( 'pum_generate_popup_theme_styles', $styles ); return $styles; } /** * Reset the cache to force regeneration. */ public static function reset_cache() { update_option( 'pum-has-cached-css', false ); update_option( 'pum-has-cached-js', false ); } /** * Adds admin notice if the files are not writeable. * * @param array $alerts The alerts currently in the alert system. * @return array Alerts for the alert system. * @since 1.9.0 */ public static function cache_alert( $alerts ) { if ( self::should_not_show_alert() ) { return $alerts; } $nonce = wp_create_nonce( 'pum-write-notice-action' ); $undo_url = add_query_arg( [ 'pum_writeable_notice_check' => 'undo', '_wpnonce' => $nonce, ] ); $dismiss_url = add_query_arg([ 'pum_writeable_notice_check' => 'dismiss', '_wpnonce' => $nonce, ] ); ob_start(); ?> <ul> <li><a href="<?php echo esc_attr( $undo_url ); ?>"><strong><?php esc_html_e( 'Try to create cache again', 'popup-maker' ); ?></strong></a></li> <li><a href="<?php echo esc_attr( $dismiss_url ); ?>" class="pum-dismiss"><?php esc_html_e( 'Keep current method', 'popup-maker' ); ?></a></li> <li><a href="https://wppopupmaker.com/docs/problem-solving/popup-maker-detected-an-issue-with-your-file-system/?utm_source=filesystem-error-alert&utm_medium=inline-doclink&utm_campaign=filesystem-error" target="_blank" rel="noreferrer noopener"><?php esc_html_e( 'Learn more', 'popup-maker' ); ?></a></li> </ul> <?php $html = ob_get_clean(); $alerts[] = [ 'code' => 'pum_writeable_notice', 'type' => 'warning', 'message' => esc_html__( "Popup Maker detected an issue with your file system's ability and is unable to create & save cached assets for your popup styling and settings. This may lead to suboptimal performance. Please check your filesystem and contact your hosting provide to ensure Popup Maker can create and write to cache files.", 'popup-maker' ), 'html' => $html, 'priority' => 1000, 'dismissible' => '2 weeks', 'global' => true, ]; return $alerts; } /** * Checks if any options have been clicked from admin notices. * * @since 1.9.0 */ public static function admin_notice_check() { if ( isset( $_GET['pum_writeable_notice_check'] ) ) { // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash check_admin_referer( 'pum-write-notice-action' ); // If either dismiss or try again button is clicked, hide the admin notice. update_option( '_pum_writeable_notice_dismissed', true ); if ( 'undo' === $_GET['pum_writeable_notice_check'] ) { // If try again is clicked, remove flag. update_option( 'pum_files_writeable', true ); } else { pum_update_option( 'disable_asset_caching', true ); } } } /** * Whether or not we should show admin notice * * @since 1.9.0 * @return bool True if notice should not be shown */ public static function should_not_show_alert() { return true === (bool) get_option( 'pum_files_writeable', true ) || true === (bool) get_option( '_pum_writeable_notice_dismissed', true ); } /** * Tests whether the file is accessible and returns 200 status code * * @param string $filename Filename of cache file to test. * * @return bool True if file exists and is accessible */ private static function is_file_accessible( $filename ) { if ( ! $filename || ! is_string( $filename ) ) { // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r pum_log_message( 'Cannot check if file is accessible. Filename passed: ' . print_r( $filename, true ) ); return false; } $cache_url = PUM_Helpers::get_cache_dir_url(); if ( false === $cache_url ) { pum_log_message( 'Cannot access cache file when tested. Cache URL returned false.' ); } $protocol = is_ssl() ? 'https:' : 'http:'; $file = $protocol . $cache_url . '/' . $filename; $results = wp_remote_request( $file, [ 'method' => 'HEAD', 'sslverify' => false, ] ); // If it returned a WP_Error, let's log its error message. if ( is_wp_error( $results ) ) { $error = $results->get_error_message(); pum_log_message( sprintf( 'Cannot access cache file when tested. Tested file: %s Error given: %s', esc_html( $file ), esc_html( $error ) ) ); } // If it returned valid array... if ( is_array( $results ) && isset( $results['response'] ) ) { $status_code = $results['response']['code']; // ... then, check if it's a valid status code. Only if it is a valid 2XX code, will this method return true. if ( false !== $status_code && ( 200 <= $status_code && 300 > $status_code ) ) { return true; } else { pum_log_message( sprintf( 'Cannot access cache file when tested. Status code received was: %s', esc_html( $status_code ) ) ); } } return false; } /** * Process a change to options conditionally if the user came from a bugged version. * * @param string $upgraded_from The version the user upgraded from. */ public static function maybe_reset_asset_cache_notices( $upgraded_from ) { // If version compoare upgraded from was v1.18.0 exactly delete the notice. if ( '1.18.0' === $upgraded_from ) { update_option( 'pum_files_writeable', true ); update_option( '_pum_writeable_notice_dismissed', true ); pum_update_option( 'disable_asset_caching', false ); } } /** * Retrieve asset contents while ignoring SSL verification errors. * * @param string $src URL or path to the asset. * * @return string|false Asset contents on success, false on failure. * * @since 1.21.0 */ private static function get_asset_contents( $src ) { $scheme = wp_parse_url( $src, PHP_URL_SCHEME ); if ( in_array( $scheme, [ 'http', 'https' ], true ) ) { $response = wp_remote_get( $src, [ 'sslverify' => false ] ); if ( ! is_wp_error( $response ) ) { return wp_remote_retrieve_body( $response ); } } // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents return file_get_contents( $src ); } /** * Stores registered scripts. * * @var array{src:string,deps:array,version:string,in_footer:bool}[] * * @since 1.21.0 */ public static $registered_scripts = []; /** * Stores registered styles. * * @var array{src:string,deps:array,version:string,media:string}[] * * @since 1.21.0 */ public static $registered_styles = []; /** * Stores enqueued scripts. * * @var string[] * * @since 1.21.0 */ public static $enqueued_scripts = []; /** * Stores dependencies from bundled scripts. * * @var string[] * * @since 1.21.0 */ public static $bundled_script_deps = []; /** * Stores dependencies from bundled styles. * * @var string[] * * @since 1.21.0 */ public static $bundled_style_deps = []; /** * Stores enqueued styles. * * @var string[] * * @since 1.21.0 */ public static $enqueued_styles = []; /** * Stores localized scripts. Multiple for the same handle. * * @var array<string,array{object_name:string,value:mixed}[]> * * @since 1.21.0 */ public static $localized_scripts = []; /** * Register a script for possible caching. * * @param string $handle The script handle. * @param string $src The script src. * @param array $deps The script dependencies. * @param string $version The script version. * @param bool $in_footer Whether to enqueue the script in the footer. * * @return bool * * @since 1.21.0 */ public static function register_script( $handle, $src, $deps = [], $version = null, $in_footer = false, $merge_priority = 5 ) { // Implement internal store of scripts. AssetCache will be built using this if enabled, otherwised passed to wp_register_* directly. self::$registered_scripts[ $handle ] = [ 'src' => $src, 'deps' => $deps, 'version' => $version, 'in_footer' => $in_footer, ]; // Temporary until we handle this in a global way. if ( ! self::enabled() ) { wp_register_script( $handle, $src, $deps, $version, $in_footer ); } else { // Collect all dependencies for bundled scripts (filter later when bundle is registered). if ( ! empty( $deps ) ) { self::$bundled_script_deps = array_merge( self::$bundled_script_deps, $deps ); } add_filter( 'pum_generated_js', function ( $js = [] ) use ( $handle, $src, $merge_priority ): array { $js[ $handle ] = [ 'content' => self::get_asset_contents( $src ), 'priority' => $merge_priority, ]; return $js; } ); } return true; } /** * Register a style for possible caching. * * @param string $handle The style handle. * @param string $src The style src. * @param array $deps The style dependencies. * @param string $version The style version. * @param string $media The style media. * * @return bool * * @since 1.21.0 */ public static function register_style( $handle, $src, $deps = [], $version = null, $media = 'all', $merge_priority = 5 ) { // Implement internal store of styles. AssetCache will be built using this if enabled, otherwised passed to wp_register_* directly. self::$registered_styles[ $handle ] = [ 'src' => $src, 'deps' => $deps, 'version' => $version, 'media' => $media, ]; // Temporary until we handle this in a global way. if ( ! self::enabled() ) { wp_register_style( $handle, $src, $deps, $version, $media ); } else { // Collect all dependencies for bundled styles (filter later when bundle is registered). if ( ! empty( $deps ) ) { self::$bundled_style_deps = array_merge( self::$bundled_style_deps, $deps ); } add_filter( 'pum_generated_css', function ( $css = [] ) use ( $handle, $src, $merge_priority ): array { $css[ $handle ] = [ 'content' => self::get_asset_contents( $src ), 'priority' => $merge_priority, ]; return $css; } ); } return true; } /** * Enqueue a script for possible caching. * * @param string $handle The script handle. * @param string $src The script src. * @param array $deps The script dependencies. * @param string $version The script version. * @param bool $in_footer Whether to enqueue the script in the footer. * * @return bool * * @since 1.21.0 */ public static function enqueue_script( $handle, $src = '', $deps = [], $version = null, $in_footer = false ) { // Implement internal store of scripts. AssetCache will be built using this if enabled, otherwised passed to wp_register_* directly. if ( ! empty( $src ) ) { self::$registered_scripts[ $handle ] = [ 'src' => $src, 'deps' => $deps, 'version' => $version, 'in_footer' => $in_footer, ]; } self::$enqueued_scripts[] = $handle; // Temporary until we handle this in a global way. if ( ! self::enabled() ) { wp_enqueue_script( $handle ); } return true; } /** * Check if a script is enqueued. * * @param string $handle The script handle. * @param string $status The script status. * * @return bool * * @since 1.21.0 */ public static function script_is( $handle, $status = 'enqueued' ) { if ( in_array( $handle, self::$enqueued_scripts, true ) ) { return true; } return wp_script_is( $handle, $status ); } /** * Enqueue a style for possible caching. * * @param string $handle The style handle. * @param string $src The style src. * @param array $deps The style dependencies. * @param string $version The style version. * @param string $media The style media. * * @return bool * * @since 1.21.0 */ public static function enqueue_style( $handle, $src = '', $deps = [], $version = null, $media = 'all' ) { // Implement internal store of styles. AssetCache will be built using this if enabled, otherwised passed to wp_register_* directly. if ( ! empty( $src ) ) { self::$registered_styles[ $handle ] = [ 'src' => $src, 'deps' => $deps, 'version' => $version, 'media' => $media, ]; } self::$enqueued_styles[] = $handle; // Temporary until we handle this in a global way. if ( ! self::enabled() ) { wp_enqueue_style( $handle ); } return true; } /** * Dequeue a script. * * @param string $handle The script handle. * * @return bool * * @since 1.21.0 */ public static function dequeue_script( $handle ) { if ( in_array( $handle, self::$enqueued_scripts, true ) ) { self::$enqueued_scripts = array_diff( self::$enqueued_scripts, [ $handle ] ); // Temporary until we handle this in a global way. if ( ! self::enabled() ) { wp_dequeue_script( $handle ); } return true; } return false; } /** * Dequeue a style. * * @param string $handle The style handle. * * @return bool * * @since 1.21.0 */ public static function dequeue_style( $handle ) { if ( in_array( $handle, self::$enqueued_styles, true ) ) { self::$enqueued_styles = array_diff( self::$enqueued_styles, [ $handle ] ); // Temporary until we handle this in a global way. if ( ! self::enabled() ) { wp_dequeue_style( $handle ); } return true; } return false; } /** * Localize a script. * * @param string $handle Script handle the data will be attached to. * @param string $object_name Name for the JavaScript object. Passed directly, so it should be qualified JS variable. * Example: '/[a-zA-Z0-9_]+/'. * @param array $value The data itself. The data can be either a single or multi-dimensional array. * * @return bool * * @since 1.21.0 */ public static function localize_script( $handle, $object_name, $value ) { if ( ! isset( self::$localized_scripts[ $handle ] ) ) { self::$localized_scripts[ $handle ] = []; } self::$localized_scripts[ $handle ][] = [ 'object' => $object_name, 'value' => $value, ]; // Temporary until we handle this in a global way. if ( ! self::enabled() ) { wp_localize_script( $handle, $object_name, $value ); } return true; } public static function localize_bundled_scripts() { if ( ! self::enabled() ) { return; } // Localize all registered scripts that have vars under the main plugin handle. foreach ( self::$localized_scripts as $handle => $var_sets ) { foreach ( $var_sets as $vars ) { wp_localize_script( 'popup-maker-site', $vars['object'], $vars['value'] ); } } } /** * Get all dependencies from bundled scripts. * * @return string[] Array of script dependencies. * * @since 1.21.0 */ public static function get_bundled_script_dependencies() { // Filter out self-references, main bundle, and other bundled scripts to prevent circular dependencies. $filtered_deps = array_filter( self::$bundled_script_deps, function ( $dep ) { return 'popup-maker-site' !== $dep && ! isset( self::$registered_scripts[ $dep ] ); }); return array_unique( $filtered_deps ); } /** * Get all dependencies from bundled styles. * * @return string[] Array of style dependencies. * * @since 1.21.0 */ public static function get_bundled_style_dependencies() { // Filter out self-references, main bundle, and other bundled styles to prevent circular dependencies. $filtered_deps = array_filter( self::$bundled_style_deps, function ( $dep ) { return 'popup-maker-site' !== $dep && ! isset( self::$registered_styles[ $dep ] ); }); return array_unique( $filtered_deps ); } } classes/Batch/Process/Registry.php 0000644 00000004631 15174671772 0013206 0 ustar 00 <?php /** * Registry Batch Process * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Implements a batch process registry class. * * @since 1.7.0 * * @see PUM_Abstract_Registry */ class PUM_Batch_Process_Registry extends PUM_Abstract_Registry { /** * @var PUM_Batch_Process_Registry */ public static $instance; /** * @return PUM_Batch_Process_Registry */ public static function instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); self::$instance->init(); } return self::$instance; } /** * Initializes the batch registry. */ public function init() { $this->register_core_processes(); /** * Fires during instantiation of the batch processing registry. * * @param PUM_Batch_Process_Registry $registry Registry instance. */ do_action( 'pum_batch_process_init', $this ); } /** * Registers core batch processes. */ protected function register_core_processes() { } /** * Registers a new batch process. * * @param string $batch_id Unique batch process ID. * @param array $process_args { * Arguments for registering a new batch process. * * @type string $class Batch processor class to use. * @type string $file File containing the batch processor class. * } * * @return WP_Error|true True on successful registration, otherwise a WP_Error object. */ public function register_process( $batch_id, $process_args ) { $process_args = wp_parse_args( $process_args, array_fill_keys( [ 'class', 'file' ], '' ) ); if ( empty( $process_args['class'] ) ) { return new WP_Error( 'invalid_batch_class', __( 'A batch process class must be specified.', 'popup-maker' ) ); } if ( empty( $process_args['file'] ) ) { return new WP_Error( 'missing_batch_class_file', __( 'No batch class handler file has been supplied.', 'popup-maker' ) ); } // 2 if Windows path. if ( ! in_array( validate_file( $process_args['file'] ), [ 0, 2 ], true ) ) { return new WP_Error( 'invalid_batch_class_file', __( 'An invalid batch class handler file has been supplied.', 'popup-maker' ) ); } return $this->add_item( $batch_id, $process_args ); } /** * Removes a batch process from the registry by ID. * * @param string $batch_id Batch process ID. */ public function remove_process( $batch_id ) { $this->remove_item( $batch_id ); } } classes/Interfaces/CallToAction.php 0000644 00000002421 15174671772 0013331 0 ustar 00 <?php /** * Call To Action interface. * * @author Code Atlantic * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker\Interfaces; defined( 'ABSPATH' ) || exit; /** * Interface CallToAction * * @since 1.21.0 */ interface CallToAction { /** * Label for reference. * * @return string */ public function label(); /** * Function that returns array of fields by group. * * @return array */ public function fields(); /** * Handle the CTA action. * * @param \PopupMaker\Models\CallToAction $call_to_action Call to action object. * @param array $extra_args Optional. Additional data passed to the handler (will include popup_id). * * @return void */ public function action_handler( \PopupMaker\Models\CallToAction $call_to_action, array $extra_args = [] ): void; /** * Validate CTA settings array before saving. * * @param array $settings The raw settings array to validate. * * @return true|\WP_Error|\WP_Error[] True if valid, WP_Error if validation fails. */ public function validate_settings( array $settings ); /** * Returns an array that represents the cta. * * Used to pass configs to JavaScript. * * @return array */ public function as_array(); } classes/Interfaces/Controller.php 0000644 00000000741 15174671772 0013143 0 ustar 00 <?php /** * Plugin controller. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Interfaces; defined( 'ABSPATH' ) || exit; /** * Localized controller class. */ interface Controller extends Service { /** * Handle hooks & filters or various other init tasks. * * @return void */ public function init(); /** * Check if controller is enabled. * * @return bool */ public function controller_enabled(); } classes/Interfaces/Service.php 0000644 00000000357 15174671772 0012423 0 ustar 00 <?php /** * Plugin controller. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Interfaces; defined( 'ABSPATH' ) || exit; /** * Localized service class. */ interface Service {} classes/Interfaces/Upgrade.php 0000644 00000001355 15174671772 0012411 0 ustar 00 <?php /** * Plugin upgrade. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Interfaces; defined( 'ABSPATH' ) || exit; /** * Localized controller class. */ interface Upgrade { /** * Return label for this upgrade. * * @return string */ public function label(); /** * Return full description for this upgrade. * * @return string */ public function description(); /** * Check if this upgrade is required. * * @return bool */ public function is_required(); /** * Check if prerequisites are met. * * @return bool */ public function prerequisites_met(); /** * Run the upgrade. * * @return void|\WP_Error|false */ public function run(); } classes/Installers/PluginSilentUpgraderSkin.php 0000644 00000002477 15174671772 0016021 0 ustar 00 <?php /** * PluginSilentUpgraderSkin class. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * @since 1.21.0 */ namespace PopupMaker\Installers; defined( 'ABSPATH' ) || exit; /** \WP_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader-skin.php'; /** * Class PluginSilentUpgraderSkin. * * @internal Please do not use this class outside of core plugin development. May be removed at any time. * * @since 2.0.0 */ class PluginSilentUpgraderSkin extends \WP_Upgrader_Skin { /** * Empty out the header of its HTML content and only check to see if it has * been performed or not. * * @return void */ public function header() { } /** * Empty out the footer of its HTML contents. * * @return void */ public function footer() { } /** * Instead of outputting HTML for errors, just return them. * Ajax request will just ignore it. * * @param string|\WP_Error $errors Array of errors with the install process. * * @return string|\WP_Error */ public function error( $errors ) { return $errors; } /** * Empty out JavaScript output that calls function to decrement the update counts. * * @param string $type Type of update count to decrement. * * @return void */ public function decrement_update_count( $type ) { } } classes/Installers/PluginSilentUpgrader.php 0000644 00000060167 15174671772 0015174 0 ustar 00 <?php /** * PluginSilentUpgrader class. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * @since 1.21.0 */ namespace PopupMaker\Installers; defined( 'ABSPATH' ) || exit; use WP_Error; use WP_Upgrader; use WP_Filesystem_Base; /** \WP_Upgrader class */ require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; /** \Plugin_Upgrader class */ require_once ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php'; /** * In WP 5.3 a PHP 5.6 splat operator (...$args) was added to \WP_Upgrader_Skin::feedback(). * We need to remove all calls to *Skin::feedback() method, as we can't override it in own Skins * without breaking support for PHP 5.3-5.5. * * @internal Please do not use this class outside of core plugin development. May be removed at any time. * * @since 2.0.0 */ class PluginSilentUpgrader extends \Plugin_Upgrader { /** * Run an upgrade/installation. * * Attempt to download the package (if it is not a local file), unpack it, and * install it in the destination folder. * * @since 2.0.0 * * @param array{package:string,destination:string,clear_destination:bool,clear_working:bool,abort_if_destination_exists:bool,is_multi:bool,hook_extra:array<string,mixed>} $options { * Array or string of arguments for upgrading/installing a package. * * @type string $package The full path or URI of the package to install. * Default empty. * @type string $destination The full path to the destination folder. * Default empty. * @type bool $clear_destination Whether to delete any files already in the * destination folder. Default false. * @type bool $clear_working Whether to delete the files form the working * directory after copying to the destination. * Default false. * @type bool $abort_if_destination_exists Whether to abort the installation if the destination * folder already exists. When true, `$clear_destination` * should be false. Default true. * @type bool $is_multi Whether this run is one of multiple upgrade/installation * actions being performed in bulk. When true, the skin * WP_Upgrader::header() and WP_Upgrader::footer() * aren't called. Default false. * @type array $hook_extra Extra arguments to pass to the filter hooks called by * WP_Upgrader::run(). * } * @return array{source:string,source_files:string[],destination:string,destination_name:string,local_destination:string,remote_destination:string,clear_destination:bool}|\WP_Error|bool The result from self::install_package() on success, otherwise a WP_Error, * or false if unable to connect to the filesystem. */ public function run( $options ) { $defaults = [ 'package' => '', // Please always pass this. 'destination' => '', // And this. 'clear_destination' => false, 'abort_if_destination_exists' => true, // Abort if the Destination directory exists, Pass clear_destination as false please. 'clear_working' => true, 'is_multi' => false, 'hook_extra' => [], // Pass any extra $hook_extra args here, this will be passed to any hooked filters. ]; $options = wp_parse_args( $options, $defaults ); /** * Filter the package options before running an update. * * See also {@see 'upgrader_process_complete'}. * * @since 4.3.0 * * @param array $options { * Options used by the upgrader. * * @type string $package Package for update. * @type string $destination Update location. * @type bool $clear_destination Clear the destination resource. * @type bool $clear_working Clear the working resource. * @type bool $abort_if_destination_exists Abort if the Destination directory exists. * @type bool $is_multi Whether the upgrader is running multiple times. * @type array $hook_extra { * Extra hook arguments. * * @type string $action Type of action. Default 'update'. * @type string $type Type of update process. Accepts 'plugin', 'theme', or 'core'. * @type bool $bulk Whether the update process is a bulk update. Default true. * @type string $plugin Path to the plugin file relative to the plugins directory. * @type string $theme The stylesheet or template name of the theme. * @type string $language_update_type The language pack update type. Accepts 'plugin', 'theme', * or 'core'. * @type object $language_update The language pack update offer. * } * } */ $options = apply_filters( 'upgrader_package_options', $options ); if ( ! $options['is_multi'] ) { // call $this->header separately if running multiple times. $this->skin->header(); } // Connect to the Filesystem first. $res = $this->fs_connect( [ WP_CONTENT_DIR, $options['destination'] ] ); // Mainly for non-connected filesystem. if ( ! $res ) { if ( ! $options['is_multi'] ) { $this->skin->footer(); } return false; } $this->skin->before(); if ( is_wp_error( $res ) ) { $this->skin->error( $res ); $this->skin->after(); if ( ! $options['is_multi'] ) { $this->skin->footer(); } return $res; } /* * Download the package (Note, This just returns the filename * of the file if the package is a local file) */ $download = $this->download_package( $options['package'], true ); // Allow for signature soft-fail. // WARNING: This may be removed in the future. if ( is_wp_error( $download ) && $download->get_error_data( 'softfail-filename' ) ) { // Don't output the 'no signature could be found' failure message for now. if ( (string) $download->get_error_code() !== 'signature_verification_no_signature' || WP_DEBUG ) { // Outout the failure error as a normal feedback, and not as an error: // $this->skin->feedback( $download->get_error_message() );. // Report this failure back to WordPress.org for debugging purposes. wp_version_check( [ 'signature_failure_code' => $download->get_error_code(), 'signature_failure_data' => $download->get_error_data(), ] ); } // Pretend this error didn't happen. $download = $download->get_error_data( 'softfail-filename' ); } if ( is_wp_error( $download ) ) { $this->skin->error( $download ); $this->skin->after(); if ( ! $options['is_multi'] ) { $this->skin->footer(); } return $download; } $delete_package = ( (string) $download !== (string) $options['package'] ); // Do not delete a "local" file. // Unzips the file into a temporary directory. $working_dir = $this->unpack_package( $download, $delete_package ); if ( is_wp_error( $working_dir ) ) { $this->skin->error( $working_dir ); $this->skin->after(); if ( ! $options['is_multi'] ) { $this->skin->footer(); } return $working_dir; } // With the given options, this installs it to the destination directory. $result = $this->install_package( [ 'source' => $working_dir, 'destination' => $options['destination'], 'clear_destination' => $options['clear_destination'], 'abort_if_destination_exists' => $options['abort_if_destination_exists'], 'clear_working' => $options['clear_working'], 'hook_extra' => $options['hook_extra'], ] ); $this->skin->set_result( $result ); if ( is_wp_error( $result ) ) { $this->skin->error( $result ); // phpcs:disable Squiz.PHP.CommentedOutCode.Found, Squiz.Commenting.InlineComment.InvalidEndChar // $this->skin->feedback( 'process_failed' ); // phpcs:ignore Generic.CodeAnalysis.EmptyStatement.DetectedElse } else { // Installation succeeded. // $this->skin->feedback( 'process_success' ); // phpcs:enable Squiz.PHP.CommentedOutCode.Found, Squiz.Commenting.InlineComment.InvalidEndChar } $this->skin->after(); if ( ! $options['is_multi'] ) { /** * Fire when the upgrader process is complete. * * See also {@see 'upgrader_package_options'}. * * @since 3.6.0 * @since 3.7.0 Added to WP_Upgrader::run(). * @since 4.6.0 `$translations` was added as a possible argument to `$hook_extra`. * * @param WP_Upgrader $upgrader WP_Upgrader instance. In other contexts, $this, might be a * Theme_Upgrader, Plugin_Upgrader, Core_Upgrade, or Language_Pack_Upgrader instance. * @param array $hook_extra { * Array of bulk item update data. * * @type string $action Type of action. Default 'update'. * @type string $type Type of update process. Accepts 'plugin', 'theme', 'translation', or 'core'. * @type bool $bulk Whether the update process is a bulk update. Default true. * @type array $plugins Array of the basename paths of the plugins' main files. * @type array $themes The theme slugs. * @type array $translations { * Array of translations update data. * * @type string $language The locale the translation is for. * @type string $type Type of translation. Accepts 'plugin', 'theme', or 'core'. * @type string $slug Text domain the translation is for. The slug of a theme/plugin or * 'default' for core translations. * @type string $version The version of a theme, plugin, or core. * } * } */ do_action( 'upgrader_process_complete', $this, $options['hook_extra'] ); $this->skin->footer(); } return $result; } /** * Toggle maintenance mode for the site. * * Create/delete the maintenance file to enable/disable maintenance mode. * * @since 2.8.0 * * @global WP_Filesystem_Base $wp_filesystem Subclass * * @param bool $enable True to enable maintenance mode, false to disable. * * @return void */ public function maintenance_mode( $enable = false ) { global $wp_filesystem; $file = $wp_filesystem->abspath() . '.maintenance'; if ( $enable ) { // Create maintenance file to signal that we are upgrading. $maintenance_string = '<?php $upgrading = ' . time() . '; ?>'; $wp_filesystem->delete( $file ); $wp_filesystem->put_contents( $file, $maintenance_string, FS_CHMOD_FILE ); } elseif ( $wp_filesystem->exists( $file ) ) { $wp_filesystem->delete( $file ); } } /** * Download a package. * * @since 2.8.0 * @since 5.5.0 Added the `$hook_extra` parameter. * * @param string $package The URI of the package. If this is the full path to an * existing local file, it will be returned untouched. * @param bool $check_signatures Whether to validate file signatures. Default false. * @param array<string,mixed> $hook_extra Extra arguments to pass to the filter hooks. Default empty array. * @return string|WP_Error The full path to the downloaded package file, or a WP_Error object. */ public function download_package( $package, $check_signatures = false, $hook_extra = [] ) { /** * Filters whether to return the package. * * @since 3.7.0 * @since 5.5.0 Added the `$hook_extra` parameter. * * @param bool|\WP_Error $reply Whether to bail without returning the package. * Default false. * @param string $package The package file name. * @param WP_Upgrader $upgrader The WP_Upgrader instance. * @param array $hook_extra Extra arguments passed to hooked filters. */ $reply = apply_filters( 'upgrader_pre_download', false, $package, $this, $hook_extra ); if ( false !== $reply ) { return $reply; } if ( ! preg_match( '!^(http|https|ftp)://!i', $package ) && file_exists( $package ) ) { // Local file or remote? return $package; // Must be a local file. } if ( empty( $package ) ) { return new WP_Error( 'no_package', $this->strings['no_package'] ); } $download_file = download_url( $package, 300, $check_signatures ); if ( is_wp_error( $download_file ) && ! $download_file->get_error_data( 'softfail-filename' ) ) { return new WP_Error( 'download_failed', $this->strings['download_failed'], $download_file->get_error_message() ); } return $download_file; } /** * Unpack a compressed package file. * * @since 2.8.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string $package Full path to the package file. * @param bool $delete_package Optional. Whether to delete the package file after attempting * to unpack it. Default true. * @return string|WP_Error The path to the unpacked contents, or a WP_Error on failure. */ public function unpack_package( $package, $delete_package = true ) { global $wp_filesystem; $upgrade_folder = $wp_filesystem->wp_content_dir() . 'upgrade/'; // Clean up contents of upgrade directory beforehand. $upgrade_files = $wp_filesystem->dirlist( $upgrade_folder ); if ( ! empty( $upgrade_files ) ) { foreach ( $upgrade_files as $file ) { $wp_filesystem->delete( $upgrade_folder . $file['name'], true ); } } // We need a working directory - Strip off any .tmp or .zip suffixes. $working_dir = $upgrade_folder . basename( basename( $package, '.tmp' ), '.zip' ); // Clean up working directory. if ( $wp_filesystem->is_dir( $working_dir ) ) { $wp_filesystem->delete( $working_dir, true ); } // Unzip package to working directory. $result = unzip_file( $package, $working_dir ); // Once extracted, delete the package if required. if ( $delete_package ) { wp_delete_file( $package ); } if ( is_wp_error( $result ) ) { $wp_filesystem->delete( $working_dir, true ); if ( $result->get_error_code() === 'incompatible_archive' ) { return new WP_Error( 'incompatible_archive', $this->strings['incompatible_archive'], $result->get_error_data() ); } return $result; } return $working_dir; } /** * Install a package. * * Copies the contents of a package form a source directory, and installs them in * a destination directory. Optionally removes the source. It can also optionally * clear out the destination folder if it already exists. * * @since 2.8.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * @global array $wp_theme_directories * * @param array<string,mixed>|array{source:string|null,destination:string,clear_destination:bool,clear_working:bool,abort_if_destination_exists:bool,hook_extra:array<mixed>} $args { * Optional. Array or string of arguments for installing a package. Default empty array. * * @type string $source Required path to the package source. Default empty. * @type string $destination Required path to a folder to install the package in. * Default empty. * @type bool $clear_destination Whether to delete any files already in the destination * folder. Default false. * @type bool $clear_working Whether to delete the files form the working directory * after copying to the destination. Default false. * @type bool $abort_if_destination_exists Whether to abort the installation if * the destination folder already exists. Default true. * @type array $hook_extra Extra arguments to pass to the filter hooks called by * WP_Upgrader::install_package(). Default empty array. * } * * @return array{source:string,source_files:string[],destination:string,destination_name:string,local_destination:string,remote_destination:string,clear_destination:bool}|\WP_Error The result (also stored in `WP_Upgrader::$result`), or a WP_Error on failure. */ public function install_package( $args = [] ) { global $wp_filesystem, $wp_theme_directories; $defaults = [ 'source' => '', // Please always pass this. 'destination' => '', // and this. 'clear_destination' => false, 'clear_working' => false, 'abort_if_destination_exists' => true, 'hook_extra' => [], ]; $args = wp_parse_args( $args, $defaults ); // These were previously extract()'d. $source = $args['source']; $destination = $args['destination']; $clear_destination = $args['clear_destination']; // @todo does this need to be replaced? // wpforms_set_time_limit( 300 ); if ( empty( $source ) || empty( $destination ) ) { return new WP_Error( 'bad_request', $this->strings['bad_request'] ); } /** * Filter the install response before the installation has started. * * Returning a truthy value, or one that could be evaluated as a WP_Error * will effectively short-circuit the installation, returning that value * instead. * * @since 2.8.0 * * @param bool|WP_Error $response Response. * @param array $hook_extra Extra arguments passed to hooked filters. */ $res = apply_filters( 'upgrader_pre_install', true, $args['hook_extra'] ); if ( is_wp_error( $res ) ) { return $res; } // Retain the Original source and destinations. $remote_source = $args['source']; $local_destination = $destination; $source_files = array_keys( $wp_filesystem->dirlist( $remote_source ) ); $remote_destination = $wp_filesystem->find_folder( $local_destination ); $count_source_files = count( $source_files ); // Locate which directory to copy to the new folder, This is based on the actual folder holding the files. if ( 1 === $count_source_files && $wp_filesystem->is_dir( trailingslashit( $args['source'] ) . $source_files[0] . '/' ) ) { // Only one folder? Then we want its contents. $source = trailingslashit( $args['source'] ) . trailingslashit( $source_files[0] ); } elseif ( 0 === $count_source_files ) { return new WP_Error( 'incompatible_archive_empty', $this->strings['incompatible_archive'], $this->strings['no_files'] ); // There are no files? } else { // It's only a single file, the upgrader will use the folder name of this file as the destination folder. Folder name is based on zip filename. $source = trailingslashit( $args['source'] ); } /** * Filter the source file location for the upgrade package. * * @since 2.8.0 * @since 4.4.0 The $hook_extra parameter became available. * * @param string|\WP_Error $source File source location. * @param string $remote_source Remote file source location. * @param WP_Upgrader $upgrader WP_Upgrader instance. * @param array $hook_extra Extra arguments passed to hooked filters. */ $source = apply_filters( 'upgrader_source_selection', $source, $remote_source, $this, $args['hook_extra'] ); if ( is_wp_error( $source ) ) { return $source; } // Has the source location changed? If so, we need a new source_files list. if ( $source !== $remote_source ) { $source_files = array_keys( $wp_filesystem->dirlist( $source ) ); } /* * Protection against deleting files in any important base directories. * Theme_Upgrader & Plugin_Upgrader also trigger this, as they pass the * destination directory (WP_PLUGIN_DIR / wp-content/themes) intending * to copy the directory into the directory, whilst they pass the source * as the actual files to copy. */ $protected_directories = [ ABSPATH, WP_CONTENT_DIR, WP_PLUGIN_DIR, WP_CONTENT_DIR . '/themes' ]; if ( is_array( $wp_theme_directories ) ) { $protected_directories = array_merge( $protected_directories, $wp_theme_directories ); } if ( in_array( $destination, $protected_directories, true ) ) { $remote_destination = trailingslashit( $remote_destination ) . trailingslashit( basename( $source ) ); $destination = trailingslashit( $destination ) . trailingslashit( basename( $source ) ); } if ( $clear_destination ) { // We're going to clear the destination if there's something there. $removed = $this->clear_destination( $remote_destination ); /** * Filter whether the upgrader cleared the destination. * * @since 2.8.0 * * @param mixed $removed Whether the destination was cleared. true on success, WP_Error on failure * @param string $local_destination The local package destination. * @param string $remote_destination The remote package destination. * @param array $hook_extra Extra arguments passed to hooked filters. */ $removed = apply_filters( 'upgrader_clear_destination', $removed, $local_destination, $remote_destination, $args['hook_extra'] ); if ( is_wp_error( $removed ) ) { return $removed; } } elseif ( $args['abort_if_destination_exists'] && $wp_filesystem->exists( $remote_destination ) ) { // If we're not clearing the destination folder and something exists there already, Bail. // But first check to see if there are actually any files in the folder. $_files = $wp_filesystem->dirlist( $remote_destination ); if ( ! empty( $_files ) ) { $wp_filesystem->delete( $remote_source, true ); // Clear out the source files. return new WP_Error( 'folder_exists', $this->strings['folder_exists'], $remote_destination ); } } // Create destination if needed. if ( ! $wp_filesystem->exists( $remote_destination ) ) { if ( ! $wp_filesystem->mkdir( $remote_destination, FS_CHMOD_DIR ) ) { return new WP_Error( 'mkdir_failed_destination', $this->strings['mkdir_failed'], $remote_destination ); } } // Copy new version of item into place. $result = copy_dir( $source, $remote_destination ); if ( is_wp_error( $result ) ) { if ( $args['clear_working'] ) { $wp_filesystem->delete( $remote_source, true ); } return $result; } // Clear the Working folder? if ( $args['clear_working'] ) { $wp_filesystem->delete( $remote_source, true ); } $destination_name = basename( str_replace( $local_destination, '', $destination ) ); if ( '.' === $destination_name ) { $destination_name = ''; } $this->result = compact( 'source', 'source_files', 'destination', 'destination_name', 'local_destination', 'remote_destination', 'clear_destination' ); /** * Filter the installation response after the installation has finished. * * @since 2.8.0 * * @param bool|\WP_Error $response Installation response. * @param array $hook_extra Extra arguments passed to hooked filters. * @param array $result Installation result data. */ $res = apply_filters( 'upgrader_post_install', true, $args['hook_extra'], $this->result ); if ( is_wp_error( $res ) ) { $this->result = $res; return $res; } // Bombard the calling function will all the info which we've just used. return $this->result; } /** * Install a plugin package. * * @since 1.6.3 * * @param string $package The full local path or URI of the package. * @param array<string,mixed> $args Optional. Other arguments for installing a plugin package. Default empty array. * * @return bool|\WP_Error True if the installation was successful, false or a WP_Error otherwise. */ public function install( $package, $args = [] ) { $result = parent::install( $package, $args ); if ( true === $result ) { do_action( 'popup_maker_plugin_installed', $package ); } return $result; } } classes/Installers/Install_Skin.php 0000644 00000001401 15174671772 0013441 0 ustar 00 <?php /** * Logging class. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC * @since 1.21.0 */ namespace PopupMaker\Installers; defined( 'ABSPATH' ) || exit; /** * Skin for on-the-fly addon installations. * * @since 1.0.0 * @since 2.0.0 Extend PluginSilentUpgraderSkin and clean up the class. */ class Install_Skin extends PluginSilentUpgraderSkin { /** * Instead of outputting HTML for errors, json_encode the errors and send them * back to the Ajax script for processing. * * @since 2.0.0 * * @param string|\WP_Error $errors Array of errors with the install process. */ public function error( $errors ) { if ( ! empty( $errors ) ) { return wp_send_json_error( $errors ); } return $errors; } } classes/Options.php 0000644 00000000464 15174671772 0010372 0 ustar 00 <?php /** * Options class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Options * * @since 1.7.0 * @deprecated 1.8.0 use PUM_Utils_Options instead. */ class PUM_Options extends PUM_Utils_Options { } classes/Extension/License.php 0000644 00000035100 15174671772 0012270 0 ustar 00 <?php /** * Extension License Handler * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly. defined( 'ABSPATH' ) || exit; /** * License handler for Popup Maker * * This class should simplify the process of adding license information to new Popup Maker extensions. * * Note for wordpress.org admins. This is not called in the free hosted version and is simply used for hooking in addons to one update system rather than including it in each plugin. * * @version 1.1 */ class PUM_Extension_License { /** * Plugin file. * * @var string */ private $file; /** * License key. * * @var string */ private $license; /** * Plugin name. * * @var string */ private $item_name; /** * Plugin EDD item ID. * * @var int */ private $item_id; /** * Plugin shortname. * * @var string */ private $item_shortname; /** * Plugin version. * * @var string */ private $version; /** * Plugin author. * * @var string */ private $author; /** * API URL. * * @var string */ private $api_url = 'https://wppopupmaker.com/edd-sl-api/'; /** * Class constructor * * @param string $_file * @param string $_item_name * @param string $_version * @param string $_author * @param string $_optname * @param string $_api_url * @param int $_item_id */ public function __construct( $_file, $_item_name, $_version, $_author, $_optname = null, $_api_url = null, $_item_id = null ) { $this->file = $_file; $this->item_name = $_item_name; if ( is_numeric( $_item_id ) ) { $this->item_id = absint( $_item_id ); } $this->item_shortname = 'popmake_' . preg_replace( '/[^a-zA-Z0-9_\s]/', '', str_replace( ' ', '_', strtolower( $this->item_name ) ) ); $this->version = $_version; $this->license = trim( PUM_Utils_Options::get( $this->item_shortname . '_license_key', '' ) ); $this->author = $_author; $this->api_url = is_null( $_api_url ) ? $this->api_url : $_api_url; /** * Allows for backwards compatibility with old license options, * i.e. if the plugins had license key fields previously, the license * handler will automatically pick these up and use those in lieu of the * user having to reactive their license. */ if ( ! empty( $_optname ) ) { $opt = PUM_Utils_Options::get( $_optname ); if ( isset( $opt ) && empty( $this->license ) ) { $this->license = trim( $opt ); } } // Setup hooks $this->includes(); $this->hooks(); } /** * Include the updater class * * @access private * @return void */ private function includes() { } /** * Setup hooks * * @access private * @return void */ private function hooks() { // Register settings add_filter( 'pum_settings_fields', [ $this, 'settings' ], 1 ); // Activate license key on settings save add_action( 'admin_init', [ $this, 'activate_license' ] ); // Deactivate license key add_action( 'admin_init', [ $this, 'deactivate_license' ] ); // Check that license is valid once per week add_action( 'popmake_weekly_scheduled_events', [ $this, 'weekly_license_check' ] ); // For testing license notices, uncomment this line to force checks on every page load // add_action( 'admin_init', array( $this, 'weekly_license_check' ) ); // Updater add_action( 'admin_init', [ $this, 'auto_updater' ], 0 ); // Display notices to admins // add_action( 'admin_notices', array( $this, 'notices' ) ); // Display notices to admins add_filter( 'pum_alert_list', [ $this, 'alerts' ] ); add_action( 'in_plugin_update_message-' . plugin_basename( $this->file ), [ $this, 'plugin_row_license_missing' ], 10, 2 ); // Register plugins for beta support add_filter( 'pum_beta_enabled_extensions', [ $this, 'register_beta_support' ] ); } /** * Auto updater * * @access private * @return void */ public function auto_updater() { // To support auto-updates, this needs to run during the wp_version_check cron job for privileged users. $doing_cron = defined( 'DOING_CRON' ) && DOING_CRON; if ( ! current_user_can( 'manage_options' ) && ! $doing_cron ) { return; } $args = [ 'version' => $this->version, 'license' => $this->license, 'item_id' => $this->item_id, 'author' => $this->author, 'beta' => PUM_Admin_Tools::extension_has_beta_support( $this->item_shortname ), ]; if ( ! empty( $this->item_id ) ) { $args['item_id'] = $this->item_id; } else { $args['item_name'] = $this->item_name; } // Setup the updater $popmake_updater = new PUM_Extension_Updater( $this->api_url, $this->file, $args ); } /** * Add license field to settings * * @access public * * @param array $tabs * * @return array */ public function settings( $tabs = [] ) { static $license_help_text = false; if ( ! $license_help_text && ! isset( $tabs['licenses']['main']['license_help_text'] ) ) { $license_help_text = true; $tabs['licenses']['main']['license_help_text'] = [ 'type' => 'html', 'content' => '<p><strong>' . sprintf( /* translators: 1. opening link text, 2. closing link text */ esc_html__( 'Enter your extension license keys here to receive updates for purchased extensions. If your license key has expired, please %1$srenew your license%2$s.', 'popup-maker' ), '<a href="https://wppopupmaker.com/docs/policies/license-renewal/?utm_medium=license-help-text&utm_campaign=Licensing&utm_source=plugin-settings-page-licenses-tab" target="_blank">', '</a>' ) . '</strong></p>', 'priority' => 0, ]; } $tabs['licenses']['main'][ $this->item_shortname . '_license_key' ] = [ 'type' => 'license_key', 'label' => esc_attr( $this->item_name ), 'options' => [ 'is_valid_license_option' => $this->item_shortname . '_license_active', 'activation_callback' => [ $this, 'activate_license' ], ], ]; return $tabs; } /** * Activate the license key * * @access public * @return void */ public function activate_license() { if ( ! isset( $_POST['pum_settings_nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['pum_settings_nonce'] ) ), 'pum_settings_nonce' ) ) { return; } if ( ! isset( $_POST['pum_settings'] ) ) { return; } if ( ! isset( $_POST['pum_settings'][ $this->item_shortname . '_license_key' ] ) ) { return; } // Don't activate a key when deactivating a different key if ( ! empty( $_POST['pum_license_deactivate'] ) ) { return; } if ( ! current_user_can( 'manage_options' ) ) { return; } $details = get_option( $this->item_shortname . '_license_active' ); if ( is_object( $details ) && 'valid' === $details->license ) { return; } $license = sanitize_text_field( wp_unslash( $_POST['pum_settings'][ $this->item_shortname . '_license_key' ] ) ); if ( empty( $license ) && empty( $_POST['pum_license_activate'][ $this->item_shortname . '_license_key' ] ) ) { return; } // Data to send to the API $api_params = [ 'edd_action' => 'activate_license', 'license' => $license, 'item_id' => $this->item_id, 'item_name' => rawurlencode( $this->item_name ), 'url' => home_url(), 'environment' => function_exists( 'wp_get_environment_type' ) ? wp_get_environment_type() : 'production', ]; // Call the API $response = wp_remote_post( $this->api_url, [ 'timeout' => 15, 'sslverify' => false, 'body' => $api_params, ] ); // Make sure there are no errors if ( is_wp_error( $response ) ) { return; } // Tell WordPress to look for updates set_site_transient( 'update_plugins', null ); // Decode license data $license_data = json_decode( wp_remote_retrieve_body( $response ) ); update_option( $this->item_shortname . '_license_active', $license_data ); } /** * Deactivate the license key * * @access public * @return void */ public function deactivate_license() { if ( ! isset( $_POST['pum_settings_nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['pum_settings_nonce'] ) ), 'pum_settings_nonce' ) ) { return; } if ( ! isset( $_POST['pum_settings'] ) ) { return; } if ( ! isset( $_POST['pum_settings'][ $this->item_shortname . '_license_key' ] ) ) { return; } if ( ! current_user_can( 'manage_options' ) ) { return; } // Run on deactivate button press if ( isset( $_POST['pum_license_deactivate'][ $this->item_shortname . '_license_key' ] ) ) { // Data to send to the API $api_params = [ 'edd_action' => 'deactivate_license', 'license' => $this->license, 'item_id' => $this->item_id, 'item_name' => rawurlencode( $this->item_name ), 'url' => home_url(), 'environment' => function_exists( 'wp_get_environment_type' ) ? wp_get_environment_type() : 'production', ]; // Call the API $response = wp_remote_post( $this->api_url, [ 'timeout' => 15, 'sslverify' => false, 'body' => $api_params, ] ); // Make sure there are no errors if ( is_wp_error( $response ) ) { return; } // Decode the license data $license_data = json_decode( wp_remote_retrieve_body( $response ) ); delete_option( $this->item_shortname . '_license_active' ); } } /** * Check if license key is valid once per week * * @access public * @since 2.5 * @return void */ public function weekly_license_check() { // Simply checking existence. // phpcs:ignore WordPress.Security.NonceVerification.Missing if ( isset( $_POST['popmake_settings'] ) ) { return; // Don't fire when saving settings } if ( empty( $this->license ) ) { return; } // data to send in our API request $api_params = [ 'edd_action' => 'check_license', 'license' => $this->license, 'item_id' => $this->item_id, 'item_name' => rawurlencode( $this->item_name ), 'url' => home_url(), 'environment' => function_exists( 'wp_get_environment_type' ) ? wp_get_environment_type() : 'production', ]; // Call the API $response = wp_remote_get( $this->api_url, [ 'timeout' => 15, 'sslverify' => false, 'body' => $api_params, ] ); // make sure the response came back okay if ( is_wp_error( $response ) ) { return; } $license_data = json_decode( wp_remote_retrieve_body( $response ) ); update_option( $this->item_shortname . '_license_active', $license_data ); } /** * Adds an alert to the Popup Maker notification area when the license is invalid, expired, or empty * * @param array $alerts The existing alerts from the pum_alert_list filter * @return array Our modified array of alerts */ public function alerts( $alerts = [] ) { static $showed_invalid_message; // If user can't manage it, or we already showed this alert abort. if ( ! current_user_can( 'manage_options' ) || $showed_invalid_message ) { return $alerts; } // If this alert is already in the list of alerts, abort. foreach ( $alerts as $alert ) { if ( 'license_not_valid' === $alert['code'] ) { return $alerts; } } // If this license key is not empty, check if it's valid. if ( ! empty( $this->license ) ) { $license = get_option( $this->item_shortname . '_license_active' ); if ( ! is_object( $license ) || 'valid' === $license->license ) { return $alerts; } } $showed_invalid_message = true; if ( empty( $this->license ) ) { $alerts[] = [ 'code' => 'license_not_valid', 'message' => sprintf( /* translators: 1. opening link text, 2. closing link text */ __( 'One or more of your extensions are missing license keys. You will not be able to receive updates until the extension has a valid license key entered. Please go to the %1$sLicenses page%2$s to add your license keys.', 'popup-maker' ), '<a href="' . admin_url( 'edit.php?post_type=popup&page=pum-settings&tab=licenses' ) . '">', '</a>' ), 'type' => 'error', 'dismissible' => '4 weeks', 'priority' => 0, ]; } else { $alerts[] = [ 'code' => 'license_not_valid', 'message' => sprintf( /* translators: 1. opening link text, 2. closing link text */ __( 'You have invalid or expired license keys for Popup Maker. Please go to the %1$sLicenses page%2$s to correct this issue.', 'popup-maker' ), '<a href="' . admin_url( 'edit.php?post_type=popup&page=pum-settings&tab=licenses' ) . '">', '</a>' ), 'type' => 'error', 'dismissible' => '4 weeks', 'priority' => 0, ]; } return $alerts; } /** * Admin notices for errors * * @access public * @return void */ public function notices() { static $showed_invalid_message; if ( empty( $this->license ) ) { return; } if ( ! current_user_can( 'manage_options' ) || $showed_invalid_message ) { return; } $messages = []; $license = get_option( $this->item_shortname . '_license_active' ); if ( is_object( $license ) && 'valid' !== $license->license ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( empty( $_GET['tab'] ) || 'licenses' !== $_GET['tab'] ) { $messages[] = sprintf( /* translators: 1. opening link text, 2. closing link text */ esc_html__( 'You have invalid or expired license keys for Popup Maker. Please go to the %1$sLicenses page%2$s to correct this issue.', 'popup-maker' ), '<a href="' . admin_url( 'edit.php?post_type=popup&page=pum-settings&tab=licenses' ) . '">', '</a>' ); $showed_invalid_message = true; } } if ( ! empty( $messages ) ) { foreach ( $messages as $message ) { echo '<div class="error">'; echo '<p>' . wp_kses( $message, wp_kses_allowed_html( 'data' ) ) . '</p>'; echo '</div>'; } } } /** * Displays message inline on plugin row that the license key is missing */ public function plugin_row_license_missing( $plugin_data, $version_info ) { static $showed_imissing_key_message; $license = get_option( $this->item_shortname . '_license_active' ); if ( ( ! is_object( $license ) || 'valid' !== $license->license ) && empty( $showed_imissing_key_message[ $this->item_shortname ] ) ) { echo ' <strong><a href="' . esc_url( admin_url( 'edit.php?post_type=popup&page=pum-settings&tab=licenses' ) ) . '">' . esc_html__( 'Enter valid license key for automatic updates.', 'popup-maker' ) . '</a></strong>'; $showed_imissing_key_message[ $this->item_shortname ] = true; } } /** * Adds this plugin to the beta page * * @access public * * @param array $products * * @return array */ public function register_beta_support( $products ) { $products[ $this->item_shortname ] = $this->item_name; return $products; } } classes/Extension/Activator.php 0000644 00000014554 15174671772 0012654 0 ustar 00 <?php /** * Extension Activator Handler * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Popup Maker Extension Activation Handler Class * * @version 2.1 */ class PUM_Extension_Activator { public $extension_class_name; /** * @var string */ public $extension_name; /** * @var string */ public $extension_slug; /** * @var int */ public $extension_id; /** * @var string */ public $extension_version; /** * @var bool|string */ public $extension_wp_repo = false; /** * @var string */ public $extension_file; public $required_core_version; /** * @var bool */ public $core_installed = false; public $core_path; /** * @param $class_name * @param $prop_name * * @return null|mixed */ public function get_static_prop( $class_name, $prop_name ) { if ( version_compare( PHP_VERSION, '5.3', '<' ) ) { try { $class = new ReflectionClass( $class_name ); return $class->getStaticPropertyValue( $prop_name ); } catch ( ReflectionException $e ) { return null; } } return property_exists( $class_name, $prop_name ) ? $class_name::$$prop_name : null; } /** * Setup the activator class * * @param $class_name */ public function __construct( $class_name ) { // We need plugin.php! require_once ABSPATH . 'wp-admin/includes/plugin.php'; // Validate extension class is valid. if ( in_array( false, [ class_exists( $class_name ), property_exists( $class_name, 'NAME' ), property_exists( $class_name, 'REQUIRED_CORE_VER' ), method_exists( $class_name, 'instance' ), ], true ) ) { return; } $this->extension_class_name = $class_name; $this->extension_id = $this->get_static_prop( $class_name, 'ID' ); $this->extension_wp_repo = $this->get_static_prop( $class_name, 'WP_REPO' ); $this->extension_name = $this->get_static_prop( $class_name, 'NAME' ); $this->extension_version = $this->get_static_prop( $class_name, 'VER' ); $this->required_core_version = $this->get_static_prop( $class_name, 'REQUIRED_CORE_VER' ); $popup_maker_data = get_plugin_data( WP_PLUGIN_DIR . '/popup-maker/popup-maker.php', false, false ); if ( 'Popup Maker' === $popup_maker_data['Name'] ) { $this->core_installed = true; $this->core_path = 'popup-maker/popup-maker.php'; } } /** * @return string */ public function get_status() { if ( $this->core_installed && ! class_exists( 'Popup_Maker' ) ) { return 'not_activated'; } elseif ( $this->core_installed && isset( $this->required_core_version ) && version_compare( Popup_Maker::$VER, $this->required_core_version, '<' ) ) { return 'not_updated'; } elseif ( ! $this->core_installed ) { return 'not_installed'; } return 'active'; } /** * Process plugin deactivation * * @access public */ public function run() { if ( $this->get_status() !== 'active' ) { // Display notice add_action( 'admin_notices', [ $this, 'missing_popmake_notice' ] ); } else { $class_name = $this->extension_class_name; // Generate an instance of the extension class in a PHP 5.2 compatible way. call_user_func( [ $class_name, 'instance' ] ); $this->extension_file = $this->get_static_prop( $class_name, 'FILE' ); $plugin_slug = explode( '/', plugin_basename( $this->extension_file ), 2 ); $this->extension_slug = str_replace( [ 'popup-maker-', 'pum-' ], '', $plugin_slug[0] ); // Handle licensing for extensions with valid ID & not wp repo extensions. if ( $this->extension_id > 0 && ! $this->extension_wp_repo && class_exists( 'PUM_Extension_License' ) ) { new PUM_Extension_License( $this->extension_file, $this->extension_name, $this->extension_version, 'Popup Maker', null, null, $this->extension_id ); } add_filter( 'pum_enabled_extensions', [ $this, 'enabled_extensions' ] ); } } /** * Display notice if Popup Maker isn't installed */ public function missing_popmake_notice() { switch ( $this->get_status() ) { case 'not_activated': $url = esc_url( wp_nonce_url( admin_url( 'plugins.php?action=activate&plugin=' . $this->core_path ), 'activate-plugin_' . $this->core_path ) ); $link = '<a href="' . $url . '">' . esc_html__( 'activate it', 'popup-maker' ) . '</a>'; echo '<div class="error"><p>' . sprintf( /* translators: 1. Plugin name, 2. Required plugin name, 3. `activate it` link. */ esc_html__( 'The plugin "%1$s" requires %2$s! Please %3$s to continue!', 'popup-maker' ), esc_attr( $this->extension_name ), '<strong>' . esc_html__( 'Popup Maker', 'popup-maker' ) . '</strong>', esc_attr( $link ) ) . '</p></div>'; break; case 'not_updated': $url = esc_url( wp_nonce_url( admin_url( 'update.php?action=upgrade-plugin&plugin=' . $this->core_path ), 'upgrade-plugin_' . $this->core_path ) ); $link = '<a href="' . $url . '">' . esc_html__( 'update it', 'popup-maker' ) . '</a>'; echo '<div class="error"><p>' . sprintf( /* translators: 1. Plugin name, 2. Required plugin name, 3. Version number, 4. `update it` link. */ esc_html__( 'The plugin "%1$s" requires %2$s v%3$s or higher! Please %4$s to continue!', 'popup-maker' ), esc_attr( $this->extension_name ), '<strong>' . esc_html__( 'Popup Maker', 'popup-maker' ) . '</strong>', '<strong>' . esc_html( $this->required_core_version ) . '</strong>', esc_attr( $link ) ) . '</p></div>'; break; case 'not_installed': $url = esc_url( wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=popup-maker' ), 'install-plugin_popup-maker' ) ); $link = '<a href="' . $url . '">' . esc_html__( 'install it', 'popup-maker' ) . '</a>'; echo '<div class="error"><p>' . sprintf( /* translators: 1. Plugin name, 2. Required plugin name, 3. `install it` link. */ esc_html__( 'The plugin "%1$s" requires %2$s! Please %3$s to continue!', 'popup-maker' ), esc_attr( $this->extension_name ), '<strong>' . esc_html__( 'Popup Maker', 'popup-maker' ) . '</strong>', esc_attr( $link ) ) . '</p></div>'; break; case 'active': default: return; } } /** * @param array $enabled_extensions * * @return array */ public function enabled_extensions( $enabled_extensions = [] ) { $enabled_extensions[ $this->extension_slug ] = $this->extension_class_name; return $enabled_extensions; } } classes/Extension/Updater.php 0000644 00000055164 15174671772 0012326 0 ustar 00 <?php /** * Popup Maker Extension Updater * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly. defined( 'ABSPATH' ) || exit; /** * Allows paid/commercial extensions to update from our own servers. * * Note for wordpress.org admins. This is not called in the free hosted version and is simply used for hooking in addons to one update system rather than including it in each plugin. * * @author Easy Digital Downloads * @version 1.9.2 */ class PUM_Extension_Updater { /** * The plugin file. * * @var string */ private $api_url = ''; /** * Array of plugin api data. * * @var array */ private $api_data = []; /** * The plugin file. * * @var string */ private $plugin_file = ''; /** * The plugin name. * * @var string */ private $name = ''; /** * The plugin slug. * * @var string */ private $slug = ''; /** * The plugin version. * * @var string */ private $version = ''; /** * WP override boolean. * * @var bool */ private $wp_override = false; /** * Allow beta updates. * * @var bool */ private $beta = false; /** * Failed request cache key. * * @var string */ private $failed_request_cache_key; /** * Class constructor. * * @uses plugin_basename() * @uses hook() * * @param string $_api_url The URL pointing to the custom API endpoint. * @param string $_plugin_file Path to the plugin file. * @param array $_api_data Optional data to send with API calls. */ public function __construct( $_api_url, $_plugin_file, $_api_data = null ) { global $edd_plugin_data; $this->api_url = trailingslashit( $_api_url ); $this->api_data = $_api_data; $this->plugin_file = $_plugin_file; $this->name = plugin_basename( $_plugin_file ); $this->slug = basename( dirname( $_plugin_file ) ); $this->version = $_api_data['version']; $this->wp_override = isset( $_api_data['wp_override'] ) ? (bool) $_api_data['wp_override'] : false; $this->beta = ! empty( $this->api_data['beta'] ) ? true : false; $this->failed_request_cache_key = 'edd_sl_failed_http_' . md5( $this->api_url ); $edd_plugin_data[ $this->slug ] = $this->api_data; /** * Fires after the $edd_plugin_data is setup. * * @param array $edd_plugin_data Array of EDD SL plugin data. */ do_action( 'post_edd_sl_plugin_updater_setup', $edd_plugin_data ); // Set up hooks. $this->init(); } /** * Set up WordPress filters to hook into WP's update process. * * @uses add_filter() * * @return void */ public function init() { add_filter( 'pre_set_site_transient_update_plugins', [ $this, 'check_update' ] ); add_filter( 'plugins_api', [ $this, 'plugins_api_filter' ], 10, 3 ); add_action( 'after_plugin_row', [ $this, 'show_update_notification' ], 10, 2 ); add_action( 'admin_init', [ $this, 'show_changelog' ] ); } /** * Check for Updates at the defined API endpoint and modify the update array. * * This function dives into the update API just when WordPress creates its update array, * then adds a custom API call and injects the custom plugin data retrieved from the API. * It is reassembled from parts of the native WordPress plugin update code. * See wp-includes/update.php line 121 for the original wp_update_plugins() function. * * @uses api_request() * * @param array $_transient_data Update array build by WordPress. * @return array Modified update array with custom plugin data. */ public function check_update( $_transient_data ) { if ( ! is_object( $_transient_data ) ) { $_transient_data = new stdClass(); } if ( ! empty( $_transient_data->response ) && ! empty( $_transient_data->response[ $this->name ] ) && false === $this->wp_override ) { return $_transient_data; } $current = $this->get_update_transient_data(); if ( false !== $current && is_object( $current ) && isset( $current->new_version ) ) { if ( version_compare( $this->version, $current->new_version, '<' ) ) { $_transient_data->response[ $this->name ] = $current; } else { // Populating the no_update information is required to support auto-updates in WordPress 5.5. $_transient_data->no_update[ $this->name ] = $current; } } $_transient_data->last_checked = time(); $_transient_data->checked[ $this->name ] = $this->version; return $_transient_data; } /** * Get repo API data from store. * Save to cache. * * @return \stdClass */ public function get_repo_api_data() { $version_info = $this->get_cached_version_info(); if ( false === $version_info ) { $version_info = $this->api_request( 'plugin_latest_version', [ 'slug' => $this->slug, 'beta' => $this->beta, ] ); if ( ! $version_info ) { return false; } // This is required for your plugin to support auto-updates in WordPress 5.5. $version_info->plugin = $this->name; $version_info->id = $this->name; $version_info->tested = $this->get_tested_version( $version_info ); if ( ! isset( $version_info->requires ) ) { $version_info->requires = ''; } if ( ! isset( $version_info->requires_php ) ) { $version_info->requires_php = ''; } $this->set_version_info_cache( $version_info ); } return $version_info; } /** * Gets a limited set of data from the API response. * This is used for the update_plugins transient. * * @since 3.8.12 * @return \stdClass|false */ private function get_update_transient_data() { $version_info = $this->get_repo_api_data(); if ( ! $version_info ) { return false; } $limited_data = new \stdClass(); $limited_data->slug = $this->slug; $limited_data->plugin = $this->name; $limited_data->url = isset( $version_info->url ) ? $version_info->url : ''; $limited_data->package = isset( $version_info->package ) ? $version_info->package : ''; $limited_data->icons = isset( $version_info->icons ) ? $this->convert_object_to_array( $version_info->icons ) : []; $limited_data->banners = isset( $version_info->banners ) ? $this->convert_object_to_array( $version_info->banners ) : []; $limited_data->new_version = isset( $version_info->new_version ) ? $version_info->new_version : ''; $limited_data->tested = isset( $version_info->tested ) ? $version_info->tested : ''; $limited_data->requires = isset( $version_info->requires ) ? $version_info->requires : ''; $limited_data->requires_php = isset( $version_info->requires_php ) ? $version_info->requires_php : ''; return $limited_data; } /** * Gets the plugin's tested version. * * @since 1.9.2 * @param object $version_info The plugin's version info. * @return null|string */ private function get_tested_version( $version_info ) { // There is no tested version. if ( empty( $version_info->tested ) ) { return null; } // Strip off extra version data so the result is x.y or x.y.z. list( $current_wp_version ) = explode( '-', get_bloginfo( 'version' ) ); // The tested version is greater than or equal to the current WP version, no need to do anything. if ( version_compare( $version_info->tested, $current_wp_version, '>=' ) ) { return $version_info->tested; } $current_version_parts = explode( '.', $current_wp_version ); $tested_parts = explode( '.', $version_info->tested ); // The current WordPress version is x.y.z, so update the tested version to match it. if ( isset( $current_version_parts[2] ) && $current_version_parts[0] === $tested_parts[0] && $current_version_parts[1] === $tested_parts[1] ) { $tested_parts[2] = $current_version_parts[2]; } return implode( '.', $tested_parts ); } /** * Show the update notification on multisite subsites. * * @param string $file Plugin file. * @param array $plugin Plugin data. */ public function show_update_notification( $file, $plugin ) { // Return early if in the network admin, or if this is not a multisite install. if ( is_network_admin() || ! is_multisite() ) { return; } // Allow single site admins to see that an update is available. if ( ! current_user_can( 'activate_plugins' ) ) { return; } if ( $this->name !== $file ) { return; } // Do not print any message if update does not exist. $update_cache = get_site_transient( 'update_plugins' ); if ( ! isset( $update_cache->response[ $this->name ] ) ) { if ( ! is_object( $update_cache ) ) { $update_cache = new stdClass(); } $update_cache->response[ $this->name ] = $this->get_repo_api_data(); } // Return early if this plugin isn't in the transient->response or if the site is running the current or newer version of the plugin. if ( empty( $update_cache->response[ $this->name ] ) || version_compare( $this->version, $update_cache->response[ $this->name ]->new_version, '>=' ) ) { return; } printf( '<tr class="plugin-update-tr %3$s" id="%1$s-update" data-slug="%1$s" data-plugin="%2$s">', esc_attr( $this->slug ), esc_attr( $file ), in_array( $this->name, $this->get_active_plugins(), true ) ? 'active' : 'inactive' ); echo '<td colspan="3" class="plugin-update colspanchange">'; echo '<div class="update-message notice inline notice-warning notice-alt"><p>'; $changelog_link = ''; if ( ! empty( $update_cache->response[ $this->name ]->sections->changelog ) ) { $changelog_link = add_query_arg( [ 'edd_sl_action' => 'view_plugin_changelog', 'plugin' => rawurlencode( $this->name ), 'slug' => rawurlencode( $this->slug ), 'TB_iframe' => 'true', 'width' => 77, 'height' => 911, ], self_admin_url( 'index.php' ) ); } $update_link = add_query_arg( [ 'action' => 'upgrade-plugin', 'plugin' => rawurlencode( $this->name ), ], self_admin_url( 'update.php' ) ); printf( /* translators: the plugin name. */ esc_html__( 'There is a new version of %1$s available.', 'popup-maker' ), esc_html( $plugin['Name'] ) ); if ( ! current_user_can( 'update_plugins' ) ) { echo ' '; esc_html_e( 'Contact your network administrator to install the update.', 'popup-maker' ); } elseif ( empty( $update_cache->response[ $this->name ]->package ) && ! empty( $changelog_link ) ) { echo ' '; printf( /* translators: 1. opening anchor tag, do not translate 2. the new plugin version 3. closing anchor tag, do not translate. */ wp_kses_post( __( '%1$sView version %2$s details%3$s.', 'popup-maker' ) ), '<a target="_blank" class="thickbox open-plugin-details-modal" href="' . esc_url( $changelog_link ) . '">', esc_html( $update_cache->response[ $this->name ]->new_version ), '</a>' ); } elseif ( ! empty( $changelog_link ) ) { echo ' '; printf( /* translators: 1. opening anchor tag, do not translate 2. the new plugin version 3. closing anchor tag, do not translate 4. opening anchor tag, do not translate 5. closing anchor tag, do not translate</a>. */ wp_kses_post( __( '%1$sView version %2$s details%3$s or %4$supdate now%5$s.', 'popup-maker' ) ), '<a target="_blank" class="thickbox open-plugin-details-modal" href="' . esc_url( $changelog_link ) . '">', esc_html( $update_cache->response[ $this->name ]->new_version ), '</a>', '<a target="_blank" class="update-link" href="' . esc_url( wp_nonce_url( $update_link, 'upgrade-plugin_' . $file ) ) . '">', '</a>' ); } else { printf( ' %1$s%2$s%3$s', '<a target="_blank" class="update-link" href="' . esc_url( wp_nonce_url( $update_link, 'upgrade-plugin_' . $file ) ) . '">', esc_html__( 'Update now.', 'popup-maker' ), '</a>' ); } // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores do_action( "in_plugin_update_message-{$file}", $plugin, $plugin ); echo '</p></div></td></tr>'; } /** * Gets the plugins active in a multisite network. * * @return array */ private function get_active_plugins() { $active_plugins = (array) get_option( 'active_plugins' ); $active_network_plugins = (array) get_site_option( 'active_sitewide_plugins' ); return array_merge( $active_plugins, array_keys( $active_network_plugins ) ); } /** * Updates information on the "View version x.x details" page with custom data. * * @uses api_request() * * @param mixed $_data Plugin data. * @param string $_action The type of information being requested from the Plugin Installation API. * @param object $_args Plugin API arguments. * @return object $_data */ public function plugins_api_filter( $_data, $_action = '', $_args = null ) { if ( 'plugin_information' !== $_action ) { return $_data; } if ( ! isset( $_args->slug ) || ( $_args->slug !== $this->slug ) ) { return $_data; } $to_send = [ 'slug' => $this->slug, 'is_ssl' => is_ssl(), 'fields' => [ 'banners' => [], 'reviews' => false, 'icons' => [], ], ]; // Get the transient where we store the api request for this plugin for 24 hours. $edd_api_request_transient = $this->get_cached_version_info(); // If we have no transient-saved value, run the API, set a fresh transient with the API value, and return that value too right now. if ( empty( $edd_api_request_transient ) ) { $api_response = $this->api_request( 'plugin_information', $to_send ); // Expires in 3 hours. $this->set_version_info_cache( $api_response ); if ( false !== $api_response ) { $_data = $api_response; } } else { $_data = $edd_api_request_transient; } // Convert sections into an associative array, since we're getting an object, but Core expects an array. if ( isset( $_data->sections ) && ! is_array( $_data->sections ) ) { $_data->sections = $this->convert_object_to_array( $_data->sections ); } // Convert banners into an associative array, since we're getting an object, but Core expects an array. if ( isset( $_data->banners ) && ! is_array( $_data->banners ) ) { $_data->banners = $this->convert_object_to_array( $_data->banners ); } // Convert icons into an associative array, since we're getting an object, but Core expects an array. if ( isset( $_data->icons ) && ! is_array( $_data->icons ) ) { $_data->icons = $this->convert_object_to_array( $_data->icons ); } // Convert contributors into an associative array, since we're getting an object, but Core expects an array. if ( isset( $_data->contributors ) && ! is_array( $_data->contributors ) ) { $_data->contributors = $this->convert_object_to_array( $_data->contributors ); } if ( ! isset( $_data->plugin ) ) { $_data->plugin = $this->name; } if ( ! isset( $_data->version ) && ! empty( $_data->new_version ) ) { $_data->version = $_data->new_version; } return $_data; } /** * Convert some objects to arrays when injecting data into the update API * * Some data like sections, banners, and icons are expected to be an associative array, however due to the JSON * decoding, they are objects. This method allows us to pass in the object and return an associative array. * * @since 3.6.5 * * @param stdClass $data The object to convert to an array. * * @return array */ private function convert_object_to_array( $data ) { if ( ! is_array( $data ) && ! is_object( $data ) ) { return []; } $new_data = []; foreach ( $data as $key => $value ) { $new_data[ $key ] = is_object( $value ) ? $this->convert_object_to_array( $value ) : $value; } return $new_data; } /** * Disable SSL verification in order to prevent download update failures * * @param array $args Args to be passed to wp_remote_get. * @param string $url Url string. * @return object $array */ public function http_request_args( $args, $url ) { if ( strpos( $url, 'https://' ) !== false && strpos( $url, 'edd_action=package_download' ) ) { $args['sslverify'] = $this->verify_ssl(); } return $args; } /** * Calls the API and, if successfull, returns the object delivered by the API. * * @uses get_bloginfo() * @uses wp_remote_post() * @uses is_wp_error() * * @param string $_action The requested action. * @param array $_data Parameters for the API action. * @return false|object|void */ private function api_request( $_action, $_data ) { $data = array_merge( $this->api_data, $_data ); if ( $data['slug'] !== $this->slug ) { return; } // Don't allow a plugin to ping itself. if ( trailingslashit( home_url() ) === $this->api_url ) { return false; } if ( $this->request_recently_failed() ) { return false; } return $this->get_version_from_remote(); } /** * Determines if a request has recently failed. * * @since 1.9.1 * * @return bool */ private function request_recently_failed() { $failed_request_details = get_option( $this->failed_request_cache_key ); // Request has never failed. if ( empty( $failed_request_details ) || ! is_numeric( $failed_request_details ) ) { return false; } /* * Request previously failed, but the timeout has expired. * This means we're allowed to try again. */ if ( time() > $failed_request_details ) { delete_option( $this->failed_request_cache_key ); return false; } return true; } /** * Logs a failed HTTP request for this API URL. * We set a timestamp for 1 hour from now. This prevents future API requests from being * made to this domain for 1 hour. Once the timestamp is in the past, API requests * will be allowed again. This way if the site is down for some reason we don't bombard * it with failed API requests. * * @see EDD_SL_Plugin_Updater::request_recently_failed * * @since 1.9.1 */ private function log_failed_request() { update_option( $this->failed_request_cache_key, strtotime( '+1 hour' ) ); } /** * If available, show the changelog for sites in a multisite install. */ public function show_changelog() { // phpcs:disable WordPress.Security.NonceVerification.Recommended if ( empty( $_REQUEST['edd_sl_action'] ) || 'view_plugin_changelog' !== $_REQUEST['edd_sl_action'] ) { return; } if ( empty( $_REQUEST['plugin'] ) ) { return; } if ( empty( $_REQUEST['slug'] ) || $this->slug !== $_REQUEST['slug'] ) { return; } // phpcs:enable WordPress.Security.NonceVerification.Recommended if ( ! current_user_can( 'update_plugins' ) ) { wp_die( esc_html__( 'You do not have permission to install plugin updates', 'popup-maker' ), esc_html__( 'Error', 'popup-maker' ), [ 'response' => 403 ] ); } $version_info = $this->get_repo_api_data(); if ( isset( $version_info->sections ) ) { $sections = $this->convert_object_to_array( $version_info->sections ); if ( ! empty( $sections['changelog'] ) ) { echo '<div style="background:#fff;padding:10px;">' . wp_kses_post( $sections['changelog'] ) . '</div>'; } } exit; } /** * Gets the current version information from the remote site. * * @return array|false */ private function get_version_from_remote() { $api_params = [ 'edd_action' => 'get_version', 'license' => ! empty( $this->api_data['license'] ) ? $this->api_data['license'] : '', 'item_name' => isset( $this->api_data['item_name'] ) ? $this->api_data['item_name'] : false, 'item_id' => isset( $this->api_data['item_id'] ) ? $this->api_data['item_id'] : false, 'version' => isset( $this->api_data['version'] ) ? $this->api_data['version'] : false, 'slug' => $this->slug, 'author' => $this->api_data['author'], 'url' => home_url(), 'beta' => $this->beta, 'php_version' => phpversion(), 'wp_version' => get_bloginfo( 'version' ), ]; /** * Filters the parameters sent in the API request. * * @param array $api_params The array of data sent in the request. * @param array $api_data The array of data set up in the class constructor. * @param string $plugin_file The full path and filename of the file. */ $api_params = apply_filters( 'edd_sl_plugin_updater_api_params', $api_params, $this->api_data, $this->plugin_file ); $request = wp_remote_get(// Uses wp_remote_post() in EDD Sample. $this->api_url, [ 'timeout' => 15, 'sslverify' => $this->verify_ssl(), 'body' => $api_params, ] ); if ( is_wp_error( $request ) || ( 200 !== wp_remote_retrieve_response_code( $request ) ) ) { $this->log_failed_request(); return false; } $request = json_decode( wp_remote_retrieve_body( $request ) ); if ( $request && isset( $request->sections ) ) { $request->sections = maybe_unserialize( $request->sections ); } else { $request = false; } if ( $request && isset( $request->banners ) ) { $request->banners = maybe_unserialize( $request->banners ); } if ( $request && isset( $request->icons ) ) { $request->icons = maybe_unserialize( $request->icons ); } if ( ! empty( $request->sections ) ) { foreach ( $request->sections as $key => $section ) { $request->$key = (array) $section; } } return $request; } /** * Get the version info from the cache, if it exists. * * @param string $cache_key Cache key. * @return false|object */ public function get_cached_version_info( $cache_key = '' ) { if ( empty( $cache_key ) ) { $cache_key = $this->get_cache_key(); } $cache = get_option( $cache_key ); // Cache is expired. if ( empty( $cache['timeout'] ) || time() > $cache['timeout'] ) { return false; } // We need to turn the icons into an array, thanks to WP Core forcing these into an object at some point. $cache['value'] = json_decode( $cache['value'] ); if ( ! empty( $cache['value']->icons ) ) { $cache['value']->icons = (array) $cache['value']->icons; } return $cache['value']; } /** * Adds the plugin version information to the database. * * @param string $value Value. * @param string $cache_key Cache key. */ public function set_version_info_cache( $value = '', $cache_key = '' ) { if ( empty( $cache_key ) ) { $cache_key = $this->get_cache_key(); } $data = [ 'timeout' => strtotime( '+3 hours', time() ), 'value' => wp_json_encode( $value ), ]; update_option( $cache_key, $data, 'no' ); // Delete the duplicate option. delete_option( 'edd_api_request_' . md5( maybe_serialize( $this->slug . $this->api_data['license'] . $this->beta ) ) ); } /** * Returns if the SSL of the store should be verified. * * @since 1.6.13 * @return bool */ private function verify_ssl() { return (bool) apply_filters( 'edd_sl_api_request_verify_ssl', true, $this ); } /** * Gets the unique key (option name) for a plugin. * * @since 1.9.0 * @return string */ private function get_cache_key() { $string = $this->slug . $this->api_data['license'] . $this->beta; return 'edd_sl_' . md5( maybe_serialize( $string ) ); } } classes/Site.php 0000644 00000011322 15174671772 0007636 0 ustar 00 <?php /** * Site class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ /** * Class PUM_Site */ class PUM_Site { public static function init() { PUM_Site_Assets::init(); PUM_Site_Popups::init(); PUM_Analytics::init(); self::add_core_content_filters(); add_action( 'init', [ __CLASS__, 'actions' ] ); } /** * Hook core filters into `pum_popup_content`. */ public static function add_core_content_filters() { global $wp_version; /** * Copied from wp-includes/class-wp-embed.php:32:40 * * @note Hack to get the [embed] shortcode to run before wpautop(). * * @since 1.4 hooks & filters */ add_filter( 'pum_popup_content', [ $GLOBALS['wp_embed'], 'run_shortcode' ], 8 ); add_filter( 'pum_popup_content', [ $GLOBALS['wp_embed'], 'autoembed' ], 8 ); /** * Copied & from wp-includes/default-filters.php:141:144. * * Format WordPress. * * @since 1.10.0 * @sinceWP 5.4 */ foreach ( [ 'pum_popup_content', 'pum_popup_title' ] as $filter ) { add_filter( $filter, 'capital_P_dangit', 11 ); } /** * Copied & from wp-includes/default-filters.php:172:178. * * @since 1.10.0 * @sinceWP 5.4 */ if ( version_compare( $wp_version, '5.0.0', '>=' ) ) { add_filter( 'pum_popup_content', [ __CLASS__, 'do_blocks' ], 9 ); } add_filter( 'pum_popup_content', 'wptexturize' ); add_filter( 'pum_popup_content', 'convert_smilies', 20 ); add_filter( 'pum_popup_content', 'wpautop' ); add_filter( 'pum_popup_content', 'shortcode_unautop' ); add_filter( 'pum_popup_content', 'prepend_attachment' ); if ( version_compare( $wp_version, '5.5', '>=' ) ) { add_filter( 'pum_popup_content', 'wp_filter_content_tags' ); } else { add_filter( 'pum_popup_content', 'wp_make_content_images_responsive' ); } /** * Copied & from wp-includes/default-filters.php:172:178. * * @note Shortcodes must run AFTER wpautop(). * * @since 1.10.0 * @sinceWP 5.4 */ $do_shortcode_handler = pum_get_option( 'disable_shortcode_compatibility_mode' ) ? 'do_shortcode' : [ 'PUM_Helpers', 'do_shortcode' ]; add_filter( 'pum_popup_content', $do_shortcode_handler, 11 ); } /** * Parses dynamic blocks out of `post_content` and re-renders them. * * @since 1.10.0 * @sinceWP 5.0.0 * * @param string $content Post content. * @return string Updated post content. */ public static function do_blocks( $content ) { $blocks = parse_blocks( $content ); $output = ''; foreach ( $blocks as $block ) { $output .= render_block( $block ); } // If there are blocks in this content, we shouldn't run wpautop() on it later. $priority = has_filter( 'pum_popup_content', 'wpautop' ); if ( false !== $priority && doing_filter( 'pum_popup_content' ) && function_exists( 'has_blocks' ) && has_blocks( $content ) ) { remove_filter( 'pum_popup_content', 'wpautop', $priority ); add_filter( 'pum_popup_content', [ __CLASS__, 'restore_wpautop_hook' ], $priority + 1 ); } return $output; } /** * If do_blocks() needs to remove wpautop() from the `pum_popup_content` filter, this re-adds it afterwards, * for subsequent `pum_popup_content` usage. * * @access private * * @since 1.10.0 * @sinceWP 5.0.0 * * @param string $content The post content running through this filter. * @return string The unmodified content. */ public static function restore_wpautop_hook( $content ) { $current_priority = has_filter( 'pum_popup_content', [ __CLASS__, 'restore_wpautop_hook' ] ); add_filter( 'pum_popup_content', 'wpautop', $current_priority - 1 ); remove_filter( 'pum_popup_content', [ __CLASS__, 'restore_wpautop_hook' ], $current_priority ); return $content; } /** * Hooks Popup Maker actions, when present in the $_GET superglobal. Every popmake_action * present in $_GET is called using WordPress's do_action function. These * functions are called on init. */ public static function actions() { // Ignored because this is validated against an explicit whitelist of actions. // phpcs:ignore WordPress.Security.NonceVerification.Recommended $action = isset( $_REQUEST['pum_action'] ) ? (string) sanitize_key( wp_unslash( $_REQUEST['pum_action'] ) ) : ''; if ( empty( $action ) ) { return; } // Ignored because this data is sanitized before usage further down. // phpcs:ignore WordPress.Security.NonceVerification.Recommended $request = ! empty( $_REQUEST ) ? wp_unslash( $_REQUEST ) : ''; $valid_actions = apply_filters( 'pum_valid_request_actions', [ 'save_enabled_betas', 'download_batch_export', 'empty_error_log', ] ); if ( ! in_array( $action, $valid_actions, true ) || ! has_action( 'pum_' . $action ) ) { return; } do_action( 'pum_' . $action, $request ); } } classes/GA.php 0000644 00000004501 15174671772 0007222 0 ustar 00 <?php /** * Google Analytics helpers * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_GA * * @package Ahoy */ class PUM_GA { /** * Get PUM_GA uuid. * * @return mixed|string */ public static function get_uuid() { static $uuid; if ( ! isset( $uuid ) ) { $cookie = self::parse_cookie(); if ( is_array( $cookie ) && ! empty( $cookie['cid'] ) ) { $uuid = $cookie['cid']; } else { $uuid = self::generate_uuid(); } } return $uuid; } /** * Handle the parsing of the _ga cookie or setting it to a unique identifier */ public static function parse_cookie() { static $cookie = false; if ( ! $cookie && isset( $_COOKIE['_ga'] ) ) { list( $version, $domain_depth, $cid1, $cid2 ) = preg_split( '[\.]', sanitize_text_field( wp_unslash( $_COOKIE['_ga'] ) ), 4 ); $cookie = [ 'version' => $version, 'domainDepth' => $domain_depth, 'cid' => $cid1 . '.' . $cid2, ]; } return $cookie; } /** * Generate UUID v4 function - needed to generate a CID when one isn't available */ public static function generate_uuid() { return sprintf( '%04x%04x-%04x-%04x-%04x-%04x%04x%04x', // 32 bits for "time_low" wp_rand( 0, 0xffff ), wp_rand( 0, 0xffff ), // 16 bits for "time_mid" wp_rand( 0, 0xffff ), // 16 bits for "time_hi_and_version", // four most significant bits holds version number 4 wp_rand( 0, 0x0fff ) | 0x4000, // 16 bits, 8 bits for "clk_seq_hi_res", // 8 bits for "clk_seq_low", // two most significant bits holds zero and one for variant DCE1.1 wp_rand( 0, 0x3fff ) | 0x8000, // 48 bits for "node" wp_rand( 0, 0xffff ), wp_rand( 0, 0xffff ), wp_rand( 0, 0xffff ) ); } /** * Fire a hit to the google analytis collection api. * * See https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide * * @param null $data * * @return array|bool|WP_Error */ public static function fire_hit( $data = null ) { if ( $data ) { $get_string = 'https://ssl.google-analytics.com/collect'; $get_string .= '?payload_data&'; $get_string .= http_build_query( $data ); $result = wp_remote_get( $get_string ); return $result; } return false; } } classes/Interface/Upgrade/Posts.php 0000644 00000001104 15174671772 0013326 0 ustar 00 <?php /** * Interface for Posts Upgrade * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Second-level interface for registering a batch process that leverages * pre-fetch and data storage. * * @since 1.7.0 */ interface PUM_Interface_Upgrade_Posts extends PUM_Interface_Batch_PrefetchProcess { /** * Used to filter popup query based on conditional info. * * @return array Returns an array of popup post type query args for this upgrade. */ public function custom_query_args(); } classes/Interface/CSV/Importer.php 0000644 00000002122 15174671772 0013064 0 ustar 00 <?php /** * Interface for CSV Importer * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Promise for structuring CSV importers. * * @since 1.7.0 * * @see PUM_Interface_Batch_Importer */ interface PUM_Interface_CSV_Importer extends PUM_Interface_Batch_Importer { /** * Maps CSV columns to their corresponding import fields. * * @param array $import_fields Import fields to map. */ public function map_fields( $import_fields = [] ); /** * Retrieves the CSV columns. * * @return array The columns in the CSV. */ public function get_columns(); /** * Maps a single CSV row to the data passed in via init(). * * @param array $csv_row CSV row data. * * @return array CSV row data mapped to form-defined arguments. */ public function map_row( $csv_row ); /** * Retrieves the first row of the CSV. * * This is used for showing an example of what the import will look like. * * @return array The first row after the header of the CSV. */ public function get_first_row(); } classes/Interface/CSV/Exporter.php 0000644 00000001473 15174671772 0013103 0 ustar 00 <?php /** * Interface for CSV Exporter * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Promise for structuring CSV exporters. * * @since 1.7.0 */ interface PUM_Interface_CSV_Exporter extends PUM_Interface_Batch_Exporter { /** * Sets the CSV columns. * * @return array<string,string> CSV columns. */ public function csv_cols(); /** * Retrieves the CSV columns array. * * Alias for csv_cols(), usually used to implement a filter on the return. * * @return array<string,string> CSV columns. */ public function get_csv_cols(); /** * Outputs the CSV columns. * * @return void */ public function csv_cols_out(); /** * Outputs the CSV rows. * * @return void */ public function csv_rows_out(); } classes/Interface/Provider.php 0000644 00000002754 15174671772 0012435 0 ustar 00 <?php /** * Interface for Provider * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Interface PUM_Interface_Provider * * @since 1.7.0 */ interface PUM_Interface_Provider { /** * Determines whether to load this providers fields in the shortcode editor among other things. * * @return bool */ public function enabled(); /** * Contains each providers unique global settings. * * @return array */ public function register_settings(); /** * Contains each providers unique global settings tab sections.. * * @param array $sections * * @return array */ public function register_settings_tab_section( $sections = [] ); /** * Creates the inputs for each of the needed extra fields for the email provider * * @param $shortcode_atts */ public function render_fields( $shortcode_atts ); /** * Allows processing of form value sanitization. * * @param array $values * * @return array $values */ public function form_sanitization( $values = [] ); /** * Allows processing of form value validation. * * @param WP_Error $errors * @param array $values * * @return WP_Error */ public function form_validation( WP_Error $errors, $values = [] ); /** * Subscribes the user to the list. * * @param $values * @param array $json_response * @param WP_Error $errors */ public function form_submission( $values, &$json_response, WP_Error &$errors ); } classes/Interface/Batch/PrefetchProcess.php 0000644 00000001324 15174671772 0014753 0 ustar 00 <?php /** * Interface for Batch PrefetchProcess * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Second-level interface for registering a batch process that leverages * pre-fetch and data storage. * * @since 1.7.0 */ interface PUM_Interface_Batch_PrefetchProcess extends PUM_Interface_Batch_Process { /** * Initializes the batch process. * * This is the point where any relevant data should be initialized for use by the processor methods. * * @param null|mixed $data * * @return void */ public function init( $data = null ); /** * Pre-fetches data to speed up processing. */ public function pre_fetch(); } classes/Interface/Batch/Importer.php 0000644 00000001256 15174671772 0013461 0 ustar 00 <?php /** * Interface for Batch Importer * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Promise for structuring importers. * * @since 1.7.0 */ interface PUM_Interface_Batch_Importer { /** * Determines whether the current user can perform an import. * * @return bool Whether the current user can perform an import. */ public function can_import(); /** * Prepares the data for import. * * @return array[] Multi-dimensional array of data for import. */ public function get_data(); /** * Performs the import process. * * @return void */ public function import(); } classes/Interface/Batch/Exporter.php 0000644 00000001464 15174671772 0013471 0 ustar 00 <?php /** * Interface for Batch Exporter * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Promise for structuring exporters. * * @since 1.7.0 */ interface PUM_Interface_Batch_Exporter { /** * Determines whether the current user can perform an export. * * @return bool Whether the current user can perform an export. */ public function can_export(); /** * Handles sending appropriate headers depending on the type of export. * * @return void */ public function headers(); /** * Retrieves the data for export. * * @return array[] Multi-dimensional array of data for export. */ public function get_data(); /** * Performs the export process. * * @return void */ public function export(); } classes/Interface/Batch/Process.php 0000644 00000002105 15174671772 0013270 0 ustar 00 <?php /** * Interface for Batch Process * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Base interface for registering a batch process. * * @since 1.7.0 */ interface PUM_Interface_Batch_Process { /** * Determines if the current user can perform the current batch process. * * @return bool True if the current user has the needed capability, otherwise false. */ public function can_process(); /** * Processes a single step (batch). * * @return int|string|WP_Error Next step number, 'done', or a WP_Error object. */ public function process_step(); /** * Retrieves the calculated completion percentage. * * @return int Percentage completed. */ public function get_percentage_complete(); /** * Retrieves a message based on the given message code. * * @param string $code Message code. * * @return string Message. */ public function get_message( $code ); /** * Defines logic to execute once batch processing is complete. */ public function finish(); } classes/Interface/Repository.php 0000644 00000002027 15174671772 0013013 0 ustar 00 <?php /** * Interface for Repository * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Interface PUM_Interface_Repository * * Interface between WP_Query and our data needs. Essentially a query factory. * * @package ForumWP\Interfaces */ interface PUM_Interface_Repository { /** * @param int $id * * @return WP_Post|PUM_Abstract_Model_Post */ public function get_item( $id ); /** * @param int $id * * @return bool */ public function has_item( $id ); /** * @param array $args * * @return WP_Post[||PUM_Abstract_Model_Post[] */ public function get_items( $args = [] ); /** * @param array $data * * @return WP_Post|PUM_Abstract_Model_Post */ public function create_item( $data ); /** * @param int $id * @param array $data * * @return WP_Post|PUM_Abstract_Model_Post */ public function update_item( $id, $data ); /** * @param int $id * * @return bool */ public function delete_item( $id ); } classes/Interface/Integration/Settings.php 0000644 00000000502 15174671772 0014713 0 ustar 00 <?php /** * Interface for Settings Integration * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ interface PUM_Interface_Integration_Settings extends PUM_Interface_Integration { /** * @param array $fields * * @return array */ public function append_fields( $fields = [] ); } classes/Interface/Integration/Form.php 0000644 00000001160 15174671772 0014017 0 ustar 00 <?php /** * Interface for Form Integration * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ interface PUM_Interface_Integration_Form extends PUM_Interface_Integration { /** * @return array */ public function get_forms(); /** * @param string $id * * @return mixed */ public function get_form( $id ); /** * @return array */ public function get_form_selectlist(); /** * @param array $js * * @return array */ public function custom_scripts( $js = [] ); /** * @param array $css * * @return array */ public function custom_styles( $css = [] ); } classes/Interface/Integration.php 0000644 00000000424 15174671772 0013116 0 ustar 00 <?php /** * Interface for Integration * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ interface PUM_Interface_Integration { /** * @return string */ public function label(); /** * @return bool */ public function enabled(); } classes/Install.php 0000644 00000013261 15174671772 0010344 0 ustar 00 <?php /** * Class for Install * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ use function PopupMaker\config; // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Install * * @since 1.9.0 */ class PUM_Install { /** * @param $network_wide */ public static function activate_plugin( $network_wide ) { self::do_multisite( $network_wide, [ __CLASS__, 'activate_site' ] ); } /** * @param $network_wide */ public static function deactivate_plugin( $network_wide ) { self::do_multisite( $network_wide, [ __CLASS__, 'deactivate_site' ] ); } /** * */ public static function uninstall_plugin() { self::do_multisite( true, [ __CLASS__, 'uninstall_site' ] ); } /** * @param $network_wide * @param $method * @param array $args */ private static function do_multisite( $network_wide, $method, $args = [] ) { global $wpdb; if ( is_multisite() && $network_wide ) { $activated = get_site_option( 'pum_activated', [] ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery $blog_ids = $wpdb->get_col( "SELECT blog_id FROM {$wpdb->blogs}" ); // Try to reduce the chances of a timeout with a large number of sites. if ( count( $blog_ids ) > 2 ) { ignore_user_abort( true ); if ( ! pum_is_func_disabled( 'set_time_limit' ) ) { // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged @set_time_limit( 0 ); } } foreach ( $blog_ids as $blog_id ) { switch_to_blog( $blog_id ); call_user_func_array( $method, [ $args ] ); $activated[] = $blog_id; restore_current_blog(); } update_site_option( 'pum_activated', $activated ); } else { call_user_func_array( $method, [ $args ] ); } } /** * Installs the plugin */ public static function activate_site() { // TODO This needs complete overhaul. // Add default values where needed. $options = array_merge( get_option( 'popmake_settings', [] ), [ 'disable_popup_category_tag' => 1, ] ); // Setup some default options. add_option( 'popmake_settings', $options ); pum(); // We used transients before, but since the check for this option runs every admin page load it means 2 queries after its cleared. // To prevent that we flipped it, now we delete the following option, and check for it. // If its missing then we know its a fresh install. delete_option( '_pum_installed' ); // Prepare to redirect to welcome screen, if not seen before. if ( false === get_option( 'pum_seen_welcome' ) ) { set_transient( 'pum_activation_redirect', 1, 60 ); } pum_get_default_theme_id(); // Allow disabling of built in themes. // Example add_filter'pum_disable_install_themes', '__return_true' );. $themes_disabled = DEFINED( 'PUM_DISABLE_INSTALL_THEMES' ) && PUM_DISABLE_INSTALL_THEMES ? true : false; $themes_disabled = apply_filters( 'pum_disable_install_themes', $themes_disabled ); if ( true !== $themes_disabled ) { pum_install_built_in_themes(); } // Allow disabling of example popups. // Example add_filter'pum_disable_install_examples', '__return_true' );. $examples_disabled = DEFINED( 'PUM_DISABLE_INSTALL_EXAMPLES' ) && PUM_DISABLE_INSTALL_EXAMPLES ? true : false; $examples_disabled = apply_filters( 'pum_disable_install_examples', $examples_disabled ); if ( true !== $examples_disabled ) { pum_install_example_popups(); } // Reset JS/CSS assets for regeneration. pum_reset_assets(); } public static function get_option( $key, $default_value = false ) { if ( function_exists( 'pum_get_option' ) ) { return pum_get_option( $key, $default_value ); } return PUM_Utils_Options::get( $key, $default_value ); } /** * Run when Popup Maker is deactivated. Completely deletes all data if complete_uninstall is set to true. * * @since 1.4 */ public static function deactivate_site() { /** * Process complete uninstall */ if ( self::get_option( 'complete_uninstall' ) ) { global $wpdb; // phpcs:disable WordPress.DB.DirectDatabaseQuery.DirectQuery // Delete all popups and associated meta. $wpdb->query( "DELETE a,b,c FROM $wpdb->posts a LEFT JOIN $wpdb->term_relationships b ON (a.ID = b.object_id) LEFT JOIN $wpdb->postmeta c ON (a.ID = c.post_id) WHERE a.post_type IN ('popup', 'popup_theme')" ); $wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_key LIKE 'popup_%'" ); /** Delete All the Taxonomies */ foreach ( [ 'popup_category', 'popup_tag' ] as $taxonomy ) { // Prepare & excecute SQL, Delete Terms. $wpdb->get_results( $wpdb->prepare( "DELETE t.*, tt.* FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN (%s)", $taxonomy ) ); // Delete Taxonomy. $wpdb->delete( $wpdb->term_taxonomy, [ 'taxonomy' => $taxonomy ], [ '%s' ] ); } $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE 'popmake%' OR option_name LIKE '_pum_%' OR option_name LIKE 'pum_%' OR option_name LIKE 'popup_analytics_%'" ); // Delete all Popup Maker related user meta. $wpdb->query( "DELETE FROM $wpdb->usermeta WHERE meta_key LIKE '_pum_%' OR meta_key lIKE 'pum_%'" ); // Delete subscribers table. // phpcs:disable WordPress.DB.DirectDatabaseQuery.SchemaChange $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}pum_subscribers" ); // phpcs:enable WordPress.DB.DirectDatabaseQuery.DirectQuery // Delete error log. PUM_Utils_Logging::instance()->clear_log(); // Reset JS/CSS assets for regeneration. pum_reset_assets(); // # TODO Delete AssetCache files and folder. do_action( 'pum_uninstall' ); } } /** * @since 1.9.0 */ public static function uninstall_site() { } } classes/Shortcodes.php 0000644 00000002443 15174671772 0011053 0 ustar 00 <?php /** * Shortcodes class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Shortcodes * * This class maintains a global set of all registered PUM shortcodes. */ class PUM_Shortcodes { /** * @var PUM_Shortcodes Static Instance */ private static $instance; /** * @var array Holds array of registered $shortcode_tags => $shortcode_objects. */ private $shortcodes = []; /** * Main PUM_Shortcodes Instance * * @return PUM_Shortcodes */ public static function instance() { if ( ! isset( self::$instance ) && ! ( self::$instance instanceof PUM_Shortcodes ) ) { self::$instance = new self(); } return self::$instance; } /** * Add a shortcode object to the collection. * * @param PUM_Shortcode $shortcode */ public function add_shortcode( PUM_Shortcode $shortcode ) { $this->shortcodes[ $shortcode->tag() ] = $shortcode; } /** * Get all shortcodes. * * @return array PUM_Shortcode */ public function get_shortcodes() { return $this->shortcodes; } /** * Get shortcode by tag. * * @param $tag * * @return bool|mixed */ public function get_shortcode( $tag ) { return isset( $this->shortcodes[ $tag ] ) ? $this->shortcodes[ $tag ] : false; } } classes/Telemetry.php 0000644 00000025200 15174671772 0010704 0 ustar 00 <?php /** * Telemetry class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { // Exit if accessed directly. exit; } /** * Our telemetry class. * * Handles sending usage data back to our servers for those who have opted into our telemetry. * * @since 1.11.0 */ class PUM_Telemetry { /** * Initialization method */ public static function init() { add_action( 'pum_daily_scheduled_events', [ __CLASS__, 'track_check' ] ); if ( is_admin() && current_user_can( 'manage_options' ) ) { add_filter( 'pum_alert_list', [ __CLASS__, 'optin_alert' ] ); add_action( 'pum_alert_dismissed', [ __CLASS__, 'optin_alert_check' ], 10, 2 ); } } /** * Prepares and sends data, if it is time to do so * * @since 1.11.0 */ public static function track_check() { if ( self::is_time_to_send() ) { $data = self::setup_data(); self::send_data( $data ); set_transient( 'pum_tracking_last_send', true, 6 * DAY_IN_SECONDS ); } } /** * Prepares telemetry data to be sent * * @return array * @since 1.11.0 */ public static function setup_data() { global $wpdb; // Retrieve current theme info. $theme_data = wp_get_theme(); $theme = $theme_data->Name . ' ' . $theme_data->Version; // Retrieve current plugin information. if ( ! function_exists( 'get_plugins' ) ) { include ABSPATH . '/wp-admin/includes/plugin.php'; } $plugins = array_keys( get_plugins() ); $active_plugins = get_option( 'active_plugins', [] ); foreach ( $plugins as $key => $plugin ) { if ( in_array( $plugin, $active_plugins, true ) ) { // Remove active plugins from list so we can show active and inactive separately. unset( $plugins[ $key ] ); } } $popups = 0; foreach ( wp_count_posts( 'popup' ) as $status ) { $popups += $status; } $popup_themes = 0; foreach ( wp_count_posts( 'popup_theme' ) as $status ) { $popup_themes += $status; } // Aggregates important settings across all popups. $all_popups = pum_get_all_popups(); $triggers = []; $cookies = []; $conditions = []; $location = []; $sizes = []; $sounds = []; // Cycle through each popup. foreach ( $all_popups as $popup ) { $settings = PUM_Admin_Popups::fill_missing_defaults( $popup->get_settings() ); // Cycle through each trigger to count the number of unique triggers. foreach ( $settings['triggers'] as $trigger ) { if ( isset( $triggers[ $trigger['type'] ] ) ) { $triggers[ $trigger['type'] ] += 1; } else { $triggers[ $trigger['type'] ] = 1; } } // Cycle through each cookie to count the number of unique cookie. foreach ( $settings['cookies'] as $cookie ) { if ( isset( $cookies[ $cookie['event'] ] ) ) { $cookies[ $cookie['event'] ] += 1; } else { $cookies[ $cookie['event'] ] = 1; } } // Cycle through each condition to count the number of unique condition. foreach ( $settings['conditions'] as $condition ) { foreach ( $condition as $target ) { if ( isset( $conditions[ $target['target'] ] ) ) { $conditions[ $target['target'] ] += 1; } else { $conditions[ $target['target'] ] = 1; } } } // Add locations setting. if ( isset( $location[ $settings['location'] ] ) ) { $location[ $settings['location'] ] += 1; } else { $location[ $settings['location'] ] = 1; } // Add size setting. if ( isset( $sizes[ $settings['size'] ] ) ) { $sizes[ $settings['size'] ] += 1; } else { $sizes[ $settings['size'] ] = 1; } // Add opening sound setting. if ( isset( $sounds[ $settings['open_sound'] ] ) ) { $sounds[ $settings['open_sound'] ] += 1; } else { $sounds[ $settings['open_sound'] ] = 1; } } $data = [ // UID. 'uid' => self::get_uuid(), // Language Info. 'language' => get_bloginfo( 'language' ), 'charset' => get_bloginfo( 'charset' ), // Server Info. 'php_version' => phpversion(), 'mysql_version' => $wpdb->db_version(), 'is_localhost' => self::is_localhost(), 'wp_env_type' => wp_get_environment_type(), // WP Install Info. 'url' => get_site_url(), 'version' => Popup_Maker::$VER, 'wp_version' => get_bloginfo( 'version' ), 'theme' => $theme, 'active_plugins' => $active_plugins, 'inactive_plugins' => array_values( $plugins ), // Popup Metrics. 'popups' => $popups, 'popup_themes' => $popup_themes, 'open_count' => get_option( 'pum_total_open_count', 0 ), // Popup Maker Settings. 'block_editor_enabled' => ! pum_get_option( 'enable_classic_editor', false ), 'bypass_ad_blockers' => pum_get_option( 'bypass_adblockers' ), 'disable_taxonomies' => pum_get_option( 'disable_popup_category_tag' ), 'disable_asset_cache' => pum_get_option( 'disable_asset_caching' ), 'disable_open_tracking' => pum_get_option( 'disable_popup_open_tracking' ), 'default_email_provider' => pum_get_option( 'newsletter_default_provider', 'none' ), // Aggregate Popup Settings. 'triggers' => $triggers, 'cookies' => $cookies, 'conditions' => $conditions, 'locations' => $location, 'sizes' => $sizes, 'sounds' => $sounds, ]; /** * Filter telemetry data before sending. * * Allows extensions like Pro to add additional telemetry data. * * @since 1.20.0 * * @param array $data Telemetry data array. */ return apply_filters( 'pum_telemetry_data', $data ); } /** * Sends check_in data * * @param array $data Telemetry data to send. * @since 1.11.0 */ public static function send_data( $data = [] ) { self::api_call( 'check_in', $data ); } /** * Makes HTTP request to our API endpoint * * @param string $action The specific endpoint in our API. * @param array $data Any data to send in the body. * @return array|bool False if WP Error. Otherwise, array response from wp_remote_post. * @since 1.11.0 */ public static function api_call( $action = '', $data = [] ) { $response = wp_remote_post( 'https://api.wppopupmaker.com/wp-json/pmapi/v2/' . $action, [ 'method' => 'POST', 'timeout' => 20, 'redirection' => 5, 'httpversion' => '1.1', 'blocking' => false, 'body' => $data, 'user-agent' => 'POPMAKE/' . Popup_Maker::$VER . '; ' . get_site_url(), ] ); if ( is_wp_error( $response ) ) { $error_message = $response->get_error_message(); pum_log_message( sprintf( 'Cannot send telemetry data. Error received was: %s', esc_html( $error_message ) ) ); return false; } return $response; } /** * Adds admin notice if we haven't asked before. * * @param array $alerts The alerts currently in the alert system. * @return array Alerts for the alert system. * @since 1.11.0 */ public static function optin_alert( $alerts ) { if ( ! self::should_show_alert() ) { return $alerts; } $alerts[] = [ 'code' => 'pum_telemetry_notice', 'type' => 'info', 'message' => esc_html__( "We are constantly improving Popup Maker but that's difficult to do if we don't know how it's being used. Please allow data sharing so that we can receive a little information on how it is used. You can change this setting at any time on our Settings page. No user data is sent to our servers. No sensitive data is tracked.", 'popup-maker' ), 'priority' => 10, 'dismissible' => true, 'global' => false, 'actions' => [ [ 'primary' => true, 'type' => 'action', 'action' => 'pum_optin_check_allow', 'text' => __( 'Allow', 'popup-maker' ), ], [ 'primary' => false, 'type' => 'action', 'action' => 'dismiss', 'text' => __( 'Do not allow', 'popup-maker' ), ], [ 'primary' => false, 'type' => 'link', 'action' => '', 'href' => 'https://wppopupmaker.com/docs/policies/the-data-the-popup-maker-plugin-collects/', 'text' => __( 'Learn more', 'popup-maker' ), ], ], ]; return $alerts; } /** * Checks if any options have been clicked from admin notices. * * @param string $code The code for the alert. * @param string $action Action taken on the alert. * * @since 1.11.0 */ public static function optin_alert_check( $code, $action ) { if ( 'pum_telemetry_notice' === $code ) { if ( 'pum_optin_check_allow' === $action ) { pum_update_option( 'telemetry', true ); } } } /** * Whether or not we should show optin alert * * @since 1.11.0 * @return bool True if alert should be shown */ public static function should_show_alert() { return false === self::has_opted_in() && current_user_can( 'manage_options' ) && strtotime( self::get_installed_on() . ' +15 minutes' ) < time(); } /** * Determines if it is time to send telemetry data. * * @return bool True if it is time. * @since 1.11.0 */ public static function is_time_to_send() { // Only send if admin has opted in. if ( ! self::has_opted_in() ) { return false; } // Send a maximum of once per week. if ( get_transient( 'pum_tracking_last_send' ) ) { return false; } return true; } /** * Wrapper to check if site has opted into telemetry * * @return bool True if has opted into telemetry * @since 1.11.0 */ public static function has_opted_in() { return false !== pum_get_option( 'telemetry', false ); } /** * Get the datetime string for when PM was installed. * * @return string * @since 1.13.0 */ public static function get_installed_on() { $installed_on = get_option( 'pum_installed_on', false ); if ( ! $installed_on ) { $installed_on = current_time( 'mysql' ); } return $installed_on; } /** * Determines if the site is in a local environment * * @return bool True for local * @since 1.11.0 */ public static function is_localhost() { $url = network_site_url( '/' ); return stristr( $url, 'dev' ) !== false || stristr( $url, 'localhost' ) !== false || stristr( $url, ':8888' ) !== false; } /** * Generates a new UUID for this site. * * @return string * @since 1.11.0 */ public static function add_uuid() { $uuid = wp_generate_uuid4(); update_option( 'pum_site_uuid', $uuid ); return $uuid; } /** * Retrieves the site UUID * * @return string * @since 1.11.0 */ public static function get_uuid() { $uuid = get_option( 'pum_site_uuid', false ); if ( false === $uuid || ! wp_is_uuid( $uuid ) ) { $uuid = self::add_uuid(); } return $uuid; } } classes/Activator.php 0000644 00000001434 15174671772 0010671 0 ustar 00 <?php /** * Activator class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Fired during plugin activation. * * This class defines all code necessary to run during the plugin's activation. * * @since 1.4 * @deprecated 1.9.0 Use PUM_Install instead. * @package PUM * @subpackage PUM/includes * @author Daniel Iser <danieliser@wizardinternetsolutions.com> */ class PUM_Activator extends PUM_Install { /** * Short Description. (use period) * * Long Description. * * @since 1.4 * @deprecated 1.9.0 * * @param bool $network_wide */ public static function activate( $network_wide = false ) { parent::activate_plugin( $network_wide ); } } classes/Integration/Form/NinjaForms.php 0000644 00000004456 15174671772 0014200 0 ustar 00 <?php /** * Integration for NinjaForms Form * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Integration_Form_NinjaForms extends PUM_Abstract_Integration_Form { /** * @var string */ public $key = 'ninjaforms'; public function __construct() { add_action( 'ninja_forms_pre_process', [ $this, 'on_success_v2' ] ); add_action( 'ninja_forms_after_submission', [ $this, 'on_success_v3' ] ); } /** * @return string */ public function label() { return 'Ninja Forms'; } /** * @return bool */ public function enabled() { return class_exists( 'Ninja_Forms' ) && ! ( version_compare( get_option( 'ninja_forms_version', '0.0.0' ), '3.0', '<' ) || get_option( 'ninja_forms_load_deprecated', false ) ); } /** * @return array */ public function get_forms() { return Ninja_Forms()->form()->get_forms(); } /** * @param string $id * * @return mixed */ public function get_form( $id ) { return Ninja_Forms()->form( $id )->get(); } /** * @return array */ public function get_form_selectlist() { $form_selectlist = []; $forms = $this->get_forms(); foreach ( $forms as $form ) { $form_selectlist[ $form->get_id() ] = $form->get_setting( 'title' ); } return $form_selectlist; } /** * @global $ninja_forms_processing */ public function on_success_v2() { global $ninja_forms_processing; if ( ! self::should_process_submission() ) { return; } $popup_id = self::get_popup_id(); self::increase_conversion( $popup_id ); pum_integrated_form_submission( [ 'popup_id' => $popup_id, 'form_provider' => $this->key, 'form_id' => $ninja_forms_processing->get_form_ID(), ] ); } /** * @param $form_data */ public function on_success_v3( $form_data ) { if ( ! self::should_process_submission() ) { return; } $popup_id = self::get_popup_id(); self::increase_conversion( $popup_id ); pum_integrated_form_submission( [ 'popup_id' => $popup_id, 'form_provider' => $this->key, 'form_id' => $form_data['form_id'], ] ); } /** * @param array $js * * @return array */ public function custom_scripts( $js = [] ) { return $js; } /** * @param array $css * * @return array */ public function custom_styles( $css = [] ) { return $css; } } classes/Integration/Form/ContactForm7.php 0000644 00000005240 15174671772 0014430 0 ustar 00 <?php /** * Integration for ContactForm7 Form * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Integration_Form_ContactForm7 extends PUM_Abstract_Integration_Form { /** * Unique key identifier for this provider. * * @var string */ public $key = 'contactform7'; /** * Only used to hook in a custom action for non AJAX based submissions. * * Could be used for other initiations as well where needed. */ public function __construct() { add_action( 'wpcf7_mail_sent', [ $this, 'on_success' ], 1 ); } /** * Text label that will be used throughout the various options screens. * * @return string */ public function label() { // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch return __( 'Contact Form 7', 'contact-form-7' ); } /** * Should return true when the required form plugin is active. * * @return bool */ public function enabled() { return class_exists( 'WPCF7' ) || ( defined( 'WPCF7_VERSION' ) && WPCF7_VERSION ); } /** * Return a useable array of all forms from this provider. * * @return array */ public function get_forms() { return get_posts( [ 'post_type' => 'wpcf7_contact_form', 'posts_per_page' => - 1, ] ); } /** * Return a single form by ID. * * @param string $id * * @return mixed */ public function get_form( $id ) { return get_post( $id ); } /** * Returns an array of options for a select list. * * Should be in the format of $formId => $formLabel * * @return array */ public function get_form_selectlist() { $form_selectlist = []; $forms = $this->get_forms(); foreach ( $forms as $form ) { $form_selectlist[ $form->ID ] = $form->post_title; } return $form_selectlist; } /** * Hooks in a success functions specific to this provider for non AJAX submission handling. * * @param WPCF7_ContactForm $cfdata */ public function on_success( $cfdata ) { if ( ! self::should_process_submission() ) { return; } $popup_id = self::get_popup_id(); self::increase_conversion( $popup_id ); pum_integrated_form_submission( [ 'popup_id' => $popup_id, 'form_provider' => $this->key, 'form_id' => $cfdata->id(), ] ); } /** * Load a custom script file to handle AJAX based submissions or other integrations with Popup Maker frontend. * * @param array $js * * @return array */ public function custom_scripts( $js = [] ) { return $js; } /** * Load custom styles for hacking some elements specifically inside popups, such as datepickers. * * @param array $css * * @return array */ public function custom_styles( $css = [] ) { return $css; } } classes/Integration/Form/MC4WP.php 0000644 00000003506 15174671772 0012757 0 ustar 00 <?php /** * Integration for MC4WP Form * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Integration_Form_MC4WP extends PUM_Abstract_Integration_Form { /** * Unique key identifier for this provider. * * @var string */ public $key = 'mc4wp'; /** * Text label that will be used throughout the various options screens. * * @return string */ public function label() { // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch return __( 'MailChimp for WordPress', 'mc4wp' ); } /** * Should return true when the required form plugin is active. * * @return bool */ public function enabled() { return defined( 'MC4WP_VERSION' ) && MC4WP_VERSION; } /** * Return a useable array of all forms from this provider. * * @return MC4WP_Form[] */ public function get_forms() { return mc4wp_get_forms(); } /** * Return a single form by ID. * * @param string $id * * @return MC4WP_Form */ public function get_form( $id ) { return mc4wp_get_form( $id ); } /** * Returns an array of options for a select list. * * Should be in the format of $formId => $formLabel * * @return array */ public function get_form_selectlist() { $form_selectlist = []; $forms = $this->get_forms(); foreach ( $forms as $form ) { $form_selectlist[ $form->ID ] = $form->name; } return $form_selectlist; } /** * Load a custom script file to handle AJAX based submissions or other integrations with Popup Maker frontend. * * @param array $js * * @return array */ public function custom_scripts( $js = [] ) { return $js; } /** * Load custom styles for hacking some elements specifically inside popups, such as datepickers. * * @param array $css * * @return array */ public function custom_styles( $css = [] ) { return $css; } } classes/Integration/Form/FormidableForms.php 0000644 00000006140 15174671772 0015175 0 ustar 00 <?php /** * Integration for FormidableForms Form * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ /** * Handles the integration with Formidable Forms (https://wordpress.org/plugins/formidable/) * * @since 1.12 */ class PUM_Integration_Form_FormidableForms extends PUM_Abstract_Integration_Form { /** * Unique key identifier for this provider. * * @var string */ public $key = 'formidableforms'; /** * Only used to hook in a custom action for non AJAX based submissions. * * Could be used for other initiations as well where needed. */ public function __construct() { add_action( 'frm_after_create_entry', [ $this, 'on_success' ], 1, 2 ); } /** * Text label that will be used throughout the various options screens. * * @return string */ public function label() { // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch return __( 'Formidable Forms', 'formidable-forms' ); } /** * Should return true when the required form plugin is active. * * @return bool */ public function enabled() { return class_exists( 'FrmEntry' ); } /** * Return a useable array of all forms from this provider. * * @return array */ public function get_forms() { return FrmForm::getAll(); } /** * Return a single form by ID. * * @param string $id The ID of the form. * @return mixed */ public function get_form( $id ) { return FrmForm::getOne( intval( $id ) ); } /** * Returns an array of options for a select list. * Should be in the format of $formId => $formLabel. * * @return array The array of options */ public function get_form_selectlist() { $form_selectlist = []; $forms = $this->get_forms(); foreach ( $forms as $form ) { $form_selectlist[ $form->id ] = $form->name; } return $form_selectlist; } /** * Hooks in a success functions specific to this provider for non AJAX submission handling. * * @param int $entry_id The ID of the entry added. * @param int $form_id The ID of the form. */ public function on_success( $entry_id, $form_id ) { // Determine if form has AJAX submission enabled. Only do our form submission method if AJAX is not enabled. $form = $this->get_form( intval( $form_id ) ); if ( isset( $form->options['ajax_submit'] ) && true === $form->options['ajax_submit'] ) { return; } if ( ! self::should_process_submission() ) { return; } $popup_id = self::get_popup_id(); self::increase_conversion( $popup_id ); pum_integrated_form_submission( [ 'popup_id' => $popup_id, 'form_provider' => $this->key, 'form_id' => $form_id, ] ); } /** * Load a custom script file to handle AJAX based submissions or other integrations with Popup Maker frontend. * * @param array $js All JS to be enqueued for popup. * @return array */ public function custom_scripts( $js = [] ) { return $js; } /** * Load custom styles for hacking some elements specifically inside popups, such as datepickers. * * @param array $css All CSS enqueued for the popup. * @return array */ public function custom_styles( $css = [] ) { return $css; } } classes/Integration/Form/BricksBuilder.php 0000644 00000013030 15174671772 0014642 0 ustar 00 <?php /** * Integration for Bricks Builder Forms * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Integration_Form_BricksBuilder extends PUM_Abstract_Integration_Form { /** * @var string */ public $key = 'bricksbuilder'; /** * Constructor - Set up cache invalidation hooks. */ public function __construct() { // Clear cache when Bricks content is updated. add_action( 'updated_post_meta', [ $this, 'maybe_clear_cache' ], 10, 4 ); add_action( 'added_post_meta', [ $this, 'maybe_clear_cache' ], 10, 4 ); add_action( 'deleted_post_meta', [ $this, 'maybe_clear_cache' ], 10, 4 ); add_action( 'wp_trash_post', [ $this, 'clear_forms_cache' ] ); add_action( 'untrash_post', [ $this, 'clear_forms_cache' ] ); } /** * @return string */ public function label() { return 'Bricks Builder'; } /** * @return bool */ public function enabled() { return defined( 'BRICKS_VERSION' ); } /** * Get all Bricks Builder forms from the database. * Bricks stores forms as elements in post meta, so we need to query for posts with form elements. * * @param bool $force_refresh Whether to force refresh the cache. * * @return array */ public function get_forms( $force_refresh = false ) { $cache_key = 'pum_bricks_forms_v2'; $cache_group = 'popup_maker'; // Try to get cached forms first. if ( ! $force_refresh ) { $cached_forms = wp_cache_get( $cache_key, $cache_group ); if ( false !== $cached_forms ) { return $cached_forms; } // Fallback to transient for persistent caching. $cached_forms = get_transient( $cache_key ); if ( false !== $cached_forms ) { // Store in object cache for this request. wp_cache_set( $cache_key, $cached_forms, $cache_group, HOUR_IN_SECONDS ); return $cached_forms; } } global $wpdb; // Query for posts that contain Bricks form elements. $results = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching $wpdb->prepare( "SELECT DISTINCT p.ID, p.post_title, pm.meta_value FROM {$wpdb->posts} p INNER JOIN {$wpdb->postmeta} pm ON p.ID = pm.post_id WHERE pm.meta_key = %s AND pm.meta_value LIKE %s AND p.post_status = 'publish'", '_bricks_page_content_2', '%s:4:"name";s:4:"form"%' ) ); $forms = []; foreach ( $results as $result ) { $bricks_data = maybe_unserialize( $result->meta_value ); if ( is_array( $bricks_data ) ) { $forms = array_merge( $forms, $this->extract_forms_from_bricks_data( $bricks_data, $result->ID, $result->post_title ) ); } } // Cache the results for 1 hour. wp_cache_set( $cache_key, $forms, $cache_group, HOUR_IN_SECONDS ); set_transient( $cache_key, $forms, HOUR_IN_SECONDS ); return $forms; } /** * Extract form elements from Bricks data structure. * * @param array $bricks_data The Bricks data structure. * @param int $post_id The post ID. * @param string $post_title The post title. * * @return array */ private function extract_forms_from_bricks_data( $bricks_data, $post_id, $post_title ) { $forms = []; foreach ( $bricks_data as $element ) { if ( isset( $element['name'] ) && 'form' === $element['name'] ) { $form_title = ! empty( $element['settings']['formTitle'] ) ? $element['settings']['formTitle'] : $post_title; $forms[] = [ 'ID' => $element['id'], 'post_title' => $form_title, 'post_id' => $post_id, 'element_id' => $element['id'], ]; } // Recursively check children. if ( isset( $element['children'] ) && is_array( $element['children'] ) ) { $forms = array_merge( $forms, $this->extract_forms_from_bricks_data( $element['children'], $post_id, $post_title ) ); } } return $forms; } /** * Get a specific form by ID. * * @param int|string $id The form element ID. * * @return array|false */ public function get_form( $id ) { $forms = $this->get_forms(); foreach ( $forms as $form ) { if ( $form['element_id'] === $id ) { return $form; } } return false; } /** * Get a select list of all forms. * * @return array */ public function get_form_selectlist() { $form_selectlist = []; $forms = $this->get_forms(); foreach ( $forms as $form ) { $form_selectlist[ $form['element_id'] ] = $form['post_title']; } return $form_selectlist; } /** * Custom scripts for Bricks Builder integration. * Since we're using JavaScript event handling, no additional server-side processing needed. * * @param array $js JavaScript array. * * @return array */ public function custom_scripts( $js = [] ) { return $js; } /** * Custom styles for Bricks Builder integration. * * @param array $css CSS array. * * @return array */ public function custom_styles( $css = [] ) { return $css; } /** * Maybe clear forms cache when Bricks content is updated. * * @param int $meta_id ID of updated metadata entry. * @param int $object_id Post ID. * @param string $meta_key Metadata key. * @param mixed $meta_value Metadata value. */ public function maybe_clear_cache( $meta_id, $object_id, $meta_key, $meta_value ) { // Only clear cache when Bricks content is modified. if ( '_bricks_page_content_2' === $meta_key ) { $this->clear_forms_cache(); } } /** * Clear the forms cache. */ public function clear_forms_cache() { $cache_key = 'pum_bricks_forms_v2'; $cache_group = 'popup_maker'; wp_cache_delete( $cache_key, $cache_group ); delete_transient( $cache_key ); } } classes/Integration/Form/CalderaForms.php 0000644 00000003417 15174671772 0014470 0 ustar 00 <?php /** * Integration for CalderaForms Form * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Integration_Form_CalderaForms extends PUM_Abstract_Integration_Form { /** * @var string */ public $key = 'calderaforms'; public function __construct() { add_action( 'caldera_forms_submit_complete', [ $this, 'on_success' ] ); } /** * @return string */ public function label() { return 'Caldera Forms'; } /** * @return bool */ public function enabled() { return defined( 'CFCORE_VER' ) && CFCORE_VER; } /** * @return array */ public function get_forms() { return Caldera_Forms_Forms::get_forms( true ); } /** * @param string $id * * @return mixed */ public function get_form( $id ) { return Caldera_Forms_Forms::get_form( $id ); } /** * @return array */ public function get_form_selectlist() { $form_selectlist = []; $forms = $this->get_forms(); foreach ( $forms as $form ) { $form_selectlist[ $form['ID'] ] = $form['name']; } return $form_selectlist; } /** * @param array $form */ public function on_success( $form ) { if ( ! self::should_process_submission() ) { return; } $popup_id = self::get_popup_id(); self::increase_conversion( $popup_id ); pum_integrated_form_submission( [ 'popup_id' => $popup_id, 'form_provider' => $this->key, 'form_id' => $form['ID'], ] ); } /** * @param array $js * * @return array */ public function custom_scripts( $js = [] ) { return $js; } /** * @param array $css * * @return array */ public function custom_styles( $css = [] ) { $css[ $this->key ] = [ 'content' => ".pac-container { z-index: 2000000000 !important; }\n", 'priority' => 8, ]; return $css; } } classes/Integration/Form/WSForms.php 0000644 00000005121 15174671772 0013460 0 ustar 00 <?php /** * Integration for WS Forms * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Integration_Form_WSForms extends PUM_Abstract_Integration_Form { /** * Unique key identifier for this provider. * * @var string */ public $key = 'wsforms'; /** * Only used to hook in a custom action for non AJAX based submissions. * * Could be used for other initiations as well where needed. */ public function __construct() { add_action( 'wsf_submit_post_complete', [ $this, 'on_success' ], 10, 1 ); } /** * Text label that will be used throughout the various options screens. * * @return string */ public function label() { // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch return __( 'WS Forms', 'wsforms' ); } /** * Should return true when the required form plugin is active. * * @return bool */ public function enabled() { return class_exists( 'WS_Form' ) || ( defined( 'WS_FORM_VERSION' ) && WS_FORM_VERSION ); } /** * Return a useable array of all forms from this provider. * * @return array */ public function get_forms() { return \wsf_form_get_all(); } /** * Return a single form by ID. * * @param string $id * * @return mixed */ public function get_form( $id ) { return wsf_form_get_object( $id ); } /** * Returns an array of options for a select list. * * Should be in the format of $formId => $formLabel * * @return array */ public function get_form_selectlist() { $form_selectlist = []; $forms = $this->get_forms(); foreach ( $forms as $form ) { $form_selectlist[ $form['id'] ] = $form['label']; } return $form_selectlist; } /** * Hooks in a success functions specific to this provider for non AJAX submission handling. * * @param \WS_Form_Submit $submit */ public function on_success( $submit ) { if ( ! $this->should_process_submission() ) { return; } $popup_id = $this->get_popup_id(); $this->increase_conversion( $popup_id ); pum_integrated_form_submission( [ 'popup_id' => $popup_id, 'form_provider' => $this->key, 'form_id' => $submit->form_id, ] ); } /** * Load a custom script file to handle AJAX based submissions or other integrations with Popup Maker frontend. * * @param array $js * * @return array */ public function custom_scripts( $js = [] ) { return $js; } /** * Load custom styles for hacking some elements specifically inside popups, such as datepickers. * * @param array $css * * @return array */ public function custom_styles( $css = [] ) { return $css; } } classes/Integration/Form/WPForms.php 0000644 00000004316 15174671772 0013462 0 ustar 00 <?php /** * Integration for WPForms Form * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Integration_Form_WPForms extends PUM_Abstract_Integration_Form { /** * @var string */ public $key = 'wpforms'; public function __construct() { add_action( 'wpforms_process_complete', [ $this, 'on_success' ], 10, 4 ); } /** * @return string */ public function label() { return 'WP Forms'; } /** * @return bool */ public function enabled() { return defined( 'WPFORMS_VERSION' ) && WPFORMS_VERSION; } /** * @return array|bool|null|WP_Post[] */ public function get_forms() { return wpforms()->form->get( null, [ 'posts_per_page' => - 1 ] ); } /** * @param int|string $id * * @return array|bool|null|WP_Post */ public function get_form( $id ) { return wpforms()->form->get( $id ); } /** * @return array */ public function get_form_selectlist() { $form_selectlist = []; $forms = $this->get_forms(); if ( is_array( $forms ) ) { foreach ( $forms as $form ) { $form_selectlist[ $form->ID ] = $form->post_title; } } return $form_selectlist; } /** * @link https://wpforms.com/developers/wpforms_process_complete/ * * @param array $fields Sanitized entry field values/properties. * @param array $entry Original $_POST global. * @param array $form_data Form data and settings. * @param int $entry_id Entry ID. Will return 0 if entry storage is disabled or using WPForms Lite. */ public function on_success( $fields, $entry, $form_data, $entry_id ) { if ( ! self::should_process_submission() ) { return; } $popup_id = self::get_popup_id(); self::increase_conversion( $popup_id ); pum_integrated_form_submission( [ 'popup_id' => $popup_id, 'form_provider' => $this->key, 'form_id' => $form_data['id'], ] ); } /** * @param array $js * * @return array */ public function custom_scripts( $js = [] ) { return $js; } /** * @param array $css * * @return array */ public function custom_styles( $css = [] ) { // $css[ $this->key ] = [ // 'content' => ".pac-container { z-index: 2000000000 !important; }\n", // 'priority' => 8, // ]; return $css; } } classes/Integration/Form/PirateForms.php 0000644 00000006530 15174671772 0014360 0 ustar 00 <?php /** * Integration for PirateForms Form * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Integration_Form_PirateForms extends PUM_Abstract_Integration_Form { /** * @var string */ public $key = 'pirateforms'; public function __construct() { // add_action( 'wpforms_process_complete', array( $this, 'on_success' ), 10, 4 ); } /** * @return string */ public function label() { return 'Pirate Forms'; } /** * @return bool */ public function enabled() { return defined( 'PIRATE_FORMS_VERSION' ) && PIRATE_FORMS_VERSION; } /** * @return array */ public function get_forms() { // Union those arrays, as array_merge() does keys reindexing. $forms = $this->get_default_forms() + $this->get_pro_forms(); // Sort by IDs ASC. ksort( $forms ); return $forms; } /** * Pirate Forms has a default form, which doesn't have an ID. * * @since 1.4.9 * * @return array */ protected function get_default_forms() { $form = PirateForms_Util::get_form_options(); // Just make sure that it's there and not broken. if ( empty( $form ) ) { return []; } // phpcs:ignore WordPress.WP.I18n.MissingArgDomainDefault return [ 0 => esc_html__( 'Default Form' ) ]; } /** * Copy-paste from Pro plugin code, it doesn't have API to get this data easily. * * @since 1.4.9 * * @return array */ protected function get_pro_forms() { $forms = []; $query = new WP_Query( [ 'post_type' => 'pf_form', 'post_status' => 'publish', 'posts_per_page' => - 1, 'update_post_meta_cache' => false, 'update_post_term_cache' => false, ] ); if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); $forms[ get_the_ID() ] = get_the_title(); } } return $forms; } /** * Get a single form options. * * @since 1.4.9 * * @param int $id Form ID. * * @return array */ public function get_form( $id ) { return PirateForms_Util::get_form_options( (int) $id ); } /** * @return array */ public function get_form_selectlist() { $form_selectlist = []; $forms = $this->get_forms(); foreach ( $forms as $form ) { $form_selectlist[ $form['ID'] ] = $form['name']; } return $form_selectlist; } /** * @link https://wpforms.com/developers/wpforms_process_complete/ * * @param array $fields Sanitized entry field values/properties. * @param array $entry Original $_POST global. * @param array $form_data Form data and settings. * @param int $entry_id Entry ID. Will return 0 if entry storage is disabled or using WPForms Lite. */ public function on_success( $fields, $entry, $form_data, $entry_id ) { if ( ! self::should_process_submission() ) { return; } $popup_id = self::get_popup_id(); self::increase_conversion( $popup_id ); pum_integrated_form_submission( [ 'popup_id' => $popup_id, 'form_provider' => $this->key, 'form_id' => $form_data['id'], ] ); } /** * @param array $js * * @return array */ public function custom_scripts( $js = [] ) { return $js; } /** * @param array $css * * @return array */ public function custom_styles( $css = [] ) { $css[ $this->key ] = [ 'content' => ".pac-container { z-index: 2000000000 !important; }\n", 'priority' => 8, ]; return $css; } } classes/Integration/Form/GravityForms.php 0000644 00000003611 15174671772 0014556 0 ustar 00 <?php /** * Integration for GravityForms Form * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Integration_Form_GravityForms extends PUM_Abstract_Integration_Form { /** * @var string */ public $key = 'gravityforms'; public function __construct() { add_action( 'gform_after_submission', [ $this, 'on_success' ], 10, 2 ); } /** * @return string */ public function label() { return 'Gravity Forms'; } /** * @return bool */ public function enabled() { return class_exists( 'RGForms' ); } /** * @return array */ public function get_forms() { return GFAPI::get_forms(); } /** * @param string $id * * @return mixed */ public function get_form( $id ) { return GFAPI::get_forms( $id ); } /** * @return array */ public function get_form_selectlist() { $form_selectlist = []; $forms = $this->get_forms(); foreach ( $forms as $form ) { $form_selectlist[ $form['id'] ] = $form['title']; } return $form_selectlist; } /** * @param $entry * @param $form */ public function on_success( $entry, $form ) { if ( ! self::should_process_submission() ) { return; } // This key is set when Gravity Forms is submitted via AJAX. Ignored because this is a simple boolean check. // phpcs:ignore WordPress.Security.NonceVerification.Missing if ( isset( $_POST['gform_ajax'] ) && ! is_null( $_POST['gform_ajax'] ) ) { return; } $popup_id = self::get_popup_id(); self::increase_conversion( $popup_id ); pum_integrated_form_submission( [ 'popup_id' => $popup_id, 'form_provider' => $this->key, 'form_id' => $form['id'], ] ); } /** * @param array $js * * @return array */ public function custom_scripts( $js = [] ) { return $js; } /** * @param array $css * * @return array */ public function custom_styles( $css = [] ) { return $css; } } classes/Integration/Form/FluentForms.php 0000644 00000006776 15174671772 0014405 0 ustar 00 <?php /** * Integration for FluentForms * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Integration_Form_FluentForms extends PUM_Abstract_Integration_Form { /** * Unique key identifier for this provider. * * @var string */ public $key = 'fluentforms'; /** * Only used to hook in a custom action for non AJAX based submissions. * * Could be used for other initiations as well where needed. */ public function __construct() { add_action( 'fluentform/before_submission_confirmation', [ $this, 'on_success' ], 10, 3 ); } /** * Text label that will be used throughout the various options screens. * * @return string */ public function label() { // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch return __( 'Fluent Forms', 'fluentform' ); } /** * Should return true when the required form plugin is active. * * @return bool */ public function enabled() { return ( defined( 'FLUENTFORM_VERSION' ) && FLUENTFORM_VERSION ); } /** * Return a useable array of all forms from this provider. * * @return array<object{id:int,title:string}> */ public function get_forms() { $form_query = fluentFormApi( 'forms' )->forms([ 'per_page' => 10000, ]); return $form_query['data']; } /** * Return a single form by ID. * * @param string $id * * @return object{id:int,title:string} */ public function get_form( $id ) { return fluentFormApi( 'forms' )->find( $id ); } /** * Returns an array of options for a select list. * * Should be in the format of $formId => $formLabel * * @return array */ public function get_form_selectlist() { $form_selectlist = []; $forms = $this->get_forms(); foreach ( $forms as $form ) { $form_selectlist[ $form->id ] = $form->title; } return $form_selectlist; } /** * Hooks in a success functions specific to this provider for non AJAX submission handling. * * @param string $submission_id * @param array $form_data * @param array $form */ public function on_success( $submission_id, $form_data, $form ) { if ( ! $this->should_process_submission() ) { return; } $popup_id = $this->get_popup_id(); $this->increase_conversion( $popup_id ); pum_integrated_form_submission( [ 'popup_id' => $popup_id, 'form_provider' => $this->key, 'form_id' => isset( $form['attributes']['id'] ) ? $form['attributes']['id'] : null, ] ); } /** * Get the popup ID for this form submission. * * @return int|false */ public function get_popup_id() { // There is no raw nonce passed with this endpoint, so we need to check the raw data. // phpcs:ignore WordPress.Security.NonceVerification if ( isset( $_POST['data'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification $raw_data = sanitize_text_field( wp_unslash( $_POST['data'] ) ); // Parse the URL-encoded string into an associative array parse_str( $raw_data, $data ); if ( isset( $data['pum_form_popup_id'] ) ) { return absint( $data['pum_form_popup_id'] ); } } return parent::get_popup_id(); } /** * Load a custom script file to handle AJAX based submissions or other integrations with Popup Maker frontend. * * @param array $js * * @return array */ public function custom_scripts( $js = [] ) { return $js; } /** * Load custom styles for hacking some elements specifically inside popups, such as datepickers. * * @param array $css * * @return array */ public function custom_styles( $css = [] ) { return $css; } } classes/Integration/Builder/Bricks.php 0000644 00000015145 15174671772 0014027 0 ustar 00 <?php use function PopupMaker\plugin; /** * Integration for Bricks BUilder * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Integration_Builder_Bricks extends PUM_Abstract_Integration { /** * @var string */ public $key = 'bricks'; /** * @var string */ public $type = 'builder'; /** * @return string */ public function label() { return 'Bricks Builder'; } /** * @return bool */ public function enabled() { return defined( 'BRICKS_VERSION' ); } /** * Initializes this module. */ public function __construct() { add_filter( 'popmake_popup_post_type_args', [ $this, 'custom_post_type_args' ], 10, 1 ); add_filter( 'pum_popup_content', [ $this, 'custom_popup_content' ], 10000, 2 ); add_filter( 'template_include', [ $this, 'custom_template' ], 10000 ); add_filter( 'pum_theme_css_selector', [ $this, 'custom_css_selector' ], 10000, 3 ); add_action( 'wp_print_footer_scripts', [ $this, 'render_custom_editor_scripts' ] ); add_filter( 'popmake_get_option', [ $this, 'disable_asset_caching' ], 10, 2 ); } /** * Modify post types for the Bricks editor. * * @param array<string,string|bool> $args The post type args. * * @return array<string,string|bool> */ public function custom_post_type_args( $args ) { if ( $this->is_bricks_editor() ) { $args['publicly_queryable'] = true; } return $args; } /** * Disable asset caching for Bricks editor. * * @param mixed $value The default value. * @param string $key The option key. * * @return mixed */ public function disable_asset_caching( $value, $key ) { if ( $this->is_bricks_editor_canvas() && 'disable_asset_caching' === $key ) { return true; } return $value; } /** * Check if the current page is the Bricks editor canvas. * * @return bool */ public function is_bricks_editor_canvas() { // phpcs:ignore WordPress.Security.NonceVerification.Recommended return $this->is_bricks_editor() && isset( $_GET['brickspreview'] ); } /** * Check if the current page is the Bricks editor preview. * * @return bool */ public function is_bricks_editor_preview() { // phpcs:ignore WordPress.Security.NonceVerification.Recommended return isset( $_GET['bricks_preview'] ); } /** * Check if the current page is the Bricks editor. * * @return bool */ public function is_bricks_editor() { // phpcs:ignore WordPress.Security.NonceVerification.Recommended return isset( $_GET['bricks'] ) && 'run' === sanitize_key( wp_unslash( $_GET['bricks'] ) ); } /** * Custom template for the Bricks editor. * * @param string $template The template path. * * @return string */ public function custom_template( $template ) { if ( is_singular( 'popup' ) ) { // Define the path to your custom template file within your plugin $custom_template = Popup_Maker::$DIR . 'templates/single-popup.php'; if ( $this->is_bricks_editor() && ! $this->is_bricks_editor_canvas() ) { remove_action( 'wp_footer', [ 'PUM_Site_Popups', 'render_popups' ] ); } // Check if the file exists, then use it as the template if ( file_exists( $custom_template ) ) { return $custom_template; } } // If not singular 'popup', return the default template return $template; } /** * Modify the CSS selector for the Bricks editor. * * @param string $css_selector The CSS selector. * @param int $theme_id The theme ID. * @param string $element The element type. * * @return string */ public function custom_css_selector( $css_selector, $theme_id, $element ) { if ( $this->is_bricks_editor_canvas() ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended $popup_id = isset( $_GET['p'] ) ? intval( $_GET['p'] ) : false; if ( ! $popup_id ) { return $css_selector; } $popup = pum_get_popup( $popup_id ); $popup_theme = $popup->get_theme_id(); if ( $popup_theme !== $theme_id ) { return $css_selector; } if ( 'overlay' === $element ) { $css_selector = ', #brx-body.postid-' . $popup_id; } elseif ( 'container' === $element ) { $css_selector = '#bricks-blank-canvas, #brx-content'; } } return $css_selector; } /** * Render custom editor scripts for the Bricks editor. * * @return void */ public function render_custom_editor_scripts() { if ( ! $this->is_bricks_editor_canvas() ) { return; } // phpcs:ignore WordPress.Security.NonceVerification.Recommended $popup_id = isset( $_GET['p'] ) ? intval( $_GET['p'] ) : false; if ( ! $popup_id ) { return; } ?> <style> #pum-<?php echo esc_attr( $popup_id ); ?> { display: none; } body.single-popup { display: initial!important; position: static!important; } .pum-container, #brx-content { flex: initial!important; } .pum-container .brxe-container { max-width: 100%; } </style> <script type="text/javascript"> const $ = jQuery; const $popup = $('#pum-<?php echo esc_attr( $popup_id ); ?>'); const copyElStyles = (sourceElement, targetElement) => { $(targetElement).addClass($(sourceElement).attr('class')); $(targetElement).attr('style', ($(targetElement).attr('style') || '') + ($(sourceElement).attr('style') || '')); $(targetElement).css('max-width', $(sourceElement).css('width')); } const redraw = () => { $('#bricks-blank-canvas, #brx-content').css({ width: 'initial'}); copyElStyles($popup, $('body.single-popup')); copyElStyles($popup.find('.pum-container'), $('#bricks-blank-canvas, #brx-content')); } if ($popup.length) { // console.log('popup found', window.frames[0]); setTimeout(redraw, 100); let interval = setInterval(() => { redraw(); }, 500); } </script> <?php } /** * Custom popup content using Bricks. * * @param string $content The popup content. * @param int $popup_id The popup ID. * * @return string */ public function custom_popup_content( $content, $popup_id ) { global $post; if ( 'bricks' !== Bricks\Helpers::get_editor_mode( $popup_id ) ) { return $content; } $original_post = $post; setup_postdata( $popup_id ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited $post = get_post( $popup_id ); // $bricks_data = Bricks\Database::get_template_data( 'content' ); $bricks_data = Bricks\Helpers::get_bricks_data( $popup_id, 'content' ); if ( $bricks_data ) { ob_start(); Bricks\Frontend::render_content( $bricks_data ); // Enqueue bricks assets // Bricks\Theme_Styles::set_active_style( $popup_id ); $content = ob_get_clean(); } // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited $post = $original_post; wp_reset_postdata(); return $content; } } classes/Integration/Builder/KingComposer.php 0000644 00000001025 15174671772 0015202 0 ustar 00 <?php /** * Integration for KingComposer * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Integration_Builder_KingComposer extends PUM_Abstract_Integration { /** * @var string */ public $key = 'kingcomposer'; /** * @var string */ public $type = 'builder'; /** * @return string */ public function label() { return 'King Composer'; } /** * @return bool */ public function enabled() { return class_exists( 'KingComposer' ) || defined( 'KC_VERSION' ); } } classes/Integration/Builder/VisualComposer.php 0000644 00000001042 15174671772 0015554 0 ustar 00 <?php /** * Integration for VisualComposer * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Integration_Builder_VisualComposer extends PUM_Abstract_Integration { /** * @var string */ public $key = 'visualcomposer'; /** * @var string */ public $type = 'builder'; /** * @return string */ public function label() { return 'Visual Composer'; } /** * @return bool */ public function enabled() { return defined( 'WPB_VC_VERSION' ) || defined( 'FL_BUILDER_VERSION' ); } } classes/Integration/GoogleFonts.php 0000644 00000004314 15174671772 0013446 0 ustar 00 <?php /** * Integration for GoogleFonts * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Integration_GoogleFonts { /** * In-memory cache for font list to avoid repeated file reads per request. * * @var array|null */ private static $font_cache = null; /** * Initialize the integration. */ public static function init() { add_filter( 'pum_theme_font_family_options', [ __CLASS__, 'font_family_options' ], 20 ); } /** * Fetch list of Google Fonts from local JSON file. * * Uses in-memory cache to avoid repeated file reads per request. * The JSON file is updated periodically via bin/update-google-fonts.js. * * @param string $sort Unused - kept for backward compatibility. * * @return array Font list with structure: ['Family Name' => ['family' => 'Family Name', 'variants' => [...]]] */ public static function fetch_fonts( $sort = 'alpha' ) { // Return cached fonts if already loaded. if ( null !== self::$font_cache ) { return self::$font_cache; } // Load fonts from optimized JSON file. $json_file = Popup_Maker::$DIR . 'includes/google-fonts.json'; if ( ! file_exists( $json_file ) ) { self::$font_cache = []; return self::$font_cache; } $json_data = file_get_contents( $json_file ); $font_list = json_decode( $json_data, true ); // Cache the result for this request. self::$font_cache = is_array( $font_list ) ? $font_list : []; return self::$font_cache; } /** * Adds options to the font family dropdowns. * * @param $options * * @return array */ public static function font_family_options( $options ) { // If Google Fonts are disabled, return early preventing font loading. if ( pum_get_option( 'disable_google_font_loading', false ) ) { return $options; } $font_list = self::fetch_fonts(); if ( empty( $font_list ) ) { return $options; } $new_options = []; // $options = array_merge( $options, array( // '' => __( 'Google Web Fonts', 'popup-maker' ) . ' ⤵', // ) ); foreach ( $font_list as $font_family => $font ) { $new_options[ $font_family ] = $font_family; } $options[ __( 'Google Web Fonts', 'popup-maker' ) ] = $new_options; return $options; } } classes/Integration/QueryMonitor/Output/Html/CacheFunc.php 0000644 00000007123 15174671772 0017721 0 ustar 00 <?php /** * Function cache output for Query Monitor. * * @package PopupMaker\Integration\QueryMonitor */ namespace PopupMaker\Integration\QueryMonitor\Output\Html; use QM_Output_Html; /** * Query Monitor output class for function cache. */ class CacheFunc extends QM_Output_Html { /** * Constructor. * * @param \QM_Collector $collector Collector. */ public function __construct( $collector ) { parent::__construct( $collector ); add_filter( 'qm/output/menus', [ $this, 'admin_menu' ], 30 ); } /** * Get name. * * @return string */ public function name() { return __( 'Function Cache', 'popup-maker' ); } /** * Output the content. */ public function output() { $data = $this->collector->get_data(); $this->before_tabular_output(); echo '<h3>Cache Statistics</h3>'; echo '<table>'; echo '<thead>'; echo '<tr>'; echo '<th>' . esc_html__( 'Function', 'popup-maker' ) . '</th>'; echo '<th>' . esc_html__( 'Hits', 'popup-maker' ) . '</th>'; echo '<th>' . esc_html__( 'Misses', 'popup-maker' ) . '</th>'; echo '<th>' . esc_html__( 'Total', 'popup-maker' ) . '</th>'; echo '<th>' . esc_html__( 'Hit Rate', 'popup-maker' ) . '</th>'; echo '</tr>'; echo '</thead>'; echo '<tbody>'; if ( ! empty( $data['counts']['by_fn'] ) ) { foreach ( $data['counts']['by_fn'] as $fn => $stats ) { $total = $stats['hits'] + $stats['misses']; $hit_rate = $total ? round( ( $stats['hits'] / $total ) * 100, 1 ) : 0; echo '<tr>'; echo '<td class="qm-ltr">' . esc_html( $fn ) . '</td>'; echo '<td>' . esc_html( number_format_i18n( $stats['hits'] ) ) . '</td>'; echo '<td>' . esc_html( number_format_i18n( $stats['misses'] ) ) . '</td>'; echo '<td>' . esc_html( number_format_i18n( $total ) ) . '</td>'; echo '<td>' . esc_html( $hit_rate ) . '%</td>'; echo '</tr>'; } } echo '</tbody>'; echo '</table>'; if ( ! empty( $data['value_history'] ) ) { echo '<h3>Value History</h3>'; echo '<p class="qm-notice">' . esc_html__( 'Functions with changing return values across hooks. These may not be suitable for caching.', 'popup-maker' ) . '</p>'; echo '<table>'; echo '<thead>'; echo '<tr>'; echo '<th>' . esc_html__( 'Function', 'popup-maker' ) . '</th>'; echo '<th>' . esc_html__( 'Hook', 'popup-maker' ) . '</th>'; echo '<th>' . esc_html__( 'Value', 'popup-maker' ) . '</th>'; echo '<th>' . esc_html__( 'Time', 'popup-maker' ) . '</th>'; echo '</tr>'; echo '</thead>'; echo '<tbody>'; foreach ( $data['value_history'] as $key => $history ) { foreach ( $history as $entry ) { $value_preview = is_scalar( $entry['value'] ) ? esc_html( substr( (string) $entry['value'], 0, 100 ) ) : '(' . gettype( $entry['value'] ) . ')'; echo '<tr>'; echo '<td class="qm-ltr">' . esc_html( $key ) . '</td>'; echo '<td>' . esc_html( $entry['hook'] ) . '</td>'; echo '<td>' . wp_kses_post( $value_preview ) . '</td>'; echo '<td>' . esc_html( number_format( $entry['timestamp'], 4 ) ) . '</td>'; echo '</tr>'; } } echo '</tbody>'; echo '</table>'; } $this->after_tabular_output(); } /** * Add admin menu item. * * @param array $menu Menu items. * @return array */ public function admin_menu( array $menu ) { $data = $this->collector->get_data(); if ( empty( $data ) || empty( $data['by_function'] ) ) { return $menu; } $menu[ $this->collector->id() ] = $this->menu( [ 'title' => esc_html__( 'Function Cache', 'popup-maker' ) . ' (' . number_format_i18n( $data['total_calls'] ) . ')', 'href' => '#qm-cache-func', ] ); return $menu; } } classes/Integration/QueryMonitor/Collector/CacheFunc.php 0000644 00000002241 15174671772 0017437 0 ustar 00 <?php /** * Function cache collector for Query Monitor. * * @package PopupMaker\Integration\QueryMonitor */ namespace PopupMaker\Integration\QueryMonitor\Collector; use QM_Collector; /** * @extends QM_Collector */ class CacheFunc extends QM_Collector { public $id = 'cache-func'; public function name() { return __( 'Function Cache', 'popup-maker' ); } public function process() { $stats = \PopupMaker\cacheit( 'get_cacheit_counts' ); if ( empty( $stats ) ) { return; } $this->data = [ 'stats' => $stats, 'total_hits' => $stats['hits'], 'total_misses' => $stats['misses'], 'total_calls' => $stats['hits'] + $stats['misses'], 'invalidations' => $stats['invalidations'], 'by_function' => $stats['by_fn'] ?? [], 'by_args' => $stats['by_args'] ?? [], ]; if ( $this->data['total_calls'] > 0 ) { $this->data['hit_percentage'] = round( ( $this->data['total_hits'] / $this->data['total_calls'] ) * 100, 1 ); } else { $this->data['hit_percentage'] = 0; } $this->data['counts'] = \PopupMaker\cacheit( 'get_cacheit_counts' ); $this->data['value_history'] = \PopupMaker\get_value_history(); } } classes/index.php 0000644 00000000164 15174671772 0010043 0 ustar 00 <?php /** * Silence is golden. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ classes/RestAPI/ObjectSearch.php 0000644 00000023673 15174671772 0012551 0 ustar 00 <?php /** * Object Search REST API Controller * * @copyright (c) 2024, Code Atlantic LLC. * @package PopupMaker\RestAPI */ namespace PopupMaker\RestAPI; defined( 'ABSPATH' ) || exit; use WP_REST_Controller; use WP_REST_Server; use WP_REST_Response; use WP_Error; use WP_REST_Request; /** * Object Search REST API Controller * * Provides REST API equivalent of the AJAX object search functionality. * Supports post types, taxonomies, users, and custom object types via filters. */ class ObjectSearch extends WP_REST_Controller { /** * API namespace. * * @var string */ protected $namespace = 'popup-maker/v2'; /** * REST base. * * @var string */ protected $rest_base = 'object-search'; /** * Register routes. */ public function register_routes() { register_rest_route( $this->namespace, '/' . $this->rest_base, [ [ 'methods' => WP_REST_Server::READABLE, 'callback' => [ $this, 'search_objects' ], 'permission_callback' => [ $this, 'permissions_check' ], 'args' => $this->get_search_args(), ], ] ); } /** * Check if user has permission to search objects. * * @return bool|WP_Error True if the request has permission; WP_Error object otherwise. */ public function permissions_check() { if ( ! current_user_can( 'edit_posts' ) ) { return new WP_Error( 'rest_forbidden', __( 'You do not have permission to search objects.', 'popup-maker' ), [ 'status' => 403 ] ); } return true; } /** * Search objects (posts, taxonomies, users, custom types). * * @param WP_REST_Request $request Full data about the request. * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. */ public function search_objects( $request ) { $results = [ 'items' => [], 'total_count' => 0, ]; $object_type = $request->get_param( 'object_type' ); $included = $request->get_param( 'include' ) ?: []; $excluded = $request->get_param( 'exclude' ) ?: []; if ( ! empty( $included ) ) { $excluded = array_merge( $included, $excluded ); } /** * Filter object search results for unknown or custom object types. * * Allows plugins to handle custom object types that aren't natively supported. * * @param array{items:array,total_count:int}|null $results Current search results with 'items' and 'total_count'. * @param string $object_type The object type being searched. * @param array $request The full request parameters. * * @return array{items:array,total_count:int}|null $results */ $pre_results = apply_filters( 'popup_maker/pre_object_search', null, $object_type, $request->get_params() ); if ( null !== $pre_results ) { $results = $pre_results; } else { switch ( $object_type ) { case 'post_type': $post_type = $request->get_param( 'object_key' ) ?: 'post'; $results = $this->search_post_type( $post_type, $request, $included, $excluded ); break; case 'taxonomy': $taxonomy = $request->get_param( 'object_key' ) ?: 'category'; $results = $this->search_taxonomy( $taxonomy, $request, $included, $excluded ); break; case 'user': if ( ! current_user_can( 'list_users' ) ) { return new WP_Error( 'rest_forbidden', __( 'You do not have permission to search users.', 'popup-maker' ), [ 'status' => 403 ] ); } $user_role = $request->get_param( 'object_key' ); $results = $this->search_users( $user_role, $request, $included, $excluded ); break; case 'custom_entity': // Custom entities are handled by the popup_maker/object_search filter below. // Leave results empty so filter handlers can populate them. break; } } /** * Filter object search results for unknown or custom object types. * * Allows plugins to handle custom object types that aren't natively supported. * This filter runs for both REST and AJAX requests - use popup_maker_object_search_unified() helper. * * @param array $results Current search results with 'items' and 'total_count'. * @param string $object_type The object type being searched. * @param array $request The full request parameters. */ $results = apply_filters( 'popup_maker/object_search', $results, $object_type, $request->get_params() ); // Take out keys which were only used to deduplicate. $results['items'] = array_values( $results['items'] ); return new WP_REST_Response( $results, 200 ); } /** * Search post type objects. * * @param string $post_type Post type to search. * @param WP_REST_Request $request Request object. * @param array $included IDs to include. * @param array $excluded IDs to exclude. * @return array Search results. */ private function search_post_type( $post_type, $request, $included, $excluded ) { $results = [ 'items' => [], 'total_count' => 0, ]; if ( ! empty( $included ) ) { $included_query = \PUM_Helpers::post_type_selectlist_query( $post_type, [ 'post__in' => $included, 'posts_per_page' => -1, ], true ); foreach ( $included_query['items'] as $id => $name ) { $results['items'][] = [ 'id' => $id, 'text' => "$name (ID: $id)", ]; } $results['total_count'] += (int) $included_query['total_count']; } $query = \PUM_Helpers::post_type_selectlist_query( $post_type, [ 's' => $request->get_param( 's' ), 'paged' => $request->get_param( 'paged' ), 'post__not_in' => $excluded, 'posts_per_page' => 10, ], true ); foreach ( $query['items'] as $id => $name ) { $results['items'][] = [ 'id' => $id, 'text' => "$name (ID: $id)", ]; } $results['total_count'] += (int) $query['total_count']; return $results; } /** * Search taxonomy objects. * * @param string $taxonomy Taxonomy to search. * @param WP_REST_Request $request Request object. * @param array $included IDs to include. * @param array $excluded IDs to exclude. * @return array Search results. */ private function search_taxonomy( $taxonomy, $request, $included, $excluded ) { $results = [ 'items' => [], 'total_count' => 0, ]; if ( ! empty( $included ) ) { $included_query = \PUM_Helpers::taxonomy_selectlist_query( $taxonomy, [ 'include' => $included, 'number' => 0, ], true ); foreach ( $included_query['items'] as $id => $name ) { $results['items'][] = [ 'id' => $id, 'text' => "$name (ID: $id)", ]; } $results['total_count'] += (int) $included_query['total_count']; } $query = \PUM_Helpers::taxonomy_selectlist_query( $taxonomy, [ 'search' => $request->get_param( 's' ), 'paged' => $request->get_param( 'paged' ), 'exclude' => $excluded, 'number' => 10, ], true ); foreach ( $query['items'] as $id => $name ) { $results['items'][] = [ 'id' => $id, 'text' => "$name (ID: $id)", ]; } $results['total_count'] += (int) $query['total_count']; return $results; } /** * Search user objects. * * @param string|null $user_role User role to filter by. * @param WP_REST_Request $request Request object. * @param array $included IDs to include. * @param array $excluded IDs to exclude. * @return array Search results. */ private function search_users( $user_role, $request, $included, $excluded ) { $results = [ 'items' => [], 'total_count' => 0, ]; if ( ! empty( $included ) ) { $included_query = \PUM_Helpers::user_selectlist_query( [ 'role' => $user_role, 'include' => $included, 'number' => -1, ], true ); foreach ( $included_query['items'] as $id => $name ) { $results['items'][] = [ 'id' => $id, 'text' => "$name (ID: $id)", ]; } $results['total_count'] += (int) $included_query['total_count']; } $search = $request->get_param( 's' ); $query = \PUM_Helpers::user_selectlist_query( [ 'role' => $user_role, 'search' => $search ? '*' . $search . '*' : null, 'paged' => $request->get_param( 'paged' ), 'exclude' => $excluded, 'number' => 10, ], true ); foreach ( $query['items'] as $id => $name ) { $results['items'][] = [ 'id' => $id, 'text' => "$name (ID: $id)", ]; } $results['total_count'] += (int) $query['total_count']; return $results; } /** * Get arguments for search endpoint. * * @return array Endpoint arguments. */ protected function get_search_args() { return [ 'object_type' => [ 'type' => 'string', 'description' => __( 'Type of object to search (post_type, taxonomy, user, custom_entity)', 'popup-maker' ), 'required' => true, 'enum' => [ 'post_type', 'taxonomy', 'user', 'custom_entity' ], ], 'object_key' => [ 'type' => 'string', 'description' => __( 'Specific object key (post type name, taxonomy name, user role)', 'popup-maker' ), 'required' => false, ], 's' => [ 'type' => 'string', 'description' => __( 'Search term', 'popup-maker' ), 'required' => false, ], 'include' => [ 'type' => 'array', 'description' => __( 'IDs to include in results (integers for standard objects, strings for custom entities)', 'popup-maker' ), 'required' => false, 'items' => [ 'type' => [ 'integer', 'string' ], ], ], 'exclude' => [ 'type' => 'array', 'description' => __( 'IDs to exclude from results (integers for standard objects, strings for custom entities)', 'popup-maker' ), 'required' => false, 'items' => [ 'type' => [ 'integer', 'string' ], ], ], 'paged' => [ 'type' => 'integer', 'description' => __( 'Page number for pagination', 'popup-maker' ), 'required' => false, 'minimum' => 1, ], ]; } } classes/RestAPI/License.php 0000644 00000046203 15174671772 0011571 0 ustar 00 <?php /** * REST API License Controller. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\RestAPI; use WP_REST_Controller; use WP_REST_Server; use WP_REST_Request; use WP_REST_Response; use WP_Error; defined( 'ABSPATH' ) || exit; /** * License REST API Controller. * * Handles license management endpoints for Pro upgrade workflow. * * @since 1.21.0 */ class License extends WP_REST_Controller { /** * Endpoint namespace. * * @var string */ protected $namespace = 'popup-maker/v2'; /** * Route base. * * @var string */ protected $rest_base = 'license'; /** * Register the routes for the license endpoints. * * @return void */ public function register_routes() { // GET /license - Get license information. register_rest_route( $this->namespace, '/' . $this->rest_base, [ [ 'methods' => WP_REST_Server::READABLE, 'callback' => [ $this, 'get_license' ], 'permission_callback' => [ $this, 'get_license_permissions_check' ], 'args' => [], ], 'schema' => [ $this, 'get_license_schema' ], ] ); // POST /license/activate - Activate license key. register_rest_route( $this->namespace, '/' . $this->rest_base . '/activate', [ [ 'methods' => WP_REST_Server::CREATABLE, 'callback' => [ $this, 'activate_license' ], 'permission_callback' => [ $this, 'license_action_permissions_check' ], 'args' => $this->get_activate_license_args(), ], ] ); // POST /license/activate-pro - Activate license and install Pro. register_rest_route( $this->namespace, '/' . $this->rest_base . '/activate-pro', [ [ 'methods' => WP_REST_Server::CREATABLE, 'callback' => [ $this, 'activate_license_pro' ], 'permission_callback' => [ $this, 'license_action_permissions_check' ], 'args' => $this->get_activate_license_args(), ], ] ); // GET /license/connect-info - Get connection info for popup upgrade flow. register_rest_route( $this->namespace, '/' . $this->rest_base . '/connect-info', [ [ 'methods' => WP_REST_Server::READABLE, 'callback' => [ $this, 'get_connect_info' ], 'permission_callback' => [ $this, 'license_action_permissions_check' ], 'args' => $this->get_connect_info_args(), ], ] ); // POST /license/activate-plugin - Activate Pro plugin if installed. register_rest_route( $this->namespace, '/' . $this->rest_base . '/activate-plugin', [ [ 'methods' => WP_REST_Server::CREATABLE, 'callback' => [ $this, 'activate_plugin' ], 'permission_callback' => [ $this, 'license_action_permissions_check' ], 'args' => [], ], ] ); // POST /license/deactivate - Deactivate license. register_rest_route( $this->namespace, '/' . $this->rest_base . '/deactivate', [ [ 'methods' => WP_REST_Server::CREATABLE, 'callback' => [ $this, 'deactivate_license' ], 'permission_callback' => [ $this, 'license_action_permissions_check' ], 'args' => [], ], ] ); } /** * Get license information. * * @param WP_REST_Request $request Full data about the request. * @return WP_REST_Response|WP_Error Response object or WP_Error on failure. */ public function get_license( $request ) { $license_service = \PopupMaker\plugin( 'license' ); $response_data = [ 'license_key' => $license_service->get_license_key(), 'status' => $license_service->get_license_status(), 'status_data' => $license_service->get_license_status_data(), 'is_active' => $license_service->is_license_active(), 'is_pro_installed' => \PopupMaker\plugin()->is_pro_installed(), 'is_pro_active' => \PopupMaker\plugin()->is_pro_active(), 'has_extensions' => \PopupMaker\plugin()->has_extensions(), 'has_pro_plus_addons' => \PopupMaker\plugin()->has_pro_plus_addons(), 'can_upgrade' => false, 'connect_info' => null, ]; // Add upgrade information if license is valid but Pro isn't installed. if ( $license_service->is_license_active() && ! \PopupMaker\plugin()->is_pro_installed() ) { $response_data['can_upgrade'] = true; $response_data['connect_info'] = $license_service->generate_connect_info(); } return new WP_REST_Response( $response_data, 200 ); } /** * Activate license key. * * @param WP_REST_Request $request Full data about the request. * @return WP_REST_Response|WP_Error Response object or WP_Error on failure. */ public function activate_license( $request ) { $license_key = $request->get_param( 'license_key' ); $license_service = \PopupMaker\plugin( 'license' ); try { $activated = $license_service->maybe_activate_license( $license_key ); if ( ! $activated ) { $status_data = $license_service->get_license_status_data(); $error_message = $license_service->get_license_error_message( $status_data ); return new WP_Error( 'license_activation_failed', $error_message ?: __( 'License activation failed.', 'popup-maker' ), [ 'status' => 400 ] ); } $response_data = [ 'success' => true, 'message' => __( 'License activated successfully.', 'popup-maker' ), 'license_key' => $license_service->get_license_key(), 'status' => $license_service->get_license_status(), 'status_data' => $license_service->get_license_status_data(), 'is_active' => $license_service->is_license_active(), 'is_pro_installed' => \PopupMaker\plugin()->is_pro_installed(), 'is_pro_active' => \PopupMaker\plugin()->is_pro_active(), ]; return new WP_REST_Response( $response_data, 200 ); } catch ( \Exception $e ) { return new WP_Error( 'license_activation_error', $e->getMessage(), [ 'status' => 500 ] ); } } /** * Activate license key and provide Pro installation info. * * @param WP_REST_Request $request Full data about the request. * @return WP_REST_Response|WP_Error Response object or WP_Error on failure. */ public function activate_license_pro( $request ) { $license_key = $request->get_param( 'license_key' ); $license_service = \PopupMaker\plugin( 'license' ); try { $activated = $license_service->maybe_activate_license( $license_key ); if ( ! $activated ) { $status_data = $license_service->get_license_status_data(); $error_message = $license_service->get_license_error_message( $status_data ); return new WP_Error( 'license_activation_failed', $error_message ?: __( 'License activation failed.', 'popup-maker' ), [ 'status' => 400 ] ); } $response_data = [ 'success' => true, 'message' => __( 'License activated successfully.', 'popup-maker' ), 'license_key' => $license_service->get_license_key(), 'status' => $license_service->get_license_status(), 'status_data' => $license_service->get_license_status_data(), 'is_active' => $license_service->is_license_active(), 'is_pro_installed' => \PopupMaker\plugin()->is_pro_installed(), 'is_pro_active' => \PopupMaker\plugin()->is_pro_active(), 'can_upgrade' => false, 'connect_info' => null, ]; // Add upgrade information if Pro isn't installed. if ( ! \PopupMaker\plugin()->is_pro_installed() ) { $response_data['can_upgrade'] = true; $response_data['connect_info'] = $license_service->generate_connect_info(); $response_data['message'] = __( 'License activated successfully. Ready for Pro upgrade.', 'popup-maker' ); } return new WP_REST_Response( $response_data, 200 ); } catch ( \Exception $e ) { return new WP_Error( 'license_activation_error', $e->getMessage(), [ 'status' => 500 ] ); } } /** * Deactivate license. * * @param WP_REST_Request $request Full data about the request. * @return WP_REST_Response|WP_Error Response object or WP_Error on failure. */ public function deactivate_license( $request ) { $license_service = \PopupMaker\plugin( 'license' ); try { $deactivated = $license_service->deactivate_license(); if ( ! $deactivated ) { return new WP_Error( 'license_deactivation_failed', __( 'License deactivation failed.', 'popup-maker' ), [ 'status' => 400 ] ); } $response_data = [ 'success' => true, 'message' => __( 'License deactivated successfully.', 'popup-maker' ), 'license_key' => $license_service->get_license_key(), 'status' => $license_service->get_license_status(), 'status_data' => $license_service->get_license_status_data(), 'is_active' => $license_service->is_license_active(), 'is_pro_installed' => \PopupMaker\plugin()->is_pro_installed(), 'is_pro_active' => \PopupMaker\plugin()->is_pro_active(), ]; return new WP_REST_Response( $response_data, 200 ); } catch ( \Exception $e ) { return new WP_Error( 'license_deactivation_error', $e->getMessage(), [ 'status' => 500 ] ); } } /** * Check if a given request has access to get license information. * * @param WP_REST_Request $request Full data about the request. * @return true|WP_Error True if the request has read access, WP_Error object otherwise. */ public function get_license_permissions_check( $request ) { if ( ! current_user_can( 'manage_options' ) ) { return new WP_Error( 'rest_forbidden', __( 'Sorry, you are not allowed to view license information.', 'popup-maker' ), [ 'status' => rest_authorization_required_code() ] ); } return true; } /** * Check if a given request has access to perform license actions. * * @param WP_REST_Request $request Full data about the request. * @return true|WP_Error True if the request has access, WP_Error object otherwise. */ public function license_action_permissions_check( $request ) { if ( ! current_user_can( 'manage_options' ) ) { return new WP_Error( 'rest_forbidden', __( 'Sorry, you are not allowed to manage licenses.', 'popup-maker' ), [ 'status' => rest_authorization_required_code() ] ); } return true; } /** * Get the arguments for license activation endpoints. * * @return array<string,array<string,mixed>> */ public function get_activate_license_args() { return [ 'license_key' => [ 'description' => __( 'License key to activate.', 'popup-maker' ), 'type' => 'string', 'required' => true, 'sanitize_callback' => 'sanitize_text_field', 'validate_callback' => function ( $param ) { if ( empty( $param ) || ! is_string( $param ) ) { return new WP_Error( 'invalid_license_key', __( 'License key is required and must be a valid string.', 'popup-maker' ), [ 'status' => 400 ] ); } return true; }, ], ]; } /** * Get the schema for license endpoints. * * @return array<string,mixed> */ public function get_license_schema() { return [ '$schema' => 'http://json-schema.org/draft-04/schema#', 'title' => 'license', 'type' => 'object', 'properties' => [ 'license_key' => [ 'description' => __( 'The license key.', 'popup-maker' ), 'type' => 'string', 'readonly' => true, ], 'status' => [ 'description' => __( 'The license status.', 'popup-maker' ), 'type' => 'string', 'enum' => [ 'empty', 'inactive', 'expired', 'error', 'valid' ], 'readonly' => true, ], 'status_data' => [ 'description' => __( 'Detailed license status data.', 'popup-maker' ), 'type' => [ 'object', 'null' ], 'readonly' => true, ], 'is_active' => [ 'description' => __( 'Whether the license is active.', 'popup-maker' ), 'type' => 'boolean', 'readonly' => true, ], 'is_pro_installed' => [ 'description' => __( 'Whether Pro is installed.', 'popup-maker' ), 'type' => 'boolean', 'readonly' => true, ], 'is_pro_active' => [ 'description' => __( 'Whether Pro is active.', 'popup-maker' ), 'type' => 'boolean', 'readonly' => true, ], 'can_upgrade' => [ 'description' => __( 'Whether Pro upgrade is available.', 'popup-maker' ), 'type' => 'boolean', 'readonly' => true, ], 'connect_info' => [ 'description' => __( 'Connection information for Pro upgrade.', 'popup-maker' ), 'type' => [ 'object', 'null' ], 'readonly' => true, ], ], ]; } /** * Get connection info for upgrade flow. * * @param WP_REST_Request $request Full details about the request. * @return WP_REST_Response|WP_Error Response object or WP_Error on failure. */ public function get_connect_info( $request ) { $license_key = sanitize_text_field( $request->get_param( 'license_key' ) ); $context = $request->get_param( 'context' ); // Parse context if provided as JSON string. if ( is_string( $context ) ) { $context = json_decode( $context, true ); if ( null === $context && JSON_ERROR_NONE !== json_last_error() ) { return new WP_Error( 'invalid_context_json', __( 'Invalid JSON provided for context parameter.', 'popup-maker' ), [ 'status' => 400 ] ); } } if ( ! is_array( $context ) ) { $context = []; } // CRITICAL FIX: Use stored/activated license key instead of form field // This ensures we send the same license key that shows as "valid" locally $license_service = \PopupMaker\plugin( 'license' ); $stored_license_key = $license_service->get_license_key(); // Prefer stored license key over form field, use form field only as fallback $final_license_key = ! empty( $stored_license_key ) ? $stored_license_key : $license_key; try { // Use the Connect service to generate proper connection info. $connect_service = \PopupMaker\plugin( 'connect' ); $connect_info = $connect_service->get_connect_info( $final_license_key ); // Parse the URL to extract individual parameters for frontend use. $parsed_url = wp_parse_url( $connect_info['url'] ); $query_params = []; if ( isset( $parsed_url['query'] ) ) { parse_str( $parsed_url['query'], $query_params ); } // Return individual parameters that the frontend can use. $response_data = [ 'success' => true, 'data' => array_merge( $query_params, [ 'product' => $context['product'] ?? 'popup-maker-pro', 'source' => $context['source'] ?? 'rest-api', 'campaign' => $context['campaign'] ?? 'upgrade-flow', 'base_url' => $parsed_url['scheme'] . '://' . $parsed_url['host'] . ( $parsed_url['path'] ?? '' ), 'full_url' => $connect_info['url'], 'back_url' => $connect_info['back_url'], ]), ]; return new WP_REST_Response( $response_data, 200 ); } catch ( \Exception $e ) { return new WP_Error( 'connect_info_error', $e->getMessage(), [ 'status' => 500 ] ); } } /** * Get arguments for connect-info endpoint. * * @return array<string,array<string,mixed>> */ public function get_connect_info_args() { return [ 'license_key' => [ 'description' => __( 'License key for connection.', 'popup-maker' ), 'type' => 'string', 'required' => false, 'validate_callback' => function ( $param ) { return is_string( $param ) && strlen( $param ) <= 100; }, 'sanitize_callback' => 'sanitize_text_field', ], 'context' => [ 'description' => __( 'Additional context information.', 'popup-maker' ), 'type' => [ 'string', 'object' ], 'required' => false, 'validate_callback' => function ( $param ) { if ( is_string( $param ) ) { $decoded = json_decode( $param, true ); return json_last_error() === JSON_ERROR_NONE; } return is_array( $param ); }, ], ]; } /** * Activate Pro plugin if installed but not active. * * @param WP_REST_Request $request Full details about the request. * @return WP_REST_Response|WP_Error Response object or WP_Error on failure. */ public function activate_plugin( $request ) { // Check if Pro plugin is installed. if ( ! \PopupMaker\plugin()->is_pro_installed() ) { return new WP_Error( 'pro_not_installed', __( 'Pro plugin is not installed.', 'popup-maker' ), [ 'status' => 404 ] ); } // Check if Pro plugin is already active. if ( \PopupMaker\plugin()->is_pro_active() ) { return new WP_Error( 'pro_already_active', __( 'Pro plugin is already active.', 'popup-maker' ), [ 'status' => 400 ] ); } // Activate the Pro plugin. if ( ! function_exists( 'activate_plugin' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } $plugin_path = 'popup-maker-pro/popup-maker-pro.php'; $result = activate_plugin( $plugin_path, '', false, true ); if ( is_wp_error( $result ) ) { return new WP_Error( 'activation_failed', sprintf( /* translators: %s - Error message */ __( 'Something went wrong, the Pro plugin could not be activated: %s', 'popup-maker' ), $result->get_error_message() ), [ 'status' => 500 ] ); } // Return success response. return new WP_REST_Response( [ 'success' => true, 'message' => __( 'Pro plugin activated successfully.', 'popup-maker' ), 'is_pro_installed' => \PopupMaker\plugin()->is_pro_installed(), 'is_pro_active' => \PopupMaker\plugin()->is_pro_active(), ], 200 ); } /** * Handle webhook request from upgrade server. * * @param WP_REST_Request $request Full details about the request. * @return WP_REST_Response|WP_Error Response object or WP_Error on failure. */ public function handle_webhook( $request ) { try { // Use Connect service to handle the webhook processing. $connect_service = \PopupMaker\plugin( 'connect' ); // Verify the webhook request is valid and secure. $verification = $connect_service->verify_webhook_request( $request ); if ( ! $verification['valid'] ) { return new WP_Error( 'webhook_verification_failed', $verification['error'] ?: __( 'Webhook verification failed.', 'popup-maker' ), [ 'status' => 403 ] ); } // Process the webhook - this will handle the Pro installation. $connect_service->process_webhook(); // If we get here, the webhook was processed successfully. return new WP_REST_Response( [ 'success' => true, 'message' => __( 'Webhook processed successfully.', 'popup-maker' ), ], 200 ); } catch ( \Exception $e ) { return new WP_Error( 'webhook_processing_error', $e->getMessage(), [ 'status' => 500 ] ); } } /** * Check permissions for webhook endpoint. * * @param WP_REST_Request $request Full details about the request. * @return true|WP_Error True if allowed, WP_Error otherwise. */ public function webhook_permissions_check( $request ) { // Webhook requests come from external upgrade server with special authentication. // The Connect service handles its own authentication via tokens and signatures. return true; } } classes/RestAPI/Connect.php 0000644 00000047024 15174671772 0011602 0 ustar 00 <?php /** * REST API Webhook Controller. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\RestAPI; use WP_REST_Controller; use WP_REST_Server; use WP_REST_Request; use WP_REST_Response; use WP_Error; use function PopupMaker\plugin; defined( 'ABSPATH' ) || exit; /** * Connect REST API Controller. * * Handles secure connection endpoints for Pro installation workflow. * Implements multi-layer security with authentication, signature verification, * and referrer validation. * * @since 1.21.0 */ class Connect extends WP_REST_Controller { /** * Endpoint namespace. * * @var string */ protected $namespace = 'popup-maker/v2'; /** * Route base. * * @var string */ protected $rest_base = 'connect'; /** * Connect service instance. * * @var \PopupMaker\Services\Connect */ private $connect_service; /** * Constructor. */ public function __construct() { $this->connect_service = plugin( 'connect' ); } /** * Register the routes for the connection endpoints. * * @return void */ public function register_routes() { // POST /connect/install - Install Pro plugin via secure connection. register_rest_route( $this->namespace, '/' . $this->rest_base . '/install', [ [ 'methods' => WP_REST_Server::CREATABLE, 'callback' => [ $this, 'install_webhook' ], 'permission_callback' => [ $this, 'webhook_permissions_check' ], 'args' => $this->get_install_webhook_args(), ], ] ); // POST /connect/verify - Verify connection for testing. register_rest_route( $this->namespace, '/' . $this->rest_base . '/verify', [ [ 'methods' => WP_REST_Server::CREATABLE, 'callback' => [ $this, 'verify_webhook' ], 'permission_callback' => [ $this, 'webhook_permissions_check' ], 'args' => [], ], ] ); } /** * Handle secure install webhook. * * This endpoint receives secure requests from the upgrade server to install Pro. * Multiple security layers are enforced: * 1. User agent verification * 2. Referrer domain validation (production only) * 3. Bearer token authentication * 4. HMAC signature verification * 5. License validation * * @param WP_REST_Request $request Full data about the request. * @return WP_REST_Response|WP_Error Response object or WP_Error on failure. */ public function install_webhook( $request ) { try { // Validate the connection using multi-layer security. $this->validate_secure_connection(); // Check if this is a verification request $json_data = json_decode( file_get_contents( 'php://input' ), true ); if ( is_array( $json_data ) && isset( $json_data['action'] ) && 'verify' === $json_data['action'] ) { $this->connect_service->debug_log( 'Processing webhook verification request', 'DEBUG' ); return new WP_REST_Response( [ 'success' => true, 'message' => __( 'Webhook verification successful.', 'popup-maker' ), 'verified' => true, ], 200 ); } // Get webhook installation arguments. $args = $this->get_webhook_install_args( $request ); // Validate license is active before proceeding. if ( ! plugin( 'license' )->is_license_active() ) { $this->connect_service->debug_log( 'License not active for webhook install', 'ERROR' ); return new WP_Error( 'license_inactive', __( 'License must be active to install Pro.', 'popup-maker' ), [ 'status' => 403 ] ); } // Install the plugin based on type. switch ( $args['type'] ) { case 'plugin': return $this->install_plugin_via_webhook( $args ); default: return new WP_Error( 'invalid_install_type', __( 'Invalid installation type.', 'popup-maker' ), [ 'status' => 400 ] ); } } catch ( \Exception $e ) { $this->connect_service->debug_log( 'Webhook install failed: ' . $e->getMessage(), 'ERROR' ); return new WP_Error( 'webhook_install_failed', $e->getMessage(), [ 'status' => 500 ] ); } finally { // Only clean up token for actual installation, not verification $json_data = json_decode( file_get_contents( 'php://input' ), true ); $is_verification = is_array( $json_data ) && isset( $json_data['action'] ) && 'verify' === $json_data['action']; if ( ! $is_verification && ! $this->connect_service->debug_mode_enabled() ) { $this->connect_service->debug_log( 'Cleaning up access token after successful installation', 'DEBUG' ); $this->clean_up_access_token(); } elseif ( $is_verification ) { $this->connect_service->debug_log( 'Skipping token cleanup for verification request - token preserved for installation', 'DEBUG' ); } } } /** * Verify webhook connection for testing. * * @param WP_REST_Request $request Full data about the request. * @return WP_REST_Response|WP_Error Response object or WP_Error on failure. */ public function verify_webhook( $request ) { try { // Validate the connection using multi-layer security. $this->validate_secure_connection(); return new WP_REST_Response( [ 'success' => true, 'message' => __( 'Webhook connection verified successfully.', 'popup-maker' ), ], 200 ); } catch ( \Exception $e ) { $this->connect_service->debug_log( 'Webhook verification failed: ' . $e->getMessage(), 'ERROR' ); return new WP_Error( 'webhook_verify_failed', $e->getMessage(), [ 'status' => 403 ] ); } } /** * Validate secure connection with multi-layer security. * * @throws \Exception If validation fails. * @return void */ private function validate_secure_connection() { // Layer 1: User Agent Verification. $this->verify_user_agent(); // Layer 2: Referrer Domain Validation (production only). if ( 'production' === wp_get_environment_type() ) { $this->verify_referrer(); } // Layer 3: Bearer Token Authentication. $this->verify_authentication(); // Layer 4: HMAC Signature Verification. $this->verify_signature(); $this->connect_service->debug_log( 'All security layers validated successfully', 'DEBUG' ); } /** * Verify user agent matches expected value. * * @throws \Exception If user agent is invalid. * @return void */ private function verify_user_agent() { $user_agent = isset( $_SERVER['HTTP_USER_AGENT'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) ) : ''; $this->connect_service->debug_log( 'Received User Agent: ' . $user_agent, 'DEBUG' ); $this->connect_service->debug_log( 'Expected User Agent pattern: PopupMakerUpgrader/*', 'DEBUG' ); // Check if User-Agent starts with "PopupMakerUpgrader/" (version-flexible) if ( ! empty( $user_agent ) && ! preg_match( '/^PopupMakerUpgrader\/\d+\.\d+\.\d+$/', $user_agent ) ) { throw new \Exception( // translators: %s is the user agent. esc_html( sprintf( __( 'Invalid user agent: %s', 'popup-maker' ), $user_agent ) ) ); } $this->connect_service->debug_log( 'User agent validation passed', 'DEBUG' ); } /** * Verify referrer domain is allowed. * * @throws \Exception If referrer is invalid. * @return void */ private function verify_referrer() { // Upgrade server sends X-Sending-Domain header $referer = isset( $_SERVER['HTTP_X_SENDING_DOMAIN'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_SENDING_DOMAIN'] ) ) : ''; $this->connect_service->debug_log( 'Referrer validation - X-Sending-Domain: ' . $referer, 'DEBUG' ); if ( empty( $referer ) ) { $this->connect_service->debug_log( 'Missing X-Sending-Domain header', 'ERROR' ); throw new \Exception( esc_html__( 'Missing referrer domain.', 'popup-maker' ) ); } // Direct comparison - upgrade server sends the domain directly if ( 'upgrade.wppopupmaker.com' !== $referer ) { $this->connect_service->debug_log( 'Invalid referrer domain: ' . $referer, 'ERROR' ); throw new \Exception( // translators: %s is the referrer domain. esc_html( sprintf( __( 'Referrer domain not allowed: %s', 'popup-maker' ), $referer ) ) ); } $this->connect_service->debug_log( 'Referrer validation passed', 'DEBUG' ); } /** * Verify bearer token authentication. * * @throws \Exception If authentication fails. * @return void */ private function verify_authentication() { // Identify request type for debugging $json_data = json_decode( file_get_contents( 'php://input' ), true ); $request_type = 'unknown'; if ( is_array( $json_data ) ) { if ( isset( $json_data['action'] ) && 'verify' === $json_data['action'] ) { $request_type = 'verification'; } elseif ( isset( $json_data['download_url'] ) || isset( $json_data['file'] ) ) { $request_type = 'installation'; } } // Add timing debug to track token lifecycle $this->connect_service->debug_log( "Authentication verification for {$request_type} request started at: " . current_time( 'mysql' ), 'DEBUG' ); $stored_token = $this->connect_service->get_access_token(); $request_token = $this->connect_service->get_request_token(); // Validate authentication tokens. if ( ! $stored_token || ! $request_token ) { throw new \Exception( esc_html__( 'Missing authentication token.', 'popup-maker' ) ); } if ( ! hash_equals( $stored_token, $request_token ) ) { throw new \Exception( esc_html__( 'Invalid authentication token.', 'popup-maker' ) ); } $this->connect_service->debug_log( 'Authentication verification passed', 'DEBUG' ); } /** * Verify HMAC signature. * * @throws \Exception If signature verification fails. * @return void */ private function verify_signature() { // Try both possible signature header names for compatibility $signature_header = ''; if ( isset( $_SERVER['HTTP_X_CONTENTCONTROL_SIGNATURE'] ) ) { $signature_header = sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_CONTENTCONTROL_SIGNATURE'] ) ); } elseif ( isset( $_SERVER['HTTP_X_POPUPMAKER_SIGNATURE'] ) ) { $signature_header = sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_POPUPMAKER_SIGNATURE'] ) ); } $this->connect_service->debug_log( 'Signature header: ' . substr( $signature_header, 0, 20 ) . '...', 'DEBUG' ); if ( empty( $signature_header ) ) { $this->connect_service->debug_log( 'No signature header found - signature verification skipped', 'DEBUG' ); // Signature is optional for some endpoints, but recommended. return; } $signature = sanitize_text_field( wp_unslash( $signature_header ) ); $token = $this->connect_service->get_access_token(); // Get the request data for signature calculation $request_data = json_decode( file_get_contents( 'php://input' ), true ); // Fallback to $_POST if JSON body is empty if ( empty( $request_data ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing $request_data = $_POST; $this->connect_service->debug_log( 'Using $_POST for signature verification', 'DEBUG' ); } else { $this->connect_service->debug_log( 'Using JSON body for signature verification', 'DEBUG' ); } // Handle empty request data - upgrade server now sends {"action": "verify"} for verification calls if ( empty( $request_data ) ) { // For POST requests with empty body, use empty array for signature verification $request_data = []; $this->connect_service->debug_log( 'Using empty array for signature verification (fallback)', 'DEBUG' ); } $this->connect_service->debug_log( 'Request data for signature: ' . wp_json_encode( $request_data ), 'DEBUG' ); $expected_signature = $this->connect_service->generate_hash( $request_data, $token ); $this->connect_service->debug_log( 'Expected signature: ' . substr( $expected_signature, 0, 20 ) . '...', 'DEBUG' ); $this->connect_service->debug_log( 'Received signature: ' . substr( $signature, 0, 20 ) . '...', 'DEBUG' ); if ( ! hash_equals( $expected_signature, $signature ) ) { $this->connect_service->debug_log( "Signature mismatch:\nReceived: " . $signature . "\nExpected: " . $expected_signature . "\nData: " . wp_json_encode( $request_data ), 'ERROR' ); throw new \Exception( esc_html__( 'Invalid request signature.', 'popup-maker' ) ); } $this->connect_service->debug_log( 'Signature verification passed', 'DEBUG' ); } /** * Get webhook installation arguments from request. * * @param WP_REST_Request $request The request object. * @return array<string,mixed> Validated installation arguments. * @throws \Exception If required arguments are missing or invalid. */ private function get_webhook_install_args( $request ) { // Try multiple parameter names and sources to handle different formats $args = [ // Map upgrade server parameter names to our internal names 'file' => $this->get_param_from_multiple_sources( $request, 'download_url' ) ?: $this->get_param_from_multiple_sources( $request, 'file' ), 'type' => $this->get_param_from_multiple_sources( $request, 'type' ) ?: 'plugin', 'slug' => $this->get_param_from_multiple_sources( $request, 'plugin_slug' ) ?: $this->get_param_from_multiple_sources( $request, 'slug' ), 'force' => (bool) ( $this->get_param_from_multiple_sources( $request, 'force_update' ) ?: $this->get_param_from_multiple_sources( $request, 'force' ) ), ]; $this->connect_service->debug_log( 'Webhook install args: ' . wp_json_encode( $args, JSON_PRETTY_PRINT ), 'DEBUG' ); // Validate required parameters. if ( empty( $args['file'] ) || empty( $args['slug'] ) ) { $this->connect_service->debug_log( 'Missing required parameters - file: ' . ( $args['file'] ?: 'MISSING' ) . ', slug: ' . ( $args['slug'] ?: 'MISSING' ), 'ERROR' ); throw new \Exception( esc_html__( 'Missing required installation parameters.', 'popup-maker' ) ); } // Validate installation type. if ( ! in_array( $args['type'], [ 'plugin', 'theme' ], true ) ) { throw new \Exception( esc_html__( 'Invalid installation type.', 'popup-maker' ) ); } return $args; } /** * Get parameter from multiple sources (REST params, JSON body, $_REQUEST). * * @param WP_REST_Request $request The request object. * @param string $param_name Parameter name. * @return mixed Parameter value or null if not found. */ private function get_param_from_multiple_sources( $request, $param_name ) { // First try REST API parameters. $value = $request->get_param( $param_name ); if ( ! empty( $value ) ) { return $value; } // Try JSON body. $json_data = json_decode( file_get_contents( 'php://input' ), true ); if ( is_array( $json_data ) && isset( $json_data[ $param_name ] ) ) { return $json_data[ $param_name ]; } // Fallback to $_REQUEST. // phpcs:disable WordPress.Security.NonceVerification.Recommended if ( isset( $_REQUEST[ $param_name ] ) ) { return sanitize_text_field( wp_unslash( $_REQUEST[ $param_name ] ) ); } // phpcs:enable WordPress.Security.NonceVerification.Recommended return null; } /** * Install plugin via webhook. * * @param array<string,mixed> $args Installation arguments. * @return WP_REST_Response|WP_Error Response object or WP_Error on failure. */ private function install_plugin_via_webhook( $args ) { $this->connect_service->debug_log( 'Installing plugin via webhook...', 'DEBUG' ); // Check if plugin is already active and not forcing reinstall. $plugin_file = "{$args['slug']}/{$args['slug']}.php"; if ( ! $args['force'] && is_plugin_active( $plugin_file ) ) { $this->connect_service->debug_log( 'Plugin already installed and active', 'DEBUG' ); return new WP_REST_Response( [ 'success' => true, 'message' => __( 'Plugin is already installed and activated.', 'popup-maker' ), ], 200 ); } // Load required WordPress files for plugin installation in REST context if ( ! function_exists( 'request_filesystem_credentials' ) ) { require_once ABSPATH . 'wp-admin/includes/file.php'; } if ( ! function_exists( 'get_plugin_data' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } if ( ! class_exists( 'WP_Upgrader' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; } if ( ! class_exists( 'Plugin_Upgrader' ) ) { require_once ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php'; } $this->connect_service->debug_log( 'Required WordPress files loaded for plugin installation', 'DEBUG' ); // Get the upgrader service and install the plugin. $upgrader = plugin( 'upgrader' ); $result = $upgrader->install_plugin( $args['file'] ); if ( is_wp_error( $result ) ) { $this->connect_service->debug_log( 'Plugin installation failed: ' . $result->get_error_message(), 'ERROR' ); return new WP_Error( 'plugin_install_failed', $result->get_error_message(), [ 'status' => 500 ] ); } $this->connect_service->debug_log( 'Plugin installed successfully', 'DEBUG' ); return new WP_REST_Response( [ 'success' => true, 'message' => __( 'Plugin installed and activated successfully.', 'popup-maker' ), ], 200 ); } /** * Clean up access token after use. * * @return void */ private function clean_up_access_token() { $this->connect_service->debug_log( 'Cleaning up access token', 'DEBUG' ); delete_site_transient( \PopupMaker\Services\Connect::TOKEN_OPTION_NAME ); } /** * Check webhook permissions. * * This is a specialized permission check that doesn't rely on WordPress user capabilities * since webhook requests come from external servers. Instead, it validates the secure * connection through the multi-layer security system. * * @param WP_REST_Request $request Full data about the request. * @return true|WP_Error True if authorized, WP_Error otherwise. */ public function webhook_permissions_check( $request ) { // For webhook endpoints, we don't check user capabilities since these are // server-to-server requests. The security is handled through the multi-layer // validation system in the actual endpoint methods. return true; } /** * Get the arguments for install webhook endpoint. * * @return array<string,array<string,mixed>> */ public function get_install_webhook_args() { return [ 'file' => [ 'description' => __( 'Download URL for the plugin file.', 'popup-maker' ), 'type' => 'string', 'required' => false, 'format' => 'uri', 'sanitize_callback' => 'esc_url_raw', 'validate_callback' => function ( $param ) { if ( empty( $param ) || ! filter_var( $param, FILTER_VALIDATE_URL ) ) { return new WP_Error( 'invalid_file_url', __( 'Valid file URL is required.', 'popup-maker' ), [ 'status' => 400 ] ); } return true; }, ], 'type' => [ 'description' => __( 'Type of installation (plugin or theme).', 'popup-maker' ), 'type' => 'string', 'default' => 'plugin', 'enum' => [ 'plugin', 'theme' ], 'sanitize_callback' => 'sanitize_text_field', ], 'slug' => [ 'description' => __( 'Plugin or theme slug.', 'popup-maker' ), 'type' => 'string', 'required' => false, 'sanitize_callback' => 'sanitize_text_field', 'validate_callback' => function ( $param ) { if ( empty( $param ) || ! preg_match( '/^[a-z0-9-_]+$/', $param ) ) { return new WP_Error( 'invalid_slug', __( 'Valid slug is required (letters, numbers, hyphens, and underscores only).', 'popup-maker' ), [ 'status' => 400 ] ); } return true; }, ], 'force' => [ 'description' => __( 'Force reinstallation even if already installed.', 'popup-maker' ), 'type' => 'boolean', 'default' => false, 'sanitize_callback' => function ( $param ) { return (bool) $param; }, ], ]; } } classes/Previews.php 0000644 00000007174 15174671772 0010550 0 ustar 00 <?php /** * Manage popup prevews. * * @package PopupMaker */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Previews * * This class sets up the necessary changes to allow admins & editors to preview popups on the front end. */ class PUM_Previews { /** * Initiator method. */ public static function init() { add_action( 'template_redirect', [ __CLASS__, 'force_load_preview' ] ); add_filter( 'pum_popup_is_loadable', [ __CLASS__, 'is_loadable' ], 1000, 2 ); add_filter( 'pum_popup_data_attr', [ __CLASS__, 'data_attr' ], 1000, 2 ); add_filter( 'pum_popup_get_public_settings', [ __CLASS__, 'get_public_settings' ], 1000, 2 ); } /** * Get popup id for previewing. * * @return false|int */ public static function get_popup_preview() { static $preview_id; if ( isset( $preview_id ) ) { return $preview_id; } $preview_id = false; if ( ! isset( $_GET['popup_preview'] ) || ! isset( $_GET['popup'] ) || // Overridden as wp_verify_nonce is already safe: https://github.com/WordPress/WordPress-Coding-Standards/issues/869#issuecomment-611782416. // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized ! wp_verify_nonce( $_GET['popup_preview'], 'popup-preview' ) ) { return false; } $popup_id = sanitize_text_field( wp_unslash( $_GET['popup'] ) ); if ( is_numeric( $_GET['popup'] ) && absint( $_GET['popup'] ) > 0 ) { $preview_id = absint( $_GET['popup'] ); } else { $post = get_page_by_path( $popup_id, OBJECT, 'popup' ); $preview_id = $post->ID; } return $preview_id; } /** * Sets the Popup Post Type public arg to true for content editors. * * This enables them to use the built in preview links. * * @param int $popup_id Popup ID. * * @return bool */ private static function is_previewing_popup( $popup_id = 0 ) { if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) { return false; } $preview_id = static::get_popup_preview(); return $popup_id === $preview_id && current_user_can( 'edit_post', $preview_id ); } /** * Force popup to load no matter its status if its supposed to be previewed. */ public static function force_load_preview() { $preview_id = static::get_popup_preview(); $popup = pum_get_popup( $preview_id ); if ( $popup->is_valid() && $preview_id === $popup->ID ) { PUM_Site_Popups::preload_popup( $popup ); } } /** * For popup previews this will force only the correct popup to load. * * @param bool $loadable Is popup loadable. * @param int $popup_id Popup ID. * * @return bool */ public static function is_loadable( $loadable, $popup_id ) { return self::is_previewing_popup( $popup_id ) ? true : $loadable; } /** * On popup previews add an admin debug trigger. * * @deprecated 1.16.10 Use get_public_settings instead. * * @param array $data_attr Array of popup data attributes. * @param int $popup_id Popup ID. * * @return mixed */ public static function data_attr( $data_attr, $popup_id ) { if ( ! self::is_previewing_popup( $popup_id ) ) { return $data_attr; } $data_attr['triggers'] = [ [ 'type' => 'admin_debug', ], ]; return $data_attr; } /** * On popup previews add an admin debug trigger. * * @param array $settings Array of settigs. * @param PUM_Model_Popup $popup Popup model object. * * @return array */ public static function get_public_settings( $settings, $popup ) { if ( ! self::is_previewing_popup( $popup->ID ) ) { return $settings; } $settings['triggers'] = [ [ 'type' => 'admin_debug', ], ]; return $settings; } } classes/Upgrades.php 0000644 00000000534 15174671772 0010507 0 ustar 00 <?php /** * Class for Upgrades * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Handles processing of data migration & upgrade routines. * * @since 1.7.0 * @deprecated 1.8.0 Use PUM_Utils_Upgrades instead. */ class PUM_Upgrades extends PUM_Utils_Upgrades {} classes/Cookies.php 0000644 00000017434 15174671772 0010340 0 ustar 00 <?php /** * Cookies class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Cookies */ class PUM_Cookies { /** * @var PUM_Cookies */ public static $instance; /** * @var bool */ public $preload_posts = false; /** * @var array */ public $cookies; /** * */ public static function init() { self::instance(); } /** * @return PUM_Cookies */ public static function instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); self::$instance->preload_posts = pum_is_popup_editor(); } return self::$instance; } /** * @param null $cookie * * @return mixed|null */ public function get_cookie( $cookie = null ) { $cookies = $this->get_cookies(); return isset( $cookies[ $cookie ] ) ? $cookies[ $cookie ] : null; } /** * @return array */ public function get_cookies() { if ( ! isset( $this->cookies ) ) { $this->register_cookies(); } return $this->cookies; } /** * Registers all known cookies when called. */ public function register_cookies() { $cookies = apply_filters( 'pum_registered_cookies', [ 'on_popup_close' => [ 'name' => __( 'On Popup Close', 'popup-maker' ), ], 'on_popup_open' => [ 'name' => __( 'On Popup Open', 'popup-maker' ), ], 'on_popup_conversion' => [ 'name' => __( 'On Popup Conversion', 'popup-maker' ), ], 'form_submission' => [ 'name' => __( 'Form Submission', 'popup-maker' ), 'fields' => array_merge_recursive( $this->cookie_fields(), [ 'general' => [ 'form' => [ 'type' => 'select', 'label' => __( 'Form', 'popup-maker' ), 'options' => $this->preload_posts ? array_merge( [ 'any' => __( 'Any Supported Form*', 'popup-maker' ), __( 'Popup Maker', 'popup-maker' ) => [ 'pumsubform' => __( 'Subscription Form', 'popup-maker' ), ], ], PUM_Integrations::get_integrated_forms_selectlist() ) : [], 'pri' => - 1, 'std' => 'any', ], 'only_in_popup' => [ 'type' => 'checkbox', 'label' => __( 'Only in this popup', 'popup-maker' ), 'std' => '1', ], ], ] ), ], 'pum_sub_form_success' => [ 'name' => __( 'Subscription Form: Successful', 'popup-maker' ), ], 'pum_sub_form_already_subscribed' => [ 'name' => __( 'Subscription Form: Already Subscribed', 'popup-maker' ), ], 'manual' => [ 'name' => __( 'Manual', 'popup-maker' ), 'settings_column' => '<pre class="manual-cookie-shortcode"><code>[popup_cookie name="{{data.name}}" expires="{{data.time}}" sitewide="{{data.path ? 1 : 0}}"]</code></pre>', ], ] ); // @deprecated filter. $cookies = apply_filters( 'pum_get_cookies', $cookies ); $this->add_cookies( $cookies ); } /** * @param array $cookies */ public function add_cookies( $cookies = [] ) { foreach ( $cookies as $key => $cookie ) { if ( empty( $cookie['id'] ) && ! is_numeric( $key ) ) { $cookie['id'] = $key; } $this->add_cookie( $cookie ); } } /** * @param null $cookie */ public function add_cookie( $cookie = null ) { if ( ! empty( $cookie['id'] ) && ! isset( $this->cookies[ $cookie['id'] ] ) ) { $cookie = wp_parse_args( $cookie, [ 'id' => '', 'name' => '', 'modal_title' => __( 'Cookie Settings', 'popup-maker' ), 'settings_column' => sprintf( '%s%s%s', '{{ (typeof data.session === "undefined" || data.session !== "1") ? data.time : "', __( 'Sessions', 'popup-maker' ), '" }}' ), 'priority' => 10, 'tabs' => $this->get_tabs(), 'fields' => $this->cookie_fields(), ] ); // Here for backward compatibility to merge in labels properly. if ( ! empty( $cookie['labels'] ) ) { foreach ( $cookie['labels'] as $key => $value ) { $cookie[ $key ] = $value; unset( $cookie['labels'][ $key ] ); } unset( $cookie['labels'] ); } // Add cookie fields for all cookies automatically. if ( empty( $cookie['fields'] ) ) { $cookie['fields'] = $this->cookie_fields(); } $cookie['fields'] = PUM_Admin_Helpers::parse_tab_fields( $cookie['fields'], [ 'has_subtabs' => false, 'name' => '%s', ] ); $this->cookies[ $cookie['id'] ] = $cookie; } } /** * Returns an array of section labels for all triggers. * * Use the filter pum_get_trigger_section_labels to add or modify labels. * * @return array */ public function get_tabs() { /** * Filter the array of trigger section labels. * * @param array $to_do The list of trigger section labels. */ return apply_filters( 'pum_get_trigger_tabs', [ 'general' => __( 'General', 'popup-maker' ), 'advanced' => __( 'Advanced', 'popup-maker' ), ] ); } /** * Returns the cookie fields used for cookie options. * * @return array * * @uses filter pum_get_cookie_fields */ public function cookie_fields() { return apply_filters( 'pum_get_cookie_fields', [ 'general' => [ 'name' => [ 'label' => __( 'Cookie Name', 'popup-maker' ), 'placeholder' => __( 'Cookie Name ex. popmaker-123', 'popup-maker' ), 'desc' => __( 'The name that will be used when checking for or saving this cookie.', 'popup-maker' ), 'std' => '', 'priority' => 1, ], 'time' => [ 'label' => __( 'Cookie Time', 'popup-maker' ), 'placeholder' => __( '364 days 23 hours 59 minutes 59 seconds', 'popup-maker' ), 'desc' => __( 'Enter a plain english time before cookie expires.', 'popup-maker' ), 'std' => '1 month', 'priority' => 2, ], ], 'advanced' => [ 'session' => [ 'label' => __( 'Use Session Cookie?', 'popup-maker' ), 'desc' => __( 'Session cookies expire when the user closes their browser.', 'popup-maker' ) . ' ' . sprintf( /* translators: %1$s: bold start, %2$s: bold end. */ __( '%1$sNote%2$s: Modern browsers that reopen your last browser session\'s tabs do not properly clear session cookies', 'popup-maker' ), '<strong>', '</strong>' ), 'type' => 'checkbox', 'std' => false, 'priority' => 1, ], 'path' => [ 'label' => __( 'Sitewide Cookie', 'popup-maker' ), 'desc' => __( 'This will prevent the popup from triggering on all pages until the cookie expires.', 'popup-maker' ), 'type' => 'checkbox', 'std' => true, 'priority' => 2, ], 'key' => [ 'label' => __( 'Cookie Key', 'popup-maker' ), 'desc' => __( 'Changing this will cause all existing cookies to be invalid.', 'popup-maker' ), 'type' => 'cookie_key', 'std' => '', 'priority' => 3, ], ], ] ); } /** * @return array */ public function get_labels() { static $labels; if ( ! isset( $labels ) ) { /** * Filter the array of cookie labels. * * @param array $to_do The list of cookie labels. */ $labels = apply_filters( 'pum_get_cookie_labels', [] ); } return $labels; } /** * @param null $cookie * @param array $settings * * @return array * @deprecated */ public function validate_cookie( $cookie = null, $settings = [] ) { return $settings; } /** * @return array */ public function dropdown_list() { $_cookies = $this->get_cookies(); $cookies = []; foreach ( $_cookies as $id => $cookie ) { $cookies[ $id ] = $cookie['name']; } return $cookies; } } classes/Licensing.php 0000644 00000017304 15174671772 0010653 0 ustar 00 <?php /** * Licensing class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Licensing { /** * Is the license currently active? * * @param object|bool|null $license * * @return bool */ public static function license_is_valid( $license = null ) { return self::get_status( $license ) === 'valid'; } /** * @param object|bool|null $license * * @return bool */ public static function has_license( $license = null ) { return ! empty( $license ) && is_object( $license ); } /** * @param object|bool|null $license * * @return bool|false|int|string */ public static function get_license_expiration( $license = null ) { if ( ! self::has_license( $license ) || ! self::license_is_valid( $license ) ) { return false; } return 'lifetime' === $license->expires ? 'lifetime' : strtotime( $license->expires, time() ); } /** * Get the current license status. * * @return string */ public static function get_status( $license = null, $has_key = false ) { $status = $has_key ? 'inactive' : 'empty'; if ( self::has_license( $license ) ) { // activate_license 'invalid' on anything other than valid, so if there was an error capture it if ( false === $license->success ) { $error = property_exists( $license, 'error' ) ? $license->error : $status; switch ( $error ) { case 'expired': $status = 'expired'; break; case 'revoked': case 'missing': case 'invalid': case 'site_inactive': case 'item_name_mismatch': case 'no_activations_left': case 'license_not_activable': default: $status = 'error'; break; } } else { $status = 'valid'; } } return $status; } /** * @param object|bool|null $license * * @param string $key * * @return array */ public static function get_status_messages( $license = null, $key = '' ) { $messages = []; if ( self::has_license( $license ) ) { // activate_license 'invalid' on anything other than valid, so if there was an error capture it if ( false === $license->success ) { switch ( $license->error ) { case 'expired': $messages[] = sprintf( /* translators: 1. Expiration date, 2. Opening HTML link tag, 3. Closing HTML tag. */ __( 'Your license key expired on %1$s. Please %2$srenew your license key%3$s.', 'popup-maker' ), date_i18n( get_option( 'date_format' ), strtotime( $license->expires, time() ) ), '<a target="_blank" href="https://wppopupmaker.com/checkout/?edd_license_key=' . $key . '&utm_campaign=Licensing&utm_source=plugin-settings-page-licenses-tab&utm_medium=expired&utm_content=pum_license">', '</a>' ); break; case 'disabled': case 'revoked': $messages[] = sprintf( /* translators: 1. Opening HTML link tag, 2. Closing HTML tag. */ __( 'Your license key has been disabled. Please %1$scontact support%2$s for more information.', 'popup-maker' ), '<a target="_blank" href="https://wppopupmaker.com/support/?utm_campaign=Licensing&utm_source=plugin-settings-page-licenses-tab&utm_content=pum_license&utm_medium=revoked">', '</a>' ); break; case 'missing': $messages[] = sprintf( /* translators: 1. Opening HTML link tag, 2. Closing HTML tag. */ __( 'Invalid license. Please %1$svisit your account page%2$s and verify it.', 'popup-maker' ), '<a target="_blank" href="https://wppopupmaker.com/your-account/license-keys/?utm_campaign=Licensing&utm_source=plugin-settings-page-licenses-tab&utm_content=pum_license&utm_medium=missing">', '</a>' ); break; case 'invalid': case 'site_inactive': $messages[] = sprintf( /* translators: 1. Plugin name. 2. Opening HTML link tag, 3. Closing HTML tag. */ __( 'Your %1$s is not active for this URL. Please %2$svisit your account page%3$s to manage your license key URLs.', 'popup-maker' ), Popup_Maker::$NAME, '<a target="_blank" href="https://wppopupmaker.com/your-account/license-keys/?utm_campaign=Licensing&utm_source=plugin-settings-page-licenses-tab&utm_content=pum_license&utm_medium=invalid">', '</a>' ); break; case 'item_name_mismatch': $messages[] = sprintf( /* translators: 1. Plugin name. */ __( 'This appears to be an invalid license key for %s.', 'popup-maker' ), Popup_Maker::$NAME ); break; case 'no_activations_left': $messages[] = sprintf( /* translators: 1. Opening HTML link tag, 2. Closing HTML tag. */ __( 'Your license key has reached its activation limit. %1$sView possible upgrades%2$s now.', 'popup-maker' ), '<a target="_blank" href="https://wppopupmaker.com/your-account/license-keys/?utm_campaign=Licensing&utm_source=plugin-settings-page-licenses-tab&utm_content=pum_license&utm_medium=no-activations-left">', '</a>' ); break; case 'license_not_activable': $messages[] = __( 'The key you entered belongs to a bundle, please use the product specific license key.', 'popup-maker' ); break; default: $error = ! empty( $license->error ) ? $license->error : __( 'unknown_error', 'popup-maker' ); $messages[] = sprintf( /* translators: 1. Error message, 2. Opening HTML link tag, 3. Closing HTML tag. */ __( 'There was an error with this license key: %1$s. Please %2$scontact our support team%3$s.', 'popup-maker' ), $error, '<a target="_blank" href="https://wppopupmaker.com/support/?utm_campaign=Licensing&utm_source=plugin-settings-page-licenses-tab&utm_content=pum_license&utm_medium=error-contact-support">', '</a>' ); break; } } else { switch ( $license->license ) { case 'valid': default: $now = time(); $expiration = strtotime( $license->expires, time() ); if ( 'lifetime' === $license->expires ) { $messages[] = __( 'License key never expires.', 'popup-maker' ); } elseif ( $expiration > $now && $expiration - $now < ( DAY_IN_SECONDS * 30 ) ) { $messages[] = sprintf( /* translators: 1. Expiration date, 2. Opening HTML link tag, 3. Closing HTML tag. */ __( 'Your license key expires soon! It expires on %1$s. %2$sRenew your license key%3$s.', 'popup-maker' ), date_i18n( get_option( 'date_format' ), strtotime( $license->expires, time() ) ), '<a target="_blank" href="https://wppopupmaker.com/checkout/?edd_license_key=' . $key . '&utm_campaign=Licensing&utm_source=plugin-settings-page-licenses-tab&utm_content=Popup+Maker+license&utm_medium=renew">', '</a>' ); } else { $messages[] = sprintf( /* translators: 1. Expiration date. */ __( 'Your license key expires on %s.', 'popup-maker' ), date_i18n( get_option( 'date_format' ), strtotime( $license->expires, time() ) ) ); } break; } } } else { $messages[] = sprintf( /* translators: 1. Plugin name. */ __( 'To receive updates, please enter your valid %s license key.', 'popup-maker' ), Popup_Maker::$NAME ); } return $messages; } /** * @param object|bool|null $license * * @return bool|string */ public static function get_status_classes( $license = null ) { $class = false; if ( self::has_license( $license ) && false !== $license->success ) { $now = time(); $expiration = self::get_license_expiration( $license ); if ( 'lifetime' === $expiration ) { $class = 'pum-license-lifetime-notice'; } elseif ( $expiration > $now && $expiration - $now < ( DAY_IN_SECONDS * 30 ) ) { $class = 'pum-license-expires-soon-notice'; } else { $class = 'pum-license-expiration-date-notice'; } } return $class; } } classes/Models/CallToAction.php 0000644 00000016707 15174671772 0012505 0 ustar 00 <?php /** * Model for Call To Action * * @author Code Atlantic * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker\Models; use WP_Post; use PopupMaker\Base\Model\Post; defined( 'ABSPATH' ) || exit; /** * Class CallToAction * * @since 1.21.0 */ class CallToAction extends Post { /** * Current model version. * * @var int */ const MODEL_VERSION = 1; /** * Call To Action UUID. * * @var string */ protected $uuid; /** * Call To Action description. * * @var string|null */ protected $description; /** * Call To Action Settings. * * @var array<string,mixed> */ protected $settings; /** * Build a call to action. * * @param \WP_Post|array<string,mixed> $cta Call To Action data. */ public function __construct( $cta ) { parent::__construct( $cta ); $custom_properties = [ 'uuid' => null, 'description' => null, 'settings' => [], ]; foreach ( $custom_properties as $key => $value ) { $this->$key = $value; } /** * Call To Action settings. * * @var array<string,mixed>|false $settings */ $settings = get_post_meta( $this->ID, 'cta_settings', true ); if ( empty( $settings ) ) { $settings = \PopupMaker\get_default_call_to_action_settings(); } $this->settings = $settings; $this->data_version = get_post_meta( $cta->ID, 'data_version', true ); if ( ! $this->data_version ) { $this->data_version = self::MODEL_VERSION; update_post_meta( $cta->ID, 'data_version', self::MODEL_VERSION ); } } /** * Get the call to action UUID. * * @return string */ public function get_uuid() { if ( isset( $this->uuid ) ) { return $this->uuid; } // Get or generate UUID $uuid = get_post_meta( $this->ID, 'cta_uuid', true ); if ( empty( $uuid ) ) { $uuid = \PopupMaker\generate_unique_cta_uuid( $this->ID ); update_post_meta( $this->ID, 'cta_uuid', $uuid ); } /** * Filter the call to action UUID. * * @param string $uuid Call to action UUID. * @param int $call_to_action_id Call to action ID. * * @return string */ $this->uuid = apply_filters( 'popup_maker/get_call_to_action_uuid', $uuid, $this->ID ); return $this->uuid; } /** * Get the action type class for this call to action. * * @return \PopupMaker\Base\CallToAction|false */ public function get_action_type_handler() { $cta_type = $this->get_setting( 'type', 'link' ); $cta_type_handler = \PopupMaker\plugin( 'cta_types' )->get( $cta_type ); if ( ! $cta_type_handler instanceof \PopupMaker\Base\CallToAction ) { return false; } return $cta_type_handler; } /** * Get the call to action settings array. * * @return array<string,mixed> */ public function get_settings() { return $this->settings; } /** * Get public call to action settings array. * * @return array<string,mixed> */ public function get_public_settings() { return []; } /** * Get a call to action setting. * * Settings are stored in JS based camelCase. But WP prefers snake_case. * * This method supports camelCase based dot.notation, as well as snake_case. * * @param string $key Setting key. * @param mixed $default_value Default value. * * @return mixed|false */ public function get_setting( $key, $default_value = false ) { if ( isset( $this->settings[ $key ] ) ) { $value = $this->settings[ $key ]; } else { // Support camelCase, snake_case, and dot.notation. // Check for camelKeys & dot.notation. $value = \PopupMaker\fetch_key_from_array( $key, $this->settings, 'camelCase' ); if ( null === $value ) { if ( null === $value ) { $value = $default_value; } } } /** * Filter the option. * * @param mixed $value Option value. * @param string $key Option key. * @param mixed $default_value Default value. * @param int $call to action_id Restriction ID. * * @return mixed */ return apply_filters( 'popup_maker/get_call_to_action_setting', $value, $key, $default_value, $this->ID ); } /** * Get the description for this call to action. * * @return string */ public function get_description() { if ( ! isset( $this->description ) ) { $this->description = get_the_excerpt( $this->ID ); if ( empty( $this->description ) ) { $this->description = __( 'This content is restricted.', 'popup-maker' ); } } return $this->description; } /** * Generate a call to action URL. * * @param string $base_url Base URL. * @param array<string,mixed> $extra_args Extra arguments. * * @return string */ public function generate_url( $base_url = '', $extra_args = [] ) { $args = wp_parse_args( $extra_args, [ 'cta' => $this->get_uuid(), ] ); return \add_query_arg( $args, $base_url ); } /** * Convert this call to action to an array. * * @return array<string,mixed> */ public function to_array() { $settings = $this->get_settings(); return array_merge( [ 'id' => $this->ID, 'slug' => $this->slug, 'title' => $this->title, 'description' => $this->get_description(), 'status' => $this->status, ], $settings ); } /** * Get a CTA's event count. * * @param string $event Event name. * @param string $which Which stats to get. * * @return int */ public function get_event_count( $event = 'conversion', $which = 'current' ) { switch ( $which ) { case 'current': $current = $this->get_meta( "cta_{$event}_count" ); // Save future queries by inserting a valid count. if ( false === $current || ! is_numeric( $current ) ) { $current = 0; $this->update_meta( "cta_{$event}_count", $current ); } return absint( $current ); case 'total': $total = $this->get_meta( "cta_{$event}_count_total" ); // Save future queries by inserting a valid count. if ( false === $total || ! is_numeric( $total ) ) { $total = 0; $this->update_meta( "cta_{$event}_count_total", $total ); } return absint( $total ); } return 0; } /** * Track a conversion for this CTA based on CTA event args. * * @param array<string,mixed> $extra_args Extra arguments. * * @return void */ public function track_conversion( $extra_args = [] ) { $extra_args = wp_parse_args( $extra_args, [ 'notrack' => false, ] ); if ( $extra_args['notrack'] ) { /** * Fires when a CTA triggers core to track a conversion for a popup. * * @param \PopupMaker\Models\CallToAction $cta The CTA object. * @param array<string,mixed> $extra_args { * @type bool $notrack Whether to not track the conversion. * } */ do_action( 'popup_maker/cta_conversion_notrack', $this, $extra_args ); return; } $this->increase_event_count( 'conversion' ); /** * Fires when a CTA triggers core to track a conversion for a popup. * * @param \PopupMaker\Models\CallToAction $cta The CTA object. * @param array<string,mixed> $extra_args { * @type bool $notrack Whether to not track the conversion. * } */ do_action( 'popup_maker/cta_conversion', $this, $extra_args ); } /** * Increase a CTA's event count. * * @param string $event Event name. * * @return bool */ public function increase_event_count( $event = 'conversion' ) { $current = $this->get_event_count( $event, 'current' ); $total = $this->get_event_count( $event, 'total' ); $this->update_meta( "cta_{$event}_count", $current + 1 ); $this->update_meta( "cta_{$event}_count_total", $total + 1 ); return true; } } classes/Controllers/WP/I18n.php 0000644 00000001217 15174671772 0012307 0 ustar 00 <?php /** * I18n Internationalization * * @author Code Atlantic * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker\Controllers\WP; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * Class I18n * * @since 1.21.0 */ class I18n extends Controller { /** * Initializes this module. */ public function init() { add_action( 'init', [ $this, 'load_textdomain' ] ); } /** * Internationalization. * * @return void */ public function load_textdomain() { load_plugin_textdomain( $this->container['text_domain'], false, $this->container->get_path( 'languages' ) ); } } classes/Controllers/WP/Blocks.php 0000644 00000001445 15174671772 0013010 0 ustar 00 <?php /** * Blocks registration. * * @author Code Atlantic * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker\Controllers\WP; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * Class Blocks * * @since 1.21.0 */ class Blocks extends Controller { /** * Initializes this module. */ public function init() { add_action( 'init', [ $this, 'register_blocks' ] ); } /** * Register Popup Maker blocks. * * @return void */ public function register_blocks() { $blocks = [ 'dist/blocks/cta-buttons.block.json' => [], 'dist/blocks/cta-button.block.json' => [], ]; foreach( $blocks as $block => $args ) { register_block_type_from_metadata( $this->container->get_path( $block ), $args ); } } } classes/Controllers/WP/Dashboard.php 0000644 00000014027 15174671772 0013462 0 ustar 00 <?php /** * Dashboard controller. * * @author Code Atlantic * @package PopupMaker\Pro * @copyright (c) 2025, Code Atlantic LLC. */ namespace PopupMaker\Controllers\WP; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * Dashboard controller class. * * @extends Controller<\PopupMaker\Plugin\Core> */ class Dashboard extends Controller { /** * Initialize admin controller. * * @return void */ public function init() { // Register dashboard widgets add_action( 'wp_dashboard_setup', [ $this, 'register_dashboard_widgets' ] ); add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_dashboard_scripts' ] ); } /** * Register dashboard widgets. * * @return void */ public function register_dashboard_widgets() { // Basic Analytics Widget (will be moved to free plugin). wp_add_dashboard_widget( 'pum_analytics_basic', __( 'Popup Analytics','popup-maker' ), [ $this, 'render_basic_analytics_widget' ] ); } /** * Enqueue dashboard scripts. * * @return void */ public function enqueue_dashboard_scripts() { $current_screen = get_current_screen(); if ( ! $current_screen || $current_screen->id !== 'dashboard' ) { return; } if ( ! current_user_can( 'manage_options' ) ) { return; } wp_enqueue_script( 'popup-maker-dashboard' ); wp_enqueue_style( 'popup-maker-dashboard' ); } /** * Render basic analytics widget. * * @return void */ public function render_basic_analytics_widget() { $upgrade_link = 'https://wppopupmaker.com/pricing/?utm_source=wp-dashboard&utm_medium=dashboard&utm_campaign=upgrade-to-pro'; // Get analytics data $stats = $this->get_dashboard_stats(); $total_views = $stats['total_views']; $total_conversions = $stats['total_conversions']; $conversion_rate = $stats['conversion_rate']; $top_performer = $stats['top_performer']; ?> <div class="pum-dashboard-widget pum-analytics-basic"> <span class="pum-widget-badge" style="display: none;"><?php esc_html_e( 'Free','popup-maker' ); ?></span> <div class="pum-stats-grid"> <div class="pum-stat"> <div class="pum-stat-value pum-stat-views"><?php echo esc_html( number_format( $total_views ) ); ?></div> <div class="pum-stat-label"><?php esc_html_e( 'Total Views','popup-maker' ); ?></div> </div> <div class="pum-stat"> <div class="pum-stat-value pum-stat-conversions"><?php echo esc_html( number_format( $total_conversions ) ); ?></div> <div class="pum-stat-label"><?php esc_html_e( 'Conversions','popup-maker' ); ?></div> </div> </div> <div class="pum-conversion-rate"> <div class="pum-rate-value"><?php echo esc_html( round( $conversion_rate, 1 ) ); ?>%</div> <div class="pum-rate-label"><?php esc_html_e( 'Overall Conversion Rate','popup-maker' ); ?></div> </div> <?php if ( $top_performer ) : $top_performer_rate = $stats['top_performer_rate']; ?> <div class="pum-top-performer"> <div class="pum-performer-label"><?php esc_html_e( 'Top Performer:','popup-maker' ); ?></div> <div class="pum-performer-name"><a href="<?php echo esc_url( admin_url( 'post.php?post=' . $top_performer->ID . '&action=edit' ) ); ?>"><?php echo esc_html( $top_performer->post_title ); ?></a> (<?php echo esc_html( round( $top_performer_rate, 1 ) ); ?>%)</div> </div> <?php endif; ?> <?php if ( ! \PopupMaker\is_pro_active() ) : ?> <div class="pum-upgrade-box"> <div class="pum-upgrade-header"> <span class="pum-upgrade-icon">👑</span> <span class="pum-upgrade-title"><?php esc_html_e( 'Upgrade to Pro','popup-maker' ); ?></span> </div> <p class="pum-upgrade-text"><?php esc_html_e( 'Get detailed analytics, revenue tracking, exit intent, advanced targeting, and more','popup-maker' ); ?></p> <a href="<?php echo esc_url( $upgrade_link ); ?>" class="pum-upgrade-button" target="_blank"> <?php esc_html_e( 'Upgrade Now','popup-maker' ); ?> </a> </div> <?php endif; ?> </div> <?php } /** * Get top performing popup. * * @return \PUM_Model_Popup|null */ private function get_dashboard_stats() { $popups = pum_get_all_popups([ 'status' => 'publish', 'posts_per_page' => -1, 'meta_query' => [ 'relation' => 'AND', [ 'key' => 'enabled', 'value' => 1, 'compare' => '=', ], [ 'key' => 'popup_open_count', 'value' => 0, 'compare' => '>', 'type' => 'NUMERIC', ], ], ]); if ( empty( $popups ) ) { return [ 'total_views' => 0, 'total_conversions' => 0, 'conversion_rate' => 0, 'top_performer' => null, 'top_performer_rate' => 0, ]; } // Sort by priority: conversion rate > conversions > views usort( $popups, function( $a, $b ) { $a_rate = (float) $a->get_meta( 'popup_conversion_rate' ); $b_rate = (float) $b->get_meta( 'popup_conversion_rate' ); // First priority: conversion rate if ( $a_rate !== $b_rate ) { return $b_rate <=> $a_rate; // Descending } $a_conversions = (int) $a->get_meta( 'popup_conversion_count' ); $b_conversions = (int) $b->get_meta( 'popup_conversion_count' ); // Second priority: conversions if ( $a_conversions !== $b_conversions ) { return $b_conversions <=> $a_conversions; // Descending } // Third priority: views $a_views = (int) $a->get_meta( 'popup_open_count' ); $b_views = (int) $b->get_meta( 'popup_open_count' ); return $b_views <=> $a_views; // Descending }); $top_performer = $popups[0]; $top_performer_rate = ( (int) $top_performer->get_meta( 'popup_conversion_count' ) / (int) $top_performer->get_meta( 'popup_open_count' ) ) * 100; $popup_views = 0; $popup_conversions = 0; foreach ( $popups as $popup ) { $popup_views += (int) $popup->get_meta( 'popup_open_count' ); $popup_conversions += (int) $popup->get_meta( 'popup_conversion_count' ); } return [ 'total_views' => $popup_views, 'total_conversions' => $popup_conversions, 'conversion_rate' => $popup_conversions / $popup_views * 100, 'top_performer' => $top_performer, 'top_performer_rate' => $top_performer_rate, ]; } } classes/Controllers/Admin.php 0000644 00000002024 15174671772 0012267 0 ustar 00 <?php /** * Admin class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Controllers; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * Admin controller class. * * @package PopupMaker\Controllers\Admin */ class Admin extends Controller { /** * Initialize admin controller. */ public function init() { $this->container->register_controllers( [ 'Admin\Toolbar' => new \PopupMaker\Controllers\Admin\Toolbar( $this->container ), 'Admin\WP\PluginsPage' => new \PopupMaker\Controllers\Admin\WP\PluginsPage( $this->container ), 'Admin\CallToActions' => new \PopupMaker\Controllers\Admin\CallToActions( $this->container ), ] ); add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_admin_assets' ] ); } /** * Enqueue admin assets. */ public function enqueue_admin_assets() { if ( ! is_admin() ) { return; } wp_enqueue_style( 'popup-maker-admin-marketing' ); wp_enqueue_script( 'popup-maker-admin-marketing' ); } } classes/Controllers/RestAPI.php 0000644 00000054440 15174671772 0012517 0 ustar 00 <?php /** * REST API setup. * * @copyright (c) 2024, Code Atlantic LLC. * @package PopupMaker */ namespace PopupMaker\Controllers; use PopupMaker\Plugin\Controller; use PopupMaker\Plugin\Container; use WP_Error; use WP_REST_Server; use WP_REST_Request; /** * REST controller. * * @since 1.21.0 */ class RestAPI extends Controller { /** * Init controller. * * @return void */ public function init() { // Register custom REST API fields. add_action( 'init', [ $this, 'register_popup_rest_fields' ] ); add_action( 'init', [ $this, 'register_cta_rest_fields' ] ); // Register custom REST API endpoints. add_action( 'rest_api_init', [ $this, 'register_routes' ] ); // Register Pro upgrader REST routes. add_action( 'rest_api_init', [ $this, 'register_pro_upgrader_routes' ] ); // Authentication. add_filter( 'rest_pre_dispatch', [ $this, 'rest_pre_dispatch' ], 10, 3 ); // Legacy AJAX handlers for license status polling. add_action( 'wp_ajax_pum_check_license_status', [ $this, 'ajax_check_license_status' ] ); // Sanitize and validate filters. // add_filter( 'popup_maker/sanitize_popup_settings', [ $this, 'sanitize_popup_settings' ], 10, 2 ); // add_filter( 'popup_maker/validate_popup_settings', [ $this, 'validate_popup_settings' ], 10, 2 ); add_filter( 'popup_maker/sanitize_call_to_action_settings', [ $this, 'sanitize_call_to_action_settings' ], 10, 2 ); add_filter( 'popup_maker/validate_call_to_action_settings', [ $this, 'validate_call_to_action_settings' ], 10, 2 ); } /** * Register Rest API routes. * * @return void */ public function register_routes() { ( new \PopupMaker\RestAPI\Connect() )->register_routes(); ( new \PopupMaker\RestAPI\License() )->register_routes(); ( new \PopupMaker\RestAPI\ObjectSearch() )->register_routes(); } /** * Register Pro upgrader REST API routes. * * Registers endpoints for Pro upgrade workflow including license validation, * connection verification, and upgrade processing. * * @return void */ public function register_pro_upgrader_routes() { // Register v2 REST API controllers. $this->register_v2_controllers(); // Legacy v1 namespace for backward compatibility. $namespace = 'popup-maker/v1'; // License validation endpoint. register_rest_route( $namespace, '/license/validate', [ [ 'methods' => WP_REST_Server::READABLE, 'callback' => [ $this, 'rest_validate_license' ], 'permission_callback' => [ $this, 'rest_pro_upgrade_permissions' ], 'args' => [ 'license_key' => [ 'required' => false, 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field', 'validate_callback' => function ( $param ) { return is_string( $param ) && ! empty( trim( $param ) ); }, ], ], ], ] ); // Connection verification endpoint. register_rest_route( $namespace, '/connect/verify', [ [ 'methods' => WP_REST_Server::CREATABLE, 'callback' => [ $this, 'rest_verify_connection' ], 'permission_callback' => '__return_true', // Webhook uses own authentication. 'args' => [ 'token' => [ 'required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field', ], 'nonce' => [ 'required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field', ], ], ], ] ); // Pro upgrade installation endpoint. register_rest_route( $namespace, '/upgrade/install', [ [ 'methods' => WP_REST_Server::CREATABLE, 'callback' => [ $this, 'rest_install_pro' ], 'permission_callback' => '__return_true', // Webhook uses own authentication. 'args' => [ 'token' => [ 'required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field', ], 'nonce' => [ 'required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field', ], 'file' => [ 'required' => true, 'type' => 'string', 'sanitize_callback' => 'esc_url_raw', 'validate_callback' => function ( $param ) { return filter_var( $param, FILTER_VALIDATE_URL ) !== false; }, ], 'slug' => [ 'required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field', 'validate_callback' => function ( $param ) { return is_string( $param ) && ! empty( trim( $param ) ); }, ], 'force' => [ 'required' => false, 'type' => 'boolean', 'default' => false, 'sanitize_callback' => function ( $param ) { return (bool) $param; }, ], ], ], ] ); // Connection info generation endpoint. register_rest_route( $namespace, '/connect/info', [ [ 'methods' => WP_REST_Server::READABLE, 'callback' => [ $this, 'rest_get_connect_info' ], 'permission_callback' => [ $this, 'rest_pro_upgrade_permissions' ], ], ] ); } /** * Register v2 REST API controllers. * * @return void */ private function register_v2_controllers() { // License controller. $license_controller = new \PopupMaker\RestAPI\License(); $license_controller->register_routes(); // Connect controller. $connect_controller = new \PopupMaker\RestAPI\Connect(); $connect_controller->register_routes(); } /** * Permission callback for Pro upgrade endpoints. * * @return bool True if user has permission, false otherwise. */ public function rest_pro_upgrade_permissions() { return current_user_can( $this->container->get_permission( 'edit_popups' ) ); } /** * REST endpoint: Validate license for upgrade. * * @param WP_REST_Request $request REST request object. * @return \WP_REST_Response|\WP_Error */ public function rest_validate_license( $request ) { $license_service = $this->container->get( 'license' ); // If license key provided, update it first. $license_key = $request->get_param( 'license_key' ); if ( ! empty( $license_key ) ) { $license_service->maybe_update_license_key( $license_key ); } // Validate license for upgrade. $validation_result = $license_service->validate_for_upgrade(); return rest_ensure_response( $validation_result ); } /** * REST endpoint: Verify webhook connection. * * @param WP_REST_Request $request REST request object. * @return \WP_REST_Response|\WP_Error */ public function rest_verify_connection( $request ) { $connect_service = $this->container->get( 'connect' ); // Verify the webhook request. $verification_result = $connect_service->verify_webhook_request( $request ); if ( ! $verification_result['valid'] ) { return new WP_Error( 'verification_failed', $verification_result['error'], [ 'status' => 403 ] ); } return rest_ensure_response( [ 'success' => true, 'message' => 'Connection verified successfully', ] ); } /** * REST endpoint: Install Pro plugin. * * @param WP_REST_Request $request REST request object. * @return \WP_REST_Response|\WP_Error */ public function rest_install_pro( $request ) { $connect_service = $this->container->get( 'connect' ); // Verify the webhook request. $verification_result = $connect_service->verify_webhook_request( $request ); if ( ! $verification_result['valid'] ) { return new WP_Error( 'verification_failed', $verification_result['error'], [ 'status' => 403 ] ); } // Prepare installation arguments. $args = [ 'file' => $request->get_param( 'file' ), 'type' => 'plugin', 'slug' => $request->get_param( 'slug' ), 'force' => $request->get_param( 'force' ), ]; // Verify webhook args. $connect_service->verify_webhook_args( $args ); // Set the current screen to avoid undefined notices. set_current_screen( 'settings_page_popup-maker-settings' ); try { // Install the plugin using the connect service. $connect_service->install_plugin( $args ); } catch ( \Exception $e ) { return new WP_Error( 'installation_failed', $e->getMessage(), [ 'status' => 500 ] ); } // If we reach here, installation was successful. return rest_ensure_response( [ 'success' => true, 'message' => 'Plugin installed and activated successfully', ] ); } /** * REST endpoint: Get connection info. * * @param WP_REST_Request $request REST request object. * @return \WP_REST_Response|\WP_Error */ public function rest_get_connect_info( $request ) { $license_service = $this->container->get( 'license' ); // Generate connection info. $connect_info = $license_service->generate_connect_info(); if ( null === $connect_info ) { return new WP_Error( 'connection_unavailable', 'Connection info not available. License may not be active or Pro may already be installed.', [ 'status' => 400 ] ); } return rest_ensure_response( $connect_info ); } protected function register_data_version_field( $post_type, $update_permission ) { register_rest_field( $post_type, 'data_version', [ 'get_callback' => function ( $obj ) { return get_post_meta( $obj['id'], 'data_version', true ); }, 'update_callback' => function ( $value, $obj ) { // Update the field/meta value. update_post_meta( $obj->ID, 'data_version', $value ); }, 'permission_callback' => function () use ( $update_permission ) { return current_user_can( $update_permission ); }, ] ); } /** * Register common REST fields for a given post type * * @return void */ public function register_popup_rest_fields() { $post_type = $this->container->get_controller( 'PostTypes' )->get_type_key( 'popup' ); $edit_permission = $this->container->get_permission( 'edit_popups' ); register_rest_field( $post_type, 'enabled', [ 'get_callback' => function ( $obj ) { return get_post_meta( $obj['id'], 'enabled', true ); }, 'update_callback' => function ( $value, $obj ) { update_post_meta( $obj->ID, 'enabled', $value ); }, 'permission_callback' => function () use ( $edit_permission ) { return current_user_can( $edit_permission ); }, ] ); register_rest_field( $post_type, 'settings', [ 'get_callback' => function ( $obj, $field, $request ) { $popup = pum_get_popup( $obj['id'] ); // If edit context, return the current settings. if ( 'edit' === $request['context'] ) { $settings = $popup->get_settings(); } else { // Otherwise, return the public settings. $settings = $popup->get_public_settings(); } return $settings; }, 'update_callback' => function ( $value, $obj ) { $popup = pum_get_popup( $obj->ID ); $popup->update_settings( $value ); }, 'schema' => [ 'type' => 'object', 'arg_options' => [ 'sanitize_callback' => function ( $settings, $request ) { /** * Sanitize the popup settings. * * @param array<string,mixed> $settings The settings to sanitize. * @param int $id The popup ID. * @param \WP_REST_Request $request The request object. * * @return array<string,mixed> The sanitized settings. */ return apply_filters( 'popup_maker/sanitize_popup_settings', $settings, $request->get_param( 'id' ), $request ); }, 'validate_callback' => function ( $settings, $request ) { /** * Validate the popup settings. * * @param array<string,mixed> $settings The settings to validate. * @param int $id The popup ID. * @param \WP_REST_Request $request The request object. * * @return bool|\WP_Error True if valid, WP_Error if not. */ return apply_filters( 'popup_maker/validate_popup_settings', $settings, $request->get_param( 'id' ), $request ); }, ], ], 'permission_callback' => function () use ( $edit_permission ) { return current_user_can( $edit_permission ); }, ] ); register_rest_field( $post_type, 'priority', [ 'get_callback' => function ( $obj ) { return (int) get_post_field( 'menu_order', $obj['id'], 'raw' ); }, 'update_callback' => function ( $value, $obj ) { wp_update_post( [ 'ID' => $obj->ID, 'menu_order' => $value, ] ); }, 'permission_callback' => function () use ( $edit_permission ) { return current_user_can( $edit_permission ); }, 'schema' => [ 'type' => 'integer', 'arg_options' => [ 'sanitize_callback' => function ( $priority ) { return absint( $priority ); }, 'validate_callback' => function ( $priority ) { return is_int( $priority ); }, ], ], ] ); // Register data version field. $this->register_data_version_field( $post_type, $edit_permission ); } /** * Sanitize popup settings. * * @param array<string,mixed> $settings The settings to sanitize. * @param int $id The popup ID. * * @return array<string,mixed> The sanitized settings. */ public function sanitize_popup_settings( $settings, $id ) { return $settings; } /** * Validate popup settings. * * @param array<string,mixed> $settings The settings to validate. * @param int $id The popup ID. * * @return bool|\WP_Error True if valid, WP_Error if not. */ public function validate_popup_settings( $settings, $id ) { // TODO Validate all known settings by type. return true; } /** * Registers custom REST API fields for call to action post type. * * @return void */ public function register_cta_rest_fields() { $post_type = $this->container->get_controller( 'PostTypes' )->get_type_key( 'pum_cta' ); $edit_permission = $this->container->get_permission( 'edit_ctas' ); $ctas = $this->container->get( 'ctas' ); $valid_statuses = [ 'publish', 'future', 'draft', 'pending', 'private', 'trash' ]; register_rest_field( $post_type, 'status', [ 'get_callback' => function ( $obj ) { return get_post_status( $obj['id'] ); }, 'update_callback' => function ( $value, $obj ) { wp_update_post( [ 'ID' => $obj->ID, 'post_status' => $value, ] ); }, 'permission_callback' => function () use ( $edit_permission ) { return current_user_can( $edit_permission ); }, 'schema' => [ 'type' => 'string', 'enum' => [ 'publish', 'trash', 'draft' ], 'default' => 'publish', 'arg_options' => [ 'sanitize_callback' => function ( $status ) use ( $valid_statuses ) { return in_array( $status, $valid_statuses, true ) ? $status : 'publish'; }, 'validate_callback' => function ( $status ) use ( $valid_statuses ) { return in_array( $status, $valid_statuses, true ); }, ], ], ] ); // Register uuid field. Should be read-only &restricted to admins similar to edit only props. register_rest_field( $post_type, 'uuid', [ 'get_callback' => function ( $obj ) { $cta = \PopupMaker\get_cta_by_id( $obj['id'] ); if ( ! $cta ) { return null; } $uuid = $cta->get_uuid(); return $uuid; }, 'permission_callback' => function () use ( $edit_permission ) { return current_user_can( $edit_permission ); }, ] ); // Register conversion counts field. register_rest_field( $post_type, 'stats', [ 'get_callback' => function ( $obj ) { $cta = \PopupMaker\get_cta_by_id( $obj['id'] ); return [ 'conversions' => $cta->get_event_count( 'conversion' ), ]; }, 'update_callback' => null, 'schema' => [ 'description' => __( 'Stats for this CTA.', 'popup-maker' ), 'type' => 'object', 'properties' => [ 'conversion' => [ 'type' => 'integer', 'minimum' => 0, ], ], ], ] ); // Register settings field. register_rest_field( $post_type, 'settings', [ 'get_callback' => function ( $obj, $field, $request ) use ( $ctas ) { $cta = \PopupMaker\get_cta_by_id( $obj['id'] ); if ( ! $cta ) { return []; } $settings = []; // If edit context, return the current settings. if ( 'edit' === $request['context'] ) { $settings = get_post_meta( $obj['id'], 'cta_settings', true ); if ( empty( $settings ) ) { $settings = \PopupMaker\get_default_call_to_action_settings(); } } else { // Otherwise, return the public settings. $settings = $cta->get_public_settings(); } return $settings; }, 'update_callback' => function ( $value, $obj ) { update_post_meta( $obj->ID, 'cta_settings', $value ); }, 'schema' => [ 'type' => 'object', 'arg_options' => [ 'sanitize_callback' => function ( $settings, $request ) { /** * Sanitize the call to action settings. * * @param array<string,mixed> $settings The settings to sanitize. * @param int $id The call to action ID. * @param \WP_REST_Request $request The request object. * * @return array<string,mixed> The sanitized settings. */ return apply_filters( 'popup_maker/sanitize_call_to_action_settings', $settings, $request->get_param( 'id' ), $request ); }, 'validate_callback' => function ( $settings, $request ) { /** * Validate the popup settings. * * @param array<string,mixed> $settings The settings to validate. * @param int $id The popup ID. * @param \WP_REST_Request $request The request object. * * @return bool|\WP_Error True if valid, WP_Error if not. */ return apply_filters( 'popup_maker/validate_call_to_action_settings', $settings, $request->get_param( 'id' ), $request ); }, ], ], 'permission_callback' => function () use ( $edit_permission ) { return current_user_can( $edit_permission ); }, ] ); // Register data version field. $this->register_data_version_field( $post_type, $edit_permission ); } /** * Sanitize call to action settings. * * @param array<string,mixed> $settings The settings to sanitize. * @param int $id The call to action ID. * * @return array<string,mixed> The sanitized settings. */ public function sanitize_call_to_action_settings( $settings, $id ) { return $settings; } /** * Validate call to action settings. * * @param array<string,mixed> $settings The settings to validate. * @param int $id The call to action ID. * * @return bool|\WP_Error True if valid, WP_Error if not. */ public function validate_call_to_action_settings( $settings, $id ) { if ( empty( $settings['type'] ) ) { return new \WP_Error( 'missing_type', __( 'CTA type is required', 'popup-maker' ) ); } // Get the CTA type handler $cta_types = $this->container->get( 'cta_types' ); $cta_type = $cta_types->get( $settings['type'] ); if ( ! $cta_type ) { return new \WP_Error( 'invalid_type', __( 'Invalid CTA type', 'popup-maker' ), [ 'status' => 400 ] ); } // Validate settings using the CTA type's validation method $validation_result = $cta_type->validate_settings( $settings ); if ( is_array( $validation_result ) ) { // Merge each field error into a single error. $error = new \WP_Error(); foreach ( $validation_result as $field_error ) { $error->add( $field_error->get_error_code(), $field_error->get_error_message(), $field_error->get_error_data() ); } return $error; } if ( is_wp_error( $validation_result ) ) { return $validation_result; } return true; } /** * Prevent access to the popups endpoint. * * @param mixed $result Response to replace the requested version with. * @param \WP_REST_Server $server Server instance. * @param \WP_REST_Request<array<string,mixed>> $request Request used to generate the response. * @return mixed */ public function rest_pre_dispatch( $result, $server, $request ) { // Get the route being requested. $route = $request->get_route(); if ( false === strpos( $route, '/popup-maker/v2' ) ) { return $result; } $current_user_can = true; // Only proceed if the current user has permission. if ( false !== strpos( $route, '/popup-maker/v2/popups' ) ) { $current_user_can = current_user_can( $this->container->get_permission( 'edit_popups' ) ); } elseif ( false !== strpos( $route, '/popup-maker/v2/ctas' ) ) { $current_user_can = current_user_can( $this->container->get_permission( 'edit_ctas' ) ); } // Prevent discovery of the endpoints data from unauthorized users. if ( ! $current_user_can ) { return new \WP_Error( 'rest_forbidden', __( 'Access to this endpoint requires authorization.', 'popup-maker' ), [ 'status' => rest_authorization_required_code(), ] ); } // Return data to the client to parse. return $result; } /** * AJAX handler for license status checking. * * Legacy handler for license status polling system. * * @return void */ public function ajax_check_license_status() { // Verify nonce for security. if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['nonce'] ) ), 'popup-maker-settings' ) ) { wp_send_json_error( 'Invalid nonce' ); } // Check user permissions. if ( ! current_user_can( $this->container->get_permission( 'edit_popups' ) ) ) { wp_send_json_error( 'Insufficient permissions' ); } $license_service = $this->container->get( 'license' ); // Get license status data. $license_status = $license_service->get_license_status_data(); $license_key = $license_service->get_license_key(); $is_active = $license_service->is_license_active(); // Check if Pro is installed. $is_pro_installed = $this->container->is_pro_installed(); $is_pro_active = $is_pro_installed && is_plugin_active( 'popup-maker-pro/popup-maker-pro.php' ); $response_data = [ 'is_valid' => $is_active, 'license_key' => $license_key, 'status' => $license_service->get_license_status(), 'expires' => ! empty( $license_status['expires'] ) ? $license_status['expires'] : null, 'pro_installed' => $is_pro_installed, 'is_pro_installed' => $is_pro_installed, 'is_pro_active' => $is_pro_active, ]; wp_send_json_success( $response_data ); } } classes/Controllers/Compatibility/SEO/Yoast.php 0000644 00000002562 15174671772 0015604 0 ustar 00 <?php /** * Compatibility with Yoast SEO. * * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker\Controllers\Compatibility\SEO; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * Class Yoast * * @since 1.21.0 */ class Yoast extends Controller { /** * Is Yoast active? * * @return bool */ public function controller_enabled() { return function_exists( '\YoastSEO' ); } /** * Init controller. * * @return void */ public function init() { add_filter( 'popup_maker/popup_post_type_args', [ $this, 'filter_post_type_args' ] ); add_filter( 'wpseo_accessible_post_types', [ $this, 'yoast_sitemap_fix' ] ); } /** * Filter post type args to prevent Yoast from indexing popups. * * @param array $popup_args Popup args. * * @return array */ public function filter_post_type_args( $popup_args ) { // Temporary Yoast Fixes // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( is_admin() && isset( $_GET['page'] ) && 'wpseo_titles' === $_GET['page'] ) { $popup_args['public'] = false; } return $popup_args; } /** * Remove popups from accessible post type list in Yoast. * * @param array $post_types Post types. * * @return array */ public function yoast_sitemap_fix( $post_types = [] ) { unset( $post_types['popup'] ); return $post_types; } } classes/Controllers/Compatibility/Builder/Divi.php 0000644 00000012640 15174671772 0016336 0 ustar 00 <?php /** * Divi Builder Compatibility Controller. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Controllers\Compatibility\Builder; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * Divi Builder Compatibility Controller. * * Enables Divi's Visual Builder for popup post types by temporarily * making them queryable when the builder is active. * * @since 1.21.0 */ class Divi extends Controller { /** * Check if controller should be enabled. * * @return bool */ public function controller_enabled() { // Always return true so controller gets initialized regardless of timing. // We handle Divi availability checks in individual methods. return true; } /** * Initialize compatibility hooks. * * @return void */ public function init() { // Make popups queryable when Divi builder is loading. add_filter( 'popup_maker/popup_post_type_args', [ $this, 'make_popup_queryable_for_divi' ] ); // Add popup to Divi's supported post types. add_filter( 'et_builder_post_types', [ $this, 'add_popup_support' ] ); // Enable Visual Builder for popup post type. add_filter( 'et_fb_is_enabled', [ $this, 'enable_fb_for_popups' ], 10, 2 ); // Add popup to Divi's post type options if available. add_filter( 'et_builder_enabled_builder_post_types', [ $this, 'add_popup_support' ] ); } /** * Check if Divi is available (theme or plugin). * * Uses the same detection logic as Divi itself to detect both theme and plugin. * * @return bool */ private function is_divi_available() { static $is_divi_available = null; if ( null !== $is_divi_available ) { return $is_divi_available; } // Divi Theme detection: ET_BUILDER_THEME constant or et_divi_fonts_url function. $theme_available = ( defined( 'ET_BUILDER_THEME' ) && ET_BUILDER_THEME ) || function_exists( 'et_divi_fonts_url' ); // Divi Plugin detection: Plugin version constant or main plugin class. $plugin_available = defined( 'ET_BUILDER_PLUGIN_VERSION' ) || class_exists( 'ET_Builder_Plugin' ); // Also check for general ET_BUILDER_VERSION which both use. $general_available = defined( 'ET_BUILDER_VERSION' ) || function_exists( 'et_setup_builder' ); $is_divi_available = $theme_available || $plugin_available || $general_available; return $is_divi_available; } /** * Add popup post type to Divi's builder post types. * * @param array $post_types Existing post types. * * @return array Modified post types. */ public function add_popup_support( $post_types ) { if ( ! $this->is_divi_available() ) { return $post_types; } if ( ! in_array( 'popup', $post_types, true ) ) { $post_types[] = 'popup'; } return $post_types; } /** * Make popups queryable when Divi builder is active. * * @param array $popup_args Popup post type arguments. * @return array Modified popup post type arguments. */ public function make_popup_queryable_for_divi( $popup_args ) { if ( ! $this->is_divi_available() ) { return $popup_args; } // Check for Divi builder parameters. if ( ! $this->is_divi_builder_request() ) { return $popup_args; } // Verify user has permission. if ( ! is_user_logged_in() || ! current_user_can( $this->container->get_permission( 'edit_popups' ) ) ) { return $popup_args; } // Get post ID from various possible query string parameters. $post_id = $this->get_popup_id_from_request(); if ( ! $post_id ) { return $popup_args; } // Verify it's a popup (this might be redundant but good for safety). if ( $post_id && 'popup' !== get_post_type( $post_id ) ) { return $popup_args; } // Verify user can edit this specific popup. if ( $post_id && ! current_user_can( 'edit_post', $post_id ) ) { return $popup_args; } // Make popups publicly queryable for this request. $popup_args['publicly_queryable'] = true; return $popup_args; } /** * Enable Visual Builder for popup posts. * * @param bool|null $enabled Current enabled status. * @param int $post_id Post ID being checked. * * @return bool|null Whether Visual Builder is enabled. */ public function enable_fb_for_popups( $enabled, $post_id ) { if ( ! $this->is_divi_available() ) { return $enabled; } if ( 'popup' === get_post_type( $post_id ) ) { return current_user_can( 'edit_post', $post_id ); } return $enabled; } /** * Check if current request is for Divi builder. * * @return bool */ private function is_divi_builder_request() { if ( ! $this->is_divi_available() ) { return false; } // Check for Visual Builder parameters. // phpcs:ignore WordPress.Security.NonceVerification.Recommended return isset( $_GET['et_fb'] ) || isset( $_GET['et_bfb'] ); } /** * Get popup ID from request parameters. * * @return int Post ID or 0 if not found. */ private function get_popup_id_from_request() { // Try different parameter names that Divi might use. $possible_params = [ 'p', 'post', 'post_id', 'et_post_id' ]; foreach ( $possible_params as $param ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( isset( $_GET[ $param ] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended $post_id = absint( $_GET[ $param ] ); if ( $post_id > 0 ) { return $post_id; } } } // Try to get from current page if we're on a singular popup. if ( is_singular( 'popup' ) ) { return get_the_ID(); } return 0; } } classes/Controllers/Compatibility/Backcompat/Filters.php 0000644 00000012676 15174671772 0017542 0 ustar 00 <?php /** * Filters * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Controllers\Compatibility\Backcompat; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * Class Filters * * @since 1.21.0 */ class Filters extends Controller { /** * Initialize admin controller. * * @return void */ public function init() { add_filter( 'popup_maker/popup_post_type_args', [ $this, 'filter_popup_post_type_args' ] ); add_filter( 'popup_maker/popup_theme_post_type_args', [ $this, 'filter_popup_theme_post_type_args' ] ); add_filter( 'popup_maker/popup_category_tax_args', [ $this, 'filter_popup_category_tax_args' ] ); add_filter( 'popup_maker/popup_tag_tax_args', [ $this, 'filter_popup_tag_tax_args' ] ); add_filter( 'popup_maker/post_type_labels', [ $this, 'filter_post_type_labels' ], 10, 3 ); } /** * Filter popup post type args. * * @param array $popup_args Post type args. * * @return array */ public function filter_popup_post_type_args( $popup_args ) { if ( has_filter( 'popmake_popup_supports' ) ) { /** * Filter: popmake_popup_supports * * @param array<string> $supports Popup supports. * * @deprecated 1.21.0 */ $popup_args['supports'] = apply_filters( 'popmake_popup_supports', $popup_args['supports'] ); } if ( has_filter( 'popmake_popup_post_type_args' ) ) { /** * Filter: popmake_popup_post_type_args * * @param array<string,mixed> $popup_args Popup post type args. * * @deprecated 1.21.0 */ $popup_args = apply_filters( 'popmake_popup_post_type_args', $popup_args ); } if ( has_filter( 'pum_popup_post_type_args' ) ) { /** * Filter: pum_popup_post_type_args * * @param array<string,mixed> $popup_args Popup post type args. * * @deprecated 1.21.0 */ $popup_args = apply_filters( 'pum_popup_post_type_args', $popup_args ); } return $popup_args; } /** * Filter popup theme post type args. * * @param array $popup_theme_args Post type args. * * @return array */ public function filter_popup_theme_post_type_args( $popup_theme_args ) { if ( has_filter( 'popmake_popup_theme_labels' ) ) { /** * Filter: popmake_popup_theme_labels * * @param array<string,mixed> $labels Popup theme labels. * * @deprecated 1.21.0 */ $popup_theme_args['labels'] = apply_filters( 'popmake_popup_theme_labels', $popup_theme_args['labels'] ); } if ( has_filter( 'popmake_popup_theme_supports' ) ) { /** * Filter: popmake_popup_theme_supports * * @param array<string> $supports Popup theme supports. * * @deprecated 1.21.0 */ $popup_theme_args['supports'] = apply_filters( 'popmake_popup_theme_supports', $popup_theme_args['supports'] ); } if ( has_filter( 'popmake_popup_theme_post_type_args' ) ) { /** * Filter: popmake_popup_theme_post_type_args * * @param array<string,mixed> $args Popup theme post type args. * * @deprecated 1.21.0 */ $popup_theme_args = apply_filters( 'popmake_popup_theme_post_type_args', [] ); } return $popup_theme_args; } /** * Filter popup category tax args. * * @param array $popup_category_tax_args Tax args. * * @return array */ public function filter_popup_category_tax_args( $popup_category_tax_args ) { if ( has_filter( 'popmake_category_labels' ) ) { /** * Filter: popmake_category_labels * * @param array<string,mixed> $labels Category labels. * * @deprecated 1.21.0 */ $popup_category_tax_args['labels'] = apply_filters( 'popmake_category_labels', $popup_category_tax_args['labels'] ); } if ( has_filter( 'popmake_category_args' ) ) { /** * Filter: popmake_category_args * * @param array<string,mixed> $popup_category_tax_args Category args. * * @deprecated 1.21.0 */ $popup_category_tax_args = apply_filters( 'popmake_category_args', $popup_category_tax_args ); } return $popup_category_tax_args; } /** * Filter popup tag tax args. * * @param array $popup_tag_tax_args Tax args. * * @return array */ public function filter_popup_tag_tax_args( $popup_tag_tax_args ) { if ( has_filter( 'popmake_tag_labels' ) ) { /** * Filter: popmake_tag_labels * * @param array<string,mixed> $labels Tag labels. * * @deprecated 1.21.0 */ $popup_tag_tax_args['labels'] = apply_filters( 'popmake_tag_labels', $popup_tag_tax_args['labels'] ); } if ( has_filter( 'popmake_tag_args' ) ) { /** * Filter: popmake_tag_args * * @param array<string,mixed> $popup_tag_tax_args Tag args. * * @deprecated 1.21.0 */ $popup_tag_tax_args = apply_filters( 'popmake_tag_args', $popup_tag_tax_args ); } return $popup_tag_tax_args; } /** * Filter post type labels. * * @param array $post_type_labels Post type labels. * @param string $singular Singular label. * @param string $plural Plural label. * * @return array */ public function filter_post_type_labels( $post_type_labels, $singular, $plural ) { if ( has_filter( 'popmake_post_type_labels' ) ) { /** * Filter: popmake_post_type_labels * * @param array<string,mixed> $post_type_labels Post type labels. * @param string $singular Singular label. * @param string $plural Plural label. * * @deprecated 1.21.0 */ $post_type_labels = apply_filters( 'popmake_post_type_labels', $post_type_labels, $singular, $plural ); } return $post_type_labels; } } classes/Controllers/PostTypes.php 0000644 00000041163 15174671772 0013220 0 ustar 00 <?php /** * Post type setup. * * @copyright (c) 2024, Code Atlantic LLC. * @package PopupMaker */ namespace PopupMaker\Controllers; use PopupMaker\Plugin\Controller; use function PopupMaker\get_data_version; /** * Post type controller. * * @since 1.21.0 */ class PostTypes extends Controller { /** * Init controller. * * @return void */ public function init() { add_action( 'init', [ $this, 'register_post_types' ] ); add_action( 'save_post_popup', [ $this, 'save_post' ], 10, 3 ); add_filter( 'post_updated_messages', [ $this, 'updated_messages' ] ); // Control block editor usage on per popup post type basis. add_filter( 'use_block_editor_for_post_type', [ $this, 'use_block_editor_for_post_type' ], 10, 2 ); // Blanket disable block editor for popup post types if setting is enabled. add_action( 'replace_editor', [ $this, 'replace_editor' ], 10, 2 ); } /** * Get post type keys. * * @return array<string,string> The post type keys. */ public function get_type_keys() { return [ 'popup' => 'popup', 'popup_theme' => 'popup_theme', 'popup_category' => 'popup_category', 'popup_tag' => 'popup_tag', 'pum_cta' => 'pum_cta', ]; } /** * Get post type key. * * @param string $type The post type. * * @return string */ public function get_type_key( $type ) { return $this->get_type_keys()[ $type ]; } /** * Register post types. * * @return void */ public function register_post_types() { $this->register_popup_post_type(); $this->register_popup_theme_post_type(); $this->register_cta_post_type(); $this->register_popup_category_tax(); $this->register_popup_tag_tax(); do_action( 'popup_maker/register_post_types' ); } /** * Register `popup` post type. * * @return void */ public function register_popup_post_type() { $post_type_key = $this->get_type_key( 'popup' ); $popup_labels = $this->post_type_labels( __( 'Popup', 'popup-maker' ), __( 'Popups', 'popup-maker' ), $post_type_key ); $popup_args = [ 'label' => __( 'Popup', 'popup-maker' ), 'labels' => array_merge( $popup_labels, [ 'menu_name' => __( 'Popup Maker', 'popup-maker' ), ] ), 'description' => '', // Basic. 'public' => true, // TODO Test false. // Visibility. 'publicly_queryable' => false, 'exclude_from_search' => true, 'show_in_nav_menus' => false, 'show_ui' => true, 'show_in_menu' => true, // TODO Test true. 'show_in_admin_bar' => false, // TODO Test true. // Archive. 'has_archive' => false, // Urls. 'query_var' => false, 'rewrite' => false, // Menu. 'menu_icon' => pum_get_svg_icon( true ), 'menu_position' => 20.292892729, // Features. 'supports' => [ 'title', 'excerpt', 'editor', 'revisions', 'author', ], // Rest. 'show_in_rest' => true, 'rest_base' => 'popups', 'rest_namespace' => 'popup-maker/v2', 'show_in_graphql' => false, // Permissions. 'can_export' => true, 'map_meta_cap' => true, 'delete_with_user' => false, 'capabilities' => [ 'create_posts' => $this->container->get_permission( 'edit_popups' ), 'edit_posts' => $this->container->get_permission( 'edit_popups' ), 'delete_posts' => $this->container->get_permission( 'edit_popups' ), ], ]; /** * Filter: popup_maker/popup_post_type_args * * @param array<string,mixed> $args Popup post type args. * * @since 1.21.0 */ $popup_args = apply_filters( 'popup_maker/popup_post_type_args', $popup_args ); /** * Filter: popmake_popup_post_type_args * * @param array<string,mixed> $args Popup post type args. *` * @deprecated 1.21.0 */ $popup_args = apply_filters( 'popmake_popup_post_type_args', $popup_args ); register_post_type( $this->get_type_key( 'popup' ), $popup_args ); } /** * Register `popup_theme` post type. * * @return void */ public function register_popup_theme_post_type() { $post_type_key = $this->get_type_key( 'popup_theme' ); $popup_theme_labels = $this->post_type_labels( __( 'Popup Theme', 'popup-maker' ), __( 'Popup Themes', 'popup-maker' ), $post_type_key ); $popup_theme_args = [ 'label' => __( 'Popup Theme', 'popup-maker' ), 'labels' => array_merge( $popup_theme_labels, [ 'all_items' => __( 'Popup Themes', 'popup-maker' ), ] ), 'description' => '', // Basic. 'public' => true, // TODO Test false. 'hierarchical' => false, // Visibility. 'publicly_queryable' => false, 'exclude_from_search' => true, 'show_in_nav_menus' => false, 'show_ui' => true, 'show_in_menu' => 'edit.php?post_type=popup', 'show_in_admin_bar' => false, 'has_archive' => false, // Urls. 'query_var' => false, 'rewrite' => false, // Features. 'supports' => [ 'title', 'excerpt', 'revisions', 'author', ], // Rest. 'show_in_rest' => true, 'rest_base' => 'popup-themes', 'rest_namespace' => 'popup-maker/v2', 'show_in_graphql' => false, // Permissions. 'can_export' => true, 'map_meta_cap' => true, 'delete_with_user' => false, 'capabilities' => [ 'create_posts' => $this->container->get_permission( 'edit_popup_themes' ), 'edit_posts' => $this->container->get_permission( 'edit_popup_themes' ), 'delete_posts' => $this->container->get_permission( 'edit_popup_themes' ), ], ]; /** * Filter: popup_maker/popup_theme_post_type_args * * @param array<string,mixed> $args Popup theme post type args. * * @since 1.21.0 */ $popup_theme_args = apply_filters( 'popup_maker/popup_theme_post_type_args', $popup_theme_args ); /** * Filter: popmake_popup_theme_post_type_args * * @param array<string,mixed> $args Popup theme post type args. *` * @deprecated 1.21.0 */ $popup_theme_args = apply_filters( 'popmake_popup_theme_post_type_args', $popup_theme_args ); register_post_type( $this->get_type_key( 'popup_theme' ), $popup_theme_args ); } /** * Register Call to Action post type. * * @return void */ public function register_cta_post_type() { $post_type_key = $this->get_type_key( 'pum_cta' ); $cta_labels = $this->post_type_labels( __( 'Call to Action', 'popup-maker' ), __( 'Call to Actions', 'popup-maker' ), $post_type_key ); $cta_args = [ 'label' => __( 'Call to Action', 'popup-maker' ), 'labels' => array_merge( $cta_labels, [ 'all_items' => __( 'Call to Actions', 'popup-maker' ), ] ), 'description' => '', // Basic. 'public' => false, // TODO Test false. // Visibility. 'show_ui' => false, // 'show_in_menu' => 'edit.php?post_type=popup', 'show_in_admin_bar' => false, // Features. 'supports' => [ 'title', 'excerpt', 'revisions', 'author', ], // Urls. 'query_var' => false, 'rewrite' => false, // Rest. 'show_in_rest' => true, 'rest_base' => 'ctas', 'rest_namespace' => 'popup-maker/v2', 'show_in_graphql' => false, // Permissions. 'can_export' => true, 'map_meta_cap' => true, 'delete_with_user' => false, 'capabilities' => [ 'create_posts' => $this->container->get_permission( 'edit_ctas' ), 'edit_posts' => $this->container->get_permission( 'edit_ctas' ), 'delete_posts' => $this->container->get_permission( 'edit_ctas' ), ], ]; /** * Filter: popup_maker/cta_post_type_args * * @param array<string,mixed> $args CTA post type args. * * @since 1.21.0 */ $cta_args = apply_filters( 'popup_maker/cta_post_type_args', $cta_args ); register_post_type( $this->get_type_key( 'pum_cta' ), $cta_args ); } /** * Register optional popup category taxonomy. * * @return void */ public function register_popup_category_tax() { if ( pum_get_option( 'disable_popup_category_tag', false ) ) { return; } // Get labels from WP Core category taxonomy. $category_labels = (array) get_taxonomy_labels( get_taxonomy( 'category' ) ); $category_args = [ 'hierarchical' => true, 'labels' => $category_labels, 'public' => false, 'show_ui' => true, ]; /** * Filter: popup_maker/popup_category_tax_args * * @param array<string,mixed> $category_args Popup category taxonomy args. * * @since 1.21.0 */ $category_args = apply_filters( 'popup_maker/popup_category_tax_args', $category_args ); /** * Filter: popmake_popup_category_tax_args * * @param array<string,mixed> $category_args Popup category taxonomy args. *` * @deprecated 1.21.0 */ $category_args = apply_filters( 'popmake_category_args', $category_args ); register_taxonomy( $this->get_type_key( 'popup_category' ), [ $this->get_type_key( 'popup' ), $this->get_type_key( 'popup_theme' ) ], $category_args ); register_taxonomy_for_object_type( $this->get_type_key( 'popup_category' ), $this->get_type_key( 'popup' ) ); register_taxonomy_for_object_type( $this->get_type_key( 'popup_category' ), $this->get_type_key( 'popup_theme' ) ); } /** * Register optional popup tag taxonomy. * * @return void */ public function register_popup_tag_tax() { if ( pum_get_option( 'disable_popup_category_tag', false ) ) { return; } $tag_labels = (array) get_taxonomy_labels( get_taxonomy( 'post_tag' ) ); $tag_args = apply_filters( 'popmake_tag_args', [ 'hierarchical' => false, 'labels' => $tag_labels, 'public' => false, 'show_ui' => true, ] ); /** * Filter: popup_maker/popup_tag_tax_args * * @param array<string,mixed> $tag_args Popup tag taxonomy args. * * @since 1.21.0 */ $tag_args = apply_filters( 'popup_maker/popup_tag_tax_args', $tag_args ); /** * Filter: popmake_tag_args * * @param array<string,mixed> $tag_args Popup tag taxonomy args. *` * @deprecated 1.21.0 */ $tag_args = apply_filters( 'popmake_tag_args', $tag_args ); register_taxonomy( $this->get_type_key( 'popup_tag' ), [ $this->get_type_key( 'popup' ), $this->get_type_key( 'popup_theme' ) ], $tag_args ); register_taxonomy_for_object_type( $this->get_type_key( 'popup_tag' ), $this->get_type_key( 'popup' ) ); register_taxonomy_for_object_type( $this->get_type_key( 'popup_tag' ), $this->get_type_key( 'popup_theme' ) ); } /** * Get post type labels. * * @param string $singular Singular label. * @param string $plural Plural label. * @param string $post_type Post type. * * @return array<string,string> */ public function post_type_labels( $singular, $plural, $post_type = null ) { static $post_type_labels = []; if ( isset( $post_type_labels[ $post_type ] ) ) { return $post_type_labels[ $post_type ]; } $labels = [ 'name' => '%2$s', 'singular_name' => '%1$s', /* translators: %1$s: Post Type Singular: "Popup", "Popup Theme" */ 'add_new_item' => _x( 'Add New %1$s', 'Post Type Singular: "Popup", "Popup Theme"', 'popup-maker' ), /* translators: %1$s: Post Type Singular: "Popup", "Popup Theme" */ 'add_new' => _x( 'Add New %1$s', 'Post Type Singular: "Popup", "Popup Theme"', 'popup-maker' ), /* translators: %1$s: Post Type Singular: "Popup", "Popup Theme" */ 'edit_item' => _x( 'Edit %1$s', 'Post Type Singular: "Popup", "Popup Theme"', 'popup-maker' ), /* translators: %1$s: Post Type Singular: "Popup", "Popup Theme" */ 'new_item' => _x( 'New %1$s', 'Post Type Singular: "Popup", "Popup Theme"', 'popup-maker' ), /* translators: %2$s: Post Type Plural: "Popups", "Popup Themes" */ 'all_items' => _x( 'All %2$s', 'Post Type Plural: "Popups", "Popup Themes"', 'popup-maker' ), /* translators: %1$s: Post Type Singular: "Popup", "Popup Theme" */ 'view_item' => _x( 'View %1$s', 'Post Type Singular: "Popup", "Popup Theme"', 'popup-maker' ), /* translators: %2$s: Post Type Plural: "Popups", "Popup Themes" */ 'search_items' => _x( 'Search %2$s', 'Post Type Plural: "Popups", "Popup Themes"', 'popup-maker' ), /* translators: %2$s: Post Type Plural: "Popups", "Popup Themes" */ 'not_found' => _x( 'No %2$s found', 'Post Type Plural: "Popups", "Popup Themes"', 'popup-maker' ), /* translators: %2$s: Post Type Plural: "Popups", "Popup Themes" */ 'not_found_in_trash' => _x( 'No %2$s found in Trash', 'Post Type Plural: "Popups", "Popup Themes"', 'popup-maker' ), ]; /** * Filter: popup_maker/post_type_labels * * @param array<string,mixed> $labels Post type labels. * @param string $singular Singular label. * @param string $plural Plural label. * @param string $post_type Post type. * * @since 1.21.0 */ $labels = apply_filters( 'popup_maker/post_type_labels', $labels, $singular, $plural, $post_type ); // Map labels. $post_type_labels[ $post_type ] = []; foreach ( $labels as $key => $value ) { $post_type_labels[ $post_type ][ $key ] = sprintf( $value, $singular, $plural ); } return $post_type_labels[ $post_type ]; } /** * Add data version meta to new Popup Maker post types. * * @param int $post_id Post ID. * @param \WP_Post $post Post object. * @param bool $update Whether this is an existing post being updated or not. * * @return void */ public function save_post( $post_id, $post, $update ) { if ( $update ) { return; } if ( ! in_array( $post->post_type, [ 'popup', 'pum_cta', 'popup_theme' ], true ) ) { return; } $current_popup_data_version = get_data_version( $post->post_type ); add_post_meta( $post_id, 'data_version', $current_popup_data_version ); } /** * Updated Messages * * Returns an array of with all updated messages. * * @since 1.0 * * @param array $messages Post updated message * * @return array $messages New post updated messages */ public static function updated_messages( $messages ) { $labels = [ /* translators: %1$s: Post Type Singular: Popup, Theme */ 1 => _x( '%1$s updated.', 'Post Type Singular: Popup, Theme', 'popup-maker' ), /* translators: %1$s: Post Type Singular: Popup, Theme */ 4 => _x( '%1$s updated.', 'Post Type Singular: Popup, Theme', 'popup-maker' ), /* translators: %1$s: Post Type Singular: Popup, Theme */ 6 => _x( '%1$s published.', 'Post Type Singular: Popup, Theme', 'popup-maker' ), /* translators: %1$s: Post Type Singular: Popup, Theme */ 7 => _x( '%1$s saved.', 'Post Type Singular: Popup, Theme', 'popup-maker' ), /* translators: %1$s: Post Type Singular: Popup, Theme */ 8 => _x( '%1$s submitted.', 'Post Type Singular: Popup, Theme', 'popup-maker' ), ]; $messages['pum_cta'] = []; $messages['popup'] = []; $messages['popup_theme'] = []; $cta = __( 'Call to Action', 'popup-maker' ); $popup = __( 'Popup', 'popup-maker' ); $theme = __( 'Popup Theme', 'popup-maker' ); foreach ( $labels as $k => $string ) { $messages['pum_cta'][ $k ] = sprintf( $string, $cta ); $messages['popup'][ $k ] = sprintf( $string, $popup ); $messages['popup_theme'][ $k ] = sprintf( $string, $theme ); } return $messages; } /** * Control whether to use block editor for popup post types. * * @param bool $use_block_editor Whether to use the block editor. * @param string $post_type The post type. * @return bool Whether to use the block editor for this post type. */ public function use_block_editor_for_post_type( $use_block_editor, $post_type ) { // Only control our post types. if ( ! in_array( $post_type, [ 'popup', 'popup_theme' ], true ) ) { return $use_block_editor; } // If classic editor is enabled, disable block editor. if ( pum_get_option( 'enable_classic_editor', false ) ) { return false; } // Otherwise use block editor. return true; } /** * Replace the editor interface when classic editor is forced. * * @param bool $replace Whether to replace the editor. * @param WP_Post $post The post object. * @return void */ public function replace_editor( $replace, $post ) { // Only handle our post types. if ( ! in_array( $post->post_type, [ 'popup', 'popup_theme' ], true ) ) { return; } // If classic editor is enabled, ensure we're using classic interface. if ( pum_get_option( 'enable_classic_editor', false ) ) { // Remove block editor assets if they were enqueued. remove_action( 'admin_enqueue_scripts', 'wp_enqueue_editor' ); remove_action( 'admin_footer', 'wp_enqueue_editor' ); } } } classes/Controllers/CallToActions.php 0000644 00000012757 15174671772 0013754 0 ustar 00 <?php /** * Call To Action handler class. * * @author Code Atlantic * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker\Controllers; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * Class CallToActions * * @since 1.21.0 */ class CallToActions extends Controller { /** * Initialize cta actions */ public function init() { add_action( 'template_redirect', [ $this, 'template_redirect' ] ); add_action( 'popup_maker/cta_conversion', [ $this, 'track_cta_conversion' ], 10, 2 ); } /** * Checks for valid requests and properly handles them. * * Redirects when needed. */ public function template_redirect() { $cta_args = apply_filters( 'popup_maker/cta_valid_url_args', [ 'cta', 'pid' ] ); /* phpcs:disable WordPress.Security.NonceVerification.Recommended */ $cta_uuid = ! empty( $_GET['cta'] ) ? sanitize_text_field( wp_unslash( $_GET['cta'] ) ) : ''; $popup_id = ! empty( $_GET['pid'] ) ? absint( $_GET['pid'] ) : null; $notrack = (bool) ( ! empty( $_GET['notrack'] ) ? sanitize_text_field( wp_unslash( $_GET['notrack'] ) ) : false ); /* phpcs:enable WordPress.Security.NonceVerification.Recommended */ /** * Filter the CTA identifier before lookup. * * Allows extensions to modify or resolve the CTA identifier. * For example, converting a slug to a UUID. * * @param string $cta_uuid The CTA identifier (UUID, slug, or custom identifier). * * @return string The resolved CTA identifier. * * @since 1.21.0 */ $cta_uuid = apply_filters( 'popup_maker/cta_identifier', $cta_uuid ); if ( empty( $cta_uuid ) ) { $this->handle_url_tracking( $popup_id, $notrack, $cta_args ); return; } // Check for matching cta_{uuid}. $cta_uuid = str_replace( 'cta_', '', $cta_uuid ); // Check for matching popup_{uuid}. $call_to_action = $this->container->get( 'ctas' )->get_by_uuid( $cta_uuid ); // If no uuid is found, we don't have what we need, so return. if ( ! $call_to_action ) { return; } /** * Filters the arguments passed to the CTA event. * * @param array<string,mixed> $extra_args { * @type int $cta_id The CTA ID. * @type string $cta_uuid The CTA UUID. * @type int $popup_id The popup ID. * @type bool $notrack Whether to not track the conversion. * @type string $source_url The source URL. * } * @param \PopupMaker\Models\CallToAction $call_to_action The CTA object. * * @return array<string,mixed> */ $extra_args = apply_filters( 'popup_maker/cta_event_args', [ 'cta_id' => $call_to_action->ID, 'cta_uuid' => $cta_uuid, 'popup_id' => $popup_id, 'notrack' => $notrack, 'source_url' => wp_get_raw_referer(), ], $call_to_action ); $cta_type = $call_to_action->get_setting( 'type' ); if ( empty( $cta_type ) ) { return; } $cta_type_handler = $call_to_action->get_action_type_handler(); if ( false === $cta_type_handler ) { /** * Allow extensions to handle their own CTA types. * * @param \PopupMaker\Models\CallToAction $call_to_action Call to action object. * @param array $extra_args Optional. Additional data passed to the handler (will include popup_id). */ do_action( 'popup_maker/cta_' . $cta_type . '_action', $call_to_action, $extra_args ); // Default to current URL without CTA parameters. $url = remove_query_arg( $cta_args ); $call_to_action->track_conversion( $extra_args ); \PopupMaker\safe_redirect( $url ); exit; } // Check if the CTA requires the user to be logged in. $cta_type_handler->check_login_required(); // Execute the CTA action. $cta_type_handler->action_handler( $call_to_action, $extra_args ); } /** * Track a popup conversion when CTA was clicked within a popup. * * @param \PopupMaker\Models\CallToAction $call_to_action Call to action object. * @param array $args Arguments. * * @return void */ public function track_cta_conversion( $call_to_action, $args ) { $popup_id = $args['popup_id']; $notrack = $args['notrack']; if ( ! $notrack && $popup_id && $popup_id > 0 ) { // Triggers pum_analytics_event / pum_analytics_conversion actions. \pum_track_conversion_event( $popup_id, $args ); } } /** * Handle URL tracking for non-CTA links with popup ID. * * @param int $popup_id The popup ID. * @param bool $notrack Whether tracking is disabled. * @param array $cta_args Valid URL arguments for removal. * * @return void */ private function handle_url_tracking( $popup_id, $notrack, $cta_args ) { if ( ! $popup_id || $popup_id <= 0 ) { return; } /** * Filters the arguments passed to the URL tracking event. * * @param array<string,mixed> $extra_args { * @type int $popup_id The popup ID. * @type bool $notrack Whether to not track the conversion. * @type string $source_url The source URL. * @type string $target_url The current URL being tracked. * } * @param int $popup_id The popup ID. * * @return array<string,mixed> */ $extra_args = apply_filters( 'popup_maker/url_tracking_event_args', [ 'popup_id' => $popup_id, 'notrack' => $notrack, 'source_url' => wp_get_raw_referer(), 'target_url' => remove_query_arg( $cta_args ), ], $popup_id ); if ( ! $notrack ) { \pum_track_conversion_event( $popup_id, $extra_args ); } $url = remove_query_arg( $cta_args ); \PopupMaker\safe_redirect( $url ); exit; } } classes/Controllers/Assets.php 0000644 00000032015 15174671772 0012504 0 ustar 00 <?php /** * Plugin assets controller. * * @author Code Atlantic * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker\Controllers; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * Assets controller. * * @since 1.21.0 */ class Assets extends Controller { /** * Whether global vars should be printed. * * @var bool */ private $should_print_global_vars = false; /** * Initialize the assets controller. */ public function init() { add_action( 'wp_enqueue_scripts', [ $this, 'register_scripts' ], 1 ); add_action( 'admin_enqueue_scripts', [ $this, 'register_scripts' ], 1 ); add_action( 'enqueue_block_editor_assets', [ $this, 'register_scripts' ], 1 ); add_action( 'wp_print_scripts', [ $this, 'autoload_styles_for_scripts' ], 1 ); add_action( 'admin_print_scripts', [ $this, 'autoload_styles_for_scripts' ], 1 ); // Add a hook to fix old handles that might be enqueueed and not loaded, load their replacements. add_action( 'wp_enqueue_scripts', [ $this, 'fix_old_handles' ], 1 ); add_action( 'wp_footer', [ $this, 'print_global_vars' ], 10 ); // wp_print_footer_scripts is at 20. add_action( 'admin_footer', [ $this, 'print_global_vars' ], 10 ); // admin_print_footer_scripts is at 20. } /** * Get list of plugin packages. * * @return array */ public function get_packages() { static $packages; if ( $packages ) { return $packages; } $packages = [ 'admin-bar' => [ 'bundled' => false, 'handle' => 'popup-maker-admin-bar', 'styles' => true, 'deps' => [ 'popup-maker-site' ], 'varsName' => 'popupMakerAdminBar', 'vars' => [ 'i18n' => [ 'instructions' => __( 'After clicking ok, click the element you need a CSS selector for.', 'popup-maker' ), 'results' => _x( 'Selector', 'JS alert for CSS get selector tool', 'popup-maker' ), 'close' => _x( 'Close', 'JS alert for CSS get selector tool', 'popup-maker' ), 'copy' => _x( 'Copy', 'JS alert for CSS get selector tool', 'popup-maker' ), 'copied' => _x( 'Copied to clipboard', 'JS alert for CSS get selector tool', 'popup-maker' ), ], ], ], 'admin-marketing' => [ 'bundled' => false, 'handle' => 'popup-maker-admin-marketing', 'styles' => true, ], 'block-editor' => [ 'bundled' => false, 'handle' => 'popup-maker-block-editor', 'styles' => true, 'deps' => [], 'varsName' => 'popupMakerBlockEditor', 'vars' => [ 'cta_types' => $this->container->get( 'cta_types' )->get_as_array(), 'popups' => pum_get_all_popups(), 'popupTriggerExcludedBlocks' => apply_filters( 'pum_block_editor_popup_trigger_excluded_blocks', [ 'core/nextpage', 'popup-maker/call-to-action', 'popup-maker/call-to-actions', ] ), ], ], 'block-library' => [ 'bundled' => false, 'handle' => 'popup-maker-block-library', 'styles' => true, 'block_styles' => true, 'varsName' => 'popupMakerBlockLibrary', 'vars' => function () { return [ 'homeUrl' => home_url(), ]; }, ], 'components' => [ 'bundled' => false, 'handle' => 'popup-maker-components', 'styles' => true, 'varsName' => 'popupMakerComponents', 'vars' => function () { return [ 'popups' => \pum_get_all_popups(), ]; }, ], 'core-data' => [ 'bundled' => false, 'handle' => 'popup-maker-core-data', 'styles' => false, 'deps' => [ 'wp-api', ], 'varsName' => 'popupMakerCoreData', 'vars' => function () { return [ // TODO Migrate to use plugin('options')->get_all(); 'currentSettings' => \pum_get_options(), ]; }, ], 'cta-admin' => [ 'bundled' => false, 'handle' => 'popup-maker-cta-admin', 'styles' => true, 'varsName' => 'popupMakerCtaAdmin', 'vars' => function () { return [ 'cta_types' => $this->container->get( 'cta_types' )->get_as_array(), ]; }, ], 'cta-editor' => [ 'bundled' => false, 'handle' => 'popup-maker-cta-editor', 'styles' => true, 'varsName' => 'popupMakerCtaEditor', 'vars' => function () { return [ 'cta_types' => $this->container->get( 'cta_types' )->get_as_array(), ]; }, // 'head' => true, ], 'dashboard' => [ 'bundled' => false, 'handle' => 'popup-maker-dashboard', 'styles' => true, 'varsName' => 'popupMakerDashboard', 'vars' => [], ], 'data' => [ 'bundled' => false, 'handle' => 'popup-maker-data', 'styles' => false, // 'varsName' => 'popupMakerData', // 'vars' => [], ], 'fields' => [ 'bundled' => false, 'handle' => 'popup-maker-fields', 'styles' => false, // 'varsName' => 'popupMakerFields', // 'vars' => [], ], 'i18n' => [ 'bundled' => false, 'handle' => 'popup-maker-i18n', 'styles' => false, // 'varsName' => 'popupMakerI18n', // 'vars' => [], ], 'icons' => [ 'bundled' => false, 'handle' => 'popup-maker-icons', 'styles' => true, // 'varsName' => 'popupMakerIcons', // 'vars' => [], ], 'layout' => [ 'bundled' => false, 'handle' => 'popup-maker-layout', 'styles' => true, // 'varsName' => 'popupMakerLayout', // 'vars' => [], ], 'popup-admin' => [ 'bundled' => false, 'handle' => 'popup-maker-popup-admin', 'styles' => true, ], 'registry' => [ 'bundled' => false, 'handle' => 'popup-maker-registry', 'styles' => false, // 'varsName' => 'popupMakerRegistry', // 'vars' => [], ], 'use-query-params' => [ 'bundled' => false, 'handle' => 'popup-maker-use-query-params', 'styles' => false, // 'varsName' => 'popupMakerUseQueryParams', // 'vars' => [], ], 'utils' => [ 'bundled' => false, 'handle' => 'popup-maker-utils', 'styles' => false, // 'varsName' => 'popupMakerUtils', // 'vars' => [], ], ]; return $packages; } /** * Register all package scripts & styles. */ public function register_scripts() { static $registered; if ( $registered ) { return; } $registered = true; $path = 'dist/packages'; $packages_meta = pum_get_asset_group_meta( 'package', [ 'version' => $this->container->get( 'version' ), ] ); $packages = $this->get_packages(); $screen = ( is_admin() && function_exists( 'get_current_screen' ) ) ? get_current_screen() : false; $rtl = is_rtl() ? '-rtl' : ''; foreach ( $packages as $package => $package_data ) { if ( ! isset( $package_data['handle'] ) || ! isset( $packages_meta[ "$package.js" ] ) ) { // Skip packages that don't have a handle or meta. continue; } $handle = $package_data['handle']; $package_data = wp_parse_args( $package_data, [ 'bundled' => true, ] ); $bundled = (bool) $package_data['bundled']; $meta = $packages_meta[ "$package.js" ]; $js_file = $this->container->get_url( "$path/$package.js" ); $js_deps = array_merge( // Automated dependency registration. $meta['dependencies'], // Manual dependency registration. isset( $package_data['deps'] ) ? $package_data['deps'] : [] ); if ( 'block-editor' === $package ) { if ( is_admin() && 'widgets' !== $screen->id ) { $js_deps = array_merge( $js_deps, [ 'wp-edit-post' ] ); } } $footer = $package_data['head'] ?? true; if ( $bundled ) { pum_register_script( $handle, $js_file, $js_deps, $meta['version'], $footer ); } else { // Though pum_* asset functions pass through to wp_* automatically when disabled, admin packages should never be bundled. wp_register_script( $handle, $js_file, $js_deps, $meta['version'], $footer ); } if ( isset( $package_data['styles'] ) && $package_data['styles'] ) { $css_file = $this->container->get_url( "$path/$package{$rtl}.css" ); $css_deps = [ 'wp-components', 'wp-block-editor', 'dashicons' ]; if ( $bundled ) { pum_register_style( $handle, $css_file, $css_deps, $meta['version'] ); } else { // Though pum_* asset functions pass through to wp_* automatically when disabled, admin packages should never be bundled. wp_register_style( $handle, $css_file, $css_deps, $meta['version'] ); } } if ( isset( $package_data['block_styles'] ) && $package_data['block_styles'] ) { $block_css_file = $this->container->get_url( "$path/$package-style{$rtl}.css" ); $block_css_deps = [ 'wp-block-editor' ]; if ( $bundled ) { pum_register_style( $handle . '-style', $block_css_file, $block_css_deps, $meta['version'] ); } else { wp_register_style( $handle . '-style', $block_css_file, $block_css_deps, $meta['version'] ); } } /** * TODO Create pum_set_script_translations() function. * * May be extended to wp_set_script_translations( 'my-handle', 'my-domain', * plugin_dir_path( MY_PLUGIN ) . 'languages' ) ). For details see * https://make.wordpress.org/core/2018/11/09/new-javascript-i18n-support-in-wordpress/ */ wp_set_script_translations( $handle, 'popup-maker' ); } } /** * Get global vars. * * @return array */ private function get_global_vars() { $additional_global_vars = is_admin() ? $this->get_admin_global_vars() : $this->get_frontend_global_vars(); return apply_filters( 'popup_maker/global_vars', array_merge( [ 'siteUrl' => esc_url_raw( site_url() ), 'version' => $this->container->get( 'version' ), 'pluginUrl' => $this->container->get_url( '' ), 'assetsUrl' => $this->container->get_url( 'assets/' ), 'nonce' => wp_create_nonce( 'popup-maker' ), ], $additional_global_vars ) ); } /** * Get admin-onlyglobal vars. * * @return array */ private function get_admin_global_vars() { $wp_version = get_bloginfo( 'version' ); // Strip last number from version as they won't be breaking changes. $wp_version = preg_replace( '/\.\d+$/', '', $wp_version ); $permissions = $this->container->get_permissions(); foreach ( $permissions as $permission => $cap ) { $permissions[ $permission ] = current_user_can( $cap ); } return apply_filters( 'popup_maker/admin_global_vars', [ 'adminUrl' => admin_url(), 'wpVersion' => $wp_version, 'permissions' => $permissions, ] ); } /** * Get frontend-only global vars. * * @return array */ private function get_frontend_global_vars() { return apply_filters( 'popup_maker/frontend_global_vars', [] ); } /** * Print global vars. * * @return void */ public function print_global_vars() { static $printed; if ( $printed || ! $this->should_print_global_vars ) { return; } $printed = true; $global_vars = $this->get_global_vars(); ?> <script id="popup-maker-global-vars"> window.popupMaker = window.popupMaker || {}; window.popupMaker.globalVars = <?php echo wp_json_encode( $global_vars ); ?>; </script> <?php } /** * Auto load styles if scripts are enqueued. */ public function autoload_styles_for_scripts() { $packages = $this->get_packages(); foreach ( $packages as $package => $package_data ) { if ( ! isset( $package_data['handle'] ) ) { // Skip packages that don't have a handle or meta. continue; } $handle = $package_data['handle']; $package_data = wp_parse_args( $package_data, [ 'bundled' => true, ] ); $bundled = (bool) $package_data['bundled']; if ( pum_script_is( $handle, 'enqueued' ) || wp_script_is( $handle, 'enqueued' ) ) { $this->should_print_global_vars = true; if ( isset( $package_data['styles'] ) && $package_data['styles'] ) { if ( $bundled ) { pum_enqueue_style( $handle ); } else { wp_enqueue_style( $handle ); } } if ( isset( $package_data['block_styles'] ) && $package_data['block_styles'] ) { if ( $bundled ) { pum_enqueue_style( $handle . '-style' ); } else { wp_enqueue_style( $handle . '-style' ); } } if ( isset( $package_data['varsName'] ) && ! empty( $package_data['vars'] ) ) { $localized_vars = is_callable( $package_data['vars'] ) ? call_user_func( $package_data['vars'] ) : $package_data['vars']; $localized_vars = apply_filters( "popup_maker/{$package}_localized_vars", $localized_vars ); if ( $bundled ) { pum_localize_script( $handle, $package_data['varsName'], $localized_vars ); } else { // Though pum_* asset functions pass through to wp_* automatically when disabled, admin packages should never be bundled. wp_localize_script( $handle, $package_data['varsName'], $localized_vars ); } } } } } /** * Fix old handles that might be enqueueed and not loaded, load their replacements. * * @return void */ public function fix_old_handles() { } } classes/Controllers/Frontend/Popups.php 0000644 00000014521 15174671772 0014311 0 ustar 00 <?php /** * Plugin assets controller. * * @author Code Atlantic * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker\Controllers\Frontend; use PopupMaker\Plugin\Controller; use PUM_Model_Popup as Popup; use function PopupMaker\set_current_popup; defined( 'ABSPATH' ) || exit; /** * Assets controller. * * @since 1.21.0 */ class Popups extends Controller { /** * Popups. * * @var array<int,Popup> */ private $popups; /** * Enqueued popup ids. * * @var int[] */ private $enqueued = []; /** * Cached popup content. * * @var array<int,string> */ private $content_cache = []; /** * Initialize the assets controller. */ public function init() { if ( is_admin() ) { return; } /** * Preload & enqueue popups once WP conditionals are available. * * CRITICAL TIMING REQUIREMENTS (Do NOT change without extensive testing): * * Historical Context: * - v1.20.6 & below: Used wp_enqueue_scripts:11 for 10+ years with ZERO page builder conflicts * - v1.21.0: Changed to wp_head:0 for performance - BROKE page builders * - v1.21.3: Reverted to wp_enqueue_scripts:11 after extensive compatibility testing * * Page Builder Compatibility Analysis: * ❌ wp_head:0 - TOO EARLY: Breaks Beaver Builder, Elementor, Divi (CSS isolation not ready) * ⚠️ wp_head:1 - RISKY: Minimum viable but race conditions possible * ⚠️ wp_enqueue_scripts:10 - RISKY: Same priority as page builders (race conditions) * ✅ wp_enqueue_scripts:11 - SAFE: 10+ years proven, after page builder initialization * * Why wp_enqueue_scripts:11 is the Sweet Spot: * - Page builders initialize at priority 10 (Beaver Builder, Elementor core) * - Priority 11 runs AFTER page builders set up CSS isolation frameworks * - Prevents CSS leakage when popups contain page builder templates * - Battle-tested with thousands of plugin combinations over a decade * * Specific Issues with Earlier Timing: * - Beaver Builder: CSS from popup templates leaks to main page * - Elementor: Asset loading conflicts, DOM manipulation too early * - Sliders: Content not ready for popup processing * - General: Page builder shortcodes execute before isolation context exists * * NEVER change this to earlier than priority 11 without: * 1. Testing with Beaver Builder templates in popups * 2. Testing with Elementor Pro popups enabled * 3. Testing with slider plugins (Revolution, Layer, etc.) * * - No earlier than `wp` suggested, `pre_get_posts:1` at earliest due to missing WP conditionals such as `is_home`. * - No later than `wp_enqueue_scripts:15` as some content processing may have already occurred. */ add_action( 'wp_enqueue_scripts', [ $this, 'preload_popups' ], 11 ); // Check content for popup triggers used, enqueue if enabled. add_filter( 'the_content', [ $this, 'check_content_for_popups' ] ); // Render popups in the footer. add_action( 'wp_footer', [ $this, 'render_popups' ] ); } /** * Step 1. Enqueue popups once WP conditionals are availble. `wp` suggested, `pre_get_posts` at earliest. * * @return void */ public function preload_popups() { $popups = $this->container->get( 'popups' )->query( [ 'post_status' => [ 'publish', 'private' ], ] ); foreach ( $popups as $popup ) { set_current_popup( $popup ); if ( pum_is_popup_loadable( $popup->ID ) ) { $this->preload_popup( $popup ); } } set_current_popup( null ); } /** * Get array of all loaded popups. * * Calls `preload_popups` if needed. * * @return Popup[] */ public function get_loaded_popups() { if ( ! isset( $this->popups ) ) { $this->preload_popups(); } return $this->popups ?? []; } /** * Preloads popup, if enabled. * * @param int|Popup $popup_id The popup's ID. */ public function maybe_preload_popup( $popup_id ) { $popup = is_object( $popup_id ) ? $popup_id : pum_get_popup( $popup_id ); if ( $popup && $popup->is_enabled() ) { $this->preload_popup( $popup ); } } /** * Enqueues popup * * @param Popup $popup * * @return void */ public function preload_popup( $popup ) { // Bail early if the popup is preloaded already. if ( in_array( $popup->ID, $this->enqueued, true ) ) { return; } $this->popups[ $popup->ID ] = $popup; $this->enqueued[] = $popup->ID; $this->content_cache[ $popup->ID ] = $popup->get_content(); // Fire off preload action. do_action( 'pum_preload_popup', $popup->ID ); // Deprecated filters do_action( 'popmake_preload_popup', $popup->ID ); } /** * Preload popup content, only useful for compatibility with 3rd party * plugins that conditionally enqueue scripts based on being rendered. * * @return void */ public function preload_content() { $popups = $this->get_loaded_popups(); foreach ( $popups as $popup ) { // We could try to cache it here like we did before, but it might take memory and cause issues with rendering. $this->content_cache[ $popup->ID ] = $popup->get_content(); // $popup->get_content(); } } /** * Step 3. Checks post content to see if there are popups we need to automagically load * * @param string $content The content from the filter. * * @return string The content. */ public function check_content_for_popups( $content ) { // Only search for popups in the main query of a singular page. if ( is_singular() && in_the_loop() && is_main_query() ) { // Look for popmake-### within class attributes, supporting both single and double quotes. preg_match_all( '/class=[\'"][^"\']*?popmake-(\d+)[^"\']*?[\'"]/', $content, $matches, PREG_SET_ORDER ); foreach ( $matches as $match ) { $popup_id = absint( $match[1] ); if ( $popup_id > 0 ) { $this->maybe_preload_popup( $popup_id ); } } } return $content; } /** * Get cached popup content if exists. * * @param int $popup_id * * @return null|string */ public function get_content_cache( $popup_id ) { return isset( $this->content_cache[ $popup_id ] ) ? $this->content_cache[ $popup_id ] : null; } /** * Render the popups in the footer. * * @return void */ public function render_popups() { $popups = $this->get_loaded_popups(); foreach ( $popups as $popup ) { set_current_popup( $popup ); pum_template_part( 'popup' ); } set_current_popup( null ); } } classes/Controllers/Compatibility.php 0000644 00000001466 15174671772 0014061 0 ustar 00 <?php /** * Compatibility controller. * * @copyright (c) 2024, Code Atlantic LLC. * * @package PopupMaker */ namespace PopupMaker\Controllers; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * Compatibility controller class. * * @since 1.21.0 */ class Compatibility extends Controller { /** * Initialize admin controller. * * @return void */ public function init() { $this->container->register_controllers( [ 'Compatibility\Backcompat\Filters' => new \PopupMaker\Controllers\Compatibility\Backcompat\Filters( $this->container ), 'Compatibility\SEO\Yoast' => new \PopupMaker\Controllers\Compatibility\SEO\Yoast( $this->container ), 'Compatibility\Builder\Divi' => new \PopupMaker\Controllers\Compatibility\Builder\Divi( $this->container ), ] ); } } classes/Controllers/Debug.php 0000644 00000001510 15174671772 0012264 0 ustar 00 <?php /** * Debug class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Controllers; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * Debug controller class. * * @package PopupMaker\Controllers\Debug */ class Debug extends Controller { /** * Initialize admin controller. */ public function init() { if ( ! defined( 'WP_DEBUG' ) || ! WP_DEBUG ) { return; } if ( ! defined( 'POPUP_MAKER_DEBUG' ) || ! POPUP_MAKER_DEBUG ) { return; } add_action( 'admin_head', [ $this, 'admin_head' ], 0 ); } /** * Enqueue admin assets. */ public function admin_head() { // phpcs:ignore WordPress.WP.EnqueuedResources.NonEnqueuedScript ?> <script crossOrigin="anonymous" src="//unpkg.com/react-scan/dist/auto.global.js" /> <?php } } classes/Controllers/Upgrades.php 0000644 00000004056 15174671772 0013020 0 ustar 00 <?php /** * Upgrades class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Controllers; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * Upgrades controller class. * * @package PopupMaker\Controllers\Upgrades */ class Upgrades extends Controller { /** * Initialize upgrades controller. */ public function init() { // Hook into version updates for migrations. add_action( 'pum_update_core_version', [ $this, 'handle_block_editor_migration' ] ); } /** * Handle block editor migration from gutenberg_support_enabled to enable_classic_editor. * * This migration handles the transition from beta block editor setting to default block editor. * Users who previously had block editor disabled get a notice about the change. * * @param string $old_version The previous plugin version. * * @return void * @since 1.21.0 */ public function handle_block_editor_migration( $old_version ) { // Only run migration logic once per version update. if ( get_option( 'pum_block_editor_migration_handled', false ) ) { return; } // Check if user had a previous gutenberg_support_enabled setting. $previous_gutenberg_setting = $this->container->get_option( 'gutenberg_support_enabled', null ); // Store migration state for notice targeting. if ( null !== $previous_gutenberg_setting ) { // User had the setting - track their choice. update_option( 'pum_gutenberg_legacy_choice', $previous_gutenberg_setting ? 'enabled' : 'disabled' ); // If they had it disabled, they should see the migration notice. if ( ! $previous_gutenberg_setting ) { update_option( 'pum_show_block_editor_migration_notice', true ); } // Clean up the old setting. pum_delete_option( 'gutenberg_support_enabled' ); } else { // New user or no previous setting - no notice needed. update_option( 'pum_gutenberg_legacy_choice', 'new_user' ); } // Mark migration as handled to prevent duplicate runs. update_option( 'pum_block_editor_migration_handled', true ); } } classes/Controllers/Frontend.php 0000644 00000001526 15174671772 0013024 0 ustar 00 <?php /** * Admin class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Controllers; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * Admin controller class. * * @package PopupMaker\Controllers\Admin */ class Frontend extends Controller { /** * Initialize admin controller. */ public function init() { $this->container->register_controllers( [ 'Frontend\Popups' => new \PopupMaker\Controllers\Frontend\Popups( $this->container ), ] ); // add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_admin_assets' ] ); } /** * Enqueue admin assets. */ public function enqueue_admin_assets() { if ( is_admin() ) { return; } // wp_enqueue_style( 'popup-maker-admin-marketing' ); // wp_enqueue_script( 'popup-maker-admin-marketing' ); } } classes/Controllers/Admin/Toolbar.php 0000644 00000015642 15174671772 0013703 0 ustar 00 <?php /** * Toolbar * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Controllers\Admin; use PUM_Site_Popups; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * Class Toolbar * * @since 1.21.0 */ class Toolbar extends Controller { /** * Initializes this module. */ public function init() { add_action( 'admin_bar_menu', [ $this, 'toolbar_links' ], 999 ); add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_files' ] ); add_action( 'init', [ $this, 'show_debug_bar' ] ); } /** * Renders the admin debug bar when PUM Debug is enabled. */ public function show_debug_bar() { if ( $this->should_render() && $this->container->is_debug_mode_enabled() ) { show_admin_bar( true ); } } /** * Returns true only if all of the following are true: * - User is logged in. * - Not in WP Admin. * - The admin bar is showing. * - PUM Admin bar is not disabled. * - Current user can edit others posts or manage options. * * @return bool */ public function should_render() { $tests = [ is_user_logged_in(), ! is_admin(), is_admin_bar_showing(), ! pum_get_option( 'disabled_admin_bar' ), ( current_user_can( $this->container->get_permission( 'edit_popups' ) ) || current_user_can( $this->container->get_permission( 'manage_settings' ) ) ), ]; return ! in_array( false, $tests, true ); } /** * Add additional toolbar menu items to the front end. * * @param \WP_Admin_Bar $wp_admin_bar */ public function toolbar_links( $wp_admin_bar ) { if ( ! $this->should_render() ) { return; } $popups = $this->loaded_popups(); $popup_labels = \get_post_type_object( 'popup' )->labels; $count = count( $popups ); $wp_admin_bar->add_node( [ 'id' => 'popup-maker', 'title' => sprintf( '%s <span class="counter">%d</span>', $popup_labels->menu_name, $count ), 'href' => '#popup-maker', 'meta' => [ 'class' => 'popup-maker-toolbar' ], 'parent' => false, ] ); $wp_admin_bar->add_node( [ 'id' => 'popups', 'title' => sprintf( '%s <span class="counter">%d</span>', $popup_labels->name, $count ), 'href' => '#', 'parent' => 'popup-maker', ] ); if ( $count ) { foreach ( $popups as $popup ) { /** @var WP_Post $popup */ $node_id = 'popup-' . $popup->ID; $can_edit = current_user_can( 'edit_post', $popup->ID ); $edit_url = $can_edit ? admin_url( 'post.php?post=' . $popup->ID . '&action=edit' ) : '#'; // Single Popup Menu Node $wp_admin_bar->add_node( [ 'id' => $node_id, 'title' => esc_html( $popup->post_title ), 'href' => $edit_url, 'parent' => 'popups', ] ); // Trigger Link $wp_admin_bar->add_node( [ 'id' => $node_id . '-open', 'title' => __( 'Open Popup', 'popup-maker' ), 'meta' => [ 'class' => 'pum-toolbar-action', ], 'href' => '#pum-toolbar-action__open--' . $popup->ID, 'parent' => $node_id, ] ); $wp_admin_bar->add_node( [ 'id' => $node_id . '-close', 'title' => __( 'Close Popup', 'popup-maker' ), 'meta' => [ 'class' => 'pum-toolbar-action', ], 'href' => '#pum-toolbar-action__close--' . $popup->ID, 'parent' => $node_id, ] ); if ( pum_get_popup( $popup->ID )->has_conditions( [ 'js_only' => true ] ) ) { $wp_admin_bar->add_node( [ 'id' => $node_id . '-conditions', 'title' => __( 'Check Conditions', 'popup-maker' ), 'meta' => [ 'class' => 'pum-toolbar-action', ], 'href' => '#pum-toolbar-action__check-conditions--' . $popup->ID, 'parent' => $node_id, ] ); } $wp_admin_bar->add_node( [ 'id' => $node_id . '-reset-cookies', 'title' => __( 'Reset Cookies', 'popup-maker' ), 'meta' => [ 'class' => 'pum-toolbar-action', ], 'href' => '#pum-toolbar-action__reset-cookies--' . $popup->ID, 'parent' => $node_id, ] ); if ( $can_edit ) { // Edit Popup Link $wp_admin_bar->add_node( [ 'id' => $node_id . '-edit', 'title' => $popup_labels->edit_item, 'href' => $edit_url, 'parent' => $node_id, ] ); } } } else { $wp_admin_bar->add_node( [ 'id' => 'no-popups-loaded', 'title' => __( 'No Popups Loaded', 'popup-maker' ) . '<strong style="color:#fff; margin-left: 5px;">?</strong>', 'href' => 'https://wppopupmaker.com/docs/problem-solving/troubleshooting-your-first-popup/?utm_campaign=contextual-help&utm_medium=inline-doclink&utm_source=plugin-admin-bar&utm_content=no-popups-loaded', 'parent' => 'popups', 'meta' => [ 'target' => '_blank', ], ] ); } if ( current_user_can( 'edit_posts' ) ) { $wp_admin_bar->add_node( [ 'id' => 'all-popups', 'title' => $popup_labels->all_items, 'href' => admin_url( 'edit.php?post_type=popup' ), 'parent' => 'popup-maker', ] ); $wp_admin_bar->add_node( [ 'id' => 'new-popups', // Just `new-popup` moves this to the top of the menu for some reason. Leave the `s` to keep it in the right place. 'title' => $popup_labels->add_new_item, 'href' => admin_url( 'post-new.php?post_type=popup' ), 'parent' => 'popup-maker', ] ); } /** * Tools */ $wp_admin_bar->add_node( [ 'id' => 'pum-tools', 'title' => __( 'Tools', 'popup-maker' ), 'href' => '#popup-maker-tools', 'parent' => 'popup-maker', ] ); $wp_admin_bar->add_node( [ 'id' => 'flush-popup-cache', 'title' => __( 'Flush Popup Cache', 'popup-maker' ), 'href' => wp_nonce_url( add_query_arg( 'flush_popup_cache', 'yes' ), 'flush_popup_cache' ), 'parent' => 'pum-tools', ] ); /** * Get Selector */ $wp_admin_bar->add_node( [ 'id' => 'pum-get-selector', 'title' => __( 'Get Selector', 'popup-maker' ), 'href' => '#popup-maker-get-selector-tool', 'parent' => 'pum-tools', ] ); /** * Plugin Settings. */ $wp_admin_bar->add_node( [ 'id' => 'pum-settings', 'title' => __( 'Settings', 'popup-maker' ), 'href' => admin_url( 'edit.php?post_type=popup&page=pum-settings' ), 'parent' => 'popup-maker', 'target' => '_blank', ] ); } /** * Returns an array of loaded popups. * * @return \PUM_Model_Popup[] */ public function loaded_popups() { static $popups; if ( ! isset( $popups ) ) { $popups = $this->container->get_controller( 'Frontend\Popups' )->get_loaded_popups(); } return $popups; } /** * Enqueues and prepares our styles and scripts for the admin bar * * @since 1.11.0 */ public function enqueue_files() { if ( ! $this->should_render() ) { return; } wp_enqueue_script( 'popup-maker-admin-bar' ); } } classes/Controllers/Admin/WP/PluginsPage.php 0000644 00000023577 15174671772 0015053 0 ustar 00 <?php /** * Admin Plugins Page * * @package PopupMaker * @copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker\Controllers\Admin\WP; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * Admin Plugins Page * * @since 1.21.0 */ class PluginsPage extends Controller { /** * UTM arguments. * * @var array<string,string> */ private $utm_args = [ 'utm_source' => 'plugins-page', 'utm_medium' => 'plugin-ui', 'utm_campaign' => '', ]; /** * Register actions. */ public function init() { add_filter( 'plugin_action_links', [ $this, 'plugin_action_links' ], 10, 2 ); add_filter( 'network_admin_plugin_action_links', [ $this, 'plugin_action_links' ], 10, 2 ); add_filter( 'plugin_row_meta', [ $this, 'plugin_row_meta' ], 10, 2 ); add_filter( 'network_admin_plugin_row_meta', [ $this, 'plugin_row_meta' ], 10, 2 ); add_action( 'admin_print_footer_scripts', [ $this, 'footer_scripts' ] ); } /** * Render plugin action links. * * @param array<string,string> $links Existing links. * @param string $file Plugin file path. * * @return array<string,string> Filtered links. */ public function plugin_action_links( $links, $file ) { if ( plugin_basename( POPMAKE ) === $file ) { $utm_args = wp_parse_args( $this->utm_args, [ 'utm_campaign' => 'action-links', ] ); $settings_url = admin_url( 'edit.php?post_type=popup&page=pum-settings' ); $upgrade_url = add_query_arg( $utm_args, 'https://wppopupmaker.com/pricing/' ); $docs_url = add_query_arg( $utm_args, 'https://wppopupmaker.com/docs/' ); $plugin_action_links = apply_filters( 'pum_plugin_action_links', [ 'settings' => '<a href="' . $settings_url . '">' . __( 'Settings', 'popup-maker' ) . '</a>', 'docs' => '<a href="' . $docs_url . '" target="_blank">' . __( 'Docs', 'popup-maker' ) . '</a>', 'upgrade' => '<a href="' . $upgrade_url . '" target="_blank" style="color: #00a32a; font-weight: bold;">' . __( 'Upgrade to Pro', 'popup-maker' ) . '</a>', ] ); if ( is_plugin_active( 'popup-maker-pro/popup-maker-pro.php' ) ) { unset( $plugin_action_links['upgrade'] ); } // Check if translation link should be shown if ( is_locale_switched() /* && current_user_can( 'install_languages' ) */ ) { $plugin_action_links = array_merge( [ 'translate' => '<a href="' . sprintf( 'https://translate.wordpress.org/locale/%s/default/wp-plugins/popup-maker', substr( get_locale(), 0, 2 ) ) . '" target="_blank">' . __( 'Translate', 'popup-maker' ) . '</a>' ], $plugin_action_links ); } foreach ( $plugin_action_links as $link ) { array_unshift( $links, $link ); } } return $links; } /** * Filters the array of row meta for each plugin in the Plugins list table. * * @param array<string,string> $plugin_meta An array of the plugin's metadata. * @param string $plugin_file Path to the plugin file. * * @return array<string,string> Filtered row meta */ public function plugin_row_meta( $plugin_meta, $plugin_file ) { if ( plugin_basename( POPMAKE ) === $plugin_file ) { $utm_args = wp_parse_args( $this->utm_args, [ 'utm_campaign' => 'row-meta', ] ); $support_url = add_query_arg( $utm_args, 'https://wppopupmaker.com/support/' ); $docs_url = add_query_arg( $utm_args, 'https://wppopupmaker.com/docs/' ); $row_meta = [ // 'review' => '<a href="https://wordpress.org/support/plugin/popup-maker/reviews/?filter=5#new-post" target="_blank" rel="noopener noreferrer">★ ' . __( 'Rate 5 stars', 'popup-maker' ) . ' ★</a>', 'documentation' => '<a href="' . $docs_url . '" target="_blank" rel="noopener noreferrer">' . __( 'Documentation', 'popup-maker' ) . '</a>', 'support' => '<a href="' . $support_url . '" target="_blank" rel="noopener noreferrer">' . __( 'Get Support', 'popup-maker' ) . '</a>', // 'extensions' => '<a href="' . admin_url( 'edit.php?post_type=popup&page=pum-extensions' ) . '">' . __( 'Extensions', 'popup-maker' ) . '</a>', ]; $plugin_meta = array_merge( $plugin_meta, $row_meta ); } return $plugin_meta; } /** * Better branding. * * @return void */ public function footer_scripts() { // If is the plugins page /wp-admin/plugins.php global $pagenow; if ( 'plugins.php' === $pagenow ) { ?> <script type="text/javascript" id="pum-branding"> document.addEventListener('DOMContentLoaded', function() { // Constants const PRIORITY_LIST = ['Pro', 'LMS Popups', 'Ecommerce Popups']; const LOGO_HTML = '<img class="pum-plugin-icon" src="<?php echo esc_url( plugins_url( 'assets/images/mark.svg', POPMAKE ) ); ?>" alt="Popup Maker Logo" />'; const TOGGLE_HTML = '<span class="pum-toggle-icon dashicons dashicons-arrow-down-alt2"></span>'; // Helper functions const cleanText = text => text.replace('Popup Maker', '').replace(/[-:]/g, '').trim(); const getName = element => cleanText(element.querySelector('.plugin-title strong').textContent); const getPriorityIndex = name => PRIORITY_LIST.findIndex(item => cleanText(item) === name); const isActive = element => element.querySelector('.active') !== null; const addLogo = element => { const title = element.querySelector('.plugin-title'); title.innerHTML = LOGO_HTML + title.innerHTML; }; const standardizeTitle = element => { const name = getName(element); if (!name || name === 'Pro') return; element.querySelector('.plugin-title strong').textContent = `Popup Maker: ${name}`; }; // Process main plugin if present const mainPlugin = document.querySelector('tr[data-slug="popup-maker"]'); // Store update notices keyed by their plugin slug const updateNotices = new Map(); document.querySelectorAll('tr.plugin-update-tr[data-slug^="popup-maker-"], tr.plugin-update-tr[data-slug^="pum-"]').forEach(notice => { updateNotices.set(notice.getAttribute('data-slug'), notice); }); // Setup main plugin toggle if present if (mainPlugin) { mainPlugin.classList.add('pum-main-plugin'); addLogo(mainPlugin); const titleStrong = mainPlugin.querySelector('.plugin-title strong'); titleStrong.innerHTML += TOGGLE_HTML; titleStrong.style.cursor = 'pointer'; const icon = titleStrong.querySelector('.pum-toggle-icon'); icon.classList.add('dashicons-arrow-down-alt2'); titleStrong.addEventListener('click', (e) => { e.stopPropagation(); const isCollapsed = icon.classList.toggle('dashicons-arrow-up-alt2'); icon.classList.toggle('dashicons-arrow-down-alt2', !isCollapsed); const display = isCollapsed ? 'none' : 'table-row'; document.querySelectorAll('.pum-addon-plugin').forEach(addon => { addon.style.display = display; const notice = updateNotices.get(addon.getAttribute('data-slug')); if (notice) notice.style.display = display; }); }); } // Get and process addons const addons = Array.from(document.querySelectorAll('tr[data-slug^="popup-maker-"]:not(.plugin-update-tr), tr[data-slug^="pum-"]:not(.plugin-update-tr)')); if (!addons.length) return; // Initial addon setup addons.forEach(addon => { addon.classList.add('pum-addon-plugin'); if (!mainPlugin) addon.classList.add('no-main-plugin'); addLogo(addon); standardizeTitle(addon); }); const insertionPoint = mainPlugin || addons[0].previousElementSibling; // Sort addons. addons.sort((a, b) => { // Active plugins come first if (isActive(a) !== isActive(b)) { return isActive(b) ? -1 : 1; } const nameA = getName(a); const nameB = getName(b); const priorityA = getPriorityIndex(nameA); const priorityB = getPriorityIndex(nameB); // Priority list items come first if (priorityA !== -1 || priorityB !== -1) { return (priorityA || 999) - (priorityB || 999); } // Alphabetical sort return nameB.localeCompare(nameA); }); // Process each addon addons.forEach(addon => { addon.remove(); insertionPoint.parentNode.insertBefore(addon, insertionPoint.nextElementSibling); const notice = updateNotices.get(addon.getAttribute('data-slug')); if (notice) { addon.parentNode.insertBefore(notice, addon.nextSibling); } }); }); </script> <?php } } } classes/Controllers/Admin/CallToActions.php 0000644 00000006010 15174671772 0014765 0 ustar 00 <?php /** * Call to Actions Controller. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC. */ namespace PopupMaker\Controllers\Admin; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * Call to Actions Controller. * * @since 1.21.0 */ class CallToActions extends Controller { /** * Register actions. * * @return void */ public function init() { add_action( 'admin_menu', [ $this, 'register_page' ], 999 ); add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_scripts' ] ); // add_action( 'init', [ $this, 'register_cta_block' ] ); // add_shortcode( 'popup_maker_cta', [ $this, 'cta_shortcode' ] ); } /** * Register admin options pages. * * @return void */ public function register_page() { add_submenu_page( 'edit.php?post_type=popup', __( 'Call to Actions', 'popup-maker' ), __( 'Call to Actions', 'popup-maker' ), $this->container->get_permission( 'edit_ctas' ), 'popup-maker-call-to-actions', [ $this, 'render_page' ] ); } /** * Render settings page title & container. * * @return void */ public function render_page() { ?> <div id="popup-maker-call-to-actions-root-container"></div> <!-- <script>jQuery(() => window.popupMaker.settingsPage.init());</script> --> <?php } /** * Enqueue assets for the settings page. * * @param string $hook Page hook name. * * @return void */ public function enqueue_scripts( $hook ) { if ( 'popup_page_popup-maker-call-to-actions' !== $hook ) { return; } // wp_enqueue_editor(); wp_enqueue_script( 'popup-maker-cta-admin' ); } /** * Register CTA block. * * @return void */ public function register_cta_block() { register_block_type('popup-maker/cta', [ 'attributes' => [ 'ctaId' => [ 'type' => 'string' ], 'instanceId' => [ 'type' => 'string' ], ], 'render_callback' => [ $this, 'render_cta_block' ], ]); } /** * Render CTA block. * * @param array{ctaId: int, instanceId: string} $attributes * @return string */ public function render_cta_block( $attributes ) { $cta_id = $attributes['ctaId'] ?? null; $instance_id = $attributes['instanceId'] ?? uniqid( 'cta_instance_' ); if ( ! $cta_id ) { return ''; } $cta_post = get_post( $cta_id ); $label = get_post_meta( $cta_id, 'cta_label', true ); // Basic rendering with tracking return sprintf( '<div class="popup-maker-cta" data-cta-id="%s" data-instance-id="%s">%s</div>', esc_attr( $cta_id ), esc_attr( $instance_id ), esc_html( $label ) ); } /** * Render CTA shortcode. * * @param array{id: int} $atts Shortcode attributes. * @return string */ public function cta_shortcode( $atts = [] ) { $atts = shortcode_atts([ 'id' => null, ], $atts); if ( ! $atts['id'] ) { return ''; } $instance_id = uniqid( 'cta_shortcode_' ); // Reuse block rendering logic return $this->render_cta_block([ 'ctaId' => $atts['id'], 'instanceId' => $instance_id, ]); } } classes/Controllers/WP.php 0000644 00000001221 15174671772 0011563 0 ustar 00 <?php /** * WP class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Controllers; use PopupMaker\Plugin\Controller; defined( 'ABSPATH' ) || exit; /** * WP controller class. * * @since 1.21.0 */ class WP extends Controller { /** * Initialize admin controller. */ public function init() { $this->container->register_controllers( [ 'WP\Blocks' => new \PopupMaker\Controllers\WP\Blocks( $this->container ), 'WP\Dashboard' => new \PopupMaker\Controllers\WP\Dashboard( $this->container ), 'WP\I18n' => new \PopupMaker\Controllers\WP\I18n( $this->container ), ] ); } } classes/Newsletters.php 0000644 00000021540 15174671772 0011254 0 ustar 00 <?php /** * Newsletters class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Newsletters */ class PUM_Newsletters { /** * @var WP_Error */ public static $errors; public static $disabled = false; public static function init() { if ( doing_action( 'plugins_loaded' ) || ! did_action( 'plugins_loaded' ) ) { add_action( 'plugins_loaded', [ __CLASS__, 'delayed_init' ], 11 ); } else { self::delayed_init(); } } public static function delayed_init() { // TODO Once PUM-Aweber has been updated properly for a few months remove these if checks. // TODO Consider adding notice to update aweber. self::$disabled = in_array( true, [ class_exists( 'PUM_Aweber_Integration' ) && defined( 'PUM_AWEBER_INTEGRATION_VER' ) && version_compare( PUM_AWEBER_INTEGRATION_VER, '1.1.0', '<' ), class_exists( 'PUM_MailChimp_Integration' ) && defined( 'PUM_MAILCHIMP_INTEGRATION_VER' ) && PUM_MAILCHIMP_INTEGRATION_VER, class_exists( 'PUM_MCI' ) && version_compare( PUM_MCI::$VER, '1.3.0', '<' ), ], true ); // Checks for single very specific versions. if ( self::$disabled ) { return; } require_once Popup_Maker::$DIR . 'includes/functions/newsletter.php'; do_action( 'pum_newsletter_init' ); PUM_Shortcode_Subscribe::init(); add_action( 'wp_ajax_pum_sub_form', [ __CLASS__, 'ajax_request' ] ); add_action( 'wp_ajax_nopriv_pum_sub_form', [ __CLASS__, 'ajax_request' ] ); add_filter( 'pum_sub_form_sanitization', [ __CLASS__, 'sanitization' ], 0 ); add_filter( 'pum_sub_form_validation', [ __CLASS__, 'validation' ], 0, 2 ); add_action( 'pum_sub_form_success', [ __CLASS__, 'record_submission' ], 0 ); } /** * Submits the form using ajax */ public static function ajax_request() { self::$errors = new WP_Error(); // Ignored because this form is shown on heavily cached pages to non-logged in users primarily. Values will be sanitized before usage. // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized $values = isset( $_REQUEST['values'] ) ? wp_unslash( $_REQUEST['values'] ) : []; if ( empty( $values['popup_id'] ) && ! empty( $values['pum_form_popup_id'] ) ) { $values['popup_id'] = absint( $values['pum_form_popup_id'] ); } // Clean JSON passed values. $values = PUM_Utils_Array::fix_json_boolean_values( $values ); do_action( 'pum_sub_form_ajax_override', $values ); // Allow sanitization & manipulation of form values prior to usage. $values = apply_filters( 'pum_sub_form_sanitization', $values ); // Allow validation of the data. self::$errors = apply_filters( 'pum_sub_form_validation', self::$errors, $values ); if ( self::$errors->get_error_code() ) { self::send_errors( self::$errors ); } $response = []; // Process the submission and pass the $response array as a reference variable so data can be added.. do_action_ref_array( 'pum_sub_form_submission', [ $values, &$response, &self::$errors ] ); $error_code = self::$errors->get_error_code(); $already_subscribed = 'already_subscribed' === $error_code; $success = empty( $error_code ) || $already_subscribed ? true : false; if ( ! $success && ! $already_subscribed ) { do_action( 'pum_sub_form_errors', $values, self::$errors ); switch ( $error_code ) { case 'api_errors': $response['message'] = pum_get_newsletter_provider_message( $values['provider'], 'error', $values ); break; } self::send_errors( self::$errors, $response ); } else { do_action( 'pum_sub_form_success', $values ); if ( $already_subscribed ) { $response['already_subscribed'] = true; } $response['message'] = pum_get_newsletter_provider_message( $values['provider'], $already_subscribed ? 'already_subscribed' : 'success', $values ); self::send_success( $response ); } // Don't let it keep going. die(); } /** * Process and send error messages. * * Optionally pass extra data to send back to front end. * * @param $errors WP_Error * @param array $extra_response_args */ public static function send_errors( WP_Error $errors, $extra_response_args = [] ) { $response = array_merge( $extra_response_args, [ 'errors' => self::prepare_errors( $errors ), ] ); wp_send_json_error( $response ); die(); } /** * Send a success response with passed data. * * @param array|mixed $response */ public static function send_success( $response = [] ) { wp_send_json_success( array_filter( $response ) ); die; } /** * Prepare errors for response. * * @param WP_Error $_errors * * @return array */ public static function prepare_errors( WP_Error $_errors ) { $errors = []; foreach ( $_errors->get_error_codes() as $code ) { $errors[] = [ 'code' => $code, 'field' => $_errors->get_error_data( $code ), 'message' => $_errors->get_error_message( $code ), ]; } return $errors; } /** * Records the submission into a database table. * * @param array $values */ public static function record_submission( $values = [] ) { $data = wp_parse_args( $values, [ 'uuid' => self::uuid(), 'user_id' => get_current_user_id(), 'popup_id' => 0, 'email_hash' => '', 'email' => '', 'name' => '', 'fname' => '', 'lname' => '', 'consent' => 'no', 'consent_args' => '', ] ); $subscriber_id = PUM_DB_Subscribers::instance()->insert( $data ); if ( is_user_logged_in() && $subscriber_id ) { update_user_meta( get_current_user_id(), 'pum_subscribed', true ); } } /** * Return the current or new uuid. * * @return mixed|string */ public static function uuid() { static $uuid; if ( ! isset( $uuid ) ) { $uuid = PUM_GA::get_uuid(); } return $uuid; } /** * Provides basic field sanitization. * * @param array $values * * @return array */ public static function sanitization( $values = [] ) { $values = wp_parse_args( $values, [ 'provider' => pum_get_option( 'newsletter_default_provider', 'none' ), 'consent' => 'no', 'consent_args' => [], ] ); $values['provider'] = sanitize_text_field( $values['provider'] ); $values['provider'] = sanitize_text_field( $values['provider'] ); if ( ! empty( $values['consent_args'] ) && is_string( $values['consent_args'] ) ) { if ( strpos( $values['consent_args'], '\"' ) >= 0 ) { $values['consent_args'] = stripslashes( $values['consent_args'] ); } $values['consent_args'] = (array) json_decode( $values['consent_args'] ); } $values['consent_args'] = wp_parse_args( $values['consent_args'], [ 'enabled' => 'no', 'required' => false, 'text' => '', ] ); // Anonymize the data if they didn't consent and privacy is enabled. if ( 'yes' === $values['consent_args']['enabled'] && ! $values['consent_args']['required'] && 'no' === $values['consent'] ) { $values['uuid'] = ''; $values['user_id'] = 0; $values['name'] = ''; $values['fname'] = ''; $values['lname'] = ''; $values['email'] = function_exists( 'wp_privacy_anonymize_data' ) ? wp_privacy_anonymize_data( 'email', $values['email'] ) : 'deleted@site.invalid'; } // Split name into fname & lname or vice versa. if ( isset( $values['name'] ) ) { $values['name'] = trim( sanitize_text_field( $values['name'] ) ); // Creates last name $name = explode( ' ', $values['name'] ); if ( ! isset( $name[1] ) ) { $name[1] = ''; } $values['fname'] = trim( $name[0] ); $values['lname'] = trim( $name[1] ); } else { $values['fname'] = isset( $values['fname'] ) ? sanitize_text_field( $values['fname'] ) : ''; $values['lname'] = isset( $values['lname'] ) ? sanitize_text_field( $values['lname'] ) : ''; $values['name'] = trim( $values['fname'] . ' ' . $values['lname'] ); } $values['email'] = sanitize_email( $values['email'] ); $values['email_hash'] = md5( $values['email'] ); return $values; } /** * Provides basic field validation. * * @param WP_Error $errors * @param array $values * * @return WP_Error */ public static function validation( $errors, $values = [] ) { if ( ! isset( $values['email'] ) || empty( $values['email'] ) ) { $errors->add( 'empty_email', pum_get_newsletter_provider_message( $values['provider'], 'empty_email', $values ), 'email' ); } elseif ( ! is_email( $values['email'] ) ) { $errors->add( 'invalid_email', pum_get_newsletter_provider_message( $values['provider'], 'invalid_email', $values ), 'email' ); } if ( 'yes' === $values['consent_args']['enabled'] && $values['consent_args']['required'] && 'no' === $values['consent'] ) { $errors->add( 'consent_required', pum_get_newsletter_provider_message( $values['provider'], 'consent_required', $values ), 'consent' ); } return $errors; } } classes/ListTable.php 0000644 00000122121 15174671772 0010615 0 ustar 00 <?php /** * Administration API: PUM_ListTable class * * @package WordPress * @subpackage List_Table * @since 3.1.0 * * phpcs:disable WordPress.WP.I18n.MissingArgDomainDefault, PSR2.Classes.PropertyDeclaration.Underscore, PSR2.Methods.MethodDeclaration.Underscore */ /** * Base class for displaying a list of items in an ajaxified HTML table. * * @since 3.1.0 * @access private */ class PUM_ListTable { /** * The current list of items. * * @since 3.1.0 * @var array */ public $items; /** * Various information about the current table. * * @since 3.1.0 * @var array */ protected $_args; /** * Various information needed for displaying the pagination. * * @since 3.1.0 * @var array */ protected $_pagination_args = []; /** * The current screen. * * @since 3.1.0 * @var object */ protected $screen; /** * Cached bulk actions. * * @since 3.1.0 * @var array */ private $_actions; /** * Cached pagination output. * * @since 3.1.0 * @var string */ private $_pagination; /** * The view switcher modes. * * @since 4.1.0 * @var array */ protected $modes = []; /** * Stores the value returned by ->get_column_info(). * * @since 4.1.0 * @var array */ protected $_column_headers; /** * {@internal Missing Summary} * * @var array */ protected $compat_fields = [ '_args', '_pagination_args', 'screen', '_actions', '_pagination' ]; /** * {@internal Missing Summary} * * @var array */ protected $compat_methods = [ 'set_pagination_args', 'get_views', 'get_bulk_actions', 'bulk_actions', 'row_actions', 'months_dropdown', 'view_switcher', 'comments_bubble', 'get_items_per_page', 'pagination', 'get_sortable_columns', 'get_column_info', 'get_table_classes', 'display_tablenav', 'extra_tablenav', 'single_row_columns', ]; /** * Constructor. * * The child class should call this constructor from its own constructor to override * the default $args. * * @since 3.1.0 * * @param array|string $args { * Array or string of arguments. * * @type string $plural Plural value used for labels and the objects being listed. * This affects things such as CSS class-names and nonces used * in the list table, e.g. 'posts'. Default empty. * @type string $singular Singular label for an object being listed, e.g. 'post'. * Default empty * @type bool $ajax Whether the list table supports Ajax. This includes loading * and sorting data, for example. If true, the class will call * the _js_vars() method in the footer to provide variables * to any scripts handling Ajax events. Default false. * @type string $screen String containing the hook name used to determine the current * screen. If left null, the current screen will be automatically set. * Default null. * } */ public function __construct( $args = [] ) { $args = wp_parse_args( $args, [ 'plural' => '', 'singular' => '', 'ajax' => false, 'screen' => null, ] ); $this->screen = convert_to_screen( $args['screen'] ); add_filter( "manage_{$this->screen->id}_columns", [ $this, 'get_columns' ], 0 ); if ( ! $args['plural'] ) { $args['plural'] = $this->screen->base; } $args['plural'] = sanitize_key( $args['plural'] ); $args['singular'] = sanitize_key( $args['singular'] ); $this->_args = $args; if ( $args['ajax'] ) { // wp_enqueue_script( 'list-table' ); add_action( 'admin_footer', [ $this, '_js_vars' ] ); } if ( empty( $this->modes ) ) { $this->modes = [ 'list' => __( 'List View' ), 'excerpt' => __( 'Excerpt View' ), ]; } } /** * Make private properties readable for backward compatibility. * * @since 4.0.0 * * @param string $name Property to get. * @return mixed Property. */ public function __get( $name ) { if ( in_array( $name, $this->compat_fields, true ) ) { return $this->$name; } } /** * Make private properties settable for backward compatibility. * * @since 4.0.0 * * @param string $name Property to check if set. * @param mixed $value Property value. * @return mixed Newly-set property. */ public function __set( $name, $value ) { if ( in_array( $name, $this->compat_fields, true ) ) { $this->$name = $value; return $this->$name; } } /** * Make private properties checkable for backward compatibility. * * @since 4.0.0 * * @param string $name Property to check if set. * @return bool Whether the property is set. */ public function __isset( $name ) { if ( in_array( $name, $this->compat_fields, true ) ) { return isset( $this->$name ); } return false; } /** * Make private properties un-settable for backward compatibility. * * @since 4.0.0 * * @param string $name Property to unset. */ public function __unset( $name ) { if ( in_array( $name, $this->compat_fields, true ) ) { unset( $this->$name ); } } /** * Make private/protected methods readable for backward compatibility. * * @since 4.0.0 * * @param callable $name Method to call. * @param array $arguments Arguments to pass when calling. * @return mixed|bool Return value of the callback, false otherwise. */ public function __call( $name, $arguments ) { if ( in_array( $name, $this->compat_methods, true ) ) { return call_user_func_array( [ $this, $name ], $arguments ); } return false; } /** * Checks the current user's permissions * * @since 3.1.0 * @abstract */ public function ajax_user_can() { die( 'function PUM_ListTable::ajax_user_can() must be over-ridden in a sub-class.' ); } /** * Prepares the list of items for displaying. * * @uses PUM_ListTable::set_pagination_args() * * @since 3.1.0 * @abstract */ public function prepare_items() { die( 'function PUM_ListTable::prepare_items() must be over-ridden in a sub-class.' ); } /** * An internal method that sets all the necessary pagination arguments * * @since 3.1.0 * * @param array|string $args Array or string of arguments with information about the pagination. */ protected function set_pagination_args( $args ) { $args = wp_parse_args( $args, [ 'total_items' => 0, 'total_pages' => 0, 'per_page' => 0, ] ); if ( ! $args['total_pages'] && $args['per_page'] > 0 ) { $args['total_pages'] = ceil( $args['total_items'] / $args['per_page'] ); } // Redirect if page number is invalid and headers are not already sent. if ( ! headers_sent() && ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) { wp_safe_redirect( add_query_arg( 'paged', $args['total_pages'] ) ); exit; } $this->_pagination_args = $args; } /** * Access the pagination args. * * @since 3.1.0 * * @param string $key Pagination argument to retrieve. Common values include 'total_items', * 'total_pages', 'per_page', or 'infinite_scroll'. * @return int Number of items that correspond to the given pagination argument. */ public function get_pagination_arg( $key ) { if ( 'page' === $key ) { return $this->get_pagenum(); } if ( isset( $this->_pagination_args[ $key ] ) ) { return $this->_pagination_args[ $key ]; } return null; } /** * Whether the table has items to display or not * * @since 3.1.0 * * @return bool */ public function has_items() { return ! empty( $this->items ); } /** * Message to be displayed when there are no items * * @since 3.1.0 */ public function no_items() { esc_html_e( 'No items found.' ); } /** * Displays the search box. * * @since 3.1.0 * * @param string $text The 'submit' button label. * @param string $input_id ID attribute value for the search input field. */ public function search_box( $text, $input_id ) { if ( ! isset( $_REQUEST['pum_table_search_nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_REQUEST['pum_table_search_nonce'] ) ), 'pum_table_search_nonce' ) ) { return; } if ( empty( $_REQUEST['s'] ) && ! $this->has_items() ) { return; } $input_id = $input_id . '-search-input'; if ( ! empty( $_REQUEST['orderby'] ) ) { echo '<input type="hidden" name="orderby" value="' . esc_attr( sanitize_key( wp_unslash( $_REQUEST['orderby'] ) ) ) . '" />'; } if ( ! empty( $_REQUEST['order'] ) ) { echo '<input type="hidden" name="order" value="' . esc_attr( sanitize_key( wp_unslash( $_REQUEST['order'] ) ) ) . '" />'; } if ( ! empty( $_REQUEST['post_mime_type'] ) ) { echo '<input type="hidden" name="post_mime_type" value="' . esc_attr( sanitize_key( wp_unslash( $_REQUEST['post_mime_type'] ) ) ) . '" />'; } if ( ! empty( $_REQUEST['detached'] ) ) { echo '<input type="hidden" name="detached" value="' . esc_attr( sanitize_key( wp_unslash( $_REQUEST['detached'] ) ) ) . '" />'; } ?> <p class="search-box"> <label class="screen-reader-text" for="<?php echo esc_attr( $input_id ); ?>"><?php echo esc_html( $text ); ?>:</label> <input type="search" id="<?php echo esc_attr( $input_id ); ?>" name="s" value="<?php _admin_search_query(); ?>" /> <?php wp_nonce_field( 'pum_table_search_nonce', 'pum_table_search_nonce' ); ?> <?php submit_button( $text, '', '', false, [ 'id' => 'search-submit' ] ); ?> </p> <?php } /** * Get an associative array ( id => link ) with the list * of views available on this table. * * @since 3.1.0 * * @return array */ protected function get_views() { return []; } /** * Display the list of views available on this table. * * @since 3.1.0 */ public function views() { $views = $this->get_views(); /** * Filters the list of available list table views. * * The dynamic portion of the hook name, `$this->screen->id`, refers * to the ID of the current screen, usually a string. * * @since 3.5.0 * * @param array $views An array of available list table views. */ $views = apply_filters( "views_{$this->screen->id}", $views ); if ( empty( $views ) ) { return; } $this->screen->render_screen_reader_content( 'heading_views' ); echo "<ul class='subsubsub'>\n"; foreach ( $views as $class => $view ) { $views[ $class ] = "\t<li class='$class'>$view"; } echo wp_kses( implode( " |</li>\n", $views ) . "</li>\n", wp_kses_allowed_html( 'data' ) ); echo '</ul>'; } /** * Get an associative array ( option_name => option_title ) with the list * of bulk actions available on this table. * * @since 3.1.0 * * @return array */ protected function get_bulk_actions() { return []; } /** * Display the bulk actions dropdown. * * @since 3.1.0 * * @param string $which The location of the bulk actions: 'top' or 'bottom'. * This is designated as optional for backward compatibility. */ protected function bulk_actions( $which = '' ) { if ( is_null( $this->_actions ) ) { $this->_actions = $this->get_bulk_actions(); /** * Filters the list table Bulk Actions drop-down. * * The dynamic portion of the hook name, `$this->screen->id`, refers * to the ID of the current screen, usually a string. * * This filter can currently only be used to remove bulk actions. * * @since 3.5.0 * * @param array $actions An array of the available bulk actions. */ $this->_actions = apply_filters( "bulk_actions-{$this->screen->id}", $this->_actions ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores $two = ''; } else { $two = '2'; } if ( empty( $this->_actions ) ) { return; } echo '<label for="bulk-action-selector-' . esc_attr( $which ) . '" class="screen-reader-text">' . esc_html__( 'Select bulk action' ) . '</label>'; echo '<select name="action' . esc_attr( $two ) . '" id="bulk-action-selector-' . esc_attr( $which ) . "\">\n"; echo '<option value="-1">' . esc_html__( 'Bulk Actions' ) . "</option>\n"; foreach ( $this->_actions as $name => $title ) { $class = 'edit' === $name ? ' class="hide-if-no-js"' : ''; echo "\t" . '<option value="' . esc_attr( $name ) . '"' . esc_attr( $class ) . '>' . esc_html( $title ) . "</option>\n"; } echo "</select>\n"; submit_button( __( 'Apply' ), 'action', '', false, [ 'id' => "doaction$two" ] ); echo "\n"; } /** * Get the current action selected from the bulk actions dropdown. * * @since 3.1.0 * * @return string|false The action name or False if no action was selected */ public function current_action() { // Ignored because this is validated against an explicit whitelist of actions and sanitized before usage. // phpcs:disable WordPress.Security.NonceVerification.Recommended if ( isset( $_REQUEST['filter_action'] ) && ! empty( $_REQUEST['filter_action'] ) ) { return false; } if ( isset( $_REQUEST['action'] ) && -1 !== $_REQUEST['action'] ) { return sanitize_key( wp_unslash( $_REQUEST['action'] ) ); } if ( isset( $_REQUEST['action2'] ) && -1 !== $_REQUEST['action2'] ) { return sanitize_key( wp_unslash( $_REQUEST['action2'] ) ); } // phpcs:enable WordPress.Security.NonceVerification.Recommended return false; } /** * Generate row actions div * * @since 3.1.0 * * @param array $actions The list of actions * @param bool $always_visible Whether the actions should be always visible * @return string */ protected function row_actions( $actions, $always_visible = false ) { $action_count = count( $actions ); $i = 0; if ( ! $action_count ) { return ''; } $out = '<div class="' . ( $always_visible ? 'row-actions visible' : 'row-actions' ) . '">'; foreach ( $actions as $action => $link ) { ++$i; ( $i === $action_count ) ? $sep = '' : $sep = ' | '; $out .= "<span class='$action'>$link$sep</span>"; } $out .= '</div>'; $out .= '<button type="button" class="toggle-row"><span class="screen-reader-text">' . __( 'Show more details' ) . '</span></button>'; return $out; } /** * Display a monthly dropdown for filtering items * * @since 3.1.0 * * @global wpdb $wpdb * @global WP_Locale $wp_locale * * @param string $post_type */ protected function months_dropdown( $post_type ) { global $wpdb, $wp_locale; // Ignored because nonce is done already. // phpcs:disable WordPress.Security.NonceVerification.Recommended /** * Filters whether to remove the 'Months' drop-down from the post list table. * * @since 4.2.0 * * @param bool $disable Whether to disable the drop-down. Default false. * @param string $post_type The post type. */ if ( apply_filters( 'disable_months_dropdown', false, $post_type ) ) { return; } $extra_checks = "AND post_status != 'auto-draft'"; if ( ! isset( $_GET['post_status'] ) || 'trash' !== $_GET['post_status'] ) { $extra_checks .= " AND post_status != 'trash'"; } elseif ( isset( $_GET['post_status'] ) ) { $post_status = sanitize_key( wp_unslash( $_GET['post_status'] ) ); $extra_checks = $wpdb->prepare( ' AND post_status = %s', $post_status ); } // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery $months = $wpdb->get_results( $wpdb->prepare( "SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month FROM $wpdb->posts WHERE post_type = %s $extra_checks ORDER BY post_date DESC ", $post_type ) ); /** * Filters the 'Months' drop-down results. * * @since 3.7.0 * * @param object $months The months drop-down query results. * @param string $post_type The post type. */ $months = apply_filters( 'months_dropdown_results', $months, $post_type ); $month_count = count( $months ); if ( ! $month_count || ( 1 === $month_count && 0 === $months[0]->month ) ) { return; } $m = isset( $_GET['m'] ) ? (int) $_GET['m'] : 0; // phpcs:enable WordPress.Security.NonceVerification.Recommended ?> <label for="filter-by-date" class="screen-reader-text"><?php esc_attr_e( 'Filter by date' ); ?></label> <select name="m" id="filter-by-date"> <option<?php selected( $m, 0 ); ?> value="0"><?php esc_attr_e( 'All dates' ); ?></option> <?php foreach ( $months as $arc_row ) { if ( 0 === $arc_row->year ) { continue; } $month = zeroise( $arc_row->month, 2 ); $year = $arc_row->year; printf( "<option %s value='%s'>%s</option>\n", selected( $m, $year . $month, false ), esc_attr( $arc_row->year . $month ), sprintf( /* translators: 1: month name, 2: 4-digit year */ esc_html__( '%1$s %2$d', 'default' ), esc_html( $wp_locale->get_month( $month ) ), esc_html( $year ) ) ); } ?> </select> <?php } /** * Display a view switcher * * @since 3.1.0 * * @param string $current_mode */ protected function view_switcher( $current_mode ) { ?> <input type="hidden" name="mode" value="<?php echo esc_attr( $current_mode ); ?>" /> <div class="view-switch"> <?php foreach ( $this->modes as $mode => $title ) { $classes = [ 'view-' . $mode ]; if ( $current_mode === $mode ) { $classes[] = 'current'; } printf( "<a href='%s' class='%s' id='view-switch-" . esc_attr( $mode ) . "'><span class='screen-reader-text'>%s</span></a>\n", esc_url_raw( add_query_arg( 'mode', $mode ) ), esc_attr( implode( ' ', $classes ) ), esc_html( $title ) ); } ?> </div> <?php } /** * Display a comment count bubble * * @since 3.1.0 * * @param int $post_id The post ID. * @param int $pending_comments Number of pending comments. */ protected function comments_bubble( $post_id, $pending_comments ) { $approved_comments = get_comments_number(); $approved_comments_number = number_format_i18n( $approved_comments ); $pending_comments_number = number_format_i18n( $pending_comments ); $approved_only_phrase = sprintf( /* translators: %s: number of comments */ _n( '%s comment', '%s comments', $approved_comments ), $approved_comments_number ); $approved_phrase = sprintf( /* translators: %s: Number of approved comments. */ _n( '%s approved comment', '%s approved comments', $approved_comments ), $approved_comments_number ); $pending_phrase = sprintf( /* translators: %s: Number of pending comments. */ _n( '%s pending comment', '%s pending comments', $pending_comments ), $pending_comments_number ); // No comments at all. if ( ! $approved_comments && ! $pending_comments ) { printf( '<span aria-hidden="true">—</span><span class="screen-reader-text">%s</span>', esc_html__( 'No comments', 'default' ) ); // Approved comments have different display depending on some conditions. } elseif ( $approved_comments ) { printf( '<a href="%s" class="post-com-count post-com-count-approved"><span class="comment-count-approved" aria-hidden="true">%s</span><span class="screen-reader-text">%s</span></a>', esc_url_raw( add_query_arg( [ 'p' => $post_id, 'comment_status' => 'approved', ], admin_url( 'edit-comments.php' ) ) ), absint( $approved_comments_number ), esc_attr( $pending_comments ? $approved_phrase : $approved_only_phrase ) ); } else { printf( '<span class="post-com-count post-com-count-no-comments"><span class="comment-count comment-count-no-comments" aria-hidden="true">%s</span><span class="screen-reader-text">%s</span></span>', absint( $approved_comments_number ), esc_attr( $pending_comments ? __( 'No approved comments', 'default' ) : __( 'No comments', 'default' ) ) ); } if ( $pending_comments ) { printf( '<a href="%s" class="post-com-count post-com-count-pending"><span class="comment-count-pending" aria-hidden="true">%s</span><span class="screen-reader-text">%s</span></a>', esc_url_raw( add_query_arg( [ 'p' => $post_id, 'comment_status' => 'moderated', ], admin_url( 'edit-comments.php' ) ) ), absint( $pending_comments_number ), esc_attr( $pending_phrase ) ); } else { printf( '<span class="post-com-count post-com-count-pending post-com-count-no-pending"><span class="comment-count comment-count-no-pending" aria-hidden="true">%s</span><span class="screen-reader-text">%s</span></span>', absint( $pending_comments_number ), esc_attr( $approved_comments ? __( 'No pending comments', 'default' ) : __( 'No comments', 'default' ) ) ); } } /** * Get the current page number * * @since 3.1.0 * * @return int */ public function get_pagenum() { // phpcs:disable WordPress.Security.NonceVerification.Recommended $pagenum = isset( $_REQUEST['paged'] ) ? absint( wp_unslash( $_REQUEST['paged'] ) ) : 0; // phpcs:enable WordPress.Security.NonceVerification.Recommended if ( isset( $this->_pagination_args['total_pages'] ) && $pagenum > $this->_pagination_args['total_pages'] ) { $pagenum = $this->_pagination_args['total_pages']; } return max( 1, $pagenum ); } /** * Get number of items to display on a single page * * @since 3.1.0 * * @param string $option * @param int $default_value * @return int */ protected function get_items_per_page( $option, $default_value = 20 ) { $per_page = (int) get_user_option( $option ); if ( empty( $per_page ) || $per_page < 1 ) { $per_page = $default_value; } /** * Filters the number of items to be displayed on each page of the list table. * * The dynamic hook name, $option, refers to the `per_page` option depending * on the type of list table in use. Possible values include: 'edit_comments_per_page', * 'sites_network_per_page', 'site_themes_network_per_page', 'themes_network_per_page', * 'users_network_per_page', 'edit_post_per_page', 'edit_page_per_page', * 'edit_{$post_type}_per_page', etc. * * @since 2.9.0 * * @param int $per_page Number of items to be displayed. Default 20. */ return (int) apply_filters( "{$option}", $per_page ); } /** * Display the pagination. * * @since 3.1.0 * * @param string $which */ protected function pagination( $which ) { if ( empty( $this->_pagination_args ) ) { return; } $total_items = $this->_pagination_args['total_items']; $total_pages = $this->_pagination_args['total_pages']; $infinite_scroll = false; if ( isset( $this->_pagination_args['infinite_scroll'] ) ) { $infinite_scroll = $this->_pagination_args['infinite_scroll']; } if ( 'top' === $which && $total_pages > 1 ) { $this->screen->render_screen_reader_content( 'heading_pagination' ); } $output = '<span class="displaying-num">' . sprintf( /* translators: %s: Number of items. */ _n( '%s item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . '</span>'; $current = $this->get_pagenum(); if ( ! function_exists( 'wp_removable_query_args' ) ) { require_once Popup_Maker::$DIR . 'includes/compatibility/function-wp_removable_query_args.php'; } $removable_query_args = wp_removable_query_args(); $host = isset( $_SERVER['HTTP_HOST'] ) ? esc_url_raw( wp_unslash( $_SERVER['HTTP_HOST'] ) ) : wp_parse_url( home_url(), PHP_URL_HOST ); $request_uri = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : ''; $current_url = set_url_scheme( $host . $request_uri ); $current_url = remove_query_arg( $removable_query_args, $current_url ); $page_links = []; $total_pages_before = '<span class="paging-input">'; $total_pages_after = '</span></span>'; $disable_first = false; $disable_last = false; $disable_prev = false; $disable_next = false; if ( 1 === $current ) { $disable_first = true; $disable_prev = true; } if ( 2 === $current ) { $disable_first = true; } if ( $current === $total_pages ) { $disable_last = true; $disable_next = true; } if ( $current === $total_pages - 1 ) { $disable_last = true; } if ( $disable_first ) { $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">«</span>'; } else { $page_links[] = sprintf( "<a class='first-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>", esc_url_raw( remove_query_arg( 'paged', $current_url ) ), __( 'First page' ), '«' ); } if ( $disable_prev ) { $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">‹</span>'; } else { $page_links[] = sprintf( "<a class='prev-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>", esc_url_raw( add_query_arg( 'paged', max( 1, $current - 1 ), $current_url ) ), __( 'Previous page' ), '‹' ); } if ( 'bottom' === $which ) { $html_current_page = $current; $total_pages_before = '<span class="screen-reader-text">' . __( 'Current Page' ) . '</span><span id="table-paging" class="paging-input"><span class="tablenav-paging-text">'; } else { $html_current_page = sprintf( "%s<input class='current-page' id='current-page-selector' type='text' name='paged' value='%s' size='%d' aria-describedby='table-paging' /><span class='tablenav-paging-text'>", '<label for="current-page-selector" class="screen-reader-text">' . __( 'Current Page' ) . '</label>', $current, strlen( $total_pages ) ); } $html_total_pages = sprintf( "<span class='total-pages'>%s</span>", number_format_i18n( $total_pages ) ); $page_links[] = $total_pages_before . sprintf( /* translators: %1$s: Current page number, %2$s: Total number of pages. */ _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . $total_pages_after; if ( $disable_next ) { $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">›</span>'; } else { $page_links[] = sprintf( "<a class='next-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>", esc_url_raw( add_query_arg( 'paged', min( $total_pages, $current + 1 ), $current_url ) ), __( 'Next page' ), '›' ); } if ( $disable_last ) { $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">»</span>'; } else { $page_links[] = sprintf( "<a class='last-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>", esc_url_raw( add_query_arg( 'paged', $total_pages, $current_url ) ), __( 'Last page' ), '»' ); } $pagination_links_class = 'pagination-links'; if ( ! empty( $infinite_scroll ) ) { $pagination_links_class .= ' hide-if-js'; } $output .= "\n<span class='$pagination_links_class'>" . join( "\n", $page_links ) . '</span>'; if ( $total_pages ) { $page_class = $total_pages < 2 ? ' one-page' : ''; } else { $page_class = ' no-pages'; } $this->_pagination = "<div class='tablenav-pages{$page_class}'>$output</div>"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo $this->_pagination; } /** * Get a list of columns. The format is: * 'internal-name' => 'Title' * * @since 3.1.0 * @abstract * * @return array */ public function get_columns() { // Doing it wrong _doing_it_wrong( __FUNCTION__, esc_html__( 'function PUM_ListTable::get_columns() must be over-ridden in a sub-class.', 'popup-maker' ), '1.7.0' ); return []; } /** * Get a list of sortable columns. The format is: * 'internal-name' => 'orderby' * or * 'internal-name' => array( 'orderby', true ) * * The second format will make the initial sorting order be descending * * @since 3.1.0 * * @return array */ protected function get_sortable_columns() { return []; } /** * Gets the name of the default primary column. * * @since 4.3.0 * * @return string Name of the default primary column, in this case, an empty string. */ protected function get_default_primary_column_name() { $columns = $this->get_columns(); $column = ''; if ( empty( $columns ) ) { return $column; } // We need a primary defined so responsive views show something, // so let's fall back to the first non-checkbox column. foreach ( $columns as $col => $column_name ) { if ( 'cb' === $col ) { continue; } $column = $col; break; } return $column; } /** * Public wrapper for PUM_ListTable::get_default_primary_column_name(). * * @since 4.4.0 * * @return string Name of the default primary column. */ public function get_primary_column() { return $this->get_primary_column_name(); } /** * Gets the name of the primary column. * * @since 4.3.0 * * @return string The name of the primary column. */ protected function get_primary_column_name() { $columns = get_column_headers( $this->screen ); $default = $this->get_default_primary_column_name(); // If the primary column doesn't exist fall back to the // first non-checkbox column. if ( ! isset( $columns[ $default ] ) ) { $default = self::get_default_primary_column_name(); } /** * Filters the name of the primary column for the current list table. * * @since 4.3.0 * * @param string $default Column name default for the specific list table, e.g. 'name'. * @param string $context Screen ID for specific list table, e.g. 'plugins'. */ $column = apply_filters( 'list_table_primary_column', $default, $this->screen->id ); if ( empty( $column ) || ! isset( $columns[ $column ] ) ) { $column = $default; } return $column; } /** * Get a list of all, hidden and sortable columns, with filter applied * * @since 3.1.0 * * @return array */ protected function get_column_info() { // $_column_headers is already set / cached if ( isset( $this->_column_headers ) && is_array( $this->_column_headers ) ) { // Back-compat for list tables that have been manually setting $_column_headers for horse reasons. // In 4.3, we added a fourth argument for primary column. $column_headers = [ [], [], [], $this->get_primary_column_name() ]; foreach ( $this->_column_headers as $key => $value ) { $column_headers[ $key ] = $value; } return $column_headers; } $columns = get_column_headers( $this->screen ); $hidden = get_hidden_columns( $this->screen ); $sortable_columns = $this->get_sortable_columns(); /** * Filters the list table sortable columns for a specific screen. * * The dynamic portion of the hook name, `$this->screen->id`, refers * to the ID of the current screen, usually a string. * * @since 3.5.0 * * @param array $sortable_columns An array of sortable columns. */ $_sortable = apply_filters( "manage_{$this->screen->id}_sortable_columns", $sortable_columns ); $sortable = []; foreach ( $_sortable as $id => $data ) { if ( empty( $data ) ) { continue; } $data = (array) $data; if ( ! isset( $data[1] ) ) { $data[1] = false; } $sortable[ $id ] = $data; } $primary = $this->get_primary_column_name(); $this->_column_headers = [ $columns, $hidden, $sortable, $primary ]; return $this->_column_headers; } /** * Return number of visible columns * * @since 3.1.0 * * @return int */ public function get_column_count() { list ( $columns, $hidden ) = $this->get_column_info(); $hidden = array_intersect( array_keys( $columns ), array_filter( $hidden ) ); return count( $columns ) - count( $hidden ); } /** * Print column headers, accounting for hidden and sortable columns. * * @since 3.1.0 * * @staticvar int $cb_counter * * @param bool $with_id Whether to set the id attribute or not */ public function print_column_headers( $with_id = true ) { list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info(); $host = isset( $_SERVER['HTTP_HOST'] ) ? sanitize_url( wp_unslash( $_SERVER['HTTP_HOST'] ) ) : wp_parse_url( home_url(), PHP_URL_HOST ); $request_uri = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : ''; $current_url = set_url_scheme( 'http://' . $host . $request_uri ); $current_url = remove_query_arg( 'paged', $current_url ); // These are simple keys in the url. // phpcs:disable WordPress.Security.NonceVerification.Recommended if ( isset( $_GET['orderby'] ) ) { $current_orderby = sanitize_key( wp_unslash( $_GET['orderby'] ) ); } else { $current_orderby = ''; } if ( isset( $_GET['order'] ) && 'desc' === $_GET['order'] ) { $current_order = 'desc'; } else { $current_order = 'asc'; } // phpcs:enable WordPress.Security.NonceVerification.Recommended if ( ! empty( $columns['cb'] ) ) { static $cb_counter = 1; $columns['cb'] = '<label class="screen-reader-text" for="cb-select-all-' . $cb_counter . '">' . __( 'Select All' ) . '</label>' . '<input id="cb-select-all-' . $cb_counter . '" type="checkbox" />'; ++$cb_counter; } foreach ( $columns as $column_key => $column_display_name ) { $class = [ 'manage-column', "column-$column_key" ]; if ( in_array( $column_key, $hidden, true ) ) { $class[] = 'hidden'; } if ( 'cb' === $column_key ) { $class[] = 'check-column'; } elseif ( in_array( $column_key, [ 'posts', 'comments', 'links' ], true ) ) { $class[] = 'num'; } if ( $column_key === $primary ) { $class[] = 'column-primary'; } if ( isset( $sortable[ $column_key ] ) ) { list( $orderby, $desc_first ) = $sortable[ $column_key ]; if ( $current_orderby === $orderby ) { $order = 'asc' === $current_order ? 'desc' : 'asc'; $class[] = 'sorted'; $class[] = $current_order; } else { $order = $desc_first ? 'desc' : 'asc'; $class[] = 'sortable'; $class[] = $desc_first ? 'asc' : 'desc'; } $column_display_name = '<a href="' . esc_url_raw( add_query_arg( compact( 'orderby', 'order' ), $current_url ) ) . '"><span>' . $column_display_name . '</span><span class="sorting-indicator"></span></a>'; } $tag = ( 'cb' === $column_key ) ? 'td' : 'th'; $scope = ( 'th' === $tag ) ? 'scope="col"' : ''; $id = $with_id ? "id='$column_key'" : ''; $class = "class='" . join( ' ', $class ) . "'"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo "<$tag $scope $id $class>$column_display_name</$tag>"; } } /** * Display the table * * @since 3.1.0 */ public function display() { $singular = $this->_args['singular']; $this->display_tablenav( 'top' ); $this->screen->render_screen_reader_content( 'heading_list' ); ?> <table class="wp-list-table <?php echo esc_attr( implode( ' ', $this->get_table_classes() ) ); ?>"> <thead> <tr> <?php $this->print_column_headers(); ?> </tr> </thead> <tbody id="the-list" <?php if ( $singular ) { echo esc_attr( " data-wp-lists='list:$singular'" ); } ?> > <?php $this->display_rows_or_placeholder(); ?> </tbody> <tfoot> <tr> <?php $this->print_column_headers( false ); ?> </tr> </tfoot> </table> <?php $this->display_tablenav( 'bottom' ); } /** * Get a list of CSS classes for the PUM_ListTable table tag. * * @since 3.1.0 * * @return array List of CSS classes for the table tag. */ protected function get_table_classes() { return [ 'widefat', 'fixed', 'striped', $this->_args['plural'] ]; } /** * Generate the table navigation above or below the table * * @since 3.1.0 * @param string $which */ protected function display_tablenav( $which ) { if ( 'top' === $which ) { wp_nonce_field( 'bulk-' . $this->_args['plural'] ); } ?> <div class="tablenav <?php echo esc_attr( $which ); ?>"> <?php if ( $this->has_items() ) : ?> <div class="alignleft actions bulkactions"> <?php $this->bulk_actions( $which ); ?> </div> <?php endif; $this->extra_tablenav( $which ); $this->pagination( $which ); ?> <br class="clear" /> </div> <?php } /** * Extra controls to be displayed between bulk actions and pagination * * @since 3.1.0 * * @param string $which */ protected function extra_tablenav( $which ) {} /** * Generate the tbody element for the list table. * * @since 3.1.0 */ public function display_rows_or_placeholder() { if ( $this->has_items() ) { $this->display_rows(); } else { echo '<tr class="no-items"><td class="colspanchange" colspan="' . esc_attr( $this->get_column_count() ) . '">'; $this->no_items(); echo '</td></tr>'; } } /** * Generate the table rows * * @since 3.1.0 */ public function display_rows() { foreach ( $this->items as $item ) { $this->single_row( $item ); } } /** * Generates content for a single row of the table * * @since 3.1.0 * * @param object $item The current item */ public function single_row( $item ) { echo '<tr>'; $this->single_row_columns( $item ); echo '</tr>'; } /** * * @param object $item * @param string $column_name */ protected function column_default( $item, $column_name ) {} /** * * @param object $item */ protected function column_cb( $item ) {} /** * Generates the columns for a single row of the table * * @since 3.1.0 * * @param object $item The current item */ protected function single_row_columns( $item ) { list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info(); foreach ( $columns as $column_name => $column_display_name ) { $classes = "$column_name column-$column_name"; if ( $primary === $column_name ) { $classes .= ' has-row-actions column-primary'; } if ( in_array( $column_name, $hidden, true ) ) { $classes .= ' hidden'; } // Comments column uses HTML in the display name with screen reader text. // Instead of using esc_attr(), we strip tags to get closer to a user-friendly string. $data = 'data-colname="' . wp_strip_all_tags( $column_display_name ) . '"'; $attributes = "class='$classes' $data"; if ( 'cb' === $column_name ) { echo '<th scope="row" class="check-column">'; echo wp_kses( $this->column_cb( $item ), [ 'input' => [ 'type' => 'checkbox', 'name' => true, 'id' => true, 'value' => true, ], 'label' => [ 'for' => true, 'class' => true, ], ] ); echo '</th>'; } elseif ( method_exists( $this, '_column_' . $column_name ) ) { echo wp_kses( call_user_func( [ $this, '_column_' . $column_name ], $item, $classes, $data, $primary ), wp_kses_allowed_html( 'post' ) ); } elseif ( method_exists( $this, 'column_' . $column_name ) ) { // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo '<td ' . $attributes . '>'; echo wp_kses( call_user_func( [ $this, 'column_' . $column_name ], $item ), wp_kses_allowed_html( 'post' ) ); echo wp_kses( $this->handle_row_actions( $item, $column_name, $primary ), wp_kses_allowed_html( 'post' ) ); echo '</td>'; } else { // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo '<td ' . $attributes . '>'; echo wp_kses( $this->column_default( $item, $column_name ), wp_kses_allowed_html( 'post' ) ); echo wp_kses( $this->handle_row_actions( $item, $column_name, $primary ), wp_kses_allowed_html( 'post' ) ); echo '</td>'; } } } /** * Generates and display row actions links for the list table. * * @since 4.3.0 * * @param object $item The item being acted upon. * @param string $column_name Current column name. * @param string $primary Primary column name. * @return string The row actions HTML, or an empty string if the current column is the primary column. */ protected function handle_row_actions( $item, $column_name, $primary ) { return $column_name === $primary ? '<button type="button" class="toggle-row"><span class="screen-reader-text">' . __( 'Show more details' ) . '</span></button>' : ''; } /** * Handle an incoming ajax request (called from admin-ajax.php) * * @since 3.1.0 */ public function ajax_response() { $this->prepare_items(); ob_start(); // phpcs:disable WordPress.Security.NonceVerification.Recommended if ( ! empty( $_REQUEST['no_placeholder'] ) ) { $this->display_rows(); } else { $this->display_rows_or_placeholder(); } // phpcs:enable WordPress.Security.NonceVerification.Recommended $rows = ob_get_clean(); $response = [ 'rows' => $rows ]; if ( isset( $this->_pagination_args['total_items'] ) ) { $response['total_items_i18n'] = sprintf( /* translators: %s: Number of items. */ _n( '%s item', '%s items', $this->_pagination_args['total_items'] ), number_format_i18n( $this->_pagination_args['total_items'] ) ); } if ( isset( $this->_pagination_args['total_pages'] ) ) { $response['total_pages'] = $this->_pagination_args['total_pages']; $response['total_pages_i18n'] = number_format_i18n( $this->_pagination_args['total_pages'] ); } // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped die( PUM_Utils_Array::safe_json_encode( $response ) ); } /** * Send required variables to JavaScript land */ public function _js_vars() { $args = [ 'class' => get_class( $this ), 'screen' => [ 'id' => $this->screen->id, 'base' => $this->screen->base, ], ]; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped printf( "<script type='text/javascript'>list_args = %s;</script>\n", PUM_Utils_Array::safe_json_encode( $args ) ); } } classes/Admin/Subscribers.php 0000644 00000005225 15174671772 0012255 0 ustar 00 <?php /** * Class for Admin Subscribers * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Admin_Subscribers */ class PUM_Admin_Subscribers { /** * */ public static function init() { add_action( 'admin_menu', [ __CLASS__, 'after_page_registration' ], 11 ); add_filter( 'set-screen-option', [ __CLASS__, 'set_option' ], 10, 3 ); } /** * Render settings page with tabs. */ public static function page() { self::list_table()->prepare_items(); ?> <div class="wrap"> <h1><?php esc_html_e( 'Subscribers', 'popup-maker' ); ?></h1> <div id="pum-subscribers"> <div id="pum-subscribers-post-body"> <form id="pum-subscribers-list-form" method="get"> <?php // phpcs:disable WordPress.Security.NonceVerification.Recommended $page = isset( $_REQUEST['page'] ) ? sanitize_key( wp_unslash( $_REQUEST['page'] ) ) : ''; $post_type = isset( $_REQUEST['post_type'] ) ? sanitize_key( wp_unslash( $_REQUEST['post_type'] ) ) : ''; // phpcs:enable WordPress.Security.NonceVerification.Recommended ?> <input type = 'hidden' name = 'page' value = "<?php echo esc_attr( $page ); ?>" /> <input type = 'hidden' name = 'post_type' value = "<?php echo esc_attr( $post_type ); ?>" /> <?php self::list_table()->search_box( __( 'Find', 'popup-maker' ), 'pum-subscriber-find' ); self::list_table()->display(); ?> </form> </div> </div> </div> <?php } /** * @return PUM_Admin_Subscribers_Table */ public static function list_table() { static $list_table; if ( ! isset( $list_table ) ) { $list_table = new PUM_Admin_Subscribers_Table(); } return $list_table; } public static function after_page_registration() { add_action( 'load-' . PUM_Admin_Pages::$pages['subscribers'], [ 'PUM_Admin_Subscribers', 'load_user_list_table_screen_options' ] ); } public static function load_user_list_table_screen_options() { add_screen_option( 'per_page', [ 'label' => __( 'Subscribers Per Page', 'popup-maker' ), 'default' => 20, 'option' => 'pum_subscribers_per_page', ] ); /* * Instantiate the User List Table. Creating an instance here will allow the core WP_List_Table class to automatically * load the table columns in the screen options panel */ self::list_table(); } /** * Force WP to save the option. * * @param $status * @param $option * @param $value * * @return mixed */ public static function set_option( $status, $option, $value ) { if ( 'pum_subscribers_per_page' === $option ) { return $value; } return $status; } } classes/Admin/Extend.php 0000644 00000017045 15174671772 0011221 0 ustar 00 <?php /** * Class for Admin Extend * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Admin_Extend */ class PUM_Admin_Extend { /** * Return array of Popup Maker extensions. * * @return array|mixed|object */ public static function available_extensions() { $json_data = file_get_contents( Popup_Maker::$DIR . 'includes/extension-list.json' ); return json_decode( $json_data, true ); } /** * Support Page * * Renders the support page contents. */ public static function page() { $upgrade_link = \PopupMaker\get_upgrade_link( [ 'utm_source' => 'plugin-extension-page', 'utm_medium' => 'text-link', 'utm_campaign' => 'upsell', 'utm_content' => 'hero-cta', ] ); ?> <div class="wrap"> <h1><?php esc_html_e( 'Upgrade', 'popup-maker' ); ?></h1> <?php PUM_Upsell::display_addon_tabs(); ?> <article class="upgrade-wrapper"> <section class="upgrade-wrapper-hero"> <h2>Drive Even More Opt-Ins and Sales With Our Premium Features</h2> <p>Our premium plans give you more:</p> <ul> <li>Triggers - Scroll, Exit-intent, Add-to-cart, and more</li> <li>Integrations - MailChimp, WooCommerce, and more</li> <li>Conditions - Show popups to visitors from a certain site, from search engines, using certain browsers, who has viewed X pages, and more </li> <li>And much more!</li> </ul> <a href="<?php echo esc_url( $upgrade_link ); ?>" class="button button-primary" target="_blank" rel="noreferrer noopener">View pricing</a> </section> <section class="upgrade-wrapper-features"> <h2>Our Most Popular Premium Features</h2> <?php self::render_extension_list(); ?> <a href="https://wppopupmaker.com/extensions/?utm_campaign=upsell&utm_medium=plugin&utm_source=plugin-extension-page&utm_content=browse-all-bottom" class="button-primary" title="<?php esc_attr_e( 'See All Premium Features', 'popup-maker' ); ?>" target="_blank" rel="noreferrer noopener"><?php esc_html_e( 'See All Premium Features', 'popup-maker' ); ?></a> </section> </article> </div> <?php } /** * Render extension tab extensions list. */ public static function render_extension_list() { // Set a new campaign for tracking purposes $campaign = 'PUMExtensionsPage'; $extensions = self::available_extensions(); ?> <ul class="extensions-available"> <?php // $plugins = get_plugins(); // $installed_plugins = array(); // foreach ( $plugins as $key => $plugin ) { // $is_active = is_plugin_active( $key ); // $installed_plugin = array( // 'is_active' => $is_active, // ); // $installerUrl = add_query_arg( array( // 'action' => 'activate', // 'plugin' => $key, // 'em' => 1, // ), network_admin_url( 'plugins.php' ) //admin_url('update.php') // ); // $installed_plugin["activation_url"] = $is_active ? "" : wp_nonce_url( $installerUrl, 'activate-plugin_' . $key ); // // // $installerUrl = add_query_arg( array( // 'action' => 'deactivate', // 'plugin' => $key, // 'em' => 1, // ), network_admin_url( 'plugins.php' ) //admin_url('update.php') // ); // $installed_plugin["deactivation_url"] = ! $is_active ? "" : wp_nonce_url( $installerUrl, 'deactivate-plugin_' . $key ); // $installed_plugins[ $key ] = $installed_plugin; // } $existing_extension_images = self::extensions_with_local_image(); if ( ! empty( $extensions ) ) { shuffle( $extensions ); foreach ( $extensions as $key => $ext ) { unset( $extensions[ $key ] ); $extensions[ $ext['slug'] ] = $ext; } $i = 0; foreach ( $extensions as $extension ) : ?> <li class="available-extension-inner <?php echo esc_attr( $extension['slug'] ); ?>"> <h3> <a target="_blank" href="<?php echo esc_url( $extension['homepage'] ); ?>?utm_source=plugin-extension-page&utm_medium=plugin&utm_campaign=upsell&utm_content=<?php echo esc_attr( rawurlencode( str_replace( ' ', '+', $extension['name'] ) ) ); ?>-<?php echo esc_attr( $i ); ?>"> <?php echo esc_html( $extension['name'] ); ?> </a> </h3> <?php $image = in_array( $extension['slug'], $existing_extension_images, true ) ? POPMAKE_URL . '/assets/images/extensions/' . $extension['slug'] . '.png' : $extension['image']; ?> <img class="extension-thumbnail" src="<?php echo esc_attr( $image ); ?>" /> <p><?php echo wp_kses( $extension['excerpt'], wp_kses_allowed_html( 'data' ) ); ?></p> <span class="action-links"> <a class="button" target="_blank" href="<?php echo esc_url( $extension['homepage'] ); ?>?utm_source=plugin-extension-page&utm_medium=plugin&utm_campaign=upsell&utm_content=<?php echo esc_attr( rawurlencode( str_replace( ' ', '+', $extension['name'] ) ) ); ?>-<?php echo esc_attr( $i ); ?>"><?php esc_html_e( 'Learn more', 'popup-maker' ); ?></a> </span> <!-- --> <?php // // if ( ! empty( $extension->download_link ) && ! isset( $installed_plugins[ $extension->slug . '/' . $extension->slug . '.php' ] ) ) { // $installerUrl = add_query_arg( array( // 'action' => 'install-plugin', // 'plugin' => $extension->slug, // 'edd_sample_plugin' => 1, // ), network_admin_url( 'update.php' ) //admin_url('update.php') // ); // $installerUrl = wp_nonce_url( $installerUrl, 'install-plugin_' . $extension->slug ) ?> <!-- <span class="action-links">--> <!-- --> <?php // printf( '<a class="button install" href="%s">%s</a>', esc_attr( $installerUrl ), __( 'Install' ) ); ?> <!-- </span>--> <!-- --> <?php // } elseif ( isset( $installed_plugins[ $extension->slug . '/' . $extension->slug . '.php' ]['is_active'] ) ) { // ?> <!-- <span class="action-links">--> <!-- --> <?php // if ( ! $installed_plugins[ $extension->slug . '/' . $extension->slug . '.php' ]['is_active'] ) { // printf( '<a class="button install" href="%s">%s</a>', esc_attr( $installed_plugins[ $extension->slug . '/' . $extension->slug . '.php' ]["activation_url"] ), __( 'Activate' ) ); // // } else { // printf( '<a class="button install" href="%s">%s</a>', esc_attr( $installed_plugins[ $extension->slug . '/' . $extension->slug . '.php' ]["deactivation_url"] ), __( 'Deactivate' ) ); // } ?> <!-- </span>--> <!-- --> <?php // } else { // ?> <!-- <span class="action-links"><a class="button" target="_blank" href="--><?php // esc_attr_e( $extension->homepage ); ?><!--">--><?php // _e( 'Get It Now' ); ?><!--</a></span>--> <!-- --> <?php // } // ?> </li> <?php ++$i; endforeach; } ?> </ul> <?php } /** * @return array */ public static function extensions_with_local_image() { return apply_filters( 'pum_extensions_with_local_image', [ 'core-extensions-bundle', 'aweber-integration', 'mailchimp-integration', 'remote-content', 'scroll-triggered-popups', 'popup-analytics', 'forced-interaction', 'age-verification-modals', 'advanced-theme-builder', 'exit-intent-popups', 'ajax-login-modals', 'advanced-targeting-conditions', 'secure-idle-user-logout', 'terms-conditions-popups', 'videos', 'edd-pro', 'woocommerce-pro', 'geotargeting', 'scheduling', ] ); } } classes/Admin/Ajax.php 0000644 00000031510 15174671772 0010646 0 ustar 00 <?php /** * Class for Admin Ajax * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Handles some of our AJAX requests including post/taxonomy search from conditions */ class PUM_Admin_Ajax { /** * Hooks our methods into AJAX actions. * Hooks our methods into AJAX actions. */ public static function init() { add_action( 'wp_ajax_pum_object_search', [ __CLASS__, 'object_search' ] ); add_action( 'wp_ajax_pum_process_batch_request', [ __CLASS__, 'process_batch_request' ] ); add_action( 'wp_ajax_pum_save_enabled_state', [ __CLASS__, 'save_popup_enabled_state' ] ); } /** * Sets the enabled meta field to on or off * * @since 1.12.0 */ public static function save_popup_enabled_state() { // Verify the nonce. if ( ! isset( $_REQUEST['nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_REQUEST['nonce'] ) ), 'pum_save_enabled_state' ) ) { wp_send_json_error(); } $args = wp_parse_args( $_REQUEST, [ 'popupID' => 0, 'active' => 1, ] ); // Ensures Popup ID is an int and not 0. $popup_id = intval( $args['popupID'] ); if ( 0 === $popup_id ) { wp_send_json_error( 'Invalid popup ID provided.' ); } // Ensures active state is 0 or 1. $enabled = intval( $args['enabled'] ); if ( ! in_array( $enabled, [ 0, 1 ], true ) ) { wp_send_json_error( 'Invalid enabled state provided.' ); } // Dissallow if user cannot edit this popup. if ( ! current_user_can( 'edit_post', $popup_id ) ) { wp_send_json_error( 'You do not have permission to edit this popup.' ); } // Get our popup and previous value. $popup = pum_get_popup( $popup_id ); $previous = $popup->get_meta( 'enabled' ); // If value is the same, bail now. if ( $previous === $enabled ) { wp_send_json_success(); } // Update our value. $results = $popup->update_meta( 'enabled', $enabled ); if ( false === $results ) { wp_send_json_error( 'Error updating enabled state.' ); pum_log_message( "Error updating enabled state on $popup_id. Previous value: $previous. New value: $enabled" ); } else { wp_send_json_success(); } } /** * Searches posts, taxonomies, and users * * Uses passed array with keys of object_type, object_key, include, exclude. Echos our results as JSON. */ public static function object_search() { if ( ! isset( $_REQUEST['nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_REQUEST['nonce'] ) ), 'pum_ajax_object_search_nonce' ) ) { wp_send_json_error(); } $results = [ 'items' => [], 'total_count' => 0, ]; $object_type = isset( $_REQUEST['object_type'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['object_type'] ) ) : ''; $include = isset( $_REQUEST['include'] ) ? wp_parse_id_list( wp_unslash( $_REQUEST['include'] ) ) : []; $exclude = isset( $_REQUEST['exclude'] ) ? wp_parse_id_list( wp_unslash( $_REQUEST['exclude'] ) ) : []; if ( ! empty( $include ) ) { $exclude = array_merge( $include, $exclude ); } /** * Filter object search results for unknown or custom object types. * * Allows plugins to handle custom object types that aren't natively supported. * * @param array{items:array,total_count:int}|null $results Current search results with 'items' and 'total_count'. * @param string $object_type The object type being searched. * @param array $request The full request parameters. * * @return array{items:array,total_count:int}|null $results */ $pre_results = apply_filters( 'popup_maker/pre_object_search', null, $object_type, $_REQUEST ); // If early results are returned, skip the rest of the logic. if ( null !== $pre_results ) { $results = $pre_results; } else { switch ( $object_type ) { case 'post_type': $post_type = ! empty( $_REQUEST['object_key'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['object_key'] ) ) : 'post'; if ( ! empty( $include ) ) { $include_query = PUM_Helpers::post_type_selectlist_query( $post_type, [ 'post__in' => $include, 'posts_per_page' => - 1, ], true ); foreach ( $include_query['items'] as $id => $name ) { $results['items'][] = [ 'id' => $id, 'text' => "$name (ID: $id)", ]; } $results['total_count'] += (int) $include_query['total_count']; } $query = PUM_Helpers::post_type_selectlist_query( $post_type, [ 's' => ! empty( $_REQUEST['s'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['s'] ) ) : null, 'paged' => ! empty( $_REQUEST['paged'] ) ? absint( wp_unslash( $_REQUEST['paged'] ) ) : null, 'post__not_in' => $exclude, 'posts_per_page' => 10, ], true ); foreach ( $query['items'] as $id => $name ) { $results['items'][] = [ 'id' => $id, 'text' => "$name (ID: $id)", ]; } $results['total_count'] += (int) $query['total_count']; break; case 'taxonomy': $taxonomy = ! empty( $_REQUEST['object_key'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['object_key'] ) ) : 'category'; if ( ! empty( $include ) ) { $include_query = PUM_Helpers::taxonomy_selectlist_query( $taxonomy, [ 'include' => $include, 'number' => 0, ], true ); foreach ( $include_query['items'] as $id => $name ) { $results['items'][] = [ 'id' => $id, 'text' => "$name (ID: $id)", ]; } $results['total_count'] += (int) $include_query['total_count']; } $query = PUM_Helpers::taxonomy_selectlist_query( $taxonomy, [ 'search' => ! empty( $_REQUEST['s'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['s'] ) ) : null, 'paged' => ! empty( $_REQUEST['paged'] ) ? absint( wp_unslash( $_REQUEST['paged'] ) ) : null, 'exclude' => $exclude, 'number' => 10, ], true ); foreach ( $query['items'] as $id => $name ) { $results['items'][] = [ 'id' => $id, 'text' => "$name (ID: $id)", ]; } $results['total_count'] += (int) $query['total_count']; break; case 'user': if ( ! current_user_can( 'list_users' ) ) { wp_send_json_error(); } $user_role = ! empty( $_REQUEST['object_key'] ) ? sanitize_key( wp_unslash( $_REQUEST['object_key'] ) ) : null; if ( ! empty( $include ) ) { $include_query = PUM_Helpers::user_selectlist_query( [ 'role' => $user_role, 'include' => $include, 'number' => - 1, ], true ); foreach ( $include_query['items'] as $id => $name ) { $results['items'][] = [ 'id' => $id, 'text' => "$name (ID: $id)", ]; } $results['total_count'] += (int) $include_query['total_count']; } $query = PUM_Helpers::user_selectlist_query( [ 'role' => $user_role, 'search' => ! empty( $_REQUEST['s'] ) ? '*' . sanitize_key( wp_unslash( $_REQUEST['s'] ) ) . '*' : null, 'paged' => ! empty( $_REQUEST['paged'] ) ? absint( wp_unslash( $_REQUEST['paged'] ) ) : null, 'exclude' => $exclude, 'number' => 10, ], true ); foreach ( $query['items'] as $id => $name ) { $results['items'][] = [ 'id' => $id, 'text' => "$name (ID: $id)", ]; } $results['total_count'] += (int) $query['total_count']; break; } } /** * Filter object search results for unknown or custom object types. * * Allows plugins to handle custom object types that aren't natively supported. * * @param array $results Current search results with 'items' and 'total_count'. * @param string $object_type The object type being searched. * @param array $request The full request parameters. */ $results = apply_filters( 'popup_maker/object_search', $results, $object_type, $_REQUEST ); // Take out keys which were only used to deduplicate. $results['items'] = array_values( $results['items'] ); // Ignoring this as it is a JSON response and all sanitization methods break it. // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo PUM_Utils_Array::safe_json_encode( $results ); die(); } /** * Handles Ajax for processing a single batch request. */ public static function process_batch_request() { // Batch ID. $batch_id = isset( $_REQUEST['batch_id'] ) ? sanitize_key( $_REQUEST['batch_id'] ) : false; if ( ! $batch_id ) { wp_send_json_error( [ 'error' => __( 'A batch process ID must be present to continue.', 'popup-maker' ), ] ); } // Nonce. if ( ! isset( $_REQUEST['nonce'] ) || ( isset( $_REQUEST['nonce'] ) && false === wp_verify_nonce( sanitize_key( wp_unslash( $_REQUEST['nonce'] ) ), "{$batch_id}_step_nonce" ) ) ) { wp_send_json_error( [ 'error' => __( 'You do not have permission to initiate this request. Contact an administrator for more information.', 'popup-maker' ), ] ); } // Attempt to retrieve the batch attributes from memory. $batch = PUM_Batch_Process_Registry::instance()->get( $batch_id ); if ( false === $batch ) { wp_send_json_error( [ 'error' => sprintf( /* translators: %s is the batch ID. */ __( '%s is an invalid batch process ID.', 'popup-maker' ), esc_html( sanitize_key( wp_unslash( $_REQUEST['batch_id'] ) ) ) ), ] ); } $class = isset( $batch['class'] ) ? sanitize_text_field( $batch['class'] ) : ''; $class_file = isset( $batch['file'] ) ? $batch['file'] : ''; if ( empty( $class_file ) || ! file_exists( $class_file ) ) { wp_send_json_error( [ 'error' => sprintf( /* translators: %s is the batch ID. */ __( 'An invalid file path is registered for the %1$s batch process handler.', 'popup-maker' ), "<code>{$batch_id}</code>" ), ] ); } else { require_once $class_file; } if ( empty( $class ) || ! class_exists( $class ) ) { wp_send_json_error( [ 'error' => sprintf( /* translators: %1$s is the batch ID, %2$s is the batch handler class. */ __( '%1$s is an invalid handler for the %2$s batch process. Please try again.', 'popup-maker' ), "<code>{$class}</code>", "<code>{$batch_id}</code>" ), ] ); } $step = isset( $_REQUEST['step'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['step'] ) ) : 1; /** * Instantiate the batch class. * * @var PUM_Interface_Batch_Exporter|PUM_Interface_Batch_Process|PUM_Interface_Batch_PrefetchProcess $process */ if ( isset( $_REQUEST['data']['upload']['file'] ) ) { // If this is an import, instantiate with the file and step. $file = sanitize_text_field( wp_unslash( $_REQUEST['data']['upload']['file'] ) ); $process = new $class( $file, $step ); } else { // Otherwise just the step. $process = new $class( $step ); } // Garbage collect any old temporary data. // TODO Should this be here? Likely here to prevent case ajax passes step 1 without resetting process counts? if ( $step < 2 ) { $process->finish(); } $using_prefetch = ( $process instanceof PUM_Interface_Batch_PrefetchProcess ); // Handle pre-fetching data. if ( $using_prefetch ) { // Initialize any data needed to process a step. No real way to sanitize this unknown data here, rather should be done in each update class. // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized $data = isset( $_REQUEST['form'] ) ? wp_unslash( $_REQUEST['form'] ) : []; $process->init( $data ); $process->pre_fetch(); } /** @var int|string|WP_Error $step */ $step = $process->process_step(); if ( is_wp_error( $step ) ) { wp_send_json_error( $step ); } else { $response_data = [ 'step' => $step ]; // Map fields if this is an import. if ( isset( $process->field_mapping ) && ( $process instanceof PUM_Interface_CSV_Importer ) ) { $response_data['columns'] = $process->get_columns(); $response_data['mapping'] = $process->field_mapping; } // Finish and set the status flag if done. if ( 'done' === $step ) { $response_data['done'] = true; $response_data['message'] = $process->get_message( 'done' ); // If this is an export class and not an empty export, send the download URL. if ( method_exists( $process, 'can_export' ) ) { $response_data['url'] = pum_admin_url( 'tools', [ 'step' => $step, 'nonce' => wp_create_nonce( 'pum-batch-export' ), 'batch_id' => $batch_id, 'pum_action' => 'download_batch_export', ] ); } // Once all calculations have finished, run cleanup. $process->finish(); } else { $response_data['done'] = false; $response_data['percentage'] = $process->get_percentage_complete(); } wp_send_json_success( $response_data ); } } } classes/Admin/Popups.php 0000644 00000145311 15174671772 0011256 0 ustar 00 <?php /** * Class for Admin Popups * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ use function PopupMaker\progress_bar; if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Admin_Popups * * @since 1.7.0 */ class PUM_Admin_Popups { /** * Hook the initialize method to the WP init action. */ public static function init() { // Adds ID to top of popup editor. add_action( 'edit_form_top', [ __CLASS__, 'add_popup_id' ] ); // Change title to popup name. add_filter( 'enter_title_here', [ __CLASS__, 'default_title' ] ); // Add popup title field. add_action( 'edit_form_advanced', [ __CLASS__, 'title_meta_field' ] ); // Add Contextual help to post_name field. add_action( 'edit_form_before_permalink', [ __CLASS__, 'popup_post_title_contextual_message' ] ); // Register Metaboxes. add_action( 'add_meta_boxes', [ __CLASS__, 'meta_box' ] ); // Process meta saving. add_action( 'save_post', [ __CLASS__, 'save' ], 10, 2 ); // Set the slug properly on save. add_filter( 'wp_insert_post_data', [ __CLASS__, 'set_slug' ], 99, 2 ); // Dashboard columns & filters. add_filter( 'manage_edit-popup_columns', [ __CLASS__, 'dashboard_columns' ] ); add_action( 'manage_posts_custom_column', [ __CLASS__, 'render_columns' ], 10, 2 ); add_filter( 'manage_edit-popup_sortable_columns', [ __CLASS__, 'sortable_columns' ] ); add_filter( 'default_hidden_columns', [ __CLASS__, 'hide_columns' ], 10, 2 ); add_action( 'load-edit.php', [ __CLASS__, 'load' ], 9999 ); add_action( 'restrict_manage_posts', [ __CLASS__, 'add_popup_filters' ], 100 ); add_filter( 'post_row_actions', [ __CLASS__, 'add_id_row_actions' ], 100, 2 ); add_action( 'post_submitbox_misc_actions', [ __CLASS__, 'add_enabled_toggle_editor' ], 10, 1 ); add_filter( 'mce_buttons_2', [ __CLASS__, 'add_mce_buttons' ], 10, 1 ); add_filter( 'tiny_mce_before_init', [ __CLASS__, 'increase_available_font_sizes' ], 10, 1 ); } /** * Adds our enabled state toggle to the "Publish" meta box. * * @since 1.12 * @param WP_Post $post The current post (i.e. the popup). */ public static function add_enabled_toggle_editor( $post ) { if ( 'publish' !== $post->post_status || 'popup' !== $post->post_type ) { return; } $popup = pum_get_popup( $post->ID ); $enabled = $popup->is_enabled(); $nonce = wp_create_nonce( 'pum_save_enabled_state' ); ?> <div class="misc-pub-section" style="display:flex;"> <span style="font-weight: bold; margin-right: 10px;">Popup Enabled </span> <div class="pum-toggle-button"> <input id="pum-enabled-toggle-<?php echo esc_attr( $popup->ID ); ?>" type="checkbox" <?php checked( true, $enabled ); ?> class="pum-enabled-toggle-button" data-nonce="<?php echo esc_attr( $nonce ); ?>" data-popup-id="<?php echo esc_attr( $popup->ID ); ?>"> <label for="pum-enabled-toggle-<?php echo esc_attr( $popup->ID ); ?>" aria-label="Switch to enable popup"></label> </div> </div> <?php } /** * Adds the Popup ID right under the "Edit Popup" heading * * @param WP_Post $post Post object. * @since 1.12.0 */ public static function add_popup_id( $post ) { if ( 'popup' === $post->post_type ) { ?> <p style="margin:0;font-size:12px;">ID: <span id="popup-id" data-popup-id="<?php echo esc_attr( $post->ID ); ?>"><?php echo esc_html( $post->ID ); ?></span></p> <?php } } /** * Change default "Enter title here" input * * @param string $title Default title placeholder text. * @return string $title New placeholder text */ public static function default_title( $title ) { if ( ! is_admin() ) { return $title; } $screen = get_current_screen(); if ( 'popup_theme' === $screen->post_type ) { $label = 'popup' === $screen->post_type ? __( 'Popup', 'popup-maker' ) : __( 'Popup Theme', 'popup-maker' ); $title = sprintf( '%s Name', $label ); } if ( 'popup' === $screen->post_type ) { $title = __( 'Popup Name', 'popup-maker' ); } return $title; } /** * Renders the popup title meta field. */ public static function title_meta_field() { global $post, $pagenow, $typenow; if ( ( function_exists( 'has_blocks' ) && has_blocks( $post ) ) || ( function_exists( 'use_block_editor_for_post' ) && use_block_editor_for_post( $post ) ) ) { // Add hidden field to preserve popup title in block editor. if ( 'popup' === $typenow && in_array( $pagenow, [ 'post-new.php', 'post.php' ], true ) ) { echo '<input type="hidden" name="popup_title" value="' . esc_attr( get_post_meta( $post->ID, 'popup_title', true ) ) . '" />'; } return; } if ( ! is_admin() ) { return; } if ( 'popup' === $typenow && in_array( $pagenow, [ 'post-new.php', 'post.php' ], true ) ) { ?> <div id="popup-titlediv" class="pum-form"> <div id="popup-titlewrap"> <label class="screen-reader-text" id="popup-title-prompt-text" for="popup-title"> <?php esc_html_e( 'Popup Title', 'popup-maker' ); ?> </label> <input tabindex="2" name="popup_title" size="30" value="<?php echo esc_attr( get_post_meta( $post->ID, 'popup_title', true ) ); ?>" id="popup-title" autocomplete="off" placeholder="<?php esc_attr_e( 'Popup Title', 'popup-maker' ); ?>" /> <p class="pum-desc"><?php echo '(' . esc_html__( 'Optional', 'popup-maker' ) . ') ' . esc_html__( 'Shown as headline inside the popup. Can be left blank.', 'popup-maker' ); ?></p> </div> <div class="inside"></div> </div> <script>jQuery('#popup-titlediv').insertAfter('#titlediv');</script> <?php } } /** * Renders contextual help for title. */ public static function popup_post_title_contextual_message() { global $post, $pagenow, $typenow; if ( ( function_exists( 'has_blocks' ) && has_blocks( $post ) ) || ( function_exists( 'use_block_editor_for_post' ) && use_block_editor_for_post( $post ) ) ) { return; } if ( ! is_admin() ) { return; } if ( 'popup' === $typenow && in_array( $pagenow, [ 'post-new.php', 'post.php' ], true ) ) { ?> <p class="pum-desc"><?php echo '(' . esc_html__( 'Required', 'popup-maker' ) . ') ' . esc_html__( 'Enter a name to help you remember what this popup is about. Only you will see this.', 'popup-maker' ); ?></p> <?php } } /** * Registers popup metaboxes. */ public static function meta_box() { add_meta_box( 'pum_popup_settings', __( 'Popup Settings', 'popup-maker' ), [ __CLASS__, 'render_settings_meta_box' ], 'popup', 'normal', 'high' ); add_meta_box( 'pum_popup_analytics', __( 'Analytics', 'popup-maker' ), [ __CLASS__, 'render_analytics_meta_box' ], 'popup', 'side', 'high' ); } /** * Ensures integrity of values. * * @param array $values Array of settings. * @return array * * @deprecated 1.20.0 - Explicitly use ::defaults() and/or ::fill_missing_defaults() instead. */ public static function parse_values( $values = [] ) { $defaults = self::defaults(); if ( empty( $values ) ) { return $defaults; } $values = self::fill_missing_defaults( $values ); return $values; } /** * Render the settings meta box wrapper and JS vars. */ public static function render_settings_meta_box() { global $post; $popup = pum_get_popup( $post->ID ); // Get the meta directly rather than from cached object. $settings = $popup->get_meta( 'popup_settings' ); // If this is a new popup, use the defaults. if ( '' === $settings ) { $settings = self::defaults(); // Fallback to defaults as this is likely a new popup. } wp_nonce_field( basename( __FILE__ ), 'pum_popup_settings_nonce' ); wp_enqueue_script( 'popup-maker-admin' ); ?> <script type="text/javascript"> window.pum_popup_settings_editor = <?php // Ignored as this is a JSON string. // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped echo PUM_Utils_Array::safe_json_encode( apply_filters( 'pum_popup_settings_editor_var', [ 'form_args' => [ 'id' => 'pum-popup-settings', 'tabs' => self::tabs(), 'sections' => self::sections(), 'fields' => self::fields(), ], 'conditions' => PUM_Conditions::instance()->get_conditions(), 'conditions_selectlist' => PUM_Conditions::instance()->dropdown_list(), 'triggers' => PUM_Triggers::instance()->get_triggers(), 'cookies' => PUM_Cookies::instance()->get_cookies(), 'current_values' => self::render_form_values( $settings ), 'preview_nonce' => wp_create_nonce( 'popup-preview' ), ] ) ); // phpcs:enable WordPress.Security.EscapeOutput.OutputNotEscaped ?> ; </script> <div id="pum-popup-settings-container" class="pum-popup-settings-container"> <div class="pum-no-js" style="padding: 0 12px;"> <p> <?php printf( /* translators: 1. URL to view troubleshooting guide. 2. Closing HTML tag. */ esc_html__( 'If you are seeing this, the page is still loading or there are Javascript errors on this page. %1$sView troubleshooting guide%2$s', 'popup-maker' ), '<a href="https://wppopupmaker.com/docs/problem-solving/checking-javascript-errors/" target="_blank">', '</a>' ); ?> </p> </div> </div> <?php } /** * Used to get deprecated fields for metabox saving of old extensions. * * @deprecated 1.7.0 * * @return mixed */ public static function deprecated_meta_fields() { $fields = []; foreach ( self::deprecated_meta_field_groups() as $group ) { foreach ( apply_filters( 'popmake_popup_meta_field_group_' . $group, [] ) as $field ) { $fields[] = 'popup_' . $group . '_' . $field; } } return apply_filters( 'popmake_popup_meta_fields', $fields ); } /** * Used to get field groups from extensions. * * @deprecated 1.7.0 * * @return mixed */ public static function deprecated_meta_field_groups() { return apply_filters( 'popmake_popup_meta_field_groups', [ 'display', 'close' ] ); } /** * @param $post_id * @param $post */ public static function save( $post_id, $post ) { if ( isset( $post->post_type ) && 'popup' !== $post->post_type ) { return; } if ( ! isset( $_POST['pum_popup_settings_nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['pum_popup_settings_nonce'] ) ), basename( __FILE__ ) ) ) { return; } if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) { return; } if ( isset( $post->post_type ) && 'revision' === $post->post_type ) { return; } if ( ! current_user_can( 'edit_post', $post_id ) ) { return; } $popup = pum_get_popup( $post_id ); if ( isset( $_POST['popup_reset_counts'] ) ) { /** * Reset popup open count, per user request. */ $popup->reset_counts(); } // Only update the popup title if the field was submitted (not present in block editor). if ( isset( $_POST['popup_title'] ) ) { $title = trim( sanitize_text_field( wp_unslash( $_POST['popup_title'] ) ) ); $popup->update_meta( 'popup_title', $title ); } // Ignored because this is a dynamic array and has sanitization applid to keys before usage. // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash $settings = ! empty( $_POST['popup_settings'] ) ? $_POST['popup_settings'] : []; // Sanitize JSON values. $settings['conditions'] = isset( $settings['conditions'] ) ? self::sanitize_meta( $settings['conditions'] ) : []; $settings['triggers'] = isset( $settings['triggers'] ) ? self::sanitize_meta( $settings['triggers'] ) : []; $settings['cookies'] = isset( $settings['cookies'] ) ? self::sanitize_meta( $settings['cookies'] ) : []; $settings = apply_filters( 'pum_popup_setting_pre_save', $settings, $post->ID ); $settings = self::sanitize_settings( $settings ); $popup->update_settings( $settings, false ); // TODO Remove this and all other code here. This should be clean and all code more compartmentalized. foreach ( self::deprecated_meta_fields() as $field ) { if ( isset( $_POST[ $field ] ) ) { // Ignored because this should no longer be used, has been deprecated nd we don't know the format of each value safely to sanitize. // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized $new = apply_filters( 'popmake_metabox_save_' . $field, wp_unslash( $_POST[ $field ] ) ); update_post_meta( $post_id, $field, $new ); } else { delete_post_meta( $post_id, $field ); } } do_action( 'pum_save_popup', $post_id, $post ); } /** * Parse & prepare values for form rendering. * * Add additional data for license_key fields, split the measure fields etc. * * @param $settings * * @return mixed */ public static function render_form_values( $settings ) { foreach ( $settings as $key => $value ) { $field = self::get_field( $key ); if ( $field ) { switch ( $field['type'] ) { case 'measure': break; } } } return $settings; } /** * List of tabs & labels for the settings panel. * * @return array */ public static function tabs() { return apply_filters( 'pum_popup_settings_tabs', [ 'general' => __( 'General', 'popup-maker' ), 'display' => __( 'Display', 'popup-maker' ), 'close' => __( 'Close', 'popup-maker' ), 'triggers' => __( 'Triggers', 'popup-maker' ), 'targeting' => __( 'Targeting', 'popup-maker' ), 'advanced' => __( 'Advanced', 'popup-maker' ), ] ); } /** * List of tabs & labels for the settings panel. * * @return array */ public static function sections() { return apply_filters( 'pum_popup_settings_sections', [ 'general' => [ 'main' => __( 'General Settings', 'popup-maker' ), ], 'triggers' => [ 'main' => __( 'Triggers & Cookies', 'popup-maker' ), ], 'targeting' => [ 'main' => __( 'Conditions', 'popup-maker' ), ], 'display' => [ 'preset' => __( 'Display Presets', 'popup-maker' ), 'main' => __( 'Appearance', 'popup-maker' ), 'size' => __( 'Size', 'popup-maker' ), 'animation' => __( 'Animation', 'popup-maker' ), 'sound' => __( 'Sounds', 'popup-maker' ), 'position' => __( 'Position', 'popup-maker' ), 'advanced' => __( 'Advanced', 'popup-maker' ), ], 'close' => [ 'button' => __( 'Button', 'popup-maker' ), 'forms' => __( 'Form Submission', 'popup-maker' ), 'alternate_methods' => __( 'Alternate Methods', 'popup-maker' ), ], 'advanced' => [ 'main' => __( 'Advanced', 'popup-maker' ), ], ] ); } /** * Returns array of popup settings fields. * * @return mixed */ public static function fields() { static $tabs; if ( ! isset( $tabs ) ) { $tabs = apply_filters( 'pum_popup_settings_fields', [ 'general' => apply_filters( 'pum_popup_general_settings_fields', [ 'main' => [], ] ), 'triggers' => apply_filters( 'pum_popup_triggers_settings_fields', [ 'main' => [ 'triggers' => [ 'type' => 'triggers', 'std' => [], 'priority' => 10, ], 'separator1' => [ 'type' => 'separator', 'private' => true, ], 'cookies' => [ 'type' => 'cookies', 'std' => [], 'priority' => 20, ], ], ] ), 'targeting' => apply_filters( 'pum_popup_targeting_settings_fields', [ 'main' => [ 'conditions' => [ 'type' => 'conditions', 'std' => [], 'priority' => 10, 'private' => true, ], 'disable_on_mobile' => [ 'label' => __( 'Disable this popup on mobile devices.', 'popup-maker' ), 'type' => 'checkbox', 'priority' => 20, ], 'disable_on_tablet' => [ 'label' => __( 'Disable this popup on tablet devices.', 'popup-maker' ), 'type' => 'checkbox', 'priority' => 20, ], ], ] ), 'display' => apply_filters( 'pum_popup_display_settings_fields', [ 'preset' => [ 'explain' => [ 'type' => 'html', 'content' => '<p>Select one of the types below to get started! Once selected, you can adjust the display settings using the tabs above.</p>', ], 'type_section' => [ 'type' => 'section', 'classes' => 'popup-types', 'fields' => [ '<div class="popup-type" data-popup-type="center-popup"><img src="' . Popup_Maker::$URL . 'assets/images/admin/display-switcher/center-popup.png" alt="' . __( 'Center Popup', 'popup-maker' ) . '"/><button class="button">' . __( 'Center Popup', 'popup-maker' ) . '</button></div>', '<div class="popup-type" data-popup-type="right-bottom-slidein"><img src="' . Popup_Maker::$URL . 'assets/images/admin/display-switcher/right-bottom-slidein.png" alt="' . __( 'Right Bottom Slide-in', 'popup-maker' ) . '"/><button class="button">' . __( 'Right Bottom Slide-in', 'popup-maker' ) . '</button></div>', '<div class="popup-type" data-popup-type="top-bar"><img src="' . Popup_Maker::$URL . 'assets/images/admin/display-switcher/top-bar.png" alt="' . __( 'Top Bar', 'popup-maker' ) . '"/><button class="button">' . __( 'Top Bar', 'popup-maker' ) . '</button></div>', '<div class="popup-type" data-popup-type="left-bottom-notice"><img src="' . Popup_Maker::$URL . 'assets/images/admin/display-switcher/left-bottom-notice.png" alt="' . __( 'Left Bottom Notice', 'popup-maker' ) . '"/><button class="button">' . __( 'Left Bottom Notice', 'popup-maker' ) . '</button></div>', ], ], ], 'main' => [ 'theme_id' => [ 'label' => __( 'Popup Theme', 'popup-maker' ), 'dynamic_desc' => sprintf( '%1$s<br/><a id="edit_theme_link" href="%3$s">%2$s</a>', __( 'Choose a theme for this popup.', 'popup-maker' ), __( 'Customize This Theme', 'popup-maker' ), admin_url( 'post.php?action=edit&post={{data.value}}' ) ), 'type' => 'select', 'options' => pum_is_popup_editor() ? PUM_Helpers::popup_theme_selectlist() : null, 'std' => pum_get_default_theme_id(), ], ], 'size' => [ 'size' => [ 'label' => __( 'Size', 'popup-maker' ), 'desc' => __( 'Select the size of the popup.', 'popup-maker' ), 'type' => 'select', 'std' => 'medium', 'priority' => 10, 'options' => [ __( 'Responsive Sizes', 'popup-maker' ) => [ 'nano' => __( 'Nano - 10%', 'popup-maker' ), 'micro' => __( 'Micro - 20%', 'popup-maker' ), 'tiny' => __( 'Tiny - 30%', 'popup-maker' ), 'small' => __( 'Small - 40%', 'popup-maker' ), 'medium' => __( 'Medium - 60%', 'popup-maker' ), 'normal' => __( 'Normal - 70%', 'popup-maker' ), 'large' => __( 'Large - 80%', 'popup-maker' ), 'xlarge' => __( 'X Large - 95%', 'popup-maker' ), ], __( 'Other Sizes', 'popup-maker' ) => [ 'auto' => __( 'Auto', 'popup-maker' ), 'custom' => __( 'Custom', 'popup-maker' ), ], ], ], 'responsive_min_width' => [ 'label' => __( 'Min Width', 'popup-maker' ), 'desc' => __( 'Set a minimum width for the popup.', 'popup-maker' ), 'type' => 'measure', 'std' => '0%', 'priority' => 20, 'dependencies' => [ 'size' => [ 'nano', 'micro', 'tiny', 'small', 'medium', 'normal', 'large', 'xlarge' ], ], ], 'responsive_max_width' => [ 'label' => __( 'Max Width', 'popup-maker' ), 'desc' => __( 'Set a maximum width for the popup.', 'popup-maker' ), 'type' => 'measure', 'std' => '100%', 'priority' => 30, 'dependencies' => [ 'size' => [ 'nano', 'micro', 'tiny', 'small', 'medium', 'normal', 'large', 'xlarge' ], ], ], 'custom_width' => [ 'label' => __( 'Width', 'popup-maker' ), 'desc' => __( 'Set a custom width for the popup.', 'popup-maker' ), 'type' => 'measure', 'std' => '640px', 'priority' => 40, 'dependencies' => [ 'size' => 'custom', ], ], 'custom_height_auto' => [ 'label' => __( 'Auto Adjusted Height', 'popup-maker' ), 'desc' => __( 'Checking this option will set height to fit the content.', 'popup-maker' ), 'type' => 'checkbox', 'priority' => 50, 'dependencies' => [ 'size' => 'custom', ], ], 'custom_height' => [ 'label' => __( 'Height', 'popup-maker' ), 'desc' => __( 'Set a custom height for the popup.', 'popup-maker' ), 'type' => 'measure', 'std' => '380px', 'priority' => 60, 'dependencies' => [ 'size' => 'custom', 'custom_height_auto' => false, ], ], 'scrollable_content' => [ 'label' => __( 'Scrollable Content', 'popup-maker' ), 'desc' => __( 'Checking this option will add a scroll bar to your content.', 'popup-maker' ), 'type' => 'checkbox', 'std' => false, 'priority' => 70, 'dependencies' => [ 'size' => 'custom', 'custom_height_auto' => false, ], ], ], 'animation' => [ 'animation_type' => [ 'label' => __( 'Animation Type', 'popup-maker' ), 'desc' => __( 'Select an animation type for your popup.', 'popup-maker' ), 'type' => 'select', 'std' => 'fade', 'priority' => 10, 'options' => [ 'none' => __( 'None', 'popup-maker' ), 'slide' => __( 'Slide', 'popup-maker' ), 'fade' => __( 'Fade', 'popup-maker' ), 'fadeAndSlide' => __( 'Fade and Slide', 'popup-maker' ), // 'grow' => __( 'Grow', 'popup-maker' ), // 'growAndSlide' => __( 'Grow and Slide', 'popup-maker' ), ], ], 'animation_speed' => [ 'label' => __( 'Animation Speed', 'popup-maker' ), 'desc' => __( 'Set the animation speed for the popup.', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 350, 'step' => 10, 'min' => 50, 'max' => 1000, 'unit' => __( 'ms', 'popup-maker' ), 'priority' => 20, 'dependencies' => [ 'animation_type' => [ 'slide', 'fade', 'fadeAndSlide', 'grow', 'growAndSlide' ], ], ], 'animation_origin' => [ 'label' => __( 'Animation Origin', 'popup-maker' ), 'desc' => __( 'Choose where the animation will begin.', 'popup-maker' ), 'type' => 'select', 'std' => 'center top', 'options' => [ 'top' => __( 'Top', 'popup-maker' ), 'left' => __( 'Left', 'popup-maker' ), 'bottom' => __( 'Bottom', 'popup-maker' ), 'right' => __( 'Right', 'popup-maker' ), 'left top' => __( 'Top Left', 'popup-maker' ), 'center top' => __( 'Top Center', 'popup-maker' ), 'right top' => __( 'Top Right', 'popup-maker' ), 'left center' => __( 'Middle Left', 'popup-maker' ), 'center center' => __( 'Middle Center', 'popup-maker' ), 'right center' => __( 'Middle Right', 'popup-maker' ), 'left bottom' => __( 'Bottom Left', 'popup-maker' ), 'center bottom' => __( 'Bottom Center', 'popup-maker' ), 'right bottom' => __( 'Bottom Right', 'popup-maker' ), ], 'priority' => 30, 'dependencies' => [ 'animation_type' => [ 'slide', 'fadeAndSlide', 'grow', 'growAndSlide' ], ], ], ], 'sound' => [ 'open_sound' => [ 'label' => __( 'Opening Sound', 'popup-maker' ), 'desc' => __( 'Select a sound to play when the popup opens.', 'popup-maker' ), 'type' => 'select', 'std' => 'none', 'priority' => 10, 'options' => [ 'none' => __( 'None', 'popup-maker' ), 'beep.mp3' => __( 'Beep', 'popup-maker' ), 'beep-two.mp3' => __( 'Beep 2', 'popup-maker' ), 'beep-up.mp3' => __( 'Beep Up', 'popup-maker' ), 'chimes.mp3' => __( 'Chimes', 'popup-maker' ), 'correct.mp3' => __( 'Correct', 'popup-maker' ), 'custom' => __( 'Custom Sound', 'popup-maker' ), ], ], 'custom_sound' => [ 'label' => __( 'Custom Sound URL', 'popup-maker' ), 'desc' => __( 'Enter URL to sound file.', 'popup-maker' ), 'type' => 'text', 'std' => '', 'priority' => 10, 'dependencies' => [ 'open_sound' => [ 'custom' ], ], ], ], 'position' => [ 'location' => [ 'label' => __( 'Location', 'popup-maker' ), 'desc' => __( 'Choose where the popup will be displayed.', 'popup-maker' ), 'type' => 'select', 'std' => 'center top', 'priority' => 10, 'options' => [ 'left top' => __( 'Top Left', 'popup-maker' ), 'center top' => __( 'Top Center', 'popup-maker' ), 'right top' => __( 'Top Right', 'popup-maker' ), 'left center' => __( 'Middle Left', 'popup-maker' ), 'center' => __( 'Middle Center', 'popup-maker' ), 'right center' => __( 'Middle Right', 'popup-maker' ), 'left bottom' => __( 'Bottom Left', 'popup-maker' ), 'center bottom' => __( 'Bottom Center', 'popup-maker' ), 'right bottom' => __( 'Bottom Right', 'popup-maker' ), ], ], 'position_top' => [ 'label' => __( 'Top', 'popup-maker' ), 'desc' => sprintf( /* translators: 1. Screen Edge: top, bottom. */ _x( 'Distance from the %s edge of the screen.', 'Screen Edge: top, bottom', 'popup-maker' ), strtolower( __( 'Top', 'popup-maker' ) ) ), 'type' => 'rangeslider', 'std' => 100, 'step' => 1, 'min' => 0, 'max' => 500, 'unit' => 'px', 'priority' => 20, 'dependencies' => [ 'location' => [ 'left top', 'center top', 'right top' ], ], ], 'position_bottom' => [ 'label' => __( 'Bottom', 'popup-maker' ), 'desc' => sprintf( /* translators: 1. Screen Edge: top, bottom. */ _x( 'Distance from the %s edge of the screen.', 'Screen Edge: top, bottom', 'popup-maker' ), strtolower( __( 'Bottom', 'popup-maker' ) ) ), 'type' => 'rangeslider', 'std' => 0, 'step' => 1, 'min' => 0, 'max' => 500, 'unit' => 'px', 'priority' => 20, 'dependencies' => [ 'location' => [ 'left bottom', 'center bottom', 'right bottom' ], ], ], 'position_left' => [ 'label' => __( 'Left', 'popup-maker' ), 'desc' => sprintf( /* translators: 1. Screen Edge: top, bottom. */ _x( 'Distance from the %s edge of the screen.', 'Screen Edge: top, bottom', 'popup-maker' ), strtolower( __( 'Left', 'popup-maker' ) ) ), 'type' => 'rangeslider', 'std' => 0, 'step' => 1, 'min' => 0, 'max' => 500, 'unit' => 'px', 'priority' => 30, 'dependencies' => [ 'location' => [ 'left top', 'left center', 'left bottom' ], ], ], 'position_right' => [ 'label' => __( 'Right', 'popup-maker' ), 'desc' => sprintf( /* translators: 1. Screen Edge: top, bottom. */ _x( 'Distance from the %s edge of the screen.', 'Screen Edge: top, bottom', 'popup-maker' ), strtolower( __( 'Right', 'popup-maker' ) ) ), 'type' => 'rangeslider', 'std' => 0, 'step' => 1, 'min' => 0, 'max' => 500, 'unit' => 'px', 'priority' => 30, 'dependencies' => [ 'location' => [ 'right top', 'right center', 'right bottom' ], ], ], 'position_from_trigger' => [ 'label' => __( 'Position from Trigger', 'popup-maker' ), 'desc' => sprintf( /* translators: 1. URL to documentation. 2. Closing HTML tag. */ __( 'This will position the popup in relation to the %1$sClick Trigger%2$s.', 'popup-maker' ), '<a target="_blank" href="https://wppopupmaker.com/docs/triggering-popups/trigger-click-open-overview-methods/?utm_campaign=contextual-help&utm_medium=inline-doclink&utm_source=plugin-popup-editor&utm_content=position-from-trigger">', '</a>' ), 'type' => 'checkbox', 'std' => false, 'priority' => 40, ], 'position_fixed' => [ 'label' => __( 'Fixed Positioning', 'popup-maker' ), 'desc' => __( 'Checking this sets the positioning of the popup to fixed.', 'popup-maker' ), 'type' => 'checkbox', 'priority' => 50, ], ], 'advanced' => [ 'overlay_disabled' => [ 'label' => __( 'Disable Overlay', 'popup-maker' ), 'desc' => __( 'Checking this will disable and hide the overlay for this popup.', 'popup-maker' ), 'type' => 'checkbox', 'priority' => 10, ], 'stackable' => [ 'label' => __( 'Stackable', 'popup-maker' ), 'desc' => __( 'This enables other popups to remain open.', 'popup-maker' ), 'type' => 'checkbox', 'priority' => 20, ], 'disable_reposition' => [ 'label' => __( 'Disable Repositioning', 'popup-maker' ), 'desc' => __( 'This will disable automatic repositioning of the popup on window resizing.', 'popup-maker' ), 'type' => 'checkbox', 'priority' => 30, ], 'zindex' => [ 'label' => __( 'Popup Z-Index', 'popup-maker' ), 'desc' => __( 'Change the z-index layer level for the popup.', 'popup-maker' ), 'type' => 'number', 'min' => 999, 'max' => 2147483647, 'std' => 1999999999, 'priority' => 40, ], ], ] ), 'close' => apply_filters( 'pum_popup_close_settings_fields', [ 'button' => [ 'close_text' => [ 'label' => __( 'Close Text', 'popup-maker' ), 'placeholder' => __( 'Close', 'popup-maker' ), 'desc' => __( 'Override the default close text. To use a Font Awesome icon instead of text, enter the CSS classes such as "fas fa-camera".', 'popup-maker' ), 'priority' => 10, 'private' => true, ], 'close_button_delay' => [ 'label' => __( 'Close Button Delay', 'popup-maker' ), 'desc' => __( 'This delays the display of the close button.', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'step' => 100, 'min' => 0, 'max' => 3000, 'unit' => __( 'ms', 'popup-maker' ), 'priority' => 20, ], ], 'forms' => [ 'close_on_form_submission' => [ 'label' => __( 'Close on Form Submission', 'popup-maker' ), 'desc' => __( 'Close the popup automatically after integrated form plugin submissions.', 'popup-maker' ), 'type' => 'checkbox', ], 'close_on_form_submission_delay' => [ 'type' => 'rangeslider', 'label' => __( 'Delay', 'popup-maker' ), 'desc' => __( 'The delay before the popup will close after submission (in milliseconds).', 'popup-maker' ), 'std' => 0, 'min' => 0, 'max' => 10000, 'step' => 500, 'unit' => 'ms', 'dependencies' => [ 'close_on_form_submission' => true, ], ], ], 'alternate_methods' => [ 'close_on_overlay_click' => [ 'label' => __( 'Click Overlay to Close', 'popup-maker' ), 'desc' => __( 'Checking this will cause popup to close when user clicks on overlay.', 'popup-maker' ), 'type' => 'checkbox', 'priority' => 10, ], 'close_on_esc_press' => [ 'label' => __( 'Press ESC to Close', 'popup-maker' ), 'desc' => __( 'Checking this will cause popup to close when user presses ESC key.', 'popup-maker' ), 'type' => 'checkbox', 'priority' => 20, ], 'close_on_f4_press' => [ 'label' => __( 'Press F4 to Close', 'popup-maker' ), 'desc' => __( 'Checking this will cause popup to close when user presses F4 key.', 'popup-maker' ), 'type' => 'checkbox', 'priority' => 30, ], ], ] ), 'advanced' => apply_filters( 'pum_popup_advanced_settings_fields', [ 'main' => [ 'disable_form_reopen' => [ 'label' => __( 'Disable automatic re-triggering of popup after non-ajax form submission.', 'popup-maker' ), 'type' => 'checkbox', 'priority' => 10, ], 'disable_accessibility' => [ 'label' => __( 'Disable accessibility features.', 'popup-maker' ), 'desc' => __( 'This includes trapping the tab key & focus inside popup while open, force focus the first element when popup open, and refocus last click trigger when closed.', 'popup-maker' ), 'type' => 'checkbox', 'priority' => 10, ], ], ] ), ] ); $tabs = PUM_Admin_Helpers::parse_tab_fields( $tabs, [ 'has_subtabs' => true, 'name' => 'popup_settings[%s]', ] ); } return $tabs; } public static function get_field( $id ) { $tabs = self::fields(); foreach ( $tabs as $tab => $sections ) { if ( PUM_Admin_Helpers::is_field( $sections ) ) { $sections = [ 'main' => [ $tab => $sections, ], ]; } foreach ( $sections as $section => $fields ) { foreach ( $fields as $key => $args ) { if ( $key === $id ) { return $args; } } } } return false; } /** * Sanitizes fields after submission. * * Also handles pre save manipulations for some field types (measure/license). * * @param array $settings * * @return array */ public static function sanitize_settings( $settings = [] ) { $fields = self::fields(); $fields = PUM_Admin_Helpers::flatten_fields_array( $fields ); foreach ( $fields as $field_id => $field ) { switch ( $field['type'] ) { case 'checkbox': if ( ! isset( $settings[ $field_id ] ) ) { $settings[ $field_id ] = false; } break; } } foreach ( $settings as $key => $value ) { $field = self::get_field( $key ); if ( $field ) { // Sanitize every string value. if ( is_string( $value ) ) { $settings[ $key ] = sanitize_text_field( $value ); } switch ( $field['type'] ) { default: $settings[ $key ] = is_string( $value ) ? trim( $value ) : $value; break; case 'measure': $settings[ $key ] .= $settings[ $key . '_unit' ]; break; } } else { // Some custom field types include multiple additional fields that do not need to be saved, strip out any non-whitelisted fields. unset( $settings[ $key ] ); } } return $settings; } /** * @return array */ public static function defaults() { $tabs = self::fields(); $defaults = []; foreach ( $tabs as $tab_id => $sections ) { foreach ( $sections as $section_id => $fields ) { foreach ( $fields as $key => $field ) { $defaults[ $key ] = isset( $field['std'] ) ? $field['std'] : ( 'checkbox' === $field['type'] ? false : null ); } } } return $defaults; } /** * Fills default settings only when missing. * * Excludes checkbox type fields where a false value is represented by the field being unset. * * @param array $settings * * @return array */ public static function fill_missing_defaults( $settings = [] ) { $excluded_field_types = [ 'checkbox', 'multicheck' ]; $defaults = self::defaults(); foreach ( $defaults as $field_id => $default_value ) { $field = self::get_field( $field_id ); if ( isset( $settings[ $field_id ] ) || in_array( $field['type'], $excluded_field_types, true ) ) { continue; } $settings[ $field_id ] = $default_value; } return $settings; } /** * Display analytics metabox * * @return void */ public static function render_analytics_meta_box() { global $post; $popup = pum_get_popup( $post->ID ); ?> <div id="pum-popup-analytics" class="pum-meta-box"> <?php do_action( 'pum_popup_analytics_metabox_before', $post->ID ); ?> <?php $views = $popup->get_event_count( 'open' ); $conversions = $popup->get_event_count( 'conversion' ); $conversion_rate = $views > 0 && $views >= $conversions ? $conversions / $views * 100 : 0; ?> <div id="pum-popup-analytics" class="pum-popup-analytics"> <table class="form-table"> <tbody> <tr> <td><?php esc_html_e( 'Opens', 'popup-maker' ); ?></td> <td><?php echo esc_html( $views ); ?></td> </tr> <tr> <td><?php esc_html_e( 'Conversions', 'popup-maker' ); ?></td> <td><?php echo esc_html( $conversions ); ?></td> </tr> <tr> <td><?php esc_html_e( 'Conversion Rate', 'popup-maker' ); ?></td> <td><?php echo esc_html( round( $conversion_rate, 2 ) ); ?>%</td> </tr> <tr class="separator"> <td colspan="2"> <label> <input type="checkbox" name="popup_reset_counts" id="popup_reset_counts" value="1" /> <?php esc_html_e( 'Reset Counts', 'popup-maker' ); ?> </label> <?php $reset = $popup->get_last_count_reset(); if ( $reset ) : ?> <br /> <small> <strong><?php esc_html_e( 'Last Reset', 'popup-maker' ); ?>:</strong> <?php echo esc_html( function_exists( 'wp_date' ) ? wp_date( 'm-d-Y H:i', $reset['timestamp'] ) : gmdate( 'm-d-Y H:i', $reset['timestamp'] ) ); ?> <br /> <strong><?php esc_html_e( 'Previous Opens', 'popup-maker' ); ?>:</strong> <?php echo esc_html( $reset['views'] ?? 0 ); ?> <?php if ( ( $reset['conversions'] ?? 0 ) > 0 ) : ?> <br /> <strong><?php esc_html_e( 'Previous Conversions', 'popup-maker' ); ?>:</strong> <?php echo esc_html( $reset['conversions'] ); ?> <?php endif; ?> <br /> <strong><?php esc_html_e( 'Lifetime Opens', 'popup-maker' ); ?>:</strong> <?php echo esc_html( $popup->get_event_count( 'open', 'total' ) ); ?> <?php if ( $popup->get_event_count( 'conversion', 'total' ) > 0 ) : ?> <br /> <strong><?php esc_html_e( 'Lifetime Conversions', 'popup-maker' ); ?>:</strong> <?php echo esc_html( $popup->get_event_count( 'conversion', 'total' ) ); ?> <?php endif; ?> </small> <?php endif; ?> </td> </tr> </tbody> </table> </div> <?php do_action( 'pum_popup_analytics_metabox_after', $post->ID ); ?> </div> <?php } /** * @param array $meta * * @return array */ public static function sanitize_meta( $meta = [] ) { if ( ! empty( $meta ) ) { foreach ( $meta as $key => $value ) { if ( is_array( $value ) ) { $meta[ $key ] = self::sanitize_meta( $value ); } elseif ( is_string( $value ) ) { try { $value = json_decode( stripslashes( $value ) ); if ( is_object( $value ) || is_array( $value ) ) { $meta[ $key ] = PUM_Admin_Helpers::object_to_array( $value ); } } catch ( Exception $e ) { $e; } } } } return $meta; } /** * Ensures that the popups have unique slugs. * * @param $data * @param $postarr * * @return mixed */ public static function set_slug( $data, $postarr ) { if ( 'popup' === $data['post_type'] ) { $data['post_name'] = wp_unique_post_slug( sanitize_title( popmake_post( 'popup_name' ) ), $postarr['ID'], $data['post_status'], $data['post_type'], $data['post_parent'] ); } return $data; } /** * Defines the custom columns and their order * * @param array $_columns Array of popup columns * * @return array $columns Updated array of popup columns for * Post Type List Table */ public static function dashboard_columns( $_columns ) { wp_enqueue_style( 'pum-admin-general' ); wp_enqueue_style( 'popup-maker-popup-admin' ); $columns = [ 'cb' => '<input type="checkbox"/>', 'title' => __( 'Name', 'popup-maker' ), 'enabled' => __( 'Enabled', 'popup-maker' ), 'popup_title' => __( 'Title', 'popup-maker' ), 'class' => __( 'CSS Class', 'popup-maker' ), 'views' => __( 'Views', 'popup-maker' ), 'conversions' => __( 'Conversions', 'popup-maker' ), ]; // Add the date column preventing our own translation. if ( ! empty( $_columns['date'] ) ) { $columns['date'] = $_columns['date']; } if ( get_taxonomy( 'popup_tag' ) ) { $columns['popup_tag'] = __( 'Tags', 'popup-maker' ); } if ( get_taxonomy( 'popup_category' ) ) { $columns['popup_category'] = __( 'Categories', 'popup-maker' ); } // Deprecated filter. $columns = apply_filters( 'popmake_popup_columns', $columns ); return apply_filters( 'pum_popup_columns', $columns ); } /** * Render Columns * * @param string $column_name Column name * @param int $post_id (Post) ID */ public static function render_columns( $column_name, $post_id ) { $post = get_post( $post_id ); if ( 'popup' === $post->post_type ) { $popup = pum_get_popup( $post_id ); /** * Uncomment if need to check for permissions on certain columns. * * * $post_type_object = get_post_type_object( $popup->post_type ); * $can_edit_post = current_user_can( $post_type_object->cap->edit_post, $popup->ID ); */ switch ( $column_name ) { case 'popup_title': echo esc_html( $popup->get_title() ); break; case 'enabled': if ( 'publish' === $post->post_status ) { $enabled = $popup->is_enabled(); $nonce = wp_create_nonce( 'pum_save_enabled_state' ); ?> <div class="pum-toggle-button"> <input id="pum-enabled-toggle-<?php echo esc_attr( $popup->ID ); ?>" type="checkbox" <?php checked( true, $enabled ); ?> class="pum-enabled-toggle-button" data-nonce="<?php echo esc_attr( $nonce ); ?>" data-popup-id="<?php echo esc_attr( $popup->ID ); ?>"> <label for="pum-enabled-toggle-<?php echo esc_attr( $popup->ID ); ?>" aria-label="Switch to enable popup"></label> </div> <?php } else { ?> <p>Popup not published</p> <?php } break; case 'popup_category': echo get_the_term_list( $post_id, 'popup_category', '', ', ', '' ); break; case 'popup_tag': echo get_the_term_list( $post_id, 'popup_tag', '', ', ', '' ); break; case 'class': echo '<pre style="display:inline-block;margin:0;"><code>popmake-' . absint( $post_id ) . '</code></pre>'; break; case 'views': if ( ! pum_extension_enabled( 'popup-analytics' ) ) { $open_count = $popup->get_event_count( 'open' ); if ( ! $open_count ) { $open_count = 0; } $open_count = pum_format_number( $open_count ); echo '<div class="pum-col-content">'; echo '<strong>' . esc_html( $open_count ) . '</strong>'; echo '<span>' . esc_html__( 'impressions', 'popup-maker' ) . '</span>'; echo '</div>'; } break; case 'conversions': if ( ! pum_extension_enabled( 'popup-analytics' ) ) { $views = (int) $popup->get_event_count( 'open' ); $conversions = (int) $popup->get_event_count( 'conversion' ); if ( $views > 0 && $views >= $conversions ) { $conversion_rate = round( $conversions / $views * 100, 2 ); } else { $conversion_rate = 0; } $conversions = pum_format_number( $conversions ); echo '<div class="pum-col-content">'; // Progress bar with percentage. if ( ! $conversion_rate || ! is_numeric( $conversion_rate ) ) { echo '<strong>' . esc_html__( 'N/A', 'popup-maker' ) . '</strong>'; } else { echo '<strong>' . esc_html( $conversions ) . '</strong>'; progress_bar( $conversion_rate, [ 'size' => 'small', 'title' => esc_html__( 'Calculated Conversion Rate', 'popup-maker' ), ] ); } echo '</div>'; } break; } } } /** * Hide some of our columns by default * * @param array $hidden Array of IDs of columns hidden by default. * @param WP_Screen $screen WP_Screen object of the current screen. * @return array Updated $hidden */ public static function hide_columns( $hidden, $screen ) { if ( isset( $screen->id ) && 'edit-popup' === $screen->id ) { $hidden[] = 'popup_title'; $hidden[] = 'date'; } return $hidden; } /** * Registers the sortable columns in the list table * * @param array $columns Array of the columns * * @return array $columns Array of sortable columns */ public static function sortable_columns( $columns ) { $columns['popup_title'] = 'popup_title'; $columns['views'] = 'views'; $columns['conversions'] = 'conversions'; return $columns; } /** * Sorts Columns in the List Table * * @param array $vars Array of all the sort variables * * @return array $vars Array of all the sort variables */ public static function sort_columns( $vars ) { // Check if we're viewing the "popup" post type if ( isset( $vars['post_type'] ) && 'popup' === $vars['post_type'] ) { // Check if 'orderby' is set to "name" if ( isset( $vars['orderby'] ) ) { switch ( $vars['orderby'] ) { case 'popup_title': $vars = array_merge( $vars, [ // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_key 'meta_key' => 'popup_title', 'orderby' => 'meta_value', ] ); break; case 'views': if ( ! pum_extension_enabled( 'popup-analytics' ) ) { $vars = array_merge( $vars, [ // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_key 'meta_key' => 'popup_open_count', 'orderby' => 'meta_value_num', ] ); } break; case 'conversions': if ( ! pum_extension_enabled( 'popup-analytics' ) ) { $vars = array_merge( $vars, [ // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_key 'meta_key' => 'popup_conversion_count', 'orderby' => 'meta_value_num', ] ); } break; } } } return $vars; } /** * Initialize sorting */ public static function load() { add_filter( 'request', [ __CLASS__, 'sort_columns' ] ); } /** * Add Popup Filters * * Adds taxonomy drop down filters for popups. */ public static function add_popup_filters() { global $typenow; // Checks if the current post type is 'popup' if ( 'popup' === $typenow ) { if ( get_taxonomy( 'popup_category' ) ) { $terms = get_terms( 'popup_category' ); if ( count( $terms ) > 0 ) { $category = ''; if ( isset( $_GET['_wpnonce'] ) && ! wp_verify_nonce( sanitize_key( wp_unslash( $_GET['_wpnonce'] ) ), 'pum-popup-filter-nonce' ) ) { $category = isset( $_GET['popup_category'] ) ? sanitize_key( wp_unslash( $_GET['popup_category'] ) ) : ''; } echo "<select name='popup_category' id='popup_category' class='postform'>"; echo "<option value=''>" . esc_html__( 'Show all categories', 'popup-maker' ) . '</option>'; foreach ( $terms as $term ) { $selected = $category === $term->slug ? 'selected="selected"' : ''; echo '<option value="' . esc_attr( $term->slug ) . '" ' . esc_attr( $selected ) . '>' . esc_html( $term->name ) . ' (' . esc_html( $term->count ) . ')</option>'; } echo '</select>'; wp_nonce_field( 'pum-popup-filter-nonce' ); } } if ( get_taxonomy( 'popup_tag' ) ) { $terms = get_terms( 'popup_tag' ); if ( count( $terms ) > 0 ) { $tag = ''; if ( isset( $_GET['_wpnonce'] ) && ! wp_verify_nonce( sanitize_key( wp_unslash( $_GET['_wpnonce'] ) ), 'pum-popup-filter-nonce' ) ) { $tag = isset( $_GET['popup_tag'] ) ? sanitize_key( wp_unslash( $_GET['popup_tag'] ) ) : ''; } echo "<select name='popup_tag' id='popup_tag' class='postform'>"; echo "<option value=''>" . esc_html__( 'Show all tags', 'popup-maker' ) . '</option>'; foreach ( $terms as $term ) { $selected = $tag === $term->slug ? 'selected="selected"' : ''; echo '<option value="' . esc_attr( $term->slug ) . '" ' . esc_attr( $selected ) . '>' . esc_html( $term->name ) . ' (' . esc_html( $term->count ) . ')</option>'; } echo '</select>'; wp_nonce_field( 'pum-popup-filter-nonce' ); } } } } /** * Prepends Popup ID to the action row on All Popups * * @param array $actions The row actions. * @param $post The post * * @return array The new actions. */ public static function add_id_row_actions( $actions, $post ) { // Only adjust if we are dealing with our popups. if ( 'popup' === $post->post_type ) { return array_merge( [ 'id' => 'ID: ' . $post->ID ], $actions ); } return $actions; } /** * Add font size and font select buttons to the editor. * * @param array $buttons The array of buttons. * * @return array */ public static function add_mce_buttons( $buttons ) { if ( ! pum_is_popup_editor() ) { return $buttons; } array_unshift( $buttons, 'fontselect' ); array_unshift( $buttons, 'fontsizeselect' ); return $buttons; } /** * Increase the available font sizes. * * @param array $init_array The TinyMCE init array. * * @return array */ public static function increase_available_font_sizes( $init_array ) { $init_array['fontsize_formats'] = '9px 10px 12px 13px 14px 16px 18px 21px 24px 28px 32px 36px 42px 48px 54px 60px 66px 72px 80px 90px'; return $init_array; } } classes/Admin/Helpers.php 0000644 00000024536 15174671772 0011377 0 ustar 00 <?php /** * Admin Helpers * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Admin_Helpers */ class PUM_Admin_Helpers { /** * @param array $args * * @return array */ public static function post_type_dropdown_options( $args = [], $compare = 'and' ) { $args = wp_parse_args( $args, [ 'public' => null, 'publicly_queryable' => null, 'exclude_from_search' => null, 'show_ui' => null, 'capability_type' => null, 'hierarchical' => null, 'menu_position' => null, 'menu_icon' => null, 'permalink_epmask' => null, 'rewrite' => null, 'query_var' => null, '_builtin' => null, ] ); foreach ( $args as $key => $value ) { if ( null === $value ) { unset( $args[ $key ] ); } } $options = []; foreach ( get_post_types( $args, 'objects', $compare ) as $post_type ) { if ( in_array( $post_type->name, [ 'revision', 'nav_menu_item', 'custom_css', 'customize_changeset', 'oembed_cache', 'popup_theme', 'nf_sub' ], true ) ) { // continue; } $labels = get_post_type_labels( $post_type ); $options[ esc_attr( $post_type->name ) ] = esc_html( $labels->name ); } return $options; } /** * @deprecated 1.7.20 * @see PUM_Helper_Array::move_item * * @param array $ref_arr * @param string $key1 * @param int|string $move * @param string|null $key2 * * @return bool */ public static function move_item( &$ref_arr, $key1, $move, $key2 = null ) { return PUM_Utils_Array::move_item( $ref_arr, $key1, $move, $key2 ); } /** * @deprecated 1.7.20 * @see PUM_Helper_Array::remove_keys_starting_with * * @param array $arr * @param bool $str * * @return array */ public static function remove_keys_starting_with( $arr, $str = false ) { return PUM_Utils_Array::remove_keys_starting_with( $arr, $str ); } /** * @deprecated 1.7.20 * @see PUM_Helper_Array::sort_by_sort * * @param array $a * @param array $b * * @return array */ public static function sort_by_sort( $a, $b ) { return PUM_Utils_Array::sort_by_sort( $a, $b ); } /** * @param array $fields * * @return array */ public static function get_field_defaults( $fields = [] ) { $defaults = []; foreach ( $fields as $field_id => $field ) { if ( isset( $field['std'] ) ) { $defaults[ $field_id ] = $field['std']; } else { $defaults[ $field_id ] = 'checkbox' === $field['type'] ? null : false; } } return $defaults; } /** * @deprecated 1.7.20 * @see PUM_Utils_Array::from_object instead. * * @param $arr * @param $old_key * @param $new_key * * @return array * @throws Exception */ public static function replace_key( $arr, $old_key, $new_key ) { return PUM_Utils_Array::replace_key( $arr, $old_key, $new_key ); } /** * @param $tabs * * @return array */ public static function flatten_fields_array( $tabs ) { $fields = []; foreach ( $tabs as $tab_id => $tab_sections ) { if ( self::is_field( $tab_sections ) ) { $fields[ $tab_id ] = $tab_sections; continue; } else { foreach ( $tab_sections as $section_id => $section_fields ) { if ( self::is_field( $tab_sections ) ) { $fields[ $section_id ] = $section_fields; continue; } foreach ( $section_fields as $field_id => $field ) { $fields[ $field_id ] = $field; continue; } } } } return $fields; } /** * @param $field * * @return array */ public static function parse_field( $field ) { return wp_parse_args( $field, [ 'section' => 'main', 'type' => 'text', 'id' => null, 'label' => '', 'desc' => '', 'name' => null, 'templ_name' => null, 'size' => 'regular', 'options' => [], 'std' => null, 'rows' => 5, 'cols' => 50, 'min' => 0, 'max' => 50, 'force_minmax' => false, 'step' => 1, 'select2' => null, 'object_type' => 'post_type', 'object_key' => 'post', 'post_type' => null, 'taxonomy' => null, 'multiple' => null, 'as_array' => false, 'placeholder' => null, 'checkbox_val' => 1, 'allow_blank' => true, 'readonly' => false, 'required' => false, 'disabled' => false, 'hook' => null, 'unit' => __( 'ms', 'popup-maker' ), 'desc_position' => 'bottom', 'units' => [ 'px' => 'px', '%' => '%', 'em' => 'em', 'rem' => 'rem', ], 'priority' => 10, 'doclink' => '', 'button_type' => 'submit', 'class' => '', 'messages' => [], 'license_status' => '', 'private' => false, ] ); } /** * @param $fields * @param array $args * * @return mixed */ public static function parse_tab_fields( $fields, $args = [] ) { $args = wp_parse_args( $args, [ 'has_subtabs' => false, 'name' => '%s', ] ); if ( $args['has_subtabs'] ) { foreach ( $fields as $tab_id => $tab_sections ) { foreach ( $tab_sections as $section_id => $section_fields ) { if ( self::is_field( $section_fields ) ) { // Allow for flat tabs with no sections. $section_id = 'main'; $section_fields = [ $section_id => $section_fields, ]; } $fields[ $tab_id ][ $section_id ] = self::parse_fields( $section_fields, $args['name'] ); } } } else { foreach ( $fields as $tab_id => $tab_fields ) { $fields[ $tab_id ] = self::parse_fields( $tab_fields, $args['name'] ); } } return $fields; } /** * @param array $fields * @param string $name * * @return mixed */ public static function parse_fields( $fields, $name = '%' ) { if ( is_array( $fields ) && ! empty( $fields ) ) { foreach ( $fields as $field_id => $field ) { if ( ! is_array( $field ) || ! self::is_field( $field ) ) { continue; } // Remap old settings. if ( is_numeric( $field_id ) && ! empty( $field['id'] ) ) { try { $fields = PUM_Utils_Array::replace_key( $fields, $field_id, $field['id'] ); } catch ( Exception $e ) { $e; } $field_id = $field['id']; } elseif ( empty( $field['id'] ) && ! is_numeric( $field_id ) ) { $field['id'] = $field_id; } if ( ! empty( $field['name'] ) && empty( $field['label'] ) ) { $field['label'] = $field['name']; unset( $field['name'] ); } if ( empty( $field['name'] ) ) { $field['name'] = sprintf( $name, $field_id ); } $fields[ $field_id ] = self::parse_field( $field ); } } $fields = PUM_Utils_Array::sort( $fields, 'priority' ); return $fields; } /** * Sort array by priority value * * @deprecated 1.7.20 * @see PUM_Utils_Array::sort_by_priority instead. * * @param $a * @param $b * * @return int */ public static function sort_by_priority( $a, $b ) { return PUM_Utils_Array::sort_by_priority( $a, $b ); } /** * Checks if an array is a field. * * @param array $arr * * @return bool */ public static function is_field( $arr = [] ) { $field_tests = [ ! isset( $arr['type'] ) && ( isset( $arr['label'] ) || isset( $arr['desc'] ) ), isset( $arr['type'] ) && is_string( $arr['type'] ), ]; return in_array( true, $field_tests, true ); } /** * Checks if an array is a section. * * @param array $arr * * @return bool */ public static function is_section( $arr = [] ) { return ! self::is_field( $arr ); } /** * @deprecated 1.7.0 * * @param array $args */ public static function modal( $args = [] ) { $args = wp_parse_args( $args, [ 'id' => 'default', 'title' => '', 'description' => '', 'class' => '', 'cancel_button' => true, 'cancel_button_text' => __( 'Cancel', 'popup-maker' ), 'save_button' => true, 'save_button_text' => __( 'Add', 'popup-maker' ), ] ); ?> <div id="<?php echo esc_attr( $args['id'] ); ?>" class="pum-modal-background <?php echo esc_attr( $args['class'] ); ?>" role="dialog" aria-modal="false" aria-labelledby="<?php echo esc_attr( $args['id'] ); ?>-title" <?php if ( '' !== $args['description'] ) { ?> aria-describedby="<?php echo esc_attr( $args['id'] ); ?>-description"<?php } ?>> <div class="pum-modal-wrap"> <form class="pum-form"> <div class="pum-modal-header"> <?php if ( '' !== $args['title'] ) { ?> <span id="<?php echo esc_attr( $args['id'] ); ?>-title" class="pum-modal-title"><?php echo esc_html( $args['title'] ); ?></span> <?php } ?> <button type="button" class="pum-modal-close" aria-label="<?php esc_attr_e( 'Close', 'popup-maker' ); ?>"></button> </div> <?php if ( '' !== $args['description'] ) { ?> <span id="<?php echo esc_attr( $args['id'] ); ?>-description" class="screen-reader-text"><?php echo esc_html( $args['description'] ); ?></span> <?php } ?> <div class="pum-modal-content"> <?php // Ignore the escaping here as we are outputting data that should already be escaped. // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo $args['content']; ?> </div> <?php if ( $args['save_button'] || $args['cancel_button'] ) { ?> <div class="pum-modal-footer submitbox"> <?php if ( $args['cancel_button'] ) { ?> <div class="cancel"> <button type="button" class="submitdelete no-button" href="#"><?php echo esc_html( $args['cancel_button_text'] ); ?></button> </div> <?php } ?> <?php if ( $args['save_button'] ) { ?> <div class="pum-submit"> <span class="spinner"></span> <button class="button button-primary"><?php echo esc_html( $args['save_button_text'] ); ?></button> </div> <?php } ?> </div> <?php } ?> </form> </div> </div> <?php } /** * @deprecated 1.7.20 * @see PUM_Utils_Array::from_object instead. * * @param $obj * * @return array */ public static function object_to_array( $obj ) { return PUM_Utils_Array::from_object( $obj ); } } classes/Admin/Pages.php 0000644 00000015606 15174671772 0011032 0 ustar 00 <?php /** * Class for Admin Pages * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Admin_Pages * * @since 1.7.0 */ class PUM_Admin_Pages { /** * @var array */ public static $pages = []; /** * */ public static function init() { add_action( 'admin_menu', [ __CLASS__, 'register_pages' ] ); add_action( 'admin_head', [ __CLASS__, 'reorder_admin_submenu' ] ); } /** * Returns the requested pages handle. * * @param $key * * @return bool|mixed */ public static function get_page( $key ) { return isset( self::$pages[ $key ] ) ? self::$pages[ $key ] : false; } /** * Get upgrade menu item based on license status. * * @return array|null Menu item array or null to exclude from menu. */ private static function get_upgrade_menu_item() { try { $license_service = \PopupMaker\plugin( 'license' ); $license_status = $license_service->get_license_status(); $license_tier = $license_service->get_license_tier(); // Pro Plus license - don't show upgrade menu. if ( 'valid' === $license_status && 'pro_plus' === $license_tier ) { return null; } // Pro license (valid) - show "Go Pro+". if ( 'valid' === $license_status && 'pro' === $license_tier ) { $menu_title = __( 'Go Pro+', 'popup-maker' ); } else { // No license or invalid license - show "Go Pro". $menu_title = __( 'Go Pro', 'popup-maker' ); } return [ 'page_title' => $menu_title, 'menu_slug' => 'pum-settings#go-pro', 'capability' => 'edit_posts', 'callback' => [ 'PUM_Admin_Settings', 'page' ], ]; } catch ( \Exception $e ) { // Fallback to default if license service unavailable. return [ 'page_title' => __( 'Go Pro', 'popup-maker' ), 'menu_slug' => 'pum-settings#go-pro', 'capability' => 'edit_posts', 'callback' => [ 'PUM_Admin_Settings', 'page' ], ]; } } /** * Creates the admin submenu pages under the Popup Maker menu and assigns their * links to global variables */ public static function register_pages() { // Determine upgrade menu item based on license status. $upgrade_menu_item = self::get_upgrade_menu_item(); $admin_pages = apply_filters( 'pum_admin_pages', [ 'subscribers' => [ 'page_title' => __( 'Subscribers', 'popup-maker' ), 'capability' => 'manage_options', 'callback' => [ 'PUM_Admin_Subscribers', 'page' ], ], 'settings' => [ 'page_title' => __( 'Settings', 'popup-maker' ), 'capability' => 'manage_options', 'callback' => [ 'PUM_Admin_Settings', 'page' ], ], 'extensions' => $upgrade_menu_item, 'support' => [ 'page_title' => __( 'Help & Support', 'popup-maker' ), 'capability' => 'edit_posts', 'callback' => [ 'PUM_Admin_Support', 'page' ], ], 'tools' => [ 'page_title' => __( 'Tools', 'popup-maker' ), 'capability' => 'manage_options', 'callback' => [ 'PUM_Admin_Tools', 'page' ], ], ] ); foreach ( $admin_pages as $key => $page ) { // Skip null pages (e.g., upgrade menu for Pro Plus users). if ( null === $page ) { continue; } $page = wp_parse_args( $page, [ 'parent_slug' => 'edit.php?post_type=popup', 'page_title' => '', 'menu_title' => '', 'capability' => 'manage_options', 'menu_slug' => '', 'callback' => '', ] ); // Backward compatibility. $page['capability'] = apply_filters( 'popmake_admin_submenu_' . $key . '_capability', $page['capability'] ); if ( empty( $page['menu_slug'] ) ) { $page['menu_slug'] = 'pum-' . $key; } if ( ! empty( $page['page_title'] ) && empty( $page['menu_title'] ) ) { $page['menu_title'] = $page['page_title']; } elseif ( ! empty( $page['menu_title'] ) && empty( $page['page_title'] ) ) { $page['page_title'] = $page['menu_title']; } self::$pages[ $key ] = add_submenu_page( $page['parent_slug'], $page['page_title'], $page['menu_title'], $page['capability'], $page['menu_slug'], $page['callback'] ); // For backward compatibility. $GLOBALS[ 'popmake_' . $key . '_page' ] = self::$pages[ $key ]; } // Add shortcut to theme editor from Appearance menu. add_theme_page( __( 'Popup Themes', 'popup-maker' ), __( 'Popup Themes', 'popup-maker' ), 'edit_posts', 'edit.php?post_type=popup_theme' ); } /** * Submenu filter function. Tested with WordPress 4.1.1 * Sort and order submenu positions to match our custom order. * * @since 1.4 */ public static function reorder_admin_submenu() { global $submenu; if ( isset( $submenu['edit.php?post_type=popup'] ) ) { // Sort the menu according to your preferences usort( $submenu['edit.php?post_type=popup'], [ __CLASS__, 'reorder_submenu_array' ] ); } } /** * Reorders the submenu by title. * * Forces $first_pages to load in order at the beginning of the menu * and $last_pages to load in order at the end. All remaining menu items will * go out in generic order. * * @since 1.4 * * @param $a * @param $b * * @return int */ public static function reorder_submenu_array( $a, $b ) { $first_pages = apply_filters( 'pum_admin_submenu_first_pages', [ __( 'All Popups', 'popup-maker' ), __( 'Add New', 'popup-maker' ), __( 'All Themes', 'popup-maker' ), __( 'Categories', 'popup-maker' ), __( 'Tags', 'popup-maker' ), ] ); $last_pages = apply_filters( 'pum_admin_submenu_last_pages', [ __( 'Settings', 'popup-maker' ), __( 'Tools', 'popup-maker' ), __( 'Support Forum', 'popup-maker' ), __( 'Account', 'popup-maker' ), __( 'Contact Us', 'popup-maker' ), __( 'Go Pro', 'popup-maker' ), __( 'Go Pro+', 'popup-maker' ), __( 'Help & Support', 'popup-maker' ), ] ); $a_val = strip_tags( $a[0], false ); $b_val = strip_tags( $b[0], false ); // Sort First Page Keys. if ( in_array( $a_val, $first_pages, true ) && ! in_array( $b_val, $first_pages, true ) ) { return - 1; } elseif ( ! in_array( $a_val, $first_pages, true ) && in_array( $b_val, $first_pages, true ) ) { return 1; } elseif ( in_array( $a_val, $first_pages, true ) && in_array( $b_val, $first_pages, true ) ) { $a_key = array_search( $a_val, $first_pages, true ); $b_key = array_search( $b_val, $first_pages, true ); return ( $a_key < $b_key ) ? - 1 : 1; } // Sort Last Page Keys. if ( in_array( $a_val, $last_pages, true ) && ! in_array( $b_val, $last_pages, true ) ) { return 1; } elseif ( ! in_array( $a_val, $last_pages, true ) && in_array( $b_val, $last_pages, true ) ) { return - 1; } elseif ( in_array( $a_val, $last_pages, true ) && in_array( $b_val, $last_pages, true ) ) { $a_key = array_search( $a_val, $last_pages, true ); $b_key = array_search( $b_val, $last_pages, true ); return ( $a_key < $b_key ) ? - 1 : 1; } // Sort remaining keys return $a > $b ? 1 : - 1; } } classes/Admin/Subscribers/Table.php 0000644 00000032707 15174671772 0013311 0 ustar 00 <?php /** * Admin Subscribers Table Handler * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Admin_Subscribers_Table */ class PUM_Admin_Subscribers_Table extends PUM_ListTable { /** * Constructor. * * The child class should call this constructor from its own constructor to override * the default $args. * * @param array|string $args { * Array or string of arguments. * * @type string $plural Plural value used for labels and the objects being listed. * This affects things such as CSS class-names and nonces used * in the list table, e.g. 'posts'. Default empty. * @type string $singular Singular label for an object being listed, e.g. 'post'. * Default empty * @type bool $ajax Whether the list table supports Ajax. This includes loading * and sorting data, for example. If true, the class will call * the _js_vars() method in the footer to provide variables * to any scripts handling Ajax events. Default false. * @type string $screen String containing the hook name used to determine the current * screen. If left null, the current screen will be automatically set. * Default null. * } */ public function __construct( $args = [] ) { $args = wp_parse_args( $args, [ 'plural' => 'subscribers', // Plural value used for labels and the objects being listed. 'singular' => 'subscriber', // Singular label for an object being listed, e.g. 'post'. 'ajax' => false, // If true, the parent class will call the _js_vars() method in the footer ] ); parent::__construct( $args ); } /** * Prepares the list of items for displaying. * * @uses PUM_ListTable::set_pagination_args() */ public function prepare_items() { $this->_column_headers = $this->get_column_info(); // check and process any actions such as bulk actions. $this->handle_table_actions(); $limit = $this->get_items_per_page( 'pum_subscribers_per_page' ); // phpcs:disable WordPress.Security.NonceVerification.Recommended $query_args = [ 's' => isset( $_REQUEST['s'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['s'] ) ) : null, 'limit' => $limit, 'page' => $this->get_pagenum(), 'orderby' => isset( $_REQUEST['orderby'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['orderby'] ) ) : null, 'order' => isset( $_REQUEST['order'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['order'] ) ) : null, ]; // phpcs:enable WordPress.Security.NonceVerification.Recommended $this->items = PUM_DB_Subscribers::instance()->query( $query_args, 'ARRAY_A' ); $total_subscribers = PUM_DB_Subscribers::instance()->total_rows( $query_args ); $this->set_pagination_args( [ 'total_items' => $total_subscribers, 'per_page' => $limit, 'total_pages' => ceil( $total_subscribers / $limit ), ] ); } /** * Get a list of columns. The format is: * 'internal-name' => 'Title' * * @return array */ public function get_columns() { return apply_filters( 'pum_subscribers_table_columns', [ 'cb' => '<input type="checkbox" />', // to display the checkbox. 'email' => __( 'Email', 'popup-maker' ), 'name' => __( 'Full Name', 'popup-maker' ), 'fname' => __( 'First Name', 'popup-maker' ), 'lname' => __( 'Last Name', 'popup-maker' ), 'popup_id' => __( 'Popup', 'popup-maker' ), // 'user_id' => __( 'User ID', 'popup-maker' ), 'created' => _x( 'Subscribed On', 'column name', 'popup-maker' ), ] ); } /** * Get a list of sortable columns. The format is: * 'internal-name' => 'orderby' * or * 'internal-name' => array( 'orderby', true ) * * The second format will make the initial sorting order be descending * \ * * * @return array */ protected function get_sortable_columns() { return apply_filters( 'pum_subscribers_table_columns', [ 'email' => 'email', 'fname' => 'fname', 'lname' => 'lname', 'popup_id' => 'popup_id', 'created' => 'created', ] ); } /** * Gets the name of the primary column. * * @return string The name of the primary column. */ protected function get_primary_column_name() { return 'email'; } /** * Text displayed when no user data is available */ public function no_items() { esc_html_e( 'No subscribers available.', 'popup-maker' ); } /** * Render a column when no column specific method exists. * * @param array $item * @param string $column_name * * @return mixed */ public function column_default( $item, $column_name ) { switch ( $column_name ) { case 'created': return date_i18n( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), strtotime( $item[ $column_name ] ) ); default: return $item[ $column_name ]; } } /** * Get value for checkbox column. * * The special 'cb' column * * @param object $item A row's data * * @return string Text to be placed inside the column <td>. */ protected function column_cb( $item ) { $label = sprintf( '<label class="screen-reader-text" for="subscriber_%d">%s</label>', $item['ID'], sprintf( /* translators: %s is the name of the subscriber. */ __( 'Select %s', 'popup-maker' ), $item['name'] ) ); $input = sprintf( '<input type="checkbox" name="%1$s[]" id="subscriber_%2$d" value="%2$d" />', $this->_args['singular'], $item['ID'] ); return sprintf( '%s%s', $label, $input ); } /** ************************************************************************ * Recommended. This is a custom column method and is responsible for what * is rendered in any column with a name/slug of 'title'. Every time the class * needs to render a column, it first looks for a method named * column_{$column_title} - if it exists, that method is run. If it doesn't * exist, column_default() is called instead. * * This example also illustrates how to implement rollover actions. Actions * should be an associative array formatted as 'slug'=>'link html' - and you * will need to generate the URLs yourself. You could even ensure the links * * @see WP_List_Table::::single_row_columns() * * @param array $item A singular item (one full row's worth of data) * * @return string Text to be placed inside the column <td> (movie title only) **************************************************************************/ public function column_email( $item ) { $url = add_query_arg( [ // phpcs:ignore WordPress.Security.NonceVerification.Recommended 'page' => isset( $_REQUEST['page'] ) ? sanitize_key( wp_unslash( $_REQUEST['page'] ) ) : null, 'subscriber' => $item['ID'], '_wpnonce' => wp_create_nonce( 'pum_subscribers_table_action_nonce' ), ], admin_url( 'edit.php?page=pum-subscribers&post_type=popup' ) ); $edit_url = add_query_arg( [ 'action' => 'edit', ], $url ); $delete_url = add_query_arg( [ 'action' => 'delete', ], $url ); // Build row actions $actions = [ // 'edit' => sprintf( '<a href="%s">Edit</a>', $edit_url ), 'delete' => sprintf( '<a href="%s">Delete</a>', $delete_url ), ]; // Return the title contents return sprintf( '%1$s <span style="color:silver">(id:%2$s)</span>%3$s', /*$1%s*/ $item['email'], /*$2%s*/ $item['ID'], /*$3%s*/ $this->row_actions( $actions ) ); } /** ************************************************************************ * Recommended. This is a custom column method and is responsible for what * is rendered in any column with a name/slug of 'title'. Every time the class * needs to render a column, it first looks for a method named * column_{$column_title} - if it exists, that method is run. If it doesn't * exist, column_default() is called instead. * * This example also illustrates how to implement rollover actions. Actions * should be an associative array formatted as 'slug'=>'link html' - and you * will need to generate the URLs yourself. You could even ensure the links * * @see WP_List_Table::::single_row_columns() * * @param array $item A singular item (one full row's worth of data) * * @return string Text to be placed inside the column <td> (movie title only) **************************************************************************/ public function column_name( $item ) { $user_id = $item['user_id'] > 0 ? absint( $item['user_id'] ) : null; if ( $user_id ) { $url = admin_url( "user-edit.php?user_id=$user_id" ); // Return the title contents return sprintf( '%s<br/><small style="color:silver">(%s: <a href="%s">#%s</a>)</small>', $item['name'], __( 'User ID', 'popup-maker' ), $url, $item['user_id'] ); } else { return $item['name']; } } /** ************************************************************************ * Recommended. This is a custom column method and is responsible for what * is rendered in any column with a name/slug of 'title'. Every time the class * needs to render a column, it first looks for a method named * column_{$column_title} - if it exists, that method is run. If it doesn't * exist, column_default() is called instead. * * This example also illustrates how to implement rollover actions. Actions * should be an associative array formatted as 'slug'=>'link html' - and you * will need to generate the URLs yourself. You could even ensure the links * * @see WP_List_Table::::single_row_columns() * * @param array $item A singular item (one full row's worth of data) * * @return string Text to be placed inside the column <td> (movie title only) **************************************************************************/ public function column_popup_id( $item ) { $popup_id = $item['popup_id'] > 0 ? absint( $item['popup_id'] ) : null; $popup = pum_get_popup( $popup_id ); if ( $popup_id && pum_is_popup( $popup ) ) { $url = admin_url( "post.php?post={$popup_id}&action=edit" ); // Return the title contents return sprintf( '%s<br/><small style="color:silver">(%s: <a href="%s">#%s</a>)</small>', $popup->post_title, __( 'ID', 'popup-maker' ), $url, $item['popup_id'] ); } else { return __( 'N/A', 'popup-maker' ); } } /** * Returns an associative array containing the bulk action * * @return array */ public function get_bulk_actions() { /* * on hitting apply in bulk actions the url params are set as * ?action=bulk-download&paged=1&action2=-1 * * action and action2 are set based on the triggers above or below the table */ $actions = [ 'bulk-delete' => __( 'Delete', 'popup-maker' ), ]; return $actions; } /** * Process actions triggered by the user * * @since 1.0.0 */ public function handle_table_actions() { if ( ! isset( $_REQUEST['_wpnonce'] ) ) { return; } $nonce = isset( $_REQUEST['_wpnonce'] ) ? sanitize_key( wp_unslash( $_REQUEST['_wpnonce'] ) ) : null; if ( ! $nonce ) { return; } // Detect when a bulk action is being triggered... $action1 = $this->current_action(); $redirect_url = admin_url( 'edit.php?page=pum-subscribers&post_type=popup' ); if ( in_array( $action1, [ 'delete', 'bulk-delete' ], true ) ) { // Determine the appropriate nonce action based on the current action $nonce_action = ( 'delete' === $action1 ) ? 'pum_subscribers_table_action_nonce' : 'bulk-subscribers'; // Verify the nonce if ( ! wp_verify_nonce( $nonce, $nonce_action ) ) { $this->invalid_nonce_redirect(); return; } // Sanitize subscriber IDs $subscribers = isset( $_REQUEST['subscriber'] ) ? array_map( 'absint', (array) $_REQUEST['subscriber'] ) : []; if ( empty( $subscribers ) ) { // No subscribers selected $redirect_url = add_query_arg( 'pum_action', 'error', $redirect_url ); wp_safe_redirect( $redirect_url ); exit; } // Initialize counters $deleted = 0; $failed = 0; foreach ( $subscribers as $subscriber_id ) { $result = PUM_DB_Subscribers::instance()->delete( $subscriber_id ); if ( $result ) { ++$deleted; } else { ++$failed; } } // Prepare redirect URL with query parameters // All deletions successful $deleted_count = intval( $deleted ); $failed_count = intval( $failed ); if ( $deleted_count >= count( $subscribers ) ) { printf( '<div class="notice notice-success is-dismissible"><p>%d %s</p></div>', esc_attr( $deleted_count ), esc_html( _n( 'Subscriber deleted!', 'Subscribers deleted!', $deleted_count, 'popup-maker' ) ) ); } else { // Some deletions failed printf( '<div class="notice notice-success is-dismissible"><p>%d %s</p></div>', esc_attr( $deleted_count ), esc_html( _n( 'Subscriber deleted!', 'Subscribers deleted!', $deleted_count, 'popup-maker' ) ) ); printf( '<div class="notice notice-error is-dismissible"><p>%d %s</p></div>', esc_attr( $failed_count ), esc_html( _n( 'failed to delete.', 'failed to delete.', $failed_count, 'popup-maker' ) ) ); } } } /** * Die when the nonce check fails. */ public function invalid_nonce_redirect() { wp_die( esc_html__( 'Invalid Nonce', 'popup-maker' ), esc_html__( 'Error', 'popup-maker' ), [ 'response' => 403, 'back_link' => esc_url( admin_url( 'edit.php?page=pum-subscribers&post_type=popup' ) ), ] ); } } classes/Admin/Settings.php 0000644 00000101124 15174671772 0011562 0 ustar 00 <?php /** * Class for Admin Settings * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Admin_Settings */ class PUM_Admin_Settings { /** * @var array */ public static $notices = []; /** * */ public static function init() { add_action( 'admin_notices', [ __CLASS__, 'notices' ] ); add_action( 'admin_init', [ __CLASS__, 'save' ] ); add_action( 'pum_save_settings', [ __CLASS__, 'process_license_operation' ], 10, 1 ); } // display default admin notice /** * Displays any saved admin notices. */ public static function notices() { if ( ! pum_is_settings_page() ) { return; } if ( get_option( 'pum_settings_admin_notice' ) ) { self::$notices[] = [ // phpcs:ignore WordPress.Security.NonceVerification.Recommended 'type' => isset( $_GET['success'] ) && ! (bool) $_GET['success'] ? 'error' : 'success', 'message' => get_option( 'pum_settings_admin_notice' ), ]; delete_option( 'pum_settings_admin_notice' ); } if ( ! empty( self::$notices ) ) { foreach ( self::$notices as $notice ) { ?> <div class="notice notice-<?php echo esc_attr( $notice['type'] ); ?> is-dismissible"> <p><strong> <?php // Ignored because this breaks the HTML and the notices are escaped when added to the array. // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo esc_html( $notice['message'] ); ?> </strong></p> <button type="button" class="notice-dismiss"> <span class="screen-reader-text"><?php esc_html_e( 'Dismiss this notice.', 'popup-maker' ); ?></span> </button> </div> <?php } } } /** * Save settings when needed. */ public static function save() { // Handle settings save. if ( ! pum_is_settings_page() || ! isset( $_POST['pum_settings_nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['pum_settings_nonce'] ) ), 'pum_settings_nonce' ) || ! current_user_can( 'manage_options' ) ) { return; } if ( ! empty( $_POST['pum_settings'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized $settings = self::sanitize_settings( wp_unslash( $_POST['pum_settings'] ) ); $settings = apply_filters( 'pum_sanitize_settings', $settings ); // Save settings and set initial success notice PUM_Utils_Options::update_all( $settings ); self::set_admin_notice( __( 'Settings saved successfully!', 'popup-maker' ) ); // Fire hooks that may override the notice do_action( 'pum_save_settings', $settings ); } } /** * Process license activation when hooked to pum_save_settings. */ public static function process_license_operation() { // Handle license operations. if ( ! isset( $_POST['pum_license_operation_nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['pum_license_operation_nonce'] ) ), 'pum_license_operation_nonce' ) || ! current_user_can( 'manage_options' ) || ! isset( $_POST['pum_license_operation'] ) ) { return; } $operations = [ 'activate' => isset( $_POST['pum_license_operation']['activate'] ), 'deactivate' => isset( $_POST['pum_license_operation']['deactivate'] ), 'delete' => isset( $_POST['pum_license_operation']['delete'] ), ]; $operation = array_search( true, $operations, true ); try { $license_service = \PopupMaker\plugin( 'license' ); switch ( $operation ) { case 'activate': // Extract license key from form data for activation $license_key = isset( $_POST['pum_settings']['popup_maker_pro_license_key'] ) ? sanitize_text_field( wp_unslash( $_POST['pum_settings']['popup_maker_pro_license_key'] ) ) : null; $succeeded = $license_service->maybe_activate_license( $license_key ); $message = __( 'License activated successfully!', 'popup-maker' ); if ( ! $succeeded ) { $status_data = $license_service->get_license_status_data(); $message = ! empty( $status_data['error_message'] ) ? $status_data['error_message'] : __( 'License activation failed.', 'popup-maker' ); } break; case 'deactivate': $succeeded = $license_service->deactivate_license(); $message = $succeeded ? __( 'License deactivated successfully!', 'popup-maker' ) : __( 'License deactivation failed.', 'popup-maker' ); break; case 'delete': $succeeded = $license_service->remove_license(); $message = __( 'License key deleted successfully!', 'popup-maker' ); break; } self::safe_redirect_with_notice( $message, 'licenses', $succeeded ); } catch ( Exception $e ) { self::handle_license_service_exception( $e, 'licenses' ); } } /** * Set admin notice message. * * @param string $message The notice message. * @param bool $success Whether it's a success notice. */ private static function set_admin_notice( $message, $success = true ) { update_option( 'pum_settings_admin_notice', $message ); } /** * Redirect with notice message. * * @param string $message The notice message. * @param string $tab The tab to redirect to. * @param bool $success Whether it's a success notice. */ private static function safe_redirect_with_notice( $message, $tab = 'licenses', $success = true ) { self::set_admin_notice( $message, $success ); wp_safe_redirect( add_query_arg( [ 'tab' => $tab, 'success' => $success ? '1' : '0', ], admin_url( 'edit.php?post_type=popup&page=pum-settings' ) ) ); exit; } /** * Handle license service exceptions. * * @param Exception $e The exception. * @param string $tab The tab to redirect to. */ private static function handle_license_service_exception( Exception $e, $tab = 'licenses' ) { self::safe_redirect_with_notice( $e->getMessage(), $tab, false ); } /** * @param array $settings * * @return array */ public static function sanitize_settings( $settings = [] ) { $fields = self::fields(); $fields = PUM_Admin_Helpers::flatten_fields_array( $fields ); foreach ( $fields as $field_id => $field ) { switch ( $field['type'] ) { case 'checkbox': if ( ! isset( $settings[ $field_id ] ) ) { $settings[ $field_id ] = false; } break; case 'multicheck': if ( ! isset( $settings[ $field_id ] ) ) { $settings[ $field_id ] = []; } break; } } foreach ( $settings as $key => $value ) { $field = self::get_field( $key ); if ( $field ) { // Sanitize every string value. if ( is_string( $value ) && ! current_user_can( 'unfiltered_html' ) ) { // If current user can't save unfiltered html, strip unsafe tags. $value = sanitize_text_field( $value ); // $value = wp_kses( $settings[ $key ], wp_kses_allowed_html() ); } switch ( $field['type'] ) { default: $settings[ $key ] = is_string( $value ) ? trim( $value ) : $value; break; case 'measure': $settings[ $key ] .= $settings[ $key . '_unit' ]; break; case 'pro_license': // Pro license is now handled via hooks, treat as regular text field $settings[ $key ] = is_string( $value ) ? trim( $value ) : $value; break; case 'license_key': // Use old system for extension licenses $old = PUM_Utils_Options::get( $key ); $new = trim( $value ); if ( $old && $old !== $new ) { delete_option( str_replace( '_license_key', '_license_active', $key ) ); if ( ! empty( $field['options']['activation_callback'] ) ) { call_user_func( $field['options']['activation_callback'] ); } } $settings[ $key ] = is_string( $value ) ? trim( $value ) : $value; // Activate / deactivate license keys maybe? break; } } else { // Some custom field types include multiple additional fields that do not need to be saved, strip out any non-whitelisted fields. unset( $settings[ $key ] ); } } return $settings; } /** * @param $id * * @return bool */ public static function get_field( $id ) { $tabs = self::fields(); foreach ( $tabs as $tab => $sections ) { if ( PUM_Admin_Helpers::is_field( $sections ) ) { $sections = [ 'main' => [ $tab => $sections, ], ]; } foreach ( $sections as $section => $fields ) { foreach ( $fields as $key => $args ) { if ( $key === $id ) { return $args; } } } } return false; } /** * Returns array of pum settings fields. * * @return mixed */ public static function fields() { static $fields; if ( ! isset( $fields ) ) { $fields = [ 'general' => [ 'main' => [ 'default_theme_id' => [ 'label' => __( 'Default Popup Theme', 'popup-maker' ), 'dynamic_desc' => sprintf( '%1$s<br/><a id="edit_theme_link" href="%3$s">%2$s</a>', __( 'Choose the default theme used for new popups', 'popup-maker' ), __( 'Customize This Theme', 'popup-maker' ), admin_url( 'post.php?action=edit&post={{data.value}}' ) ), 'type' => 'select', 'options' => PUM_Helpers::popup_theme_selectlist(), 'std' => pum_get_default_theme_id(), ], 'enable_classic_editor' => [ 'label' => __( 'Use Classic Editor for Popups', 'popup-maker' ), 'desc' => __( 'Disable the block editor and use the classic editor for editing popups.', 'popup-maker' ), 'type' => 'checkbox', ], 'google_fonts_api_key' => [ 'type' => 'text', 'label' => __( 'Google Fonts API Key *optional', 'popup-maker' ), 'desc' => __( 'Enter your own Google Fonts API key to always get the latest fonts available.', 'popup-maker' ), ], 'telemetry' => [ 'type' => 'checkbox', 'label' => __( 'Allow usage tracking?', 'popup-maker' ), 'desc' => sprintf( /* translators: 1 & 2 are opening and closing HTML of the link around "Learn more" */ esc_html__( 'Allow data sharing so that we can receive a little information on how it is used and help us make this plugin better? No user data is sent to our servers. No sensitive data is tracked. %1$sLearn more%2$s', 'popup-maker' ), ' <a target="_blank" rel="noreferrer noopener" href="https://wppopupmaker.com/docs/policies/the-data-the-popup-maker-plugin-collects/?utm_campaign=contextual-help&utm_medium=inline-doclink&utm_source=settings-page&utm_content=telemetry-setting">', '</a>' ), ], ], ], ]; // TODO Remove or move externally of this location later. if ( ! ( class_exists( 'PUM_MCI' ) && version_compare( PUM_MCI::$VER, '1.3.0', '<' ) ) ) { $fields['subscriptions'] = [ 'main' => apply_filters( 'pum_newsletter_settings', [ 'newsletter_default_provider' => [ 'label' => __( 'Default Newsletter Provider', 'popup-maker' ), 'desc' => __( 'The default mailing provider used for the subscription form.', 'popup-maker' ), 'type' => 'select', 'options' => array_merge( PUM_Newsletter_Providers::dropdown_list(), [ 'none' => __( 'None', 'popup-maker' ), ] ), ], 'default_success_message' => [ 'label' => __( 'Success Message', 'popup-maker' ), 'desc' => __( 'Message to show user when successfuly subscribed.', 'popup-maker' ), 'type' => 'text', 'std' => __( 'You have been subscribed!', 'popup-maker' ), ], 'default_empty_email_message' => [ 'label' => __( 'Empty Email Message', 'popup-maker' ), 'desc' => __( 'Message to show user when no email is entered.', 'popup-maker' ), 'type' => 'text', 'std' => __( 'Please enter a valid email.', 'popup-maker' ), ], 'default_invalid_email_message' => [ 'label' => __( 'Invalid Email Message', 'popup-maker' ), 'desc' => __( 'Message to show user when an invalid email is entered.', 'popup-maker' ), 'type' => 'text', 'std' => __( 'Email provided is not a valid email address.', 'popup-maker' ), ], 'default_error_message' => [ 'label' => __( 'Error Message', 'popup-maker' ), 'desc' => __( 'Message to show user when an error has occurred.', 'popup-maker' ), 'type' => 'text', 'std' => __( 'Error occurred when subscribing. Please try again.', 'popup-maker' ), ], 'default_already_subscribed_message' => [ 'label' => __( 'Already Subscribed Message', 'popup-maker' ), 'desc' => __( 'Message to show user who is already subscribed.', 'popup-maker' ), 'type' => 'text', 'std' => __( 'You are already a subscriber.', 'popup-maker' ), ], 'default_consent_required_message' => [ 'label' => __( 'Consent Required Message', 'popup-maker' ), 'desc' => __( 'Message to show user who is already subscribed.', 'popup-maker' ), 'type' => 'text', 'std' => __( 'You must agree to continue.', 'popup-maker' ), ], ] ), ]; } $fields = array_merge( $fields, [ 'extensions' => [ 'main' => [], ], 'licenses' => [ 'main' => [], ], 'privacy' => [ 'main' => [ 'disable_popup_open_tracking' => [ 'type' => 'checkbox', 'label' => __( 'Disables popup open tracking?', 'popup-maker' ), 'desc' => __( 'This will disable the built in analytics functionality.', 'popup-maker' ), ], ], 'forms' => [ 'forms_disclaimer' => [ 'type' => 'html', 'content' => '<strong>' . __( 'Disclaimer', 'popup-maker' ) . ':</strong> ' . __( 'These settings only pertain to usage of the Popup Maker built in subscription form shortcode, not 3rd party form plugins.', 'popup-maker' ), ], 'privacy_consent_always_enabled' => [ 'label' => __( 'Always enable consent field on subscription forms.', 'popup-maker' ), 'type' => 'select', 'options' => [ 'yes' => __( 'Yes', 'popup-maker' ), 'no' => __( 'No', 'popup-maker' ), ], 'std' => 'yes', ], 'default_privacy_consent_label' => [ 'label' => __( 'Consent Text', 'popup-maker' ), 'type' => 'text', 'std' => __( 'Notify me about related content and special offers.', 'popup-maker' ), 'dependencies' => [ 'privacy_consent_always_enabled' => 'yes', ], ], 'default_privacy_consent_type' => [ 'label' => __( 'Consent Field Type', 'popup-maker' ), 'desc' => __( 'Radio forces the user to make a choice, often resulting in more opt-ins.', 'popup-maker' ), 'type' => 'select', 'options' => [ 'radio' => __( 'Radio', 'popup-maker' ), 'checkbox' => __( 'Checkbox', 'popup-maker' ), ], 'std' => 'radio', 'dependencies' => [ 'privacy_consent_always_enabled' => 'yes', ], ], 'default_privacy_consent_required' => [ 'label' => __( 'Consent Required', 'popup-maker' ), 'type' => 'checkbox', 'std' => pum_get_option( 'default_privacy_consent_required' ), 'private' => true, 'dependencies' => [ 'privacy_consent_always_enabled' => 'yes', ], ], 'default_privacy_consent_radio_layout' => [ 'label' => __( 'Consent Radio Layout', 'popup-maker' ), 'type' => 'select', 'options' => [ 'inline' => __( 'Inline', 'popup-maker' ), 'stacked' => __( 'Stacked', 'popup-maker' ), ], 'std' => __( 'Yes', 'popup-maker' ), 'dependencies' => [ 'privacy_consent_always_enabled' => 'yes', 'default_privacy_consent_type' => 'radio', ], ], 'default_privacy_consent_yes_label' => [ 'label' => __( 'Consent Yes Label', 'popup-maker' ), 'type' => 'text', 'std' => __( 'Yes', 'popup-maker' ), 'dependencies' => [ 'privacy_consent_always_enabled' => 'yes', 'default_privacy_consent_type' => 'radio', ], ], 'default_privacy_consent_no_label' => [ 'label' => __( 'Consent No Label', 'popup-maker' ), 'type' => 'text', 'std' => __( 'No', 'popup-maker' ), 'dependencies' => [ 'privacy_consent_always_enabled' => 'yes', 'default_privacy_consent_type' => 'radio', ], ], 'default_privacy_usage_text' => [ 'label' => __( 'Consent Usage Text', 'popup-maker' ), 'desc' => function_exists( 'get_privacy_policy_url' ) ? sprintf( /* translators: 1. opening tag, 2. closing tag. */ __( 'You can use %1$s%2$s to insert a link to your privacy policy. To customize the link text use %1$s:Link Text%2$s', 'popup-maker' ), '{{privacy_link', '}}' ) : '', 'type' => 'text', 'std' => __( 'If you opt in above, we use this information to send related content, discounts, and other special offers.', 'popup-maker' ), 'dependencies' => [ 'privacy_consent_always_enabled' => 'yes', ], ], ], ], 'misc' => [ 'main' => [ 'bypass_adblockers' => [ 'label' => __( 'Try to bypass ad blockers.', 'popup-maker' ), 'type' => 'checkbox', ], 'adblock_bypass_url_method' => [ 'label' => __( 'Ad blocker: Naming method', 'popup-maker' ), 'desc' => __( 'This will help generate unique names for our JavaScript files and the analytics routes.', 'popup-maker' ), 'type' => 'select', 'options' => [ 'random' => __( 'Randomize Names', 'popup-maker' ), 'custom' => __( 'Custom Names', 'popup-maker' ), ], 'std' => 'random', 'dependencies' => [ 'bypass_adblockers' => true, ], ], 'adblock_bypass_custom_filename' => [ 'type' => 'text', 'placeholder' => 'my-awesome-popups', 'label' => __( 'Ad blocker: Custom Name', 'popup-maker' ), 'desc' => __( 'A custom & recognizable name to use for our assets.', 'popup-maker' ), 'dependencies' => [ 'bypass_adblockers' => true, 'adblock_bypass_url_method' => 'custom', ], ], 'adjust_body_padding' => [ 'type' => 'checkbox', 'label' => __( 'Adjust the right padding added to the body when popups are shown with an overlay.', 'popup-maker' ), 'desc' => sprintf( /* translators: 1 & 2 are opening and closing HTML of the link around "Learn more" */ esc_html__( 'Use this if your popups "jump" or "shift" when opened. %1$sLearn more%2$s', 'popup-maker' ), '<a target="_blank" rel="noreferrer noopener" href="https://wppopupmaker.com/docs/popup-display-front-end-behavior/why-does-my-site-shift-jump-or-skip-when-a-popup-is-triggered/?utm_campaign=contextual-help&utm_medium=inline-doclink&utm_source=settings-page&utm_content=adjust-right-padding">', '</a>' ), ], 'body_padding_override' => [ 'type' => 'text', 'placeholder' => '15px', 'label' => __( 'Body Padding Override', 'popup-maker' ), 'dependencies' => [ 'adjust_body_padding' => true, ], 'std' => '15px', ], 'disabled_admin_bar' => [ 'type' => 'checkbox', 'label' => __( 'Disable Popups Admin Bar', 'popup-maker' ), 'desc' => __( 'This will disable the admin Popups menu item.', 'popup-maker' ), ], 'debug_mode' => [ 'type' => 'checkbox', 'label' => __( 'Enable Debug Mode', 'popup-maker' ), 'desc' => __( 'This will turn on multiple debug tools used to quickly find issues.', 'popup-maker' ), ], 'enable_easy_modal_compatibility_mode' => [ 'type' => 'checkbox', 'label' => __( 'Enable Easy Modal v2 Compatibility Mode', 'popup-maker' ), 'desc' => __( 'This will automatically make any eModal classes you have added to your site launch the appropriate Popup after import.', 'popup-maker' ), ], 'disable_popup_category_tag' => [ 'type' => 'checkbox', 'label' => __( 'Disable categories & tags?', 'popup-maker' ), 'desc' => __( 'This will disable the popup tags & categories.', 'popup-maker' ), ], 'disable_asset_caching' => [ 'type' => 'checkbox', 'label' => __( 'Disable asset caching.', 'popup-maker' ), 'desc' => __( 'By default Popup Maker caches a single JS & CSS file in your Uploads folder. These files include core, extension & user customized styles & scripts in a single set of files.', 'popup-maker' ), ], 'disable_shortcode_ui' => [ 'type' => 'checkbox', 'label' => __( 'Disable the Popup Maker shortcode button', 'popup-maker' ), ], 'disable_tips' => [ 'type' => 'checkbox', 'label' => __( 'Disable Popup Maker occasionally showing random tips to improve your popups.', 'popup-maker' ), ], 'disable_notices' => [ 'type' => 'checkbox', 'label' => __( 'Disable Popup Maker occasionally showing community notices such as security alerts, new features or sales on our extensions.', 'popup-maker' ), ], 'complete_uninstall' => [ 'type' => 'checkbox', 'label' => __( 'Delete all Popup Maker data on deactivation', 'popup-maker' ), 'desc' => __( 'Check this to completely uninstall Popup Maker.', 'popup-maker' ), 'priority' => 1000, ], ], 'assets' => [ 'disable_google_font_loading' => [ 'type' => 'checkbox', 'label' => __( "Don't Load Google Fonts", 'popup-maker' ), 'desc' => __( ' This stops Popup Maker from loading Google Fonts, useful if the fonts you chose are already loaded with your theme.', 'popup-maker' ), ], 'disable_popup_maker_core_styles' => [ 'type' => 'checkbox', 'label' => __( 'Don\'t load Popup Maker core stylesheet.', 'popup-maker' ), 'desc' => __( 'Check this if you have copied the Popup Maker core styles to your own stylesheet or are using custom styles.', 'popup-maker' ), ], 'disable_popup_theme_styles' => [ 'type' => 'checkbox', 'label' => __( 'Don\'t load popup theme styles to the head.', 'popup-maker' ), 'desc' => __( 'Check this if you have copied the popup theme styles to your own stylesheet or are using custom styles.', 'popup-maker' ), ], 'output_pum_styles' => [ 'id' => 'output_pum_styles', 'type' => 'html', 'content' => self::field_pum_styles(), ], ], ], 'go-pro' => [ 'main' => [ 'popup_maker_pro_license_key' => [ 'type' => 'pro_license', ], ], ], ] ); $fields = apply_filters( 'pum_settings_fields', $fields ); $fields = PUM_Admin_Helpers::parse_tab_fields( $fields, [ 'has_subtabs' => true, 'name' => 'pum_settings[%s]', ] ); } return $fields; } /** * @return string */ public static function field_pum_styles() { $core_styles = file_get_contents( Popup_Maker::$DIR . 'dist/assets/site' . ( is_rtl() ? '-rtl' : '' ) . '.css' ); $user_styles = PUM_AssetCache::generate_font_imports() . PUM_AssetCache::generate_popup_theme_styles() . PUM_AssetCache::generate_popup_styles(); // Prevent both raw and HTML-encoded variations of textarea tag // This regex prevents both HTML and HTML-encoded textarea tags: // (<\/?\s*|<\/?\s*) - Matches either < or < optionally followed by /, with optional whitespace // t\s*e\s*x\s*t\s*a\s*r\s*e\s*a\b - Matches "textarea" with optional whitespace between letters // /i flag makes it case-insensitive $safe_user_styles = preg_replace( '/(<\/?\s*|<\/?\s*)t\s*e\s*x\s*t\s*a\s*r\s*e\s*a\b/i', '', $user_styles ); ob_start(); ?> <button type="button" id="show_pum_styles" onclick="jQuery('#pum_style_output').slideDown();jQuery(this).hide();"><?php esc_html_e( 'Show Popup Maker CSS', 'popup-maker' ); ?></button> <p class="pum-desc desc"><?php __( "Use this to quickly copy Popup Maker's CSS to your own stylesheet.", 'popup-maker' ); ?></p> <div id="pum_style_output" style="display:none;"> <label for="pum_core_styles"><?php esc_html_e( 'Core Styles', 'popup-maker' ); ?></label> <br /> <textarea id="pum_core_styles" wrap="off" style="white-space: pre; width: 100%; min-height: 200px;" readonly="readonly"> <?php // Ignored because this is generated CSS. echo esc_html( $core_styles ); ?> </textarea> <br /> <br /> <label for="pum_generated_styles"><?php esc_html_e( 'Generated Popup & Popup Theme Styles', 'popup-maker' ); ?></label> <br /> <textarea id="pum_generated_styles" wrap="off" style="white-space: pre; width: 100%; min-height: 200px;" readonly="readonly"> <?php echo esc_html( $safe_user_styles ); ?> </textarea> </div> <?php return ob_get_clean(); } /** * @return array */ public static function user_role_options() { global $wp_roles; $options = []; foreach ( $wp_roles->roles as $role => $labels ) { $options[ $role ] = $labels['name']; } return $options; } /** * Render settings page with tabs. */ public static function page() { $settings = PUM_Utils_Options::get_all(); if ( empty( $settings ) ) { $settings = self::defaults(); } ?> <div class="wrap"> <form id="pum-settings" method="post" action=""> <?php wp_nonce_field( 'pum_settings_nonce', 'pum_settings_nonce' ); ?> <h1><?php esc_html_e( 'Popup Maker Settings', 'popup-maker' ); ?></h1> <div id="pum-settings-container" class="pum-settings-container"> <div class="pum-no-js" style="padding: 0 12px;"> <p> <?php printf( /* translators: 1. URL to troubleshooting guide. 2. Closing tag. */ esc_html__( 'If you are seeing this, the page is still loading or there are Javascript errors on this page. %1$sView troubleshooting guide%2$s', 'popup-maker' ), '<a href="https://wppopupmaker.com/docs/problem-solving/checking-javascript-errors/" target="_blank">', '</a>' ); ?> </p> </div> </div> <script type="text/javascript"> window.pum_settings_editor = <?php // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped echo PUM_Utils_Array::safe_json_encode( apply_filters( 'pum_settings_editor_args', [ 'form_args' => [ 'id' => 'pum-settings', 'tabs' => self::tabs(), 'sections' => self::sections(), 'fields' => self::fields(), 'maintabs' => [ 'meta' => [ 'data-min-height' => 0, ], ], ], 'active_tab' => self::get_active_tab(), 'active_section' => self::get_active_section(), 'current_values' => self::parse_values( $settings ), ] ) ); // phpcs:enable WordPress.Security.EscapeOutput.OutputNotEscaped ?> ; </script> <button class="button-primary bottom" style="margin-left: 156px;"><?php esc_html_e( 'Save', 'popup-maker' ); ?></button> </form> </div> <?php } /** * @return array */ public static function defaults() { $tabs = self::fields(); $defaults = []; foreach ( $tabs as $section_id => $fields ) { foreach ( $fields as $key => $field ) { $defaults[ $key ] = isset( $field['std'] ) ? $field['std'] : null; } } return $defaults; } /** * List of tabs & labels for the settings panel. * * @return array */ public static function tabs() { static $tabs; if ( ! isset( $tabs ) ) { $tabs = apply_filters( 'pum_settings_tabs', [ 'general' => __( 'General', 'popup-maker' ), 'subscriptions' => __( 'Subscriptions', 'popup-maker' ), 'extensions' => __( 'Extensions', 'popup-maker' ), 'licenses' => __( 'Licenses', 'popup-maker' ), 'privacy' => __( 'Privacy', 'popup-maker' ), 'misc' => __( 'Misc', 'popup-maker' ), 'go-pro' => \PopupMaker\plugin( 'license' )->is_license_active() ? __( 'Pro', 'popup-maker' ) : __( 'Go Pro', 'popup-maker' ), ] ); /** @deprecated 1.7.0 */ $tabs = apply_filters( 'popmake_settings_tabs', $tabs ); } return $tabs; } /** * List of tabs & labels for the settings panel. * * @return array */ public static function sections() { return apply_filters( 'pum_settings_tab_sections', [ 'general' => [ 'main' => __( 'General', 'popup-maker' ), ], 'subscriptions' => [ 'main' => __( 'General', 'popup-maker' ), ], 'extensions' => [ 'main' => __( 'Extension Settings', 'popup-maker' ), ], 'licenses' => [ 'main' => __( 'Licenses', 'popup-maker' ), ], 'privacy' => [ 'main' => __( 'General', 'popup-maker' ), 'forms' => __( 'Subscription Forms', 'popup-maker' ), ], 'misc' => [ 'main' => __( 'Misc', 'popup-maker' ), 'assets' => __( 'Assets', 'popup-maker' ), ], 'go-pro' => [ 'main' => \PopupMaker\plugin( 'license' )->is_license_active() ? __( 'Pro', 'popup-maker' ) : __( 'Go Pro', 'popup-maker' ), ], ] ); } /** * @return int|null|string */ public static function get_active_tab() { $tabs = self::tabs(); // Ignore because we only accept explitly valid tabs. // phpcs:ignore WordPress.Security.NonceVerification.Recommended $tab = isset( $_GET['tab'] ) ? sanitize_key( wp_unslash( $_GET['tab'] ) ) : ''; return array_key_exists( $tab, $tabs ) ? $tab : key( $tabs ); } /** * @return bool|int|null|string */ public static function get_active_section() { $active_tab = self::get_active_tab(); $sections = self::sections(); $tab_sections = ! empty( $sections[ $active_tab ] ) ? $sections[ $active_tab ] : false; if ( ! $tab_sections ) { return false; } // Ignore because we only accept explitly valid tabs. // phpcs:ignore WordPress.Security.NonceVerification.Recommended $section = isset( $_GET['section'] ) ? sanitize_key( wp_unslash( $_GET['section'] ) ) : ''; return array_key_exists( $section, $tab_sections ) ? $section : key( $tab_sections ); } /** * Parse values for form rendering. * * Add additional data for license_key fields, split the measure fields etc. * * @param $settings * * @return mixed */ public static function parse_values( $settings ) { foreach ( $settings as $key => $value ) { $field = self::get_field( $key ); if ( $field ) { /** * Process fields with specific types. */ switch ( $field['type'] ) { case 'measure': break; case 'pro_license': // Handled in filter_settings_editor_args via License::filter_settings_editor_args. // Handle Pro license key specially if not activated by License service. $settings[ $key ] = [ 'key' => \PopupMaker\plugin( 'license' )->star_key( trim( $value ) ), 'status' => 'invalid', /* translators: %s is the error message */ 'messages' => [ sprintf( __( 'Error loading license status: %s', 'popup-maker' ), 'unknown' ) ], 'expires' => '', 'classes' => 'pum-license-invalid', 'license_tier' => 'pro', // Default to pro on error. ]; break; case 'license_key': // Handle other license keys using the legacy system $license = get_option( $field['options']['is_valid_license_option'] ); $settings[ $key ] = [ 'key' => \PopupMaker\plugin( 'license' )->star_key( trim( $value ) ), 'status' => PUM_Licensing::get_status( $license, ! empty( $value ) ), 'messages' => PUM_Licensing::get_status_messages( $license, trim( $value ) ), 'expires' => PUM_Licensing::get_license_expiration( $license ), 'classes' => PUM_Licensing::get_status_classes( $license ), ]; break; } } } return $settings; } /** * */ public static function license_deactivated() { } /** * @param array $meta * * @return array */ public static function sanitize_objects( $meta = [] ) { if ( ! empty( $meta ) ) { foreach ( $meta as $key => $value ) { if ( is_string( $value ) ) { try { $value = json_decode( stripslashes( $value ) ); } catch ( Exception $e ) { $e; } } $meta[ $key ] = PUM_Admin_Helpers::object_to_array( $value ); } } return $meta; } } classes/Admin/Onboarding.php 0000644 00000040546 15174671772 0012056 0 ustar 00 <?php /** * Class for Admin Onboarding * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Handles all onboarding throughout site admin areas. * * @since 1.11.0 */ class PUM_Admin_Onboarding { /** * Enqueues and sets up pointers across our admin pages. */ public static function init() { if ( is_admin() && current_user_can( 'manage_options' ) ) { add_filter( 'pum_alert_list', [ __CLASS__, 'tips_alert' ] ); add_action( 'pum_alert_dismissed', [ __CLASS__, 'alert_handler' ], 10, 2 ); } add_filter( 'pum_admin_pointers-popup', [ __CLASS__, 'popup_editor_main_tour' ] ); add_filter( 'pum_admin_pointers-edit-popup', [ __CLASS__, 'all_popups_main_tour' ] ); add_action( 'admin_enqueue_scripts', [ __CLASS__, 'set_up_pointers' ] ); add_action( 'admin_init', [ __CLASS__, 'welcome_redirect' ] ); // Ignoring nonce because value is not used outside direct string comparison. // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( ! empty( $_GET['page'] ) && 'pum-welcome' === $_GET['page'] ) { add_action( 'admin_menu', [ __CLASS__, 'set_up_welcome_page' ] ); } } /** * Adds a 'tip' alert occasionally inside PM's admin area * * @param array $alerts The alerts currently in the alert system. * @return array Alerts for the alert system. * @since 1.13.0 */ public static function tips_alert( $alerts ) { if ( ! self::should_show_tip() ) { return $alerts; } $tip = self::get_random_tip(); $alerts[] = [ 'code' => 'pum_tip_alert', 'type' => 'info', 'message' => $tip['msg'], 'priority' => 10, 'dismissible' => '1 month', 'global' => false, 'actions' => [ [ 'primary' => true, 'type' => 'link', 'action' => '', 'href' => $tip['link'], 'text' => __( 'Learn more', 'popup-maker' ), ], [ 'primary' => false, 'type' => 'action', 'action' => 'dismiss', 'text' => __( 'Dismiss', 'popup-maker' ), ], [ 'primary' => false, 'type' => 'action', 'action' => 'disable_tips', 'text' => __( 'Turn off these occasional tips', 'popup-maker' ), ], ], ]; return $alerts; } /** * Checks if any options have been clicked from admin notices. * * @param string $code The code for the alert. * @param string $action Action taken on the alert. * @since 1.13.0 */ public static function alert_handler( $code, $action ) { if ( 'pum_tip_alert' === $code ) { if ( 'disable_tips' === $action ) { pum_update_option( 'disable_tips', true ); } } } /** * Sets up all guided tours for Popup Maker * * @since 1.11.0 */ public static function set_up_pointers() { if ( ! current_user_can( 'manage_options' ) ) { return; } $pointers = self::get_pointers_by_screen(); // Get dismissed pointers. $dismissed = self::get_dismissed_pointers(); $valid_pointers = []; // Cycles through pointers and only add valid ones. foreach ( $pointers as $pointer_id => $pointer ) { // Skip if pointer isn't an array. if ( ! is_array( $pointer ) ) { continue; } $pointer['pointer_id'] = $pointer_id; // Skip if pointer is not valid. if ( ! self::is_pointer_valid( $pointer ) ) { continue; } // Skip if pointer has already been dismissed. if ( in_array( $pointer_id, $dismissed, true ) ) { continue; } // Add the pointer to $valid_pointers array. $valid_pointers['pointers'][] = $pointer; } // Bail out if there are no pointers to display. if ( empty( $valid_pointers ) ) { return; } // Add pointers style to queue. wp_enqueue_style( 'wp-pointer' ); // Add pointers script to queue. Add custom script. wp_enqueue_script( 'pum-pointer', Popup_Maker::$URL . 'dist/assets/admin-pointer.js', [ 'wp-pointer' ], Popup_Maker::$VER, true ); // Add pointer options to script. wp_localize_script( 'pum-pointer', 'pumPointers', $valid_pointers ); } /** * Retrieves the pointers for the given screen or current screen * * @param bool|WP_Screen $screen Pass false for current screen. * @return array * @since 1.11.0 */ public static function get_pointers_by_screen( $screen = false ) { if ( false === $screen || ! is_a( $screen, 'WP_Screen' ) ) { $screen = get_current_screen(); } $screen_id = $screen->id; // Ignoring because this filter has been here for a long time. // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores $pointers = apply_filters( 'pum_admin_pointers-' . $screen_id, [] ); if ( ! $pointers || ! is_array( $pointers ) ) { return []; } return $pointers; } /** * Appends our main tour for the popup editor to pointers. * * @param array $pointers The pointers added to the screen. * @return array $pointers The updated pointers array. * @since 1.11.0 */ public static function popup_editor_main_tour( $pointers ) { /** * For the position, the 'edge' is used as the second parameter * in jQuery's "at" with the opposite in jQuery's "my". * The optional align is used as the first parameter in both "at" and "my". * * @see https://github.com/WordPress/WordPress/blob/master/wp-includes/js/wp-pointer.js#L295 * @see https://jqueryui.com/position/ */ $pointers['popup-editor-1'] = [ 'target' => '#title', 'options' => [ 'content' => sprintf( '<h3> %s </h3> <p> %s </p>', __( 'Popup Name', 'popup-maker' ), __( 'Name your popup so you can find it later. Site visitors will not see this.', 'popup-maker' ) ), 'position' => [ 'edge' => 'top', 'align' => 'center', ], ], ]; $pointers['popup-editor-2'] = [ 'target' => '#wp-content-editor-container', 'options' => [ 'content' => sprintf( '<h3> %s </h3> <p> %s </p>', __( 'Popup Content', 'popup-maker' ), __( 'Add content for your popup here.', 'popup-maker' ) ), 'position' => [ 'edge' => 'bottom', 'align' => 'center', ], ], ]; $pointers['popup-editor-3'] = [ 'target' => 'a[href="#pum-popup-settings_triggers"]', 'options' => [ 'content' => sprintf( '<h3> %s </h3> <p> %s </p>', __( 'Popup Triggers', 'popup-maker' ), __( 'Use triggers to choose what causes the popup to open.', 'popup-maker' ) ), 'position' => [ 'edge' => 'left', 'align' => 'center', ], ], ]; $pointers['popup-editor-4'] = [ 'target' => 'a[href="#pum-popup-settings_targeting"]', 'options' => [ 'content' => sprintf( '<h3> %s </h3> <p> %s </p>', __( 'Popup Targeting', 'popup-maker' ), __( 'Use targeting to choose where on your site the popup should load and who to show the popup to.', 'popup-maker' ) ), 'position' => [ 'edge' => 'left', 'align' => 'center', ], ], ]; $pointers['popup-editor-5'] = [ 'target' => 'a[href="#pum-popup-settings_display"]', 'options' => [ 'content' => sprintf( '<h3> %s </h3> <p> %s </p>', __( 'Popup Display', 'popup-maker' ), __( 'Use display settings to choose where on the screen the popup appears and what it looks like.', 'popup-maker' ) ), 'position' => [ 'edge' => 'left', 'align' => 'center', ], ], ]; $pointers['popup-editor-6'] = [ 'target' => 'select#theme_id', 'options' => [ 'content' => sprintf( '<h3> %s </h3> <p> %s </p>', __( 'Popup Theme', 'popup-maker' ), __( 'Choose the popup theme which controls the visual appearance of your popup including; colors, spacing, and fonts.', 'popup-maker' ) ), 'position' => [ 'edge' => 'bottom', 'align' => 'left', ], ], 'pre' => [ 'clicks' => [ 'a[href="#pum-popup-settings_display"]', 'a[href="#pum-popup-settings-display-subtabs_main"]', ], ], ]; return $pointers; } /** * Appends our main tour for the All Popups page. * * @param array $pointers The pointers added to the screen. * @return array $pointers The updated pointers array. * @since 1.11.0 */ public static function all_popups_main_tour( $pointers ) { $pointers['all-popups-1'] = [ 'target' => 'nav.nav-tab-wrapper a:nth-child(4)', 'options' => [ 'content' => sprintf( '<h3> %s </h3> <p> %s </p>', __( 'Welcome to Popup Maker!', 'popup-maker' ), __( 'Click the "Create New Popup" button to create your first popup.', 'popup-maker' ) ), 'position' => [ 'edge' => 'top' ], ], ]; $pointers['all-popups-2'] = [ 'target' => '.wp-list-table #the-list tr:first-child .column-enabled', 'options' => [ 'content' => sprintf( '<h3> %s </h3> <p> %s </p>', __( 'Enable Popups', 'popup-maker' ), __( 'You can enable or disable your popups at any time using this toggle.', 'popup-maker' ) ), 'position' => [ 'edge' => 'top', 'align' => 'left', ], ], ]; $pointers['all-popups-3'] = [ 'target' => '.wp-list-table #the-list tr:first-child .column-conversions', 'options' => [ 'content' => sprintf( '<h3> %s </h3> <p> %s </p>', __( 'Review Popup Metrics', 'popup-maker' ), __( 'Popup Maker will automatically track opens and conversions so you can easily see which popups convert the best.', 'popup-maker' ) ), 'position' => [ 'edge' => 'top', 'align' => 'left', ], ], ]; $pointers['all-popups-4'] = [ 'target' => '#screen-options-link-wrap #show-settings-link', 'options' => [ 'content' => sprintf( '<h3> %s </h3> <p> %s </p>', __( 'Adjust Columns', 'popup-maker' ), __( 'You can show or hide columns from the table on this page using the Screen Options. Popup Heading and Published Date are hidden by default.', 'popup-maker' ) ), 'position' => [ 'edge' => 'top', 'align' => 'center', ], ], ]; return $pointers; } /** * Retrieves a random tip * * @return array An array containing tip * @since 1.13.0 */ public static function get_random_tip() { $tips = [ [ 'msg' => 'Did you know: Popup Maker has a setting to let you try to bypass adblockers? Enabling it randomizes cache filenames and other endpoints to try to get around adblockers.', 'link' => admin_url( 'edit.php?post_type=popup&page=pum-settings&tab=pum-settings_misc' ), ], [ 'msg' => 'Using the Popup Maker menu in your admin bar, you can open and close popups, check conditions, reset cookies, and more!', 'link' => 'https://wppopupmaker.com/docs/problem-solving/turning-on-the-popups-admin-bar/', ], [ 'msg' => "Did you know: You can easily customize your site's navigation to have a link open a popup by using the 'Trigger a Popup' option when editing your menus?", 'link' => 'https://wppopupmaker.com/docs/menu/open-a-popup-from-a-wordpress-nav-menu/', ], ]; if ( 'enabled' !== get_option( 'pum_gutenberg_legacy_choice', 'new_user' ) && ! pum_get_option( 'enable_classic_editor', false ) ) { $tips[] = [ 'msg' => "Prefer the classic editor? You can disable the block editor and use the classic editor for popups in Popup Maker's settings page.", 'link' => admin_url( 'edit.php?post_type=popup&page=pum-settings' ), ]; } if ( 7 < pum_count_popups() ) { $tips[] = [ 'msg' => 'Want to organize your popups? Enable categories on the settings page to group similar popups together!', 'link' => admin_url( 'edit.php?post_type=popup&page=pum-settings&tab=pum-settings_misc' ), ]; } $random_tip = array_rand( $tips ); return $tips[ $random_tip ]; } /** * Redirect to the welcome screen, if needed * * @since 1.14.0 */ public static function welcome_redirect() { // Redirect idea from Better Click To Tweet's welcome screen. Thanks Ben! if ( get_transient( 'pum_activation_redirect' ) ) { $do_redirect = true; // phpcs:ignore WordPress.Security.NonceVerification.Recommended $current_page = isset( $_GET['page'] ) ? sanitize_key( wp_unslash( $_GET['page'] ) ) : false; // Bailout redirect during these events. if ( wp_doing_ajax() || is_network_admin() || ! current_user_can( 'manage_options' ) ) { $do_redirect = false; } // Bailout redirect on these pages & events. // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( 'pum-welcome' === $current_page || isset( $_GET['activate-multi'] ) ) { delete_transient( 'pum_activation_redirect' ); $do_redirect = false; } if ( $do_redirect ) { delete_transient( 'pum_activation_redirect' ); update_option( 'pum_seen_welcome', 1 ); wp_safe_redirect( admin_url( 'admin.php?page=pum-welcome' ) ); exit; } } } /** * Adds our welcome page to the dashboard * * @since 1.14.0 */ public static function set_up_welcome_page() { add_dashboard_page( '', '', 'manage_options', 'pum-welcome', [ __CLASS__, 'display_welcome_page' ] ); } /** * Displays the contents for the welcome page * * @since 1.14.0 */ public static function display_welcome_page() { wp_enqueue_style( 'pum-admin-general' ); $gravatar_url = get_avatar_url( 'danieliser@wizardinternetsolutions.com', [ 'size' => 256 ] ); ?> <div class="pum-welcome-wrapper"> <div> <h1>Welcome to Popup Maker!</h1> </div> <div> <p>Popup Maker was created to help us create effective popups on our own WordPress sites to boost our conversions. Now, over 4 years later, the plugin is installed on <strong>over 600,000 websites and has over 3,900 5-star reviews</strong>.</p> <p>There are a lot of ways you can use Popup Maker within your site including:</p> <ul> <li>Adding an auto-opening announcement popup</li> <li>Growing your email list with opt-in or lead magnet popups</li> <li>Increase order size by recommending products in a WooCommerce cross-sell popup</li> <li>Adding a content upgrade to your blog posts</li> <li>Greet a visitor from ProductHunt</li> <li>Reduce cart abandonment on your WooCommerce checkout page</li> <li>Adding post-sale WooCommerce surveys</li> <li>Using scroll-triggered popups to ask a site visitor if they have any questions</li> <li>And much more!</li> </ul> <p>Feel free to reach out if we can help with anything. We look forward to helping you increase your site’s conversions!</p> <div class="pum-welcome-signature"> <img src="<?php echo esc_url( $gravatar_url ); ?>" alt="Daniel Iser, founder of Popup Maker"> <p>~ Daniel and the Popup Maker team</p> </div> </div> <div class="pum-welcome-cta"> <a class="button button-primary" href="<?php echo esc_url( admin_url( 'post-new.php?post_type=popup' ) ); ?>">Create your first popup!</a> </div> </div> <?php } /** * Retrieves all dismissed pointers by user * * @param int|bool $user_id The ID of the user or false for current user. * @return array The array of pointer ID's that have been dimissed. * @since 1.11.0 */ private static function get_dismissed_pointers( $user_id = false ) { if ( false === $user_id ) { $user_id = get_current_user_id(); } if ( 0 === intval( $user_id ) ) { return []; } $pointers = explode( ',', (string) get_user_meta( $user_id, 'dismissed_wp_pointers', true ) ); if ( ! is_array( $pointers ) ) { return []; } return $pointers; } /** * Whether or not we should show tip alert * * @return bool True if the alert should be shown * @since 1.13.0 */ public static function should_show_tip() { return pum_is_admin_page() && current_user_can( 'manage_options' ) && strtotime( self::get_installed_on() . ' +3 days' ) < time() && ! self::has_turned_off_tips(); } /** * Checks to see if site has turned off PM tips * * @return bool True if site has disabled tips * @since 1.13.0 */ public static function has_turned_off_tips() { return true === pum_get_option( 'disable_tips', false ) || 1 === intval( pum_get_option( 'disable_tips', false ) ); } /** * Get the datetime string for when PM was installed. * * @return string * @since 1.13.0 */ public static function get_installed_on() { $installed_on = get_option( 'pum_installed_on', false ); if ( ! $installed_on ) { $installed_on = current_time( 'mysql' ); } return $installed_on; } /** * Ensures pointer is set up correctly. * * @param array $pointer The pointer. * @return bool * @since 1.11.0 */ private static function is_pointer_valid( $pointer ) { return ! empty( $pointer ) && ! empty( $pointer['pointer_id'] ) && ! empty( $pointer['target'] ) && ! empty( $pointer['options'] ); } } classes/Admin/BlockEditor.php 0000644 00000011356 15174671772 0012172 0 ustar 00 <?php /** * Admin BlockEditor * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ /** * Class PUM_Admin_BlockEditor * * @since 1.10.0 */ class PUM_Admin_BlockEditor { public static $version = '1.0.0'; /** * Initialize */ public static function init() { // Always register block categories, regardless of block playground // Support both WordPress 5.8+ and older versions add_filter( 'block_categories_all', [ __CLASS__, 'register_block_categories' ], 10, 2 ); // add_filter( 'block_categories', [ __CLASS__, 'register_block_categories_legacy' ], 10, 2 ); // Bail early if the Block Playground is active and ahead of core. if ( defined( 'PUM_BLOCK_PLAYGROUND' ) && version_compare( PUM_BLOCK_PLAYGROUND, self::$version, '>' ) ) { return; } // TODO Test if this is needed in core or not. add_action( 'enqueue_block_editor_assets', [ 'PUM_Site_Assets', 'register_styles' ] ); add_action( 'enqueue_block_editor_assets', [ __CLASS__, 'register_editor_assets' ] ); add_action( 'enqueue_block_assets', [ __CLASS__, 'register_block_assets' ] ); add_action( 'wp_loaded', [ __CLASS__, 'add_attributes_to_registered_blocks' ], 999 ); } /** * Registers all block assets so that they can be enqueued through Gutenberg in * the corresponding context. * * Passes translations to JavaScript. * * @since 1.10.0 */ public static function register_editor_assets( $hook ) { if ( self::load_block_library() ) { wp_enqueue_script( 'popup-maker-block-library' ); } wp_enqueue_script( 'popup-maker-block-editor' ); } /** * Register block assets. * * @param string $hook Current page hook. */ public static function register_block_assets( $hook ) { if ( self::load_block_library() ) { wp_enqueue_script( 'popup-maker-block-library' ); } wp_enqueue_style( 'popup-maker-block-library-style' ); } /** * Check if the block editor is active. * * @param int|null $post_id Post ID. * @return bool */ public static function is_block_editor_active( $post_id = null ) { // If no post ID is provided, attempt to get it from the global $pagenow. global $pagenow; // Check that we're on the post editing screen. if ( 'post.php' !== $pagenow && 'post-new.php' !== $pagenow ) { return false; } // Determine post type. $post_type = null; // phpcs:disable WordPress.Security.NonceVerification.Recommended if ( isset( $_GET['post_type'] ) ) { $post_type = sanitize_key( $_GET['post_type'] ); } elseif ( isset( $_GET['post'] ) ) { $post_id = (int) $_GET['post']; $post_type = get_post_type( $post_id ); } // phpcs:enable WordPress.Security.NonceVerification.Recommended if ( ! $post_type ) { return false; } return use_block_editor_for_post_type( $post_type ); } /** * Check if the block library should be loaded. * * @return bool */ private static function load_block_library() { return apply_filters( 'popup_maker/block_editor/load_block_library', self::is_block_editor_active() && pum_is_popup_editor() ); } /** * Register custom block categories. * * @param array $categories Array of block categories. * @param WP_Block_Editor_Context $editor_context Block editor context. * @return array Modified block categories. * @since 1.10.0 */ public static function register_block_categories( $categories, $editor_context ) { // Always add Popup Maker category for better discoverability $insert_index = 3; // https://pm.local/wp-admin/post.php?post=821&action=edit // If in the popup editor insert at index 0. if ( isset( $_GET['post'] ) && get_post_type( sanitize_text_field( wp_unslash( $_GET['post'] ) ) ) === 'popup' ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended $insert_index = 0; } array_splice( $categories, $insert_index, 0, [ [ 'slug' => 'popup-maker', 'title' => __( 'Popup Maker', 'popup-maker' ), 'icon' => pum_asset_url( 'mark.svg' ), ], ] ); return $categories; } /** * This is needed to resolve an issue with blocks that use the * ServerSideRender component. Registering the attributes only in js * can cause an error message to appear. Registering the attributes in * PHP as well, seems to resolve the issue. Ideally, this bug will be * fixed in the future. * * Reference: https://github.com/WordPress/gutenberg/issues/16850 * * @since 1.16.0 */ public static function add_attributes_to_registered_blocks() { global $wp_version; if ( version_compare( $wp_version, '5.0' ) === -1 ) { return; } $registered_blocks = WP_Block_Type_Registry::get_instance()->get_all_registered(); foreach ( $registered_blocks as $block ) { $block->attributes['openPopupId'] = [ 'type' => 'string', 'default' => '', ]; } } } classes/Admin/Assets.php 0000644 00000020137 15174671772 0011230 0 ustar 00 <?php /** * Class for Admin Assets * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ /** * Class PUM_Admin_Assets * * @since 1.7.0 */ class PUM_Admin_Assets { /** * @var string * * @deprecated 1.21.0 */ public static $suffix = ''; /** * @var string */ public static $js_url; /** * @var string */ public static $css_url; /** * @var bool Use minified libraries if SCRIPT_DEBUG is turned off. */ public static $debug; /** * Initialize */ public static function init() { self::$debug = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG; self::$suffix = self::$debug ? '' : '.min'; self::$js_url = Popup_Maker::$URL . 'dist/assets/'; self::$css_url = Popup_Maker::$URL . 'dist/assets/'; add_action( 'admin_enqueue_scripts', [ __CLASS__, 'register_admin_scripts' ] ); add_action( 'admin_print_footer_scripts', [ __CLASS__, 'maybe_localize_and_templates' ], - 1 ); add_action( 'admin_enqueue_scripts', [ __CLASS__, 'register_admin_styles' ], 100 ); add_action( 'admin_enqueue_scripts', [ __CLASS__, 'fix_broken_extension_scripts' ], 100 ); } public static function fix_broken_extension_scripts() { if ( wp_script_is( 'pum-mci-admin' ) && class_exists( 'PUM_MCI' ) && version_compare( PUM_MCI::$VER, '1.3.0', '<' ) && ! pum_is_settings_page() ) { wp_dequeue_script( 'pum-mci-admin' ); } } /** * Load Admin Scripts */ public static function register_admin_scripts() { $admin_vars = apply_filters( 'pum_admin_vars', apply_filters( 'pum_admin_var', [ // phpcs:ignore WordPress.Security.NonceVerification.Recommended 'post_id' => ! empty( $_GET['post'] ) ? intval( $_GET['post'] ) : null, 'pm_dir_url' => Popup_Maker::$URL, 'default_provider' => pum_get_option( 'newsletter_default_provider', 'none' ), 'homeurl' => home_url(), 'object_search_nonce' => wp_create_nonce( 'pum_ajax_object_search_nonce' ), 'rest_nonce' => wp_create_nonce( 'wp_rest' ), 'I10n' => [ 'preview_popup' => __( 'Preview', 'popup-maker' ), 'add' => __( 'Add', 'popup-maker' ), 'save' => __( 'Save', 'popup-maker' ), 'update' => __( 'Update', 'popup-maker' ), 'insert' => __( 'Insert', 'popup-maker' ), 'cancel' => __( 'Cancel', 'popup-maker' ), 'confirm_delete_trigger' => __( 'Are you sure you want to delete this trigger?', 'popup-maker' ), 'confirm_delete_cookie' => __( 'Are you sure you want to delete this cookie?', 'popup-maker' ), 'no_cookie' => __( 'None', 'popup-maker' ), 'confirm_count_reset' => __( 'Are you sure you want to reset the open count?', 'popup-maker' ), 'shortcode_ui_button_tooltip' => __( 'Popup Maker Shortcodes', 'popup-maker' ), 'error_loading_shortcode_preview' => __( 'There was an error in generating the preview', 'popup-maker' ), ], ] ) ); wp_register_script( 'pum-admin-general', self::$js_url . 'admin-general.js', [ 'jquery', 'wp-color-picker', 'jquery-ui-slider', 'wp-util' ], Popup_Maker::$VER, true ); wp_localize_script( 'pum-admin-general', 'pum_admin_vars', $admin_vars ); wp_register_script( 'pum-admin-batch', self::$js_url . 'admin-batch.js', [ 'pum-admin-general' ], Popup_Maker::$VER, true ); wp_register_script( 'pum-admin-popup-editor', self::$js_url . 'admin-popup-editor.js', [ 'pum-admin-general' ], Popup_Maker::$VER, true ); wp_register_script( 'pum-admin-theme-editor', self::$js_url . 'admin-theme-editor.js', [ 'pum-admin-general' ], Popup_Maker::$VER, true ); wp_register_script( 'pum-admin-settings-page', self::$js_url . 'admin-settings-page.js', [ 'pum-admin-general' ], Popup_Maker::$VER, true ); wp_register_script( 'pum-admin-shortcode-ui', self::$js_url . 'admin-shortcode-ui.js', [ 'pum-admin-general' ], Popup_Maker::$VER, true ); wp_register_script( 'iframe-resizer', self::$js_url . 'vendor/iframeResizer.min.js', [ 'jquery' ], '4.3.1', false ); // @deprecated handle. Currently loads empty file and admin-general as dependency. wp_register_script( 'popup-maker-admin', self::$js_url . 'admin-deprecated.js', [ 'pum-admin-general' ], Popup_Maker::$VER, true ); wp_localize_script( 'pum-admin-general', 'pum_admin', $admin_vars ); if ( PUM_Utils_Upgrades::instance()->has_uncomplete_upgrades() ) { wp_enqueue_script( 'pum-admin-batch' ); } if ( pum_is_all_popups_page() ) { wp_enqueue_script( 'pum-admin-general' ); } if ( pum_is_popup_editor() ) { wp_enqueue_script( 'pum-admin-popup-editor' ); } if ( pum_is_popup_theme_editor() ) { wp_enqueue_script( 'pum-admin-theme-editor' ); wp_localize_script( 'pum-admin-theme-editor', 'pum_google_fonts', PUM_Integration_GoogleFonts::fetch_fonts() ); } if ( pum_is_settings_page() ) { wp_enqueue_script( 'pum-admin-settings-page' ); } if ( pum_is_support_page() ) { wp_enqueue_script( 'iframe-resizer' ); } } /** * */ public static function maybe_localize_and_templates() { if ( wp_script_is( 'pum-admin-general' ) || wp_script_is( 'popup-maker-admin' ) ) { // Register Templates. PUM_Admin_Templates::init(); } if ( wp_script_is( 'pum-admin-batch' ) ) { wp_localize_script( 'pum-admin-batch', 'pum_batch_vars', [ 'complete' => __( 'Your all set, the upgrades completed successfully!', 'popup-maker' ), 'unsupported_browser' => __( 'We are sorry but your browser is not compatible with this kind of file upload. Please upgrade your browser.', 'popup-maker' ), 'import_field_required' => 'This field must be mapped for the import to proceed.', ] ); } } /** * Load Admin Styles */ public static function register_admin_styles() { $rtl = ( is_rtl() ? '-rtl' : '' ); wp_register_style( 'pum-admin-general', self::$css_url . 'admin-general' . $rtl . '.css', [ 'dashicons', 'wp-color-picker' ], Popup_Maker::$VER ); wp_register_style( 'pum-admin-batch', self::$css_url . 'admin-batch' . $rtl . '.css', [ 'pum-admin-general' ], Popup_Maker::$VER ); wp_register_style( 'pum-admin-popup-editor', self::$css_url . 'admin-popup-editor' . $rtl . '.css', [ 'pum-admin-general' ], Popup_Maker::$VER ); wp_register_style( 'pum-admin-theme-editor', self::$css_url . 'admin-theme-editor' . $rtl . '.css', [ 'pum-admin-general' ], Popup_Maker::$VER ); wp_register_style( 'pum-admin-extensions-page', self::$css_url . 'admin-extensions-page' . $rtl . '.css', [ 'pum-admin-general' ], Popup_Maker::$VER ); wp_register_style( 'pum-admin-settings-page', self::$css_url . 'admin-settings-page' . $rtl . '.css', [ 'pum-admin-general' ], Popup_Maker::$VER ); wp_register_style( 'pum-admin-support-page', self::$css_url . 'admin-support-page' . $rtl . '.css', [ 'pum-admin-general' ], Popup_Maker::$VER ); wp_register_style( 'pum-admin-shortcode-ui', self::$css_url . 'admin-shortcode-ui' . $rtl . '.css', [ 'pum-admin-general' ], Popup_Maker::$VER ); // @deprecated handle. Currently loads empty file and admin-general as dependency. wp_register_style( 'popup-maker-admin', self::$css_url . 'admin-deprecated' . $rtl . '.css', [ 'pum-admin-general' ], Popup_Maker::$VER ); if ( PUM_Utils_Upgrades::instance()->has_uncomplete_upgrades() ) { wp_enqueue_style( 'pum-admin-batch' ); } if ( pum_is_popup_editor() ) { wp_enqueue_style( 'pum-admin-popup-editor' ); } if ( pum_is_popup_theme_editor() ) { PUM_Site_Assets::register_styles(); wp_enqueue_style( 'pum-admin-theme-editor' ); } if ( pum_is_extensions_page() ) { wp_enqueue_style( 'pum-admin-extensions-page' ); } if ( pum_is_settings_page() ) { wp_enqueue_style( 'pum-admin-settings-page' ); } if ( pum_is_support_page() ) { wp_enqueue_style( 'pum-admin-support-page' ); } } /** * @return bool */ public static function should_load() { if ( defined( 'PUM_FORCE_ADMIN_SCRIPTS_LOAD' ) && PUM_FORCE_ADMIN_SCRIPTS_LOAD ) { return true; } if ( ! is_admin() ) { return false; } return pum_is_admin_page(); } } classes/Admin/Notices.php 0000644 00000032410 15174671772 0011367 0 ustar 00 <?php /** * Class for Admin Notices * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Handles showing remote notices through the admin alerts system. * * @since 1.17.0 */ class PUM_Admin_Notices { /** * Initialize the admin notices. */ public static function init() { if ( is_admin() && current_user_can( 'manage_options' ) ) { add_filter( 'pum_alert_list', [ __CLASS__, 'tips_alert' ] ); add_filter( 'pum_alert_list', [ __CLASS__, 'bfcm_sale_notice' ] ); add_filter( 'pum_alert_list', [ __CLASS__, 'block_editor_migration_notice' ] ); add_action( 'pum_alert_dismissed', [ __CLASS__, 'alert_handler' ], 10, 2 ); add_filter( 'pum_alert_list', [ __CLASS__, 'upcoming_min_req_changes' ], 10 ); } } /** * Adds a 'tip' alert occasionally inside PM's admin area * * @since 1.17.0 * * @param array $alerts The alerts currently in the alert system. * @return array Alerts for the alert system. */ public static function tips_alert( $alerts ) { if ( ! self::should_show_notice() ) { return $alerts; } $notices = self::get_notices(); if ( empty( $notices ) ) { return $alerts; } // Foreach notice, add it to the alerts array. foreach ( $notices as $notice ) { $alert = [ 'code' => 'pum_notice_' . $notice['id'], 'type' => 'success', 'html' => $notice['content'], 'actions' => [], 'global' => $notice['is_global'] ? true : false, ]; if ( ! empty( $notice['link'] ) ) { $alert['actions'][] = [ 'primary' => true, 'type' => 'link', 'action' => '', 'href' => $notice['link'], 'text' => __( 'Learn more', 'popup-maker' ), ]; } $alert['actions'][] = [ 'primary' => false, 'type' => 'action', 'action' => 'dismiss', 'text' => __( 'Dismiss', 'popup-maker' ), ]; $alert['actions'][] = [ 'primary' => false, 'type' => 'action', 'action' => 'disable_notices', 'text' => __( 'Turn off these occasional notices', 'popup-maker' ), ]; $alerts[] = $alert; } return $alerts; } /** * Get notices to show. * * @return array */ public static function get_notices() { $notices = get_transient( 'pum_plugin_notices' ); if ( ! $notices ) { $notices = self::fetch_notices(); } $dismissed_notices = get_option( 'pum_dismissed_notices', [] ); // Remove dismissed notices. if ( $dismissed_notices ) { foreach ( $notices as $key => $notice ) { if ( in_array( $notice->id, $dismissed_notices, true ) ) { unset( $notices[ $key ] ); } } } // Removed filtered notices. foreach ( $notices as $key => $notice ) { if ( ! empty( $notice['filters'] ) ) { foreach ( $notice['filters'] as $filter ) { $filter = explode( ':', $filter ); $type = trim( $filter[0] ); $extra = trim( ! empty( $filter[1] ) ? $filter[1] : '' ); if ( ! empty( $type ) ) { switch ( $type ) { case 'plugin': if ( $extra && ! is_plugin_active( "$extra/$extra.php" ) ) { unset( $notices[ $key ] ); } break; case 'theme': if ( ! wp_get_theme( $extra )->exists() ) { unset( $notices[ $key ] ); } break; case 'environment': if ( $extra && ! self::check_environment( $extra ) ) { unset( $notices[ $key ] ); } break; } } } } } return $notices; } /** * Fetch list of notices from the Popup Maker server. * * @since 1.17.0 * * @return array */ public static function fetch_notices() { $notices = wp_remote_get( 'https://wppopupmaker.com/wp-content/uploads/plugin-notices.json', [ 'timeout' => 3, ] ); if ( is_wp_error( $notices ) ) { return []; } $notices = json_decode( wp_remote_retrieve_body( $notices ), true ); if ( ! is_array( $notices ) ) { return []; } foreach ( $notices as $i => $notice ) { $notices[ $i ] = [ 'id' => $notice['id'], 'content' => $notice['content']['rendered'], 'excerpt' => $notice['excerpt']['rendered'], 'link' => $notice['acf']['learn_more_url'], 'is_global' => $notice['acf']['is_global'], 'filters' => $notice['acf']['use_filters'] ? $notice['acf']['filters'] : [], ]; } set_transient( 'pum_plugin_notices', $notices, 12 * HOUR_IN_SECONDS ); return $notices; } /** * Checks if any options have been clicked from admin notices. * * @since 1.17.0 * * @param string $code The code for the alert. * @param string $action Action taken on the alert. */ public static function alert_handler( $code, $action ) { if ( strpos( $code, 'pum_notice_' ) === 0 ) { if ( 'disable_notices' === $action ) { pum_update_option( 'disable_notices', true ); } } // Handle block editor migration notice actions. if ( 'pum_block_editor_migration' === $code ) { delete_option( 'pum_show_block_editor_migration_notice' ); if ( 'switch_to_classic' === $action ) { pum_update_option( 'enable_classic_editor', true ); } } } /** * Whether or not we should show notice alert * * @since 1.17.0 * * @return bool True if the alert should be shown */ public static function should_show_notice() { if ( ! current_user_can( 'manage_options' ) ) { return false; } if ( self::has_turned_off_notices() ) { return false; } if ( strtotime( self::get_installed_on() . ' +3 days' ) < time() ) { // return false; } return true; } /** * Checks to see if site has turned off PM notices * * @since 1.17.0 * * @return bool True if site has disabled notices */ public static function has_turned_off_notices() { return true === pum_get_option( 'disable_notices', false ) || 1 === intval( pum_get_option( 'disable_notices', false ) ); } /** * Get the datetime string for when PM was installed. * * @since 1.17.0 * * @return string */ public static function get_installed_on() { $installed_on = get_option( 'pum_installed_on', false ); if ( ! $installed_on ) { $installed_on = current_time( 'mysql' ); } return $installed_on; } /** * Checks if the current environment is a development environment. * * @since 1.17.0 * * @param string $type The type of environment to check for. * * @return bool */ public static function check_environment( $type ) { $env = function_exists( 'wp_get_environment_type' ) ? wp_get_environment_type() : 'production'; switch ( $type ) { case 'local': return 'local' === $env; case 'staging': return 'staging' === $env; case 'development': return 'development' === $env; case 'production': return 'production' === $env; } return false; } /** * Wrap notice with admin only awareness message. * * @param string $notice * * @return string * * since 1.20.0 */ public static function wrap_notice( $notice, $current_version, $future_version ) { // Messy, but it works for now, clean up in the future when this class is refactored. $notice = sprintf( $notice, '<h3 style="padding: 0; margin-left: 0; margin-top: 0; margin-right: 0; border: none; margin-bottom: inherit;">', $future_version, "</h3>\n\n", '<span style="font-family: Consolas, Courier, monospace; text-decoration: underline; font-weight: bold;">' . $current_version . '</span>' ); // FInally append the notice with a small note to the admin that nobody else will see this notice. return '<div style="padding-top: 1em; padding-bottom: 1em;">' . wpautop( $notice ) . '<small><em>' . esc_html__( '** You are seeing this notice because you are an administrator. Other users of the site will see nothing.', 'popup-maker' ) . '</small></em></div>'; } /** * Adds a notice about upcoming minimum PHP & WP version changes. * * @param array $alerts The alerts currently in the alert system. * * @return array Alerts for the alert system. * * @since 1.20.0 */ public static function upcoming_min_req_changes( $alerts ) { global $wp_version; if ( ! current_user_can( 'manage_options' ) ) { return $alerts; } $plugin_version = \PopupMaker\config( 'version' ); $future_php_version = \PopupMaker\config( 'future_php_req' ); $future_wp_version = \PopupMaker\config( 'future_wp_req' ); if ( $future_php_version && version_compare( $future_php_version, phpversion(), '>' ) ) { $alerts[] = [ // Show the notice on every update. Yes, annoying, but not as annoying as a plugin breaking. 'code' => sprintf( 'php_%s_%s', $future_php_version, $plugin_version ), 'type' => 'error', 'html' => self::wrap_notice( __( "%1\$sPopup Maker will soon require PHP Version %2\$s.%3\$s \n\nYou're using Version %4\$s. Please ask your host to upgrade your server's PHP.", 'popup-maker' ), phpversion(), $future_php_version ), 'global' => true, ]; } if ( $future_wp_version && version_compare( $future_wp_version, $wp_version, '>' ) ) { $alerts[] = [ // Show the notice on every update. Yes, annoying, but not as annoying as a plugin breaking. 'code' => sprintf( 'wp_%s_%s', $future_wp_version, $plugin_version ), 'type' => 'error', 'html' => self::wrap_notice( __( "%1\$sPopup Maker will soon require WordPress Version %2\$s.%3\$s \n\nYou're using Version %4\$s. Please ask your host to upgrade your server's WordPress.", 'popup-maker' ), $wp_version, $future_wp_version ), 'global' => true, ]; } return $alerts; } /** * Add BFCM sale notice * * @param array $alerts Current alerts array * @return array Modified alerts array */ public static function bfcm_sale_notice( $alerts ) { // Check if within BFCM sale dates (Nov 26 - Dec 2) $current_time = time(); $start_date = strtotime( '2024-11-25 00:00:00' ); $end_date = strtotime( '2024-11-30 23:59:59' ); if ( $current_time < $start_date || $current_time > $end_date ) { return $alerts; } add_action( 'admin_print_footer_scripts', function () { echo '<style> [data-code="pum_bfcm_2024"] .pum-alert {color: #fff; background-color: #072c16 !important; padding: 1em; } [data-code="pum_bfcm_2024"] .pum-alert h3 {font-size: 1.5em; background:transparent; color: #fff !important; border: none;} [data-code="pum_bfcm_2024"] .pum-alert a {font-size: 1.1em;color: #fff !important;} [data-code="pum_bfcm_2024"] .pum-alert li:first-child a {font-size: 1.2em;color: #fff !important;} </style>'; } ); $discount_amount = ( time() < strtotime( '2024-11-30 23:59:59 EST' ) ) ? 40 : 30; $alerts[] = [ 'code' => 'pum_bfcm_2024', 'type' => 'success', 'html' => sprintf( '%s', '<div style="font-size: 1.3em; font-weight: bold;">' . '<h3 style="">🎁 Black Friday Sale! 🥳</h3>' . sprintf( 'Save up to %s%% on all Popup Maker pro plans. Limited time offer - ends December 2nd!', $discount_amount ) . '<br/><br/>' . sprintf( '<a href="%s" target="_blank"> See how Popup Maker can boost your holiday sales</a>', 'https://wppopupmaker.com/conversion-optimization/boost-your-black-friday-sales/?utm_source=plugin-notice&utm_campaign=bfcm2024' ) . '</div>' ), 'dismissible' => false, 'global' => false, 'actions' => [ [ 'primary' => true, 'type' => 'link', 'action' => '', 'href' => \PopupMaker\get_upgrade_link( [ 'utm_source' => 'plugin-notice', 'utm_campaign' => 'bfcm2024', ] ), 'text' => sprintf( 'Get %s%% Off Now', $discount_amount ), ], [ 'primary' => false, 'type' => 'action', 'action' => 'dismiss', 'text' => __( 'Dismiss', 'popup-maker' ), ], ], ]; return $alerts; } /** * Add block editor migration notice for users who had it disabled. * * @param array $alerts Current alerts array. * @return array Modified alerts array. * @since 1.21.0 */ public static function block_editor_migration_notice( $alerts ) { if ( ! current_user_can( 'manage_options' ) ) { return $alerts; } // phpcs:disable WordPress.Security.NonceVerification.Recommended if ( ! isset( $_GET['pum_block_editor_migration_notice'] ) && ! get_option( 'pum_show_block_editor_migration_notice', false ) ) { // Only show if user should see the migration notice. return $alerts; } $alerts[] = [ 'code' => 'pum_block_editor_migration', 'type' => 'info', 'html' => sprintf( '%s', '<div style="font-size: 1.3em; font-weight: bold;">' . '<h4>🎉 ' . __( 'Popup Maker Update: Block Editor is Now Default!', 'popup-maker' ) . '</h4>' . '<p>' . __( 'The block editor is now enabled by default for creating popups. You can start using it immediately, or continue with the classic editor if you prefer.', 'popup-maker' ) . '</p>' . '</div>' ), 'dismissible' => true, 'global' => false, 'actions' => [ [ 'primary' => true, 'type' => 'action', 'action' => 'keep_block_editor', 'text' => __( 'Continue with Block Editor', 'popup-maker' ), ], [ 'primary' => false, 'type' => 'action', 'action' => 'switch_to_classic', 'text' => __( 'Switch to Classic Editor', 'popup-maker' ), ], [ 'primary' => false, 'type' => 'action', 'action' => 'dismiss', 'text' => __( 'Dismiss', 'popup-maker' ), ], ], ]; return $alerts; } } classes/Admin/Tools.php 0000644 00000027027 15174671772 0011073 0 ustar 00 <?php /** * Class for Admin Tools * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Admin_Tools */ class PUM_Admin_Tools { /** * @var array */ public static $notices = []; /** * Initializes the "Tools" page. */ public static function init() { add_action( 'admin_notices', [ __CLASS__, 'notices' ] ); add_action( 'admin_init', [ __CLASS__, 'emodal_process_import' ] ); add_action( 'pum_tools_page_tab_betas', [ __CLASS__, 'betas_display' ] ); add_action( 'pum_tools_page_tab_error_log', [ __CLASS__, 'errorlog_display' ] ); add_action( 'pum_tools_page_tab_action_scheduler', [ __CLASS__, 'action_scheduler_display' ] ); add_action( 'pum_tools_page_tab_import', [ __CLASS__, 'import_display' ] ); add_action( 'pum_save_enabled_betas', [ __CLASS__, 'save_enabled_betas' ] ); add_action( 'pum_empty_error_log', [ __CLASS__, 'error_log_empty' ] ); } /** * Displays any saved admin notices. */ public static function notices() { // Ignored because this is a simple boolean check after a redirect for success indicator. // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( isset( $_GET['imported'] ) ) { ?> <div class="updated"> <p><?php esc_html_e( 'Successfully Imported your themes & modals from Easy Modal.', 'popup-maker' ); ?></p> </div> <?php } // Ignored because this is a simple boolean check after a redirect for success indicator. // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( isset( $_GET['success'] ) && get_option( 'pum_settings_admin_notice' ) ) { self::$notices[] = [ // Ignored because this is a simple boolean check after a redirect for success indicator. // phpcs:ignore WordPress.Security.NonceVerification.Recommended 'type' => (bool) $_GET['success'] ? 'success' : 'error', 'message' => get_option( 'pum_settings_admin_notice' ), ]; delete_option( 'pum_settings_admin_notice' ); } if ( ! empty( self::$notices ) ) { foreach ( self::$notices as $notice ) { ?> <div class="notice notice-<?php echo esc_attr( $notice['type'] ); ?> is-dismissible"> <p><strong><?php esc_html( $notice['message'] ); ?></strong></p> <button type="button" class="notice-dismiss"> <span class="screen-reader-text"><?php esc_html_e( 'Dismiss this notice.', 'popup-maker' ); ?></span> </button> </div> <?php } } } /** * Render settings page with tabs. */ public static function page() { $active_tab = self::get_active_tab(); wp_enqueue_style( 'pum-admin-general' ); ?> <div class="wrap"> <form id="pum-tools" method="post" action=""> <?php wp_nonce_field( basename( __FILE__ ), 'pum_tools_nonce' ); ?> <button class="right top button-primary"><?php esc_html_e( 'Save', 'popup-maker' ); ?></button> <h1><?php esc_html_e( 'Popup Maker Tools', 'popup-maker' ); ?></h1> <h2 id="popmake-tabs" class="nav-tab-wrapper"> <?php foreach ( self::tabs() as $tab_id => $tab_name ) { $tab_url = add_query_arg( [ 'tools-updated' => false, 'tab' => $tab_id, ] ); printf( '<a href="%s" title="%s" class="nav-tab %s">%s</a>', esc_url( $tab_url ), esc_attr( $tab_name ), $active_tab === $tab_id ? ' nav-tab-active' : '', esc_html( $tab_name ) ); } ?> </h2> <div id="tab_container"> <?php do_action( 'pum_tools_page_tab_' . $active_tab ); ?> <?php do_action( 'popmake_tools_page_tab_' . $active_tab ); ?> </div> </form> </div> <?php } /** * Tabs & labels * * @return array $tabs * @since 1.0 */ public static function tabs() { static $tabs; if ( ! isset( $tabs ) ) { $tabs = apply_filters( 'pum_tools_tabs', [ 'betas' => __( 'Beta Versions', 'popup-maker' ), 'error_log' => __( 'Error Log', 'popup-maker' ), 'import' => __( 'Import / Export', 'popup-maker' ), ] ); /** @deprecated 1.7.0 */ $tabs = apply_filters( 'popmake_tools_tabs', $tabs ); } return $tabs; } /** * Return an array of all extensions with beta support * * Extensions should be added as 'extension-slug' => 'Extension Name' * * @return array $extensions The array of extensions * @since 1.5 */ public static function get_beta_enabled_extensions() { return apply_filters( 'pum_beta_enabled_extensions', [] ); } /** * @return int|null|string */ public static function get_active_tab() { $tabs = self::tabs(); // Ignored because this is a simple check for a valid tab in the URL. // phpcs:ignore WordPress.Security.NonceVerification.Recommended $tab = isset( $_GET['tab'] ) ? sanitize_key( wp_unslash( $_GET['tab'] ) ) : ''; return array_key_exists( $tab, $tabs ) ? $tab : key( $tabs ); } /** * Display beta opt-ins * * @since 1.3 */ public static function betas_display() { if ( ! current_user_can( 'manage_options' ) ) { return; } $has_beta = self::get_beta_enabled_extensions(); do_action( 'pum_tools_betas_before' ); ?> <div class="postbox pum-beta-support"> <h3><span><?php esc_html_e( 'Enable Beta Versions', 'popup-maker' ); ?></span></h3> <div class="inside"> <p><?php esc_html_e( 'Checking any of the below checkboxes will opt you in to receive pre-release update notifications. You can opt-out at any time. Pre-release updates do not install automatically, you will still have the opportunity to ignore update notifications.', 'popup-maker' ); ?></p> <table class="form-table pum-beta-support"> <tbody> <?php foreach ( $has_beta as $slug => $product ) : ?> <tr> <?php $checked = self::extension_has_beta_support( $slug ); ?> <th scope="row"><?php echo esc_html( $product ); ?></th> <td> <input type="checkbox" name="enabled_betas[<?php echo esc_attr( $slug ); ?>]" id="enabled_betas[<?php echo esc_attr( $slug ); ?>]"<?php echo checked( $checked, true, false ); ?> value="1" /> <label for="enabled_betas[<?php echo esc_attr( $slug ); ?>]"> <?php printf( /* translators: 1. Product name. */ esc_html__( 'Get updates for pre-release versions of %s', 'popup-maker' ), esc_attr( $product ) ); ?> </label> </td> </tr> <?php endforeach; ?> </tbody> </table> <input type="hidden" name="pum_action" value="save_enabled_betas" /> <?php wp_nonce_field( 'pum_save_betas_nonce', 'pum_save_betas_nonce' ); ?> <?php submit_button( __( 'Save', 'popup-maker' ), 'secondary', 'submit', false ); ?> </div> </div> <?php do_action( 'pum_tools_betas_after' ); } /** * Displays the contents of the Error Log tab * * @since 1.12.0 */ public static function errorlog_display() { $enabled = PUM_Utils_Logging::instance()->enabled(); ?> <h2>Error Log<?php echo esc_html( $enabled ? '' : ' (disabled)' ); ?></h2> <?php if ( $enabled ) : ?> <a target="_blank" rel="noreferrer noopener" href="<?php echo esc_url( PUM_Utils_Logging::instance()->get_file_url() ); ?>" download="pum-debug.log" class="button button-primary button-with-icon"><i class="dashicons dashicons-download"></i>Download Error Log</a> <form action="" method="POST"> <input type="hidden" name="pum_action" value="empty_error_log" /> <?php wp_nonce_field( 'pum_popup_empty_log_nonce', 'pum_popup_empty_log_nonce' ); ?> <?php submit_button( 'Empty Error Log', '', 'popmake-empty-log', false ); ?> </form> <?php endif; ?> <div id="log-viewer"> <pre><?php echo wp_kses( self::display_error_log(), wp_kses_allowed_html( 'data' ) ); ?></pre> </div> <?php } /** * Displays the content for the Scheduled Actions tab. * * @uses ActionScheduler_AdminView::render_admin_ui() * @since 1.12.0 */ public static function action_scheduler_display() { if ( class_exists( 'ActionScheduler_AdminView' ) ) { $test = new ActionScheduler_AdminView(); $test->render_admin_ui(); } } /** * Displays the contents for the Import tab * * @since 1.12.0 */ public static function import_display() { ?> <h2>Using Easy Modal?</h2> <p>Click this button to import popups from the Easy Modal plugin.</p> <button id="popmake_emodal_v2_import" name="popmake_emodal_v2_import" class="button button-large"> <?php esc_html_e( 'Import From Easy Modal v2', 'popup-maker' ); ?> </button> <?php wp_nonce_field( 'popmake_emodal_v2_import', 'popmake_emodal_v2_import_nonce' ); } /** * Add a button to import easy modal data. * * @deprecated */ public static function emodal_v2_import_button() { self::import_display(); } /** * Empties error log when user clicks on button * * @since 1.12.0 */ public static function error_log_empty() { if ( ! is_user_logged_in() || ! current_user_can( 'manage_options' ) ) { return; } if ( ! isset( $_POST['pum_popup_empty_log_nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['pum_popup_empty_log_nonce'] ) ), 'pum_popup_empty_log_nonce' ) ) { return; } PUM_Utils_Logging::instance()->clear_log(); } /** * Process em import. */ public static function emodal_process_import() { if ( ! isset( $_REQUEST['popmake_emodal_v2_import'] ) || ! isset( $_REQUEST['popmake_emodal_v2_import_nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_REQUEST['popmake_emodal_v2_import_nonce'] ) ), 'popmake_emodal_v2_import_nonce' ) || ! current_user_can( 'manage_options' ) ) { return; } popmake_emodal_v2_import(); wp_safe_redirect( admin_url( 'edit.php?post_type=popup&page=pum-tools&imported=1' ), 302 ); } /** * Save enabled betas * * @since 1.5 */ public static function save_enabled_betas() { if ( ! isset( $_POST['pum_save_betas_nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['pum_save_betas_nonce'] ) ), 'pum_save_betas_nonce' ) ) { return; } if ( ! current_user_can( 'manage_options' ) ) { return; } if ( ! empty( $_POST['enabled_betas'] ) ) { $enabled_betas = array_filter( array_map( [ __CLASS__, 'enabled_betas_sanitize_value', ], // Ignored as this is a list of checked boxes (booleans). // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized wp_unslash( $_POST['enabled_betas'] ) ) ); PUM_Utils_Options::update( 'enabled_betas', $enabled_betas ); } else { PUM_Utils_Options::delete( 'enabled_betas' ); } } /** * Sanitize the supported beta values by making them booleans * * @param mixed $value The value being sent in, determining if beta support is enabled. * * @return bool * @since 1.5 */ public static function enabled_betas_sanitize_value( $value ) { return filter_var( $value, FILTER_VALIDATE_BOOLEAN ); } /** * Check if a given extensions has beta support enabled * * @param string $slug The slug of the extension to check. * * @return bool True if enabled, false otherwise * @since 1.5 */ public static function extension_has_beta_support( $slug ) { $enabled_betas = PUM_Utils_Options::get( 'enabled_betas', [] ); $return = false; if ( array_key_exists( $slug, $enabled_betas ) ) { $return = true; } return $return; } /** * Retrieves error log and prepares it for displaying * * @uses PUM_Utils_Logging::get_log() * @since 1.12.0 */ public static function display_error_log() { $logger = PUM_Utils_Logging::instance(); if ( ! $logger->enabled() ) { return __( 'Debug logging is disabled.', 'popup-maker' ); } // $logger->log( 'Log viewed from Tools page' ); return $logger->get_log(); } } classes/Admin/Templates.php 0000644 00000164735 15174671772 0011741 0 ustar 00 <?php /** * Class for Admin Templates * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Admin_Templates * * @since 1.7.0 */ class PUM_Admin_Templates { /** * */ public static function init() { if ( did_action( 'admin_footer' ) || doing_action( 'admin_footer' ) ) { self::render(); } else { add_action( 'admin_footer', [ __CLASS__, 'render' ] ); } } /** * */ public static function render() { self::general_fields(); self::html5_fields(); self::custom_fields(); self::misc_fields(); self::helpers(); self::conditions_editor(); self::triggers_editor(); self::cookies_editor(); if ( class_exists( 'PUM_MCI' ) && version_compare( PUM_MCI::$VER, '1.3.0', '<' ) ) { ?> <script type="text/html" id="tmpl-pum-field-mc_api_key"> <?php // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> <# var valid = data.value !== '' && <?php echo PUM_Utils_Array::safe_json_encode( pum_get_option( 'mci_api_key_is_valid', false ) ); ?>; #> <input type="{{valid ? 'password' : 'text'}}" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/> <button type="button" class="pum-mci-check-api-key"> <?php esc_html_e( 'Check', 'popup-maker' ); ?> <i class="dashicons dashicons-{{valid ? 'yes' : 'no'}}" style="display: {{valid ? 'inline-block' : 'none'}};"></i> </button> <?php wp_nonce_field( 'pum-mci-check-api-key', null ); ?> </script> <?php } } /** * */ public static function general_fields() { ?> <script type="text/html" id="tmpl-pum-field-text"> <input type="text" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/> </script> <script type="text/html" id="tmpl-pum-field-password"> <input type="password" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/> </script> <script type="text/html" id="tmpl-pum-field-select"> <select id="{{data.id}}" name="{{data.name}}" data-allow-clear="true" {{{data.meta}}}> <# _.each(data.options, function(option, key) { if (option.options !== undefined && option.options.length) { #> <optgroup label="{{option.label}}"> <# _.each(option.options, function(option, key) { #> <option value="{{option.value}}" {{{option.meta}}}>{{option.label}}</option> <# }); #> </optgroup> <# } else { #> <option value="{{option.value}}" {{{option.meta}}}>{{option.label}}</option> <# } }); #> </select> </script> <script type="text/html" id="tmpl-pum-field-radio"> <ul class="pum-field-radio-list"> <# _.each(data.options, function(option, key) { #> <li <# print(option.value === data.value ? 'class="pum-selected"' : ''); #>> <input type="radio" id="{{data.id}}_{{key}}" name="{{data.name}}" value="{{option.value}}" {{{option.meta}}}/> <label for="{{data.id}}_{{key}}">{{option.label}}</label> </li> <# }); #> </ul> </script> <script type="text/html" id="tmpl-pum-field-checkbox"> <input type="checkbox" id="{{data.id}}" name="{{data.name}}" value="1" {{{data.meta}}} {{data.disabled ? 'disabled' : ''}} {{data.checked ? 'checked' : ''}} /> </script> <script type="text/html" id="tmpl-pum-field-multicheck"> <ul class="pum-field-mulitcheck-list"> <# _.each(data.options, function(option, key) { #> <li> <input type="checkbox" id="{{data.id}}_{{key}}" name="{{data.name}}[{{option.value}}]" value="{{option.value}}" {{{option.meta}}}/> <label for="{{data.id}}_{{key}}">{{{option.label}}}</label> </li> <# }); #> </ul> </script> <script type="text/html" id="tmpl-pum-field-textarea"> <textarea name="{{data.name}}" id="{{data.id}}" class="{{data.size}}-text" {{{data.meta}}}>{{data.value}}</textarea> </script> <script type="text/html" id="tmpl-pum-field-hidden"> <input type="hidden" class="{{data.classes}}" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/> </script> <?php } /** * */ public static function html5_fields() { ?> <script type="text/html" id="tmpl-pum-field-range"> <input type="range" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/> </script> <script type="text/html" id="tmpl-pum-field-search"> <input type="search" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/> </script> <script type="text/html" id="tmpl-pum-field-number"> <input type="number" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/> </script> <script type="text/html" id="tmpl-pum-field-email"> <input type="email" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/> </script> <script type="text/html" id="tmpl-pum-field-url"> <input type="url" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/> </script> <script type="text/html" id="tmpl-pum-field-tel"> <input type="tel" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/> </script> <?php } /** * */ public static function custom_fields() { ?> <script type="text/html" id="tmpl-pum-field-editor"> <textarea name="{{data.name}}" id="{{data.id}}" class="pum-wpeditor {{data.size}}-text" {{{data.meta}}}>{{data.value}}</textarea> </script> <script type="text/html" id="tmpl-pum-field-link"> <button type="button" class="dashicons dashicons-admin-generic button"></button> <input type="text" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/> </script> <script type="text/html" id="tmpl-pum-field-rangeslider"> <input type="text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" class="pum-range-manual" {{{data.meta}}}/> <span class="pum-range-value-unit regular-text">{{data.unit}}</span> </script> <script type="text/html" id="tmpl-pum-field-color"> <input type="text" class="pum-color-picker color-picker" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" data-default-color="{{data.std}}" {{{data.meta}}}/> </script> <script type="text/html" id="tmpl-pum-field-measure"> <input type="number" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" size="5" {{{data.meta}}}/> <select id="{{data.id}}_unit" name="<# print(data.name.replace(data.id, data.id + '_unit')); #>"> <# _.each(data.units, function(option, key) { #> <option value="{{option.value}}" {{{option.meta}}}>{{option.label}}</option> <# }); #> </select> </script> <script type="text/html" id="tmpl-pum-field-license_key"> <# var isActive = data.value.status === 'valid'; var shouldMask = isActive && data.value.key && data.value.key.length > 6; var shouldDisable = isActive || data.value.auto_activated; var displayValue = shouldMask ? data.value.key.substring(0,3) + '*'.repeat(data.value.key.length - 6) + data.value.key.slice(-3) : data.value.key; #> <# if (data.value.auto_activated) { #> <!-- Auto-activated license: readonly field with notice --> <input class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{displayValue}}" autocomplete="off" readonly style="background: #f1f1f1;" {{{data.meta}}}/> <p class="description" style="color: #0073aa; font-weight: 500;"> <?php esc_html_e( 'This license is automatically activated.', 'popup-maker' ); ?> </p> <# } else { #> <!-- Regular license field: mask and disable when active --> <input class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{displayValue}}" autocomplete="off" <# if (shouldDisable) { #>disabled<# } #> {{{data.meta}}}/> <# if (isActive && shouldMask) { #> <p class="description" style="color: #666; font-style: italic; margin: 5px 0;"> <?php esc_html_e( 'License key is masked for security. Deactivate to make changes.', 'popup-maker' ); ?> </p> <# } #> <# } #> <# if (data.value.key !== '') { #> <?php wp_nonce_field( 'pum_license_activation', 'pum_license_activation_nonce' ); ?> <# if (data.value.status === 'valid') { #> <span class="pum-license-status"><?php esc_html_e( 'Active', 'popup-maker' ); ?></span> <input type="submit" class="button-secondary pum-license-deactivate" id="{{data.id}}_deactivate" name="pum_license_deactivate[{{data.id}}]" value="<?php esc_attr_e( 'Deactivate License', 'popup-maker' ); ?>"/> <# } else { #> <span class="pum-license-status"><?php esc_html_e( 'Inactive', 'popup-maker' ); ?></span> <input type="submit" class="button-secondary pum-license-activate" id="{{data.id}}_activate" name="pum_license_activate[{{data.id}}]" value="<?php esc_attr_e( 'Activate License', 'popup-maker' ); ?>"/> <# } #> <# } #> <# if (data.value.messages && data.value.messages.length) { #> <div class="pum-license-messages"> <# for(var i=0; i < data.value.messages.length; i++) { #> <p>{{{data.value.messages[i]}}}</p> <# } #> </div> <# } #> </script> <?php $license_service = \PopupMaker\plugin( 'license' ); $is_auto_activated = $license_service->is_auto_activated(); ?> <script type="text/html" id="tmpl-pum-field-pro_license"> <# var hasKey = data.value && data.value.key && data.value.key.length > 0; var shouldMask = hasKey && data.value.key.length > 6; var displayValue = shouldMask ? data.value.key.substring(0,3) + '*'.repeat(data.value.key.length - 6) + data.value.key.slice(-3) : (data.value && data.value.key ? data.value.key : ''); var safeValue = data.value || {}; var isAutoActivated = <?php echo $is_auto_activated ? 'true' : 'false'; ?>; // Use comprehensive status system instead of binary logic var status = (data.value && data.value.status) ? data.value.status : 'empty'; var statusClasses = (data.value && data.value.classes) ? data.value.classes : 'pum-license-empty'; var isActive = status === 'valid'; var isDeactivated = status === 'deactivated'; var isInactive = !isActive && !isDeactivated && hasKey; // Get license tier (pro or pro_plus). var licenseTier = (data.value && data.value.license_tier) ? data.value.license_tier : 'pro'; var isProPlus = licenseTier === 'pro_plus'; // Get Pro installation status. var isProInstalled = (data.value && data.value.is_pro_installed) ? data.value.is_pro_installed : false; var isProActive = (data.value && data.value.is_pro_active) ? data.value.is_pro_active : false; // Add status class to parent field wrapper after render setTimeout(function() { var fieldWrapper = document.querySelector('.pum-field-pro_license'); if (fieldWrapper) { // Remove any existing license status classes fieldWrapper.className = fieldWrapper.className.replace(/pum-license-\w+-notice/g, ''); // Remove any existing tier classes fieldWrapper.className = fieldWrapper.className.replace(/pum-license-tier-\w+/g, ''); // Add license tier class fieldWrapper.classList.add('pum-license-tier-' + licenseTier.replace('_', '-')); // Add new status class for field-level styling if (status === 'deactivated') { fieldWrapper.classList.add('pum-license-deactivated-notice'); } else if (status === 'valid') { fieldWrapper.classList.add('pum-license-valid-notice'); } else if (status === 'expired') { fieldWrapper.classList.add('pum-license-expired-notice'); } else if (status === 'error') { fieldWrapper.classList.add('pum-license-error-notice'); } } }, 10); #> <!-- Main Content Container (like Content Control) --> <div class="pum-pro-license-content <# if (hasKey && isProPlus) { #>pum-license-tier-pro-plus<# } else if (hasKey) { #>pum-license-tier-pro<# } #>"> <!-- Pro Licensing Header (like Content Control) --> <div class="pum-pro-license-header <# if (isProPlus) { #>pro-plus<# } #>"> <img class="pum-license-logo" src="<?php echo esc_url( POPMAKE_URL . '/assets/images/mark.svg' ); ?>" alt="<?php esc_attr_e( 'Popup Maker', 'popup-maker' ); ?>" /> <div class="pum-license-header-text"> <h3 class="pum-license-heading"> <# if (isProPlus) { #> <?php esc_html_e( 'Pro+', 'popup-maker' ); ?> <# } else { #> <?php esc_html_e( 'Pro', 'popup-maker' ); ?> <# } #> <?php esc_html_e( 'Licensing', 'popup-maker' ); ?> </h3> <# if (isProPlus) { #> <span class="pum-license-subtitle"><?php esc_html_e( 'Premium Ecommerce Edition', 'popup-maker' ); ?></span> <# } #> </div> <# if (hasKey) { #> <span class="pum-license-status-badge <# if (isActive) { #>active<# } else if (isDeactivated) { #>deactivated<# } else if (status === 'expired') { #>expired<# } else { #>error<# } #> <# if (isProPlus) { #>pro-plus<# } #>"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="crown-icon"><path d="M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z"></path><path d="M5 21h14"></path></svg> <# if (isActive) { #> <# if (isProPlus) { #> <?php esc_html_e( 'Pro+', 'popup-maker' ); ?> <# } else { #> <?php esc_html_e( 'Pro', 'popup-maker' ); ?> <# } #> <?php esc_html_e( 'Activated', 'popup-maker' ); ?> <# } else if (isDeactivated) { #> <# if (isProPlus) { #> <?php esc_html_e( 'Pro+', 'popup-maker' ); ?> <# } else { #> <?php esc_html_e( 'Pro', 'popup-maker' ); ?> <# } #> <?php esc_html_e( 'Deactivated', 'popup-maker' ); ?> <# } else if (status === 'expired') { #> <?php esc_html_e( 'Expired', 'popup-maker' ); ?> <# } else { #> <?php esc_html_e( 'Invalid', 'popup-maker' ); ?> <# } #> <# if (isActive) { #> <# if (isProPlus) { #> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lightning-icon"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg> <# } else { #> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="star-icon"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg> <# } #> <# } #> </span> <# } #> </div> <div class="pum-pro-license-content-inner pum-flex pum-flex--column pum-flex--gap-l"> <div class="pum-flex pum-flex--column pum-flex--gap-m"> <div class="pum-flex pum-flex--column pum-flex--gap-s"> <h3 class="pum-license-heading"> <?php esc_html_e( 'Enter your Popup Maker Pro License Key', 'popup-maker' ); ?> </h3> <p class="pum-license-description"> <# if (isActive) { #> <# if (isProPlus) { #> <?php esc_html_e( 'Your Pro+ license key is active.', 'popup-maker' ); ?> <# } else { #> <?php esc_html_e( 'Your Pro license key is active.', 'popup-maker' ); ?> <# } #> <# } else if (isDeactivated) { #> <?php esc_html_e( 'Your Pro license is valid but deactivated on this site.', 'popup-maker' ); ?> <# } else if (data.value && data.value.has_extensions) { #> <?php esc_html_e( 'You are currently using Popup Maker with extensions — keep enjoying the enhanced features!', 'popup-maker' ); ?> 🚀 <# } else { #> <?php esc_html_e( 'You are currently using Popup Maker Free — no license key required. Enjoy!', 'popup-maker' ); ?> 😄 <# } #> </p> </div> <# if (!isAutoActivated) { #> <div class="pum-flex pum-flex--column pum-flex--gap-xs"> <span class="pum-license-input-label"> <?php esc_html_e( 'Enter your license key below to activate', 'popup-maker' ); ?> <strong><# if (isProPlus) { #><?php esc_html_e( 'Popup Maker Pro+', 'popup-maker' ); ?><# } else { #><?php esc_html_e( 'Popup Maker Pro', 'popup-maker' ); ?><# } #></strong><?php esc_html_e( '!', 'popup-maker' ); ?> </span> <div class="pum-license-input-wrapper"> <div class="pum-license-input-group"> <input type="text" placeholder="<?php esc_attr_e( 'Paste or enter your license key here.', 'popup-maker' ); ?>" class="{{data.size}}-text pum-license-key-input" id="{{data.id}}" name="{{data.name}}" value="{{displayValue}}" autocomplete="off" <# if (isActive) { #>disabled<# } #> {{{data.meta}}}/> <div class="pum-license-buttons"> <?php wp_nonce_field( 'pum_license_operation_nonce', 'pum_license_operation_nonce' ); ?> <# if (!hasKey) { #> <input type="submit" class="button button-primary pum-license-activate" id="{{data.id}}_activate" name="pum_license_operation[activate]" value="<?php esc_attr_e( 'Activate', 'popup-maker' ); ?>" disabled/> <# } else if (isActive && !isAutoActivated) { #> <span class="pum-license-status {{statusClasses}}"><?php esc_html_e( 'Active', 'popup-maker' ); ?></span> <input type="submit" class="button button-secondary pum-license-deactivate" id="{{data.id}}_deactivate" name="pum_license_operation[deactivate]" value="<?php esc_attr_e( 'Deactivate', 'popup-maker' ); ?>"/> <input type="submit" class="button pum-license-delete" id="{{data.id}}_delete" name="pum_license_operation[delete]" value="<?php esc_attr_e( 'Delete', 'popup-maker' ); ?>" onclick="return confirm('<?php esc_attr_e( 'Are you sure you want to delete this license key? This action cannot be undone.', 'popup-maker' ); ?>')"/> <# } else if (isDeactivated && !isAutoActivated) { #> <span class="pum-license-status {{statusClasses}}"><?php esc_html_e( 'Deactivated', 'popup-maker' ); ?></span> <input type="submit" class="button button-primary pum-license-activate" id="{{data.id}}_activate" name="pum_license_operation[activate]" value="<?php esc_attr_e( 'Activate', 'popup-maker' ); ?>"/> <input type="submit" class="button pum-license-delete" id="{{data.id}}_delete" name="pum_license_operation[delete]" value="<?php esc_attr_e( 'Delete', 'popup-maker' ); ?>" onclick="return confirm('<?php esc_attr_e( 'Are you sure you want to delete this license key? This action cannot be undone.', 'popup-maker' ); ?>')"/> <# } else if (hasKey && !isActive && !isDeactivated && !isAutoActivated) { #> <span class="pum-license-status {{statusClasses}}"><?php esc_html_e( 'Inactive', 'popup-maker' ); ?></span> <input type="submit" class="button button-primary pum-license-activate" id="{{data.id}}_activate" name="pum_license_operation[activate]" value="<?php esc_attr_e( 'Activate', 'popup-maker' ); ?>"/> <input type="submit" class="button pum-license-delete" id="{{data.id}}_delete" name="pum_license_operation[delete]" value="<?php esc_attr_e( 'Delete', 'popup-maker' ); ?>" onclick="return confirm('<?php esc_attr_e( 'Are you sure you want to delete this license key? This action cannot be undone.', 'popup-maker' ); ?>')"/> <# } else if (isActive && isAutoActivated) { #> <span class="pum-license-status {{statusClasses}}"><?php esc_html_e( 'Active', 'popup-maker' ); ?></span> <span class="description" style="color: #0073aa; font-style: italic;"><?php esc_html_e( '(Auto-activated)', 'popup-maker' ); ?></span> <# } #> <!-- Install Pro Button - when Pro is not installed --> <# if (isActive && !isProInstalled) { #> <button type="button" class="button pum-install-pro-button pum-license-connect-trigger <# if (isProPlus) { #>pum-install-pro-plus<# } #>" data-source="settings-page" data-product="popup-maker-pro"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="download-icon"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7,10 12,15 17,10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg> <?php esc_html_e( 'INSTALL PRO!', 'popup-maker' ); ?> </button> <!-- Activate Pro Button - when Pro is installed but not active --> <# } else if (isActive && isProInstalled && !isProActive) { #> <button type="button" class="button pum-install-pro-button pum-license-connect-trigger <# if (isProPlus) { #>pum-install-pro-plus<# } #>" data-source="settings-page" data-product="popup-maker-pro"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="power-icon"><circle cx="12" cy="12" r="10"></circle><path d="m12 6-4 6 7 0-4 6"></path></svg> <?php esc_html_e( 'ACTIVATE PRO NOW!', 'popup-maker' ); ?> </button> <# } #> </div> </div> </div> </div> <# if (!isActive && !isDeactivated) { #> <div class="pum-flex pum-flex--column pum-flex--gap-xs"> <div class="pum-license-upgrade-text"> <?php esc_html_e( 'Enter your license key to activate. If you do not have a license key, you can', 'popup-maker' ); ?> <a href="https://wppopupmaker.com/pricing/?utm_source=plugin-settings&utm_medium=pro-license-field&utm_campaign=upgrade" target="_blank"><?php esc_html_e( 'purchase one here', 'popup-maker' ); ?></a> </div> </div> <# } else { #> <# if (isActive) { #> <# if (isProPlus) { #> <!-- Pro installed and Pro+ license --> <div class="pum-license-callout pum-license-callout--activated"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="star-icon"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg> <?php esc_html_e( 'Your Pro+ license key is active.', 'popup-maker' ); ?> <?php esc_html_e( 'Thank you for supporting Popup Maker!', 'popup-maker' ); ?> 😊 </div> <# } else { #> <!-- Pro installed and regular Pro license --> <div class="pum-license-callout pum-license-callout--activated"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="star-icon"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg> <?php esc_html_e( 'Your Pro license key is active.', 'popup-maker' ); ?> <?php esc_html_e( 'Thank you for supporting Popup Maker!', 'popup-maker' ); ?> 😊 </div> <# } #> <# } else if (isDeactivated) { #> <div class="pum-license-callout pum-license-callout--deactivated"> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="info-icon"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg> <span><?php esc_html_e( 'Your Pro license is valid but deactivated on this site.', 'popup-maker' ); ?> <?php esc_html_e( 'Activate it to enable Pro features!', 'popup-maker' ); ?> 🔑</span> </div> <# } #> <# } #> <# } else { #> <div class="pum-license-callout pum-license-callout--activated"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="star-icon"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg> <# if (isProPlus) { #> <?php esc_html_e( 'Your Pro+ license is automatically activated.', 'popup-maker' ); ?> <# } else { #> <?php esc_html_e( 'Your Pro license is automatically activated.', 'popup-maker' ); ?> <# } #> <?php esc_html_e( 'Thank you for supporting Popup Maker!', 'popup-maker' ); ?> 😊 </div> <# } #> </div> <# if (safeValue.messages && safeValue.messages.length) { #> <div class="pum-license-messages"> <# for(var i=0; i < safeValue.messages.length; i++) { #> <p class="error">{{{safeValue.messages[i]}}}</p> <# } #> </div> <# } #> <# if (! isAutoActivated && (isActive || isDeactivated)) { #> <div class="pum-license-details <# if (isActive) { #>pum-license-details--active<# } #> <# if (isProPlus) { #>pum-license-details--pro-plus<# } #>"> <div class="pum-license-details-header"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg> <h4><?php esc_html_e( 'License Details', 'popup-maker' ); ?></h4> </div> <table class="pum-license-details-table"> <tr> <th><?php esc_html_e( 'Status:', 'popup-maker' ); ?></th> <td class="pum-license-status <# if (isActive) { #>pum-license-status--active<# } else if (isDeactivated) { #>pum-license-status--deactivated<# } #>"><?php esc_html_e( 'Active', 'popup-maker' ); ?></td> </tr> <tr> <th><?php esc_html_e( 'License Key:', 'popup-maker' ); ?></th> <td>{{displayValue}}</td> </tr> <tr> <th><?php esc_html_e( 'Pro Plugin:', 'popup-maker' ); ?></th> <td class="pum-pro-status <# if (isProActive) { #>pum-pro-status--active<# } else if (isProInstalled) { #>pum-pro-status--installed<# } else { #>pum-pro-status--not-installed<# } #>"> <# if (isProActive) { #> <?php esc_html_e( 'Active', 'popup-maker' ); ?><# if (safeValue.pro_version) { #> (v{{safeValue.pro_version}})<# } #> <# } else if (isProInstalled) { #> <?php esc_html_e( 'Installed', 'popup-maker' ); ?><# if (safeValue.pro_version) { #> (v{{safeValue.pro_version}})<# } #> <# } else { #> <?php esc_html_e( 'Not Installed', 'popup-maker' ); ?> <# } #> </td> </tr> <# if (safeValue.expires && safeValue.expires !== 'lifetime') { #> <tr> <th><?php esc_html_e( 'Expires:', 'popup-maker' ); ?></th> <td>{{safeValue.expires}}</td> </tr> <# } else if (safeValue.expires === 'lifetime') { #> <tr> <th><?php esc_html_e( 'License Type:', 'popup-maker' ); ?></th> <td> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="crown-icon"><path d="M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z"></path><path d="M5 21h14"></path></svg> <# if (isProPlus) { #> <?php esc_html_e( 'Pro+', 'popup-maker' ); ?> <# } else { #> <?php esc_html_e( 'Pro', 'popup-maker' ); ?> <# } #> <?php esc_html_e( 'Lifetime License', 'popup-maker' ); ?> </td> </tr> <# } #> </table> </div> <# } #> <hr class="pum-license-separator" /> <div class="pum-pro-features"> <div class="pum-features-heading"> <# if (isActive && isProPlus) { #> <?php esc_html_e( '🎉 You have access to these powerful Pro+ features:', 'popup-maker' ); ?> <span><?php esc_html_e( 'Plus exclusive Pro+ ecommerce tracking capabilities!', 'popup-maker' ); ?></span> <# } else if (isActive) { #> <?php esc_html_e( '🎉 You have access to these powerful Pro features:', 'popup-maker' ); ?> <# } else if (isDeactivated) { #> <?php esc_html_e( 'Activate your Pro license above to unlock these powerful features:', 'popup-maker' ); ?> <# } else { #> <?php esc_html_e( 'To unlock these game-changing features,', 'popup-maker' ); ?> <a href="https://wppopupmaker.com/pricing/?utm_source=plugin-settings&utm_medium=pro-license-field&utm_campaign=upgrade" target="_blank"><?php esc_html_e( 'upgrade to Pro', 'popup-maker' ); ?></a> <?php esc_html_e( ' and enter your license key above.', 'popup-maker' ); ?> <# } #> </div> <div class="pum-features-grid"> <div class="pum-feature-column"> <h4 class="pum-feature-heading"><?php esc_html_e( 'Smart Targeting & Automation', 'popup-maker' ); ?></h4> <ul> <li class="pro-feature"> <span class="feature-icon dashicons dashicons-yes-alt"></span> <div> <strong><?php esc_html_e( 'FluentCRM Integration', 'popup-maker' ); ?></strong> <?php esc_html_e( ' Seamlessly add tags, trigger automation sequences, and create smart links. Perfect for lead nurturing and customer journey automation.', 'popup-maker' ); ?> </div> </li> <li class="pro-feature"> <span class="feature-icon dashicons dashicons-yes-alt"></span> <div> <strong><?php esc_html_e( 'Advanced Targeting & Behavioral Triggers', 'popup-maker' ); ?></strong> <?php esc_html_e( ' Target by user role, comment history, device, and custom behaviors. Show the right message to the right person at the perfect time.', 'popup-maker' ); ?> </div> </li> <li class="pro-feature"> <span class="feature-icon dashicons dashicons-yes-alt"></span> <div> <strong><?php esc_html_e( 'Professional CTA Management', 'popup-maker' ); ?></strong> <?php esc_html_e( ' One-click export/import for CTAs. Create shareable vanity URLs. Bulk operations for enterprise-scale management.', 'popup-maker' ); ?> </div> </li> <li class="pro-feature"> <span class="feature-icon dashicons dashicons-yes-alt"></span> <div> <strong><?php esc_html_e( 'Time-Based Campaign Scheduling', 'popup-maker' ); ?></strong> <?php esc_html_e( ' Smart campaign scheduling with timezone support and recurring campaigns. Perfect timing for seasonal promotions and global audiences.', 'popup-maker' ); ?> </div> </li> </ul> </div> <div class="pum-feature-column"> <h4 class="pum-feature-heading"><?php esc_html_e( 'Monetize & Track Every Conversion', 'popup-maker' ); ?></h4> <ul> <li class="pro-feature pro-plus-enhanced-feature"> <span class="feature-icon dashicons dashicons-yes-alt"></span> <div> <strong><?php esc_html_e( 'Revenue Attribution & Analytics', 'popup-maker' ); ?><span class="pum-pro-plus-badge"><?php esc_html_e( 'Enhanced with Pro+', 'popup-maker' ); ?></span></strong> <?php esc_html_e( ' Track every dollar earned through your popups. Prove ROI with complete conversion tracking and detailed revenue reports.', 'popup-maker' ); ?> </div> </li> <li class="pro-feature pro-plus-enhanced-feature"> <span class="feature-icon dashicons dashicons-yes-alt"></span> <div> <strong><?php esc_html_e( 'Real-Time Analytics & Insights', 'popup-maker' ); ?><span class="pum-pro-plus-badge"><?php esc_html_e( 'Enhanced with Pro+', 'popup-maker' ); ?></span></strong> <?php esc_html_e( ' Live performance tracking with detailed conversion metrics. Monitor popup effectiveness in real-time and make data-driven optimization decisions instantly.', 'popup-maker' ); ?> </div> </li> <li class="pro-plus-exclusive-feature"> <span class="feature-icon dashicons dashicons-yes-alt"></span> <div> <strong><?php esc_html_e( 'WooCommerce Integration', 'popup-maker' ); ?><span class="pum-pro-plus-badge"><?php esc_html_e( 'Pro+', 'popup-maker' ); ?> <?php esc_html_e( 'Exclusive', 'popup-maker' ); ?></span></strong> <?php esc_html_e( ' Add products to cart, apply discounts, and recover abandoned carts with complete revenue attribution. Proven to increase sales by 15-40%.', 'popup-maker' ); ?> </div> </li> <li class="pro-plus-exclusive-feature"> <span class="feature-icon dashicons dashicons-yes-alt"></span> <div> <strong><?php esc_html_e( 'Easy Digital Downloads Integration', 'popup-maker' ); ?><span class="pum-pro-plus-badge"><?php esc_html_e( 'Pro+', 'popup-maker' ); ?> <?php esc_html_e( 'Exclusive', 'popup-maker' ); ?></span></strong> <?php esc_html_e( ' Perfect for software and digital product sales with license management. Seamlessly integrate checkout flows and boost digital sales conversion rates.', 'popup-maker' ); ?> </div> </li> </ul> </div> </div> <!-- Backup features for A/B testing --> <!-- Alternative high-value features for randomization: - A/B Testing & Optimization: Test popup variations automatically to maximize conversion rates - Time-Based Scheduling: Smart campaign scheduling with timezone support and recurring campaigns - User Role Targeting: Show different content to different user types (Admin, Subscriber, etc.) - LifterLMS Integration: Automate student enrollment and rewards for course creators - Easy Digital Downloads: Perfect for software and digital product sales with license management - Advanced Shortcodes: Developer-friendly trigger customization and complex display logic --> </div> </div> </div> </script> <script type="text/html" id="tmpl-pum-field-datetime"> <div class="pum-datetime"> <input placeholder="{{data.placeholder}}" data-input class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/> <a class="input-button" data-toggle><i class="dashicons dashicons-calendar-alt"></i></a> </div> </script> <script type="text/html" id="tmpl-pum-field-datetimerange"> <div class="pum-datetime-range"> <input placeholder="{{data.placeholder}}" data-input class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/> <a class="input-button" data-toggle><i class="dashicons dashicons-calendar-alt"></i></a> </div> </script> <script type="text/html" id="tmpl-pum-field-ga_event_labels"> <# data.value = _.extend({ category:'', action: '', label: '', value: 0, }, data.value); #> <table> <tbody> <tr> <td> <label for="{{data.id}}_category" style="padding-left: 3px;"><?php esc_html_e( 'Category', 'popup-maker' ); ?></label> <input type="text" style="width:100%;" id="{{data.id}}_category" name="{{data.name}}[category]" value="{{data.value.category}}"/> </td> <td> <label for="{{data.id}}_action" style="padding-left: 3px;"><?php esc_html_e( 'Action', 'popup-maker' ); ?></label> <input type="text" style="width:100%;" id="{{data.id}}_action" name="{{data.name}}[action]" value="{{data.value.action}}"/> </td> <td> <label for="{{data.id}}_label" style="padding-left: 3px;"><?php esc_html_e( 'Label', 'popup-maker' ); ?></label> <input type="text" style="width:100%;" id="{{data.id}}_label" name="{{data.name}}[label]" value="{{data.value.label}}"/> </td> <td> <label for="{{data.id}}_value" style="padding-left: 3px;"><?php esc_html_e( 'Value', 'popup-maker' ); ?></label> <input type="number" style="width:100%;height: auto;" id="{{data.id}}_value" name="{{data.name}}[value]" value="{{data.value.value}}" step="0.01" max="999999" min="0"/> </td> </tr> </tbody> </table> <hr/> </script> <?php } /** * */ public static function misc_fields() { ?> <script type="text/html" id="tmpl-pum-field-section"> <div class="pum-field-section {{data.classes}}"> <# _.each(data.fields, function(field) { #> {{{field}}} <# }); #> </div> </script> <script type="text/html" id="tmpl-pum-field-wrapper"> <div class="pum-field pum-field-{{data.type}} {{data.id}}-wrapper {{data.classes}}" data-id="{{data.id}}" <# print( data.dependencies !== '' ? "data-pum-dependencies='" + data.dependencies + "'" : ''); #> <# print( data.dynamic_desc !== '' ? "data-pum-dynamic-desc='" + data.dynamic_desc + "'" : ''); #>> <# if (typeof data.label === 'string' && data.label.length > 0) { #> <label for="{{data.id}}"> {{data.label}} <# if (typeof data.doclink === 'string' && data.doclink !== '') { #> <a href="{{data.doclink}}" title="<?php esc_attr_e( 'Documentation', 'popup-maker' ); ?>: {{data.label}}" target="_blank" class="pum-doclink dashicons dashicons-editor-help"></a> <# } #> </label> <# } else { #> <# if (typeof data.doclink === 'string' && data.doclink !== '') { #> <a href="{{data.doclink}}" title="<?php esc_attr_e( 'Documentation', 'popup-maker' ); ?>: {{data.label}}" target="_blank" class="pum-doclink dashicons dashicons-editor-help"></a> <# } #> <# } #> {{{data.field}}} <# if (typeof data.desc === 'string' && data.desc.length > 0) { #> <span class="pum-desc desc">{{{data.desc}}}</span> <# } #> </div> </script> <script type="text/html" id="tmpl-pum-field-html"> {{{data.content}}} </script> <script type="text/html" id="tmpl-pum-field-heading"> <h3 class="pum-field-heading">{{data.desc}}</h3> </script> <script type="text/html" id="tmpl-pum-field-separator"> <# if (typeof data.desc === 'string' && data.desc.length > 0 && data.desc_position === 'top') { #> <h3 class="pum-field-heading">{{data.desc}}</h3> <# } #> <hr {{{data.meta}}}/> <# if (typeof data.desc === 'string' && data.desc.length > 0 && data.desc_position === 'bottom') { #> <h3 class="pum-field-heading">{{data.desc}}</h3> <# } #> </script> <?php } /** * */ public static function helpers() { ?> <script type="text/html" id="tmpl-pum-modal"> <div id="{{data.id}}" class="pum-modal-background {{data.classes}}" role="dialog" aria-modal="false" aria-labelledby="{{data.id}}-title" aria-describedby="{{data.id}}-description" {{{data.meta}}}> <div class="pum-modal-wrap"> <form class="pum-form"> <div class="pum-modal-header"> <# if (data.title.length) { #> <span id="{{data.id}}-title" class="pum-modal-title">{{data.title}}</span> <# } #> <button type="button" class="pum-modal-close" aria-label="<?php esc_attr_e( 'Close', 'popup-maker' ); ?>"></button> </div> <# if (data.description.length) { #> <span id="{{data.id}}-description" class="screen-reader-text">{{data.description}}</span> <# } #> <div class="pum-modal-content"> {{{data.content}}} </div> <# if (data.save_button || data.cancel_button) { #> <div class="pum-modal-footer submitbox"> <# if (data.cancel_button) { #> <div class="cancel"> <button type="button" class="submitdelete no-button" href="#">{{data.cancel_button}}</button> </div> <# } #> <# if (data.save_button) { #> <div class="pum-submit"> <span class="spinner"></span> <button class="button button-primary">{{data.save_button}}</button> </div> <# } #> </div> <# } #> </form> </div> </div> </script> <script type="text/html" id="tmpl-pum-tabs"> <div class="pum-tabs-container {{data.classes}}" {{{data.meta}}}> <ul class="tabs"> <# _.each(data.tabs, function(tab, key) { #> <li class="tab"> <a href="#{{data.id + '_' + key}}">{{tab.label}}</a> </li> <# }); #> </ul> <# _.each(data.tabs, function(tab, key) { #> <div id="{{data.id + '_' + key}}" class="tab-content"> {{{tab.content}}} </div> <# }); #> </div> </script> <script type="text/html" id="tmpl-pum-shortcode"> [{{{data.tag}}} {{{data.meta}}}] </script> <script type="text/html" id="tmpl-pum-shortcode-w-content"> [{{{data.tag}}} {{{data.meta}}}]{{{data.content}}}[/{{{data.tag}}}] </script> <?php } /** * */ public static function triggers_editor() { ?> <script type="text/html" id="tmpl-pum-field-triggers"> <# print(PUM_Admin.triggers.template.editor({triggers: data.value, name: data.name})); #> </script> <script type="text/html" id="tmpl-pum-trigger-editor"> <div class="pum-popup-trigger-editor <# if (data.triggers && data.triggers.length) { print('has-list-items'); } #>" data-field_name="{{data.name}}"> <button type="button" class="button button-primary pum-add-new no-button"><?php esc_html_e( 'Add New Trigger', 'popup-maker' ); ?></button> <p> <strong> <?php $learn_more_text = sprintf( /* translators: 1. contextual help link text. */ __( 'Learn more about %s', 'popup-maker' ), __( 'Triggers', 'popup-maker' ) ); ?> <?php esc_html_e( 'Triggers cause a popup to open.', 'popup-maker' ); ?> <a href="<?php echo esc_url( 'https://wppopupmaker.com/docs/getting-started/triggers/?utm_campaign=contextual-help&utm_medium=inline-doclink&utm_source=plugin-popup-editor&utm_content=triggers-option-settings' ); ?>" target="_blank" class="pum-doclink dashicons dashicons-editor-help" title="<?php echo esc_attr( $learn_more_text ); ?>"></a> </strong> </p> <table class="list-table form-table"> <thead> <tr> <th><?php esc_html_e( 'Type', 'popup-maker' ); ?></th> <th><?php esc_html_e( 'Cookie', 'popup-maker' ); ?></th> <th><?php esc_html_e( 'Settings', 'popup-maker' ); ?></th> <th><?php esc_html_e( 'Actions', 'popup-maker' ); ?></th> </tr> </thead> <tbody> <# _.each(data.triggers, function (trigger, index) { print(PUM_Admin.triggers.template.row({ index: index, type: trigger.type, name: data.name, settings: trigger.settings || {} })); }); #> </tbody> </table> <!-- <div class="no-triggers no-list-items">--> <!-- <div class="pum-field pum-field-select pum-field-select2">--> <!-- <label for="pum-first-trigger">--><?php // _e( 'Choose a type of trigger to get started.', 'popup-maker' ); ?><!--</label>--> <!-- <# print(PUM_Admin.triggers.template.selectbox({id: 'pum-first-trigger', name: "", placeholder: "--><?php // _e( 'Select a trigger type.', 'popup-maker' ); ?><!--"})); #>--> <!-- </div>--> <!-- </div>--> </div> </script> <script type="text/html" id="tmpl-pum-trigger-row"> <tr data-index="{{data.index}}"> <td class="type-column"> <button type="button" class="edit no-button link-button" aria-label="<?php esc_attr_e( 'Edit this trigger', 'popup-maker' ); ?>">{{PUM_Admin.triggers.getLabel(data.type)}}</button> <input class="popup_triggers_field_type" type="hidden" name="{{data.name}}[{{data.index}}][type]" value="{{data.type}}"/> <input class="popup_triggers_field_settings" type="hidden" name="{{data.name}}[{{data.index}}][settings]" value="{{JSON.stringify(data.settings)}}"/> </td> <td class="cookie-column"> <code>{{PUM_Admin.triggers.cookie_column_value(data.settings.cookie_name)}}</code> </td> <td class="settings-column">{{{PUM_Admin.triggers.getSettingsDesc(data.type, data.settings)}}}</td> <td class="list-item-actions"> <button type="button" class="edit dashicons dashicons-edit no-button" aria-label="<?php esc_attr_e( 'Edit this trigger', 'popup-maker' ); ?>"></button> <button type="button" class="remove dashicons dashicons-no no-button" aria-label="<?php esc_attr_e( 'Delete this trigger', 'popup-maker' ); ?>"></button> </td> </tr> </script> <?php $presets = apply_filters( 'pum_click_selector_presets', [ 'a[href="exact_url"]' => __( 'Link: Exact Match', 'popup-maker' ), 'a[href*="contains"]' => __( 'Link: Containing', 'popup-maker' ), 'a[href^="begins_with"]' => __( 'Link: Begins With', 'popup-maker' ), 'a[href$="ends_with"]' => __( 'Link: Ends With', 'popup-maker' ), ] ); ?> <script type="text/html" id="tmpl-pum-click-selector-presets"> <div class="pum-click-selector-presets"> <span class="dashicons dashicons-arrow-left" title="<?php esc_attr_e( 'Insert Preset', 'popup-maker' ); ?>"></span> <ul> <?php foreach ( $presets as $preset => $label ) : ?> <li data-preset='<?php echo esc_attr( $preset ); ?>'> <span><?php echo esc_html( $label ); ?></span> </li> <?php endforeach; ?> </ul> </div> </script> <script type="text/html" id="tmpl-pum-trigger-add-type"> <# var form_args = <?php // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo PUM_Utils_Array::safe_json_encode( [ 'id' => 'pum-add-trigger', 'fields' => [ 'popup_trigger_add_type' => [ 'id' => 'popup_trigger_add_type', 'name' => '', 'label' => esc_html__( 'What kind of trigger do you want?', 'popup-maker' ), 'type' => 'select', // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped 'options' => PUM_Triggers::instance()->dropdown_list(), ], 'popup_trigger_add_cookie' => [ 'id' => 'popup_trigger_add_cookie', 'name' => '', 'type' => 'checkbox', 'std' => true, 'label' => esc_html__( 'Prevent popup from showing to visitor again using a cookie?', 'popup-maker' ), 'meta' => [ 'checked' => 'checked' ], ], 'popup_trigger_add_cookie_event' => [ 'id' => 'popup_trigger_add_cookie_event', 'name' => '', 'type' => 'select', 'label' => esc_html__( 'Stop showing popup once visitor takes this action', 'popup-maker' ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped 'options' => PUM_Cookies::instance()->dropdown_list(), 'dependencies' => [ 'popup_trigger_add_cookie' => true, ], ], 'popup_trigger_add_cookie_info' => [ 'id' => 'popup_trigger_add_cookie_info', 'type' => 'html', 'content' => '<p>Learn more about <a href="https://wppopupmaker.com/docs/controlling-popups/popup-settings-box-cookies-option-settings/?utm_campaign=contextual-help&utm_medium=inline-doclink&utm_source=plugin-popup-editor&utm_content=new-trigger-cookie-info">how Popup Maker cookies work</a>.</p>', ], ], ] ); ?> , content = PUM_Admin.forms.render(form_args, {}); print(PUM_Admin.templates.modal({ id: 'pum_trigger_add_type_modal', title: '<?php esc_attr_e( 'New Trigger', 'popup-maker' ); ?>', content: content, save_button: pum_admin_vars.I10n.add || '<?php esc_attr__( 'Add', 'popup-maker' ); ?>' })); #> </script> <?php } /** * */ public static function conditions_editor() { ?> <script type="text/html" id="tmpl-pum-field-conditions"> <# print(PUM_Admin.conditions.template.editor({groups: data.value})); #> </script> <script type="text/html" id="tmpl-pum-condition-editor"> <div class="facet-builder <# if (data.groups && data.groups.length) { print('has-conditions'); } #>"> <p> <strong> <?php esc_html_e( 'Conditions allow you to show your popup to a targeted segment of your sites users.', 'popup-maker' ); ?> <?php printf( '%2$s<i class="dashicons dashicons-editor-help" title="%1$s"></i>%3$s', sprintf( /* translators: 1. contextual help link text. */ esc_html__( 'Learn more about %s', 'popup-maker' ), esc_html__( 'Targeting Conditions', 'popup-maker' ) ), '<a href="https://wppopupmaker.com/docs/controlling-popups/popup-settings-box-targeting-option-settings/?utm_medium=inline-doclink&utm_campaign=contextual-help&utm_source=plugin-popup-editor&utm_content=targeting-option-settings" target="_blank">', '</a>' ); ?> </strong> </p> <ul class="ul-disc"> <li><?php esc_html_e( 'By default, this popup will be loaded on every page of your site for all users.', 'popup-maker' ); ?></li> <li><?php esc_html_e( 'Target the popup to a specific segment by adding conditions below.', 'popup-maker' ); ?></li> <li> <?php printf( /* translators: 1. button text. 2. warning icon. */ esc_html__( 'Click the %1$s button for any condition to check the opposite of the chosen condition. The button will turn red %2$s when active.', 'popup-maker' ), '<i style="font-size: 1em; width: 1em; height: 1em; line-height:1.5em;" class="dashicons dashicons-warning"></i>', '<i style="width: 1em; height: 1em; font-size: 1em; line-height:1.5em; color:#a00;" class="dashicons dashicons-warning"></i>' ); ?> </li> </ul> <section class="pum-alert-box" style="display:none"></section> <div class="facet-groups condition-groups"> <# _.each(data.groups, function (group, group_ID) { print(PUM_Admin.conditions.template.group({ index: group_ID, facets: group })); }); #> </div> <div class="no-facet-groups"> <label for="pum-first-condition"><?php esc_html_e( 'Choose a condition to target your popup to specific content or various other segments.', 'popup-maker' ); ?></label> <div class="facet-target"> <button type="button" class="pum-not-operand dashicons-before dashicons-warning no-button" aria-label="<?php esc_attr_e( 'Enable the Not Operand', 'popup-maker' ); ?>"> <input type="checkbox" id="pum-first-facet-operand" value="1"/> </button> <# print(PUM_Admin.conditions.template.selectbox({id: 'pum-first-condition', name: "", placeholder: "<?php esc_attr_e( 'Choose a condition', 'popup-maker' ); ?>"})); #> </div> </div> </div> </script> <script type="text/html" id="tmpl-pum-condition-group"> <div class="facet-group-wrap" data-index="{{data.index}}"> <section class="facet-group"> <div class="facet-list"> <# _.each(data.facets, function (facet) { print(PUM_Admin.conditions.template.facet(facet)); }); #> </div> <div class="add-or"> <button type="button" class="add add-facet no-button" aria-label="<?php echo esc_attr_x( 'Add another OR condition', 'aria-label for add new OR condition button', 'popup-maker' ); ?>"><?php esc_html_e( 'or', 'popup-maker' ); ?></button> </div> </section> <p class="and"> <button type="button" class="add-facet no-button" aria-label="<?php echo esc_attr_x( 'Add another AND condition group', 'aria-label for add new AND condition button', 'popup-maker' ); ?>"><?php esc_html_e( 'and', 'popup-maker' ); ?></button> </p> </div> </script> <script type="text/html" id="tmpl-pum-condition-facet"> <div class="facet" data-index="{{data.index}}" data-target="{{data.target}}"> <i class="or"><?php esc_html_e( 'or', 'popup-maker' ); ?></i> <div class="facet-col facet-target <# if (typeof data.not_operand !== 'undefined' && data.not_operand == '1') print('not-operand-checked'); #>"> <button type="button" class="pum-not-operand dashicons-before dashicons-warning no-button" aria-label="<?php esc_attr_e( 'Enable the Not Operand', 'popup-maker' ); ?>"> <input type="checkbox" name="popup_settings[conditions][{{data.group}}][{{data.index}}][not_operand]" value="1" <# if (typeof data.not_operand !== 'undefined') print(PUM_Admin.utils.checked(data.not_operand, true, true)); #> /> </button> <# print(PUM_Admin.conditions.template.selectbox({index: data.index, group: data.group, value: data.target, placeholder: "<?php esc_attr_e( 'Choose a condition', 'popup-maker' ); ?>"})); #> </div> <div class="facet-settings facet-col"> <# print(PUM_Admin.conditions.template.settings(data, data.settings)); #> </div> <div class="facet-actions"> <button type="button" class="remove remove-facet dashicons dashicons-dismiss no-button" aria-label="<?php esc_attr_e( 'Remove Condition', 'popup-maker' ); ?>"></button> </div> </div> </script> <?php } /** * */ public static function cookies_editor() { ?> <script type="text/html" id="tmpl-pum-field-cookies"> <# print(PUM_Admin.cookies.template.editor({cookies: data.value, name: data.name})); #> </script> <script type="text/html" id="tmpl-pum-cookie-editor"> <div class="pum-popup-cookie-editor <# if (data.cookies && data.cookies.length) { print('has-list-items'); } #>" data-field_name="{{data.name}}"> <button type="button" class="button button-primary pum-add-new no-button"><?php esc_html_e( 'Add New Cookie', 'popup-maker' ); ?></button> <p> <strong> <?php $title_text = sprintf( /* translators: 1. contextual help link text. */ __( 'Learn more about %s', 'popup-maker' ), __( 'Cookies', 'popup-maker' ) ); ?> <?php esc_html_e( 'Cookies control the repeat display of a popup.', 'popup-maker' ); ?> <a href="<?php echo esc_url( 'https://wppopupmaker.com/docs/controlling-popups/popup-settings-box-cookies-option-settings/?utm_campaign=contextual-help&utm_medium=inline-doclink&utm_source=plugin-popup-editor&utm_content=cookies-option-settings' ); ?>" target="_blank" class="pum-doclink dashicons dashicons-editor-help" title="<?php echo esc_attr( $title_text ); ?>"></a> </strong> </p> <table class="list-table form-table"> <thead> <tr> <th><?php esc_html_e( 'Event', 'popup-maker' ); ?></th> <th><?php esc_html_e( 'Name', 'popup-maker' ); ?></th> <th><?php esc_html_e( 'Settings', 'popup-maker' ); ?></th> <th><?php esc_html_e( 'Actions', 'popup-maker' ); ?></th> </tr> </thead> <tbody> <# _.each(data.cookies, function (cookie, index) { print(PUM_Admin.cookies.template.row({ index: index, event: cookie.event, name: data.name, settings: cookie.settings || {} })); }); #> </tbody> </table> <!-- <div class="no-cookies no-list-items">--> <!-- <div class="pum-field pum-field-select pum-field-select2">--> <!-- <label for="pum-first-cookie">--><?php // _e( 'Choose when you want to set a cookie to get started.', 'popup-maker' ); ?><!--</label>--> <!-- <# print(PUM_Admin.cookies.template.selectbox({id: 'pum-first-cookie', name: "", placeholder: "--><?php // _e( 'Select an event.', 'popup-maker' ); ?><!--"})); #>--> <!-- </div>--> <!-- </div>--> </div> </script> <script type="text/html" id="tmpl-pum-cookie-row"> <tr data-index="{{data.index}}"> <td class="event-column"> <button type="button" class="edit no-button link-button" aria-label="<?php esc_attr_e( 'Edit this cookie', 'popup-maker' ); ?>">{{PUM_Admin.cookies.getLabel(data.event)}}</button> <input class="popup_cookies_field_event" type="hidden" name="{{data.name}}[{{data.index}}][event]" value="{{data.event}}"/> <input class="popup_cookies_field_settings" type="hidden" name="{{data.name}}[{{data.index}}][settings]" value="{{JSON.stringify(data.settings)}}"/> </td> <td class="name-column"> <code>{{data.settings.name}}</code> </td> <td class="settings-column">{{{PUM_Admin.cookies.getSettingsDesc(data.event, data.settings)}}}</td> <td class="list-item-actions"> <button type="button" class="edit dashicons dashicons-edit no-button" aria-label="<?php esc_attr_e( 'Edit this cookie', 'popup-maker' ); ?>"></button> <button type="button" class="remove dashicons dashicons-no no-button" aria-label="<?php esc_attr_e( 'Delete this cookie', 'popup-maker' ); ?>"></button> </td> </tr> </script> <script type="text/html" id="tmpl-pum-cookie-add-event"> <# print(PUM_Admin.templates.modal({ id: 'pum_cookie_add_event_modal', title: '<?php esc_attr_e( 'When should your cookie be created?', 'popup-maker' ); ?>', content: PUM_Admin.cookies.template.selectbox({id: 'popup_cookie_add_event', name: "", placeholder: "<?php esc_attr_e( 'Select a cookie type.', 'popup-maker' ); ?>"}), save_button: pum_admin_vars.I10n.add || '<?php __( 'Add', 'popup-maker' ); ?>' })); #> </script> <script type="text/html" id="tmpl-pum-field-cookie_key"> <div class="cookie-key"> <button type="button" class="reset dashicons-before dashicons-image-rotate" title="<?php esc_attr_e( 'Reset Cookie Key', 'popup-maker' ); ?>"></button> <input type="text" placeholder="{{data.placeholder}}" class="{{data.size}}-text dashicons-before dashicons-image-rotate" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/> </div> </script> <?php } } classes/Admin/Themes.php 0000644 00000117336 15174671772 0011223 0 ustar 00 <?php /** * Class for Admin Themes * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Admin_Themes */ class PUM_Admin_Themes { /** * Hook the initialize method to the WP init action. */ public static function init() { /** Regitster Metaboxes */ add_action( 'add_meta_boxes', [ __CLASS__, 'meta_box' ] ); /** Process meta saving. */ add_action( 'save_post', [ __CLASS__, 'save' ], 10, 2 ); } /** * Registers popup metaboxes. */ public static function meta_box() { /** Settings Box */ add_meta_box( 'pum_theme_settings', __( 'Theme Settings', 'popup-maker' ), [ __CLASS__, 'render_settings_meta_box' ], 'popup_theme', 'normal', 'high' ); /** Preview Window */ add_meta_box( 'pum_theme_preview', __( 'Theme Preview', 'popup-maker' ), [ __CLASS__, 'render_preview_meta_box' ], 'popup_theme', 'side', 'high' ); } /** * Ensures integrity of values. * * @param array $values * * @return array */ public static function parse_values( $values = [] ) { $defaults = self::defaults(); if ( empty( $values ) ) { return $defaults; } $values = self::fill_missing_defaults( $values ); return $values; } /** * Fills default settings only when missing. * * Excludes checkbox type fields where a false value is represented by the field being unset. * * @param array $settings * * @return array */ public static function fill_missing_defaults( $settings = [] ) { $excluded_field_types = [ 'checkbox', 'multicheck' ]; $defaults = self::defaults(); foreach ( $defaults as $field_id => $default_value ) { $field = PUM_Utils_Fields::get_field( self::fields(), $field_id ); if ( isset( $settings[ $field_id ] ) || in_array( $field['type'], $excluded_field_types, true ) ) { continue; } $settings[ $field_id ] = $default_value; } return $settings; } /** * Parse & prepare values for form rendering. * * Add additional data for license_key fields, split the measure fields etc. * * @param $settings * * @return mixed */ public static function render_form_values( $settings ) { foreach ( $settings as $key => $value ) { $field = PUM_Utils_Fields::get_field( self::fields(), $key ); if ( $field ) { switch ( $field['type'] ) { case 'measure': break; } } } return $settings; } /** * Render the settings meta box wrapper and JS vars. */ public static function render_settings_meta_box() { global $post; $theme = pum_get_theme( $post->ID ); // Get the meta directly rather than from cached object. $settings = self::parse_values( $theme->get_settings() ); wp_nonce_field( 'pum_theme_settings_nonce', 'pum_theme_settings_nonce' ); wp_enqueue_script( 'popup-maker-admin' ); ?> <script type="text/javascript"> window.pum_theme_settings_editor = <?php // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped echo PUM_Utils_Array::safe_json_encode( apply_filters( 'pum_theme_settings_editor_var', [ 'form_args' => [ 'id' => 'pum-theme-settings', 'tabs' => self::tabs(), 'sections' => self::sections(), 'fields' => self::fields(), ], 'current_values' => self::render_form_values( $settings ), ] ) ); // phpcs:enable WordPress.Security.EscapeOutput.OutputNotEscaped ?> ; </script> <div id="pum-theme-settings-container" class="pum-theme-settings-container"> <div class="pum-no-js" style="padding: 0 12px;"> <p> <?php printf( /* translators: 1. URL to troubleshooting guide. 2. Closing tag. */ esc_html__( 'If you are seeing this, the page is still loading or there are Javascript errors on this page. %1$sView troubleshooting guide%2$s', 'popup-maker' ), '<a href="https://wppopupmaker.com/docs/problem-solving/checking-javascript-errors/" target="_blank">', '</a>' ); ?> </p> </div> </div> <?php } /** * */ public static function render_preview_meta_box() { global $post; $theme = pum_get_theme( $post->ID ); $deprecated_atb_enabled = class_exists( 'PUM_ATB' ) && ! pum_extension_enabled( 'advanced-theme-builder' ); // Remove this div after PUM ATC updated properly if ( $deprecated_atb_enabled ) { echo '<div id="PopMake-Preview">'; } ?> <div class="pum-theme-preview"> <div class="pum-popup-overlay <?php echo $deprecated_atb_enabled ? 'example-popup-overlay' : ''; ?>"></div> <div class="pum-popup-container <?php echo $deprecated_atb_enabled ? 'example-popup' : ''; ?>"> <div class="pum-popup-title"><?php esc_html_e( 'Title Text', 'popup-maker' ); ?></div> <div class="pum-popup-content"> <?php echo wp_kses_post( apply_filters( 'pum_example_popup_content', '<p>Suspendisse ipsum eros, tincidunt sed commodo ut, viverra vitae ipsum. Etiam non porta neque. Pellentesque nulla elit, aliquam in ullamcorper at, bibendum sed eros. Morbi non sapien tellus, ac vestibulum eros. In hac habitasse platea dictumst. Nulla vestibulum, diam vel porttitor placerat, eros tortor ultrices lectus, eget faucibus arcu justo eget massa. Maecenas id tellus vitae justo posuere hendrerit aliquet ut dolor.</p>' ) ); ?> </div> <button type="button" class="pum-popup-close <?php echo esc_attr( $deprecated_atb_enabled ) ? 'close-popup' : ''; ?>" aria-label="<?php esc_attr_e( 'Close', 'popup-maker' ); ?>"> <?php echo esc_html( $theme->get_setting( 'close_text', '×' ) ); ?> </button> </div> <p class="pum-desc"> <?php $tips = [ __( 'If you move this theme preview to the bottom of your sidebar here it will follow you down the page?', 'popup-maker' ), __( 'Clicking on an element in this theme preview will take you to its relevant settings in the editor?', 'popup-maker' ), ]; $key = array_rand( $tips, 1 ); ?> <i class="dashicons dashicons-info"></i> <?php echo wp_kses_post( '<strong>' . __( 'Did you know:', 'popup-maker' ) . '</strong> ' . $tips[ $key ] ); ?> </p> </div> <?php // Remove this div after PUM ATC updated properly if ( $deprecated_atb_enabled ) { echo '</div>'; } } /** * Used to get deprecated fields for metabox saving of old extensions. * * @deprecated 1.8.0 * * @return mixed */ public static function deprecated_meta_fields() { $fields = []; foreach ( self::deprecated_meta_field_groups() as $group ) { foreach ( apply_filters( 'popmake_popup_theme_meta_field_group_' . $group, [] ) as $field ) { $fields[] = 'popup_theme_' . $group . '_' . $field; } } return apply_filters( 'popmake_popup_theme_meta_fields', $fields ); } /** * Used to get field groups from extensions. * * @deprecated 1.8.0 * * @return mixed */ public static function deprecated_meta_field_groups() { return apply_filters( 'popmake_popup_theme_meta_field_groups', [ 'display', 'close' ] ); } /** * @param $post_id * @param $post * * @return bool */ public static function can_save( $post_id, $post ) { if ( isset( $post->post_type ) && 'popup_theme' !== $post->post_type ) { return false; } if ( ! isset( $_POST['pum_theme_settings_nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['pum_theme_settings_nonce'] ) ), 'pum_theme_settings_nonce' ) ) { return false; } if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) { return false; } if ( isset( $post->post_type ) && 'revision' === $post->post_type ) { return false; } if ( ! current_user_can( 'edit_post', $post_id ) ) { return false; } return true; } /** * @param $post_id * @param $post */ public static function save( $post_id, $post ) { if ( ! self::can_save( $post_id, $post ) ) { return; } // Nonce was checked in can_save() above. // phpcs:disable WordPress.Security.NonceVerification.Missing $theme = pum_get_theme( $post_id ); // Ignore sanitize as this is an array of dynamic keys & values, extendable by extensions. Each sanitizes its own values. // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized $settings = ! empty( $_POST['theme_settings'] ) ? wp_unslash( $_POST['theme_settings'] ) : []; $settings = wp_parse_args( $settings, self::defaults() ); $settings = apply_filters( 'pum_theme_setting_pre_save', $settings, $post->ID ); // Sanitize form values. $settings = PUM_Utils_Fields::sanitize_fields( $settings, self::fields() ); // Ensure data integrity. $settings = self::parse_values( $settings ); // $theme->update_meta( 'popup_theme_settings', $settings ); $theme->update_settings( $settings ); // If this is a built in theme and the user has modified it set a key so that we know not to make automatic upgrades to it in the future. if ( get_post_meta( $post_id, '_pum_built_in', true ) !== false ) { update_post_meta( $post_id, '_pum_user_modified', true ); } self::process_deprecated_saves( $post_id, $post ); do_action( 'pum_save_theme', $post_id, $post ); // phpcs:enable WordPress.Security.NonceVerification.Missing } /** * @param $post_id * @param $post */ public static function process_deprecated_saves( $post_id, $post ) { // Nonce was checked in can_save() previously above. // phpcs:disable WordPress.Security.NonceVerification.Missing $field_prefix = 'popup_theme_'; $old_fields = (array) apply_filters( 'popmake_popup_theme_fields', [ 'overlay' => [], 'container' => [], 'title' => [], 'content' => [], 'close' => [], ] ); foreach ( $old_fields as $section => $fields ) { $section_prefix = "{$field_prefix}{$section}"; $meta_values = []; foreach ( $fields as $field => $args ) { $field_name = "{$section_prefix}_{$field}"; if ( isset( $_POST[ $field_name ] ) ) { // Ignored because this should no longer be used, has been deprecated nd we don't know the format of each value safely to sanitize. // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized $meta_values[ $field ] = apply_filters( 'popmake_metabox_save_' . $field_name, wp_unslash( $_POST[ $field_name ] ) ); } } update_post_meta( $post_id, "popup_theme_{$section}", $meta_values ); } // TODO Remove this and all other code here. This should be clean and all code more compartmentalized. foreach ( self::deprecated_meta_fields() as $field ) { if ( isset( $_POST[ $field ] ) ) { // Ignored because this should no longer be used, has been deprecated nd we don't know the format of each value safely to sanitize. // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized $new = apply_filters( 'popmake_metabox_save_' . $field, wp_unslash( $_POST[ $field ] ) ); update_post_meta( $post_id, $field, $new ); } else { delete_post_meta( $post_id, $field ); } } // phpcs:enable WordPress.Security.NonceVerification.Missing } /** * List of tabs & labels for the settings panel. * * @return array */ public static function tabs() { return apply_filters( 'pum_theme_settings_tabs', [ 'general' => __( 'General', 'popup-maker' ), 'overlay' => __( 'Overlay', 'popup-maker' ), 'container' => __( 'Container', 'popup-maker' ), 'title' => __( 'Title', 'popup-maker' ), 'content' => __( 'Content', 'popup-maker' ), 'close' => __( 'Close', 'popup-maker' ), 'advanced' => __( 'Advanced', 'popup-maker' ), ] ); } /** * List of tabs & labels for the settings panel. * * @return array */ public static function sections() { return apply_filters( 'pum_theme_settings_sections', [ 'general' => [ 'main' => __( 'General', 'popup-maker' ), ], 'overlay' => [ 'background' => __( 'Background', 'popup-maker' ), ], 'container' => [ 'main' => __( 'Container', 'popup-maker' ), 'background' => __( 'Background', 'popup-maker' ), 'border' => __( 'Border', 'popup-maker' ), 'boxshadow' => __( 'Drop Shadow', 'popup-maker' ), ], 'title' => [ 'typography' => __( 'Font', 'popup-maker' ), 'textshadow' => __( 'Text Shadow', 'popup-maker' ), ], 'content' => [ 'typography' => __( 'Text', 'popup-maker' ), ], 'close' => [ 'main' => __( 'General', 'popup-maker' ), 'size' => __( 'Size', 'popup-maker' ), 'position' => __( 'Position', 'popup-maker' ), 'background' => __( 'Background', 'popup-maker' ), 'border' => __( 'Border', 'popup-maker' ), 'boxshadow' => __( 'Drop Shadow', 'popup-maker' ), 'typography' => __( 'Font', 'popup-maker' ), 'textshadow' => __( 'Text Shadow', 'popup-maker' ), ], 'advanced' => [ 'main' => __( 'Advanced', 'popup-maker' ), ], ] ); } /** * @return mixed */ public static function border_style_options() { return apply_filters( 'pum_theme_border_style_options', [ 'none' => __( 'None', 'popup-maker' ), 'solid' => __( 'Solid', 'popup-maker' ), 'dotted' => __( 'Dotted', 'popup-maker' ), 'dashed' => __( 'Dashed', 'popup-maker' ), 'double' => __( 'Double', 'popup-maker' ), 'groove' => __( 'Groove', 'popup-maker' ), 'inset' => __( 'Inset (inner shadow)', 'popup-maker' ), 'outset' => __( 'Outset', 'popup-maker' ), 'ridge' => __( 'Ridge', 'popup-maker' ), ] ); } /** * @return mixed */ public static function size_unit_options() { return apply_filters( 'pum_theme_size_unit_options', [ 'px' => 'px', '%' => '%', 'em' => 'em', 'rem' => 'rem', ] ); } /** * @return mixed */ public static function font_family_options() { $fonts = [ 'inherit' => __( 'Use Your Themes', 'popup-maker' ), __( 'System Fonts', 'popup-maker' ) => [ 'Sans-Serif' => 'Sans-Serif', 'Tahoma' => 'Tahoma', 'Georgia' => 'Georgia', 'Comic Sans MS' => 'Comic Sans MS', 'Arial' => 'Arial', 'Lucida Grande' => 'Lucida Grande', 'Times New Roman' => 'Times New Roman', ], ]; /** @deprecated 1.8.0 This filter is no longer in use */ $old_fonts = apply_filters( 'popmake_font_family_options', [] ); $fonts = array_merge( $fonts, array_flip( $old_fonts ) ); return apply_filters( 'pum_theme_font_family_options', $fonts ); } /** * @return mixed */ public static function font_weight_options() { return apply_filters( 'pum_theme_font_weight_options', [ 100 => 100, 200 => 200, 300 => 300, 400 => __( 'Normal', 'popup-maker' ) . ' (400)', 500 => 500, 600 => 600, 700 => __( 'Bold', 'popup-maker' ) . ' (700)', 800 => 800, 900 => 900, ] ); } /** * Returns array of popup settings fields. * * @return mixed */ public static function fields() { static $fields; if ( ! isset( $fields ) ) { $size_unit_options = self::size_unit_options(); $border_style_options = self::border_style_options(); $font_family_options = self::font_family_options(); $font_weight_options = self::font_weight_options(); $fields = apply_filters( 'pum_theme_settings_fields', [ 'general' => apply_filters( 'pum_theme_general_settings_fields', [ 'main' => [], ] ), 'overlay' => apply_filters( 'pum_theme_overlay_settings_fields', [ 'background' => [ 'overlay_background_color' => [ 'label' => __( 'Color', 'popup-maker' ), 'type' => 'color', 'std' => '#ffffff', 'priority' => 10, ], 'overlay_background_opacity' => [ 'label' => __( 'Opacity', 'popup-maker' ), 'type' => 'rangeslider', 'force_minmax' => true, 'std' => 100, 'step' => 1, 'min' => 0, 'max' => 100, 'unit' => '%', 'priority' => 20, ], ], ] ), 'container' => apply_filters( 'pum_theme_container_settings_fields', [ 'main' => [ 'container_padding' => [ 'label' => __( 'Padding', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 18, 'priority' => 10, 'step' => 1, 'min' => 1, 'max' => 100, 'unit' => 'px', ], 'container_border_radius' => [ 'label' => __( 'Border Radius', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 20, 'step' => 1, 'min' => 1, 'max' => 80, 'unit' => 'px', ], ], 'background' => [ 'container_background_color' => [ 'label' => __( 'Color', 'popup-maker' ), 'type' => 'color', 'std' => '#f9f9f9', 'priority' => 10, ], 'container_background_opacity' => [ 'label' => __( 'Opacity', 'popup-maker' ), 'type' => 'rangeslider', 'force_minmax' => true, 'std' => 100, 'priority' => 20, 'step' => 1, 'min' => 0, 'max' => 100, 'unit' => '%', ], ], 'border' => [ 'container_border_style' => [ 'label' => __( 'Style', 'popup-maker' ), 'type' => 'select', 'std' => 'none', 'priority' => 10, 'options' => $border_style_options, ], 'container_border_color' => [ 'label' => __( 'Color', 'popup-maker' ), 'type' => 'color', 'std' => '#000000', 'priority' => 20, 'dependencies' => [ 'container_border_style' => array_keys( PUM_Utils_Array::remove_keys( $border_style_options, [ 'none' ] ) ), ], ], 'container_border_width' => [ 'label' => __( 'Thickness', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 1, 'priority' => 30, 'step' => 1, 'min' => 1, 'max' => 5, 'unit' => 'px', 'dependencies' => [ 'container_border_style' => array_keys( PUM_Utils_Array::remove_keys( $border_style_options, [ 'none' ] ) ), ], ], ], 'boxshadow' => [ 'container_boxshadow_color' => [ 'label' => __( 'Color', 'popup-maker' ), 'type' => 'color', 'std' => '#020202', 'priority' => 10, ], 'container_boxshadow_opacity' => [ 'label' => __( 'Opacity', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 23, 'priority' => 20, 'step' => 1, 'min' => 0, 'max' => 100, 'force_minmax' => true, 'unit' => '%', ], 'container_boxshadow_horizontal' => [ 'label' => __( 'Horizontal Position', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 1, 'priority' => 30, 'step' => 1, 'min' => - 50, 'max' => 50, 'unit' => 'px', ], 'container_boxshadow_vertical' => [ 'label' => __( 'Vertical Position', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 1, 'priority' => 40, 'step' => 1, 'min' => - 50, 'max' => 50, 'unit' => 'px', ], 'container_boxshadow_blur' => [ 'label' => __( 'Blur Radius', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 3, 'priority' => 50, 'step' => 1, 'min' => 0, 'max' => 100, 'unit' => 'px', ], 'container_boxshadow_spread' => [ 'label' => __( 'Spread', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 60, 'step' => 1, 'min' => - 100, 'max' => 100, 'unit' => 'px', ], 'container_boxshadow_inset' => [ 'label' => __( 'Inset (inner shadow)', 'popup-maker' ), 'type' => 'select', 'std' => 'no', 'priority' => 70, 'options' => [ 'no' => __( 'No', 'popup-maker' ), 'yes' => __( 'Yes', 'popup-maker' ), ], ], ], ] ), 'title' => apply_filters( 'pum_theme_title_settings_fields', [ 'typography' => [ 'title_font_color' => [ 'label' => __( 'Color', 'popup-maker' ), 'type' => 'color', 'std' => '#000000', 'priority' => 10, ], 'title_font_size' => [ 'label' => __( 'Font Size', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 32, 'priority' => 20, 'step' => 1, 'min' => 8, 'max' => 48, 'unit' => 'px', ], 'title_line_height' => [ 'label' => __( 'Line Height', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 36, 'priority' => 30, 'step' => 1, 'min' => 8, 'max' => 54, 'unit' => 'px', ], 'title_font_family' => [ 'label' => __( 'Font Family', 'popup-maker' ), 'type' => 'select', 'select2' => true, 'std' => 'inherit', 'priority' => 40, 'options' => $font_family_options, ], 'title_font_weight' => [ 'label' => __( 'Font Weight', 'popup-maker' ), 'type' => 'select', 'std' => 400, 'priority' => 50, 'options' => $font_weight_options, ], 'title_font_style' => [ 'label' => __( 'Style', 'popup-maker' ), 'type' => 'select', 'std' => 'normal', 'priority' => 60, 'options' => [ '' => __( 'Normal', 'popup-maker' ), 'italic' => __( 'Italic', 'popup-maker' ), ], ], 'title_text_align' => [ 'label' => __( 'Alignment', 'popup-maker' ), 'type' => 'select', 'std' => 'left', 'priority' => 70, 'options' => [ 'left' => __( 'Left', 'popup-maker' ), 'center' => __( 'Center', 'popup-maker' ), 'right' => __( 'Right', 'popup-maker' ), 'justify' => __( 'Justify', 'popup-maker' ), ], ], ], 'textshadow' => [ 'title_textshadow_color' => [ 'label' => __( 'Color', 'popup-maker' ), 'type' => 'color', 'std' => '#020202', 'priority' => 10, ], 'title_textshadow_opacity' => [ 'label' => __( 'Opacity', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 23, 'priority' => 20, 'step' => 1, 'min' => 0, 'max' => 100, 'force_minmax' => true, 'unit' => '%', ], 'title_textshadow_horizontal' => [ 'label' => __( 'Horizontal Position', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 30, 'step' => 1, 'min' => - 50, 'max' => 50, 'unit' => 'px', ], 'title_textshadow_vertical' => [ 'label' => __( 'Vertical Position', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 40, 'step' => 1, 'min' => - 50, 'max' => 50, 'unit' => 'px', ], 'title_textshadow_blur' => [ 'label' => __( 'Blur Radius', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 50, 'step' => 1, 'min' => 0, 'max' => 100, 'unit' => 'px', ], ], ] ), 'content' => apply_filters( 'pum_theme_content_settings_fields', [ 'typography' => [ 'content_font_color' => [ 'label' => __( 'Color', 'popup-maker' ), 'type' => 'color', 'std' => '#8c8c8c', 'priority' => 10, ], 'content_font_family' => [ 'label' => __( 'Font Family', 'popup-maker' ), 'type' => 'select', 'select2' => true, 'std' => 'inherit', 'priority' => 20, 'options' => $font_family_options, ], 'content_font_weight' => [ 'label' => __( 'Font Weight', 'popup-maker' ), 'type' => 'select', 'std' => 400, 'priority' => 30, 'options' => $font_weight_options, ], 'content_font_style' => [ 'label' => __( 'Style', 'popup-maker' ), 'type' => 'select', 'std' => 'inherit', 'priority' => 40, 'options' => [ '' => __( 'Normal', 'popup-maker' ), 'italic' => __( 'Italic', 'popup-maker' ), ], ], ], ] ), 'close' => apply_filters( 'pum_theme_close_settings_fields', [ 'main' => [ 'close_text' => [ 'label' => __( 'Close Button Text', 'popup-maker' ), 'desc' => __( 'To use a Font Awesome icon instead of text, enter the CSS classes such as "fas fa-camera".', 'popup-maker' ), 'placeholder' => __( 'CLOSE', 'popup-maker' ), 'std' => __( 'CLOSE', 'popup-maker' ), 'priority' => 10, ], 'close_position_outside' => [ 'label' => __( 'Position Outside Container', 'popup-maker' ), 'desc' => __( 'This moves the position of the close button outside the popup.', 'popup-maker' ), 'type' => 'checkbox', 'priority' => 20, ], 'close_location' => [ 'label' => __( 'Location', 'popup-maker' ), 'type' => 'select', 'std' => 'topright', 'priority' => 30, 'options' => [ 'topleft' => __( 'Top Left', 'popup-maker' ), 'topcenter' => __( 'Top Center', 'popup-maker' ), 'topright' => __( 'Top Right', 'popup-maker' ), 'middleleft' => __( 'Middle Left', 'popup-maker' ), 'middleright' => __( 'Middle Right', 'popup-maker' ), 'bottomleft' => __( 'Bottom Left', 'popup-maker' ), 'bottomcenter' => __( 'Bottom Center', 'popup-maker' ), 'bottomright' => __( 'Bottom Right', 'popup-maker' ), ], ], 'close_position_top' => [ 'label' => __( 'Top', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 40, 'step' => 1, 'min' => - 100, 'max' => 100, 'unit' => 'px', 'dependencies' => [ 'close_location' => [ 'topleft', 'topcenter', 'topright' ], ], ], 'close_position_bottom' => [ 'label' => __( 'Bottom', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 50, 'step' => 1, 'min' => - 100, 'max' => 100, 'unit' => 'px', 'dependencies' => [ 'close_location' => [ 'bottomleft', 'bottomcenter', 'bottomright' ], ], ], 'close_position_left' => [ 'label' => __( 'Left', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 60, 'step' => 1, 'min' => - 100, 'max' => 100, 'unit' => 'px', 'dependencies' => [ 'close_location' => [ 'topleft', 'middleleft', 'bottomleft' ], ], ], 'close_position_right' => [ 'label' => __( 'Right', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 70, 'step' => 1, 'min' => - 100, 'max' => 100, 'unit' => 'px', 'dependencies' => [ 'close_location' => [ 'topright', 'middleright', 'bottomright' ], ], ], ], 'size' => [ 'close_padding' => [ 'label' => __( 'Padding', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 8, 'priority' => 10, 'step' => 1, 'min' => 0, 'max' => 100, 'unit' => 'px', ], 'close_height' => [ 'label' => __( 'Height', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 20, 'step' => 1, 'min' => 0, 'max' => 100, 'unit' => 'px', ], 'close_width' => [ 'label' => __( 'Width', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 30, 'step' => 1, 'min' => 0, 'max' => 100, 'unit' => 'px', ], 'close_border_radius' => [ 'label' => __( 'Border Radius', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 40, 'step' => 1, 'min' => 1, 'max' => 28, 'unit' => 'px', ], ], 'background' => [ 'close_background_color' => [ 'label' => __( 'Color', 'popup-maker' ), 'type' => 'color', 'std' => '#00b7cd', 'priority' => 10, ], 'close_background_opacity' => [ 'label' => __( 'Opacity', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 100, 'priority' => 20, 'step' => 1, 'min' => 0, 'max' => 100, 'unit' => '%', 'force_minmax' => true, ], ], 'typography' => [ 'close_font_color' => [ 'label' => __( 'Color', 'popup-maker' ), 'type' => 'color', 'std' => '#ffffff', 'priority' => 10, ], 'close_font_size' => [ 'label' => __( 'Font Size', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 12, 'priority' => 20, 'step' => 1, 'min' => 8, 'max' => 32, 'unit' => 'px', ], 'close_line_height' => [ 'label' => __( 'Line Height', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 36, 'priority' => 30, 'step' => 1, 'min' => 8, 'max' => 54, 'unit' => 'px', ], 'close_font_family' => [ 'label' => __( 'Font Family', 'popup-maker' ), 'type' => 'select', 'select2' => true, 'std' => 'inherit', 'priority' => 40, 'options' => $font_family_options, ], 'close_font_weight' => [ 'label' => __( 'Font Weight', 'popup-maker' ), 'type' => 'select', 'std' => 400, 'priority' => 50, 'options' => $font_weight_options, ], 'close_font_style' => [ 'label' => __( 'Style', 'popup-maker' ), 'type' => 'select', 'std' => 'inherit', 'priority' => 60, 'options' => [ '' => __( 'Normal', 'popup-maker' ), 'italic' => __( 'Italic', 'popup-maker' ), ], ], ], 'border' => [ 'close_border_style' => [ 'label' => __( 'Style', 'popup-maker' ), 'type' => 'select', 'std' => 'none', 'priority' => 10, 'options' => $border_style_options, ], 'close_border_color' => [ 'label' => __( 'Color', 'popup-maker' ), 'type' => 'color', 'std' => '#ffffff', 'priority' => 20, 'dependencies' => [ 'close_border_style' => array_keys( PUM_Utils_Array::remove_keys( $border_style_options, [ 'none' ] ) ), ], ], 'close_border_width' => [ 'label' => __( 'Thickness', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 1, 'priority' => 30, 'step' => 1, 'min' => 1, 'max' => 5, 'unit' => 'px', 'dependencies' => [ 'close_border_style' => array_keys( PUM_Utils_Array::remove_keys( $border_style_options, [ 'none' ] ) ), ], ], ], 'boxshadow' => [ 'close_boxshadow_color' => [ 'label' => __( 'Color', 'popup-maker' ), 'type' => 'color', 'std' => '#020202', 'priority' => 10, ], 'close_boxshadow_opacity' => [ 'label' => __( 'Opacity', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 23, 'priority' => 20, 'step' => 1, 'min' => 0, 'max' => 100, 'unit' => '%', 'force_minmax' => true, ], 'close_boxshadow_horizontal' => [ 'label' => __( 'Horizontal Position', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 1, 'priority' => 30, 'step' => 1, 'min' => - 50, 'max' => 50, 'unit' => 'px', ], 'close_boxshadow_vertical' => [ 'label' => __( 'Vertical Position', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 1, 'priority' => 40, 'step' => 1, 'min' => - 50, 'max' => 50, 'unit' => 'px', ], 'close_boxshadow_blur' => [ 'label' => __( 'Blur Radius', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 3, 'priority' => 50, 'step' => 1, 'min' => 0, 'max' => 100, 'unit' => 'px', ], 'close_boxshadow_spread' => [ 'label' => __( 'Spread', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 60, 'step' => 1, 'min' => - 100, 'max' => 100, 'unit' => 'px', ], 'close_boxshadow_inset' => [ 'label' => __( 'Inset (inner shadow)', 'popup-maker' ), 'type' => 'select', 'std' => 'no', 'priority' => 70, 'options' => [ 'no' => __( 'No', 'popup-maker' ), 'yes' => __( 'Yes', 'popup-maker' ), ], ], ], 'textshadow' => [ 'close_textshadow_color' => [ 'label' => __( 'Color', 'popup-maker' ), 'type' => 'color', 'std' => '#000000', 'priority' => 10, ], 'close_textshadow_opacity' => [ 'label' => __( 'Opacity', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 23, 'priority' => 20, 'step' => 1, 'min' => 0, 'max' => 100, 'force_minmax' => true, 'unit' => '%', ], 'close_textshadow_horizontal' => [ 'label' => __( 'Horizontal Position', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 30, 'step' => 1, 'min' => - 50, 'max' => 50, 'unit' => 'px', ], 'close_textshadow_vertical' => [ 'label' => __( 'Vertical Position', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 40, 'step' => 1, 'min' => - 50, 'max' => 50, 'unit' => 'px', ], 'close_textshadow_blur' => [ 'label' => __( 'Blur Radius', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 50, 'step' => 1, 'min' => 0, 'max' => 100, 'unit' => 'px', ], ], ] ), 'advanced' => apply_filters( 'pum_theme_advanced_settings_fields', [ 'main' => [], ] ), ] ); $fields = self::append_deprecated_fields( $fields ); $fields = PUM_Utils_Fields::parse_tab_fields( $fields, [ 'has_sections' => true, 'name' => 'theme_settings[%s]', ] ); } return $fields; } public static function append_deprecated_fields( $fields = [] ) { global $post; if ( class_exists( 'PUM_ATB' ) && has_action( 'popmake_popup_theme_overlay_meta_box_fields' ) ) { ob_start(); do_action( 'popmake_popup_theme_overlay_meta_box_fields', $post->ID ); $content = self::fix_deprecated_fields( ob_get_clean() ); $fields['overlay']['background']['deprecated_fields'] = [ 'type' => 'html', 'content' => $content, 'priority' => 999, ]; // Remove duplicate fields. unset( $fields['overlay']['background']['overlay_background_color'] ); unset( $fields['overlay']['background']['overlay_background_opacity'] ); } if ( class_exists( 'PUM_ATB' ) && has_action( 'popmake_popup_theme_container_meta_box_fields' ) ) { ob_start(); do_action( 'popmake_popup_theme_container_meta_box_fields', $post->ID ); $content = self::fix_deprecated_fields( ob_get_clean() ); $fields['container']['background']['deprecated_fields'] = [ 'type' => 'html', 'content' => $content, 'priority' => 999, ]; // Remove duplicate fields. unset( $fields['container']['background']['container_background_color'] ); unset( $fields['container']['background']['container_background_opacity'] ); } if ( class_exists( 'PUM_ATB' ) && has_action( 'popmake_popup_theme_close_meta_box_fields' ) ) { ob_start(); do_action( 'popmake_popup_theme_close_meta_box_fields', $post->ID ); $content = self::fix_deprecated_fields( ob_get_clean() ); $fields['close']['background']['deprecated_fields'] = [ 'type' => 'html', 'content' => $content, 'priority' => 999, ]; // Remove duplicate fields. unset( $fields['close']['background']['close_background_color'] ); unset( $fields['close']['background']['close_background_opacity'] ); } return $fields; } public static function fix_deprecated_fields( $content = '' ) { // Remove "Background" heading. $content = str_replace( '<tr class="title-divider"> <th colspan="2"> <h3 class="title">Background</h3> </th> </tr>', '', $content ); // Fix broken opacity fields. $content = str_replace( [ 'class="bg_opacity"', 'class="bg_overlay_opacity"' ], [ 'class="bg_opacity pum-field-rangeslider"', 'class="bg_overlay_opacity pum-field-rangeslider"' ], $content ); // TEMPORARY. REMOVE THIS $content = '<table class="form-table"><tbody>' . $content . '</tbody></table>'; return $content; } /** * @return array */ public static function defaults() { return PUM_Utils_Fields::get_form_default_values( self::fields() ); } } classes/Admin/Support.php 0000644 00000002775 15174671772 0011452 0 ustar 00 <?php /** * Class for Admin Support * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Admin_Support */ class PUM_Admin_Support { /** * Support Page * * Renders the support page contents. */ public static function page() { ?> <style> .pum-secure-notice { position: fixed; top: 32px; left: 160px; right: 0; background: #ebfdeb; padding: 10px 20px; color: green; z-index: 9999; box-shadow: 0 2px 2px rgba(6, 113, 6, 0.3); opacity: 0.95; filter: alpha(opacity=95); } #pum-support-frame { margin: 40px 0 -65px -20px; } #pum-support-frame iframe { width: 100%; border: 0; transition: scroll .5s; } </style> <div class="pum-secure-notice"> <i class="dashicons dashicons-lock"></i> <span><?php echo wp_kses( __( '<b>Secure HTTPS contact page</b>, running via iframe from external domain', 'popup-maker' ), [ 'b' => [] ] ); ?> </span> <i class="dashicons dashicons-info" title="https://api.wppopupmaker.com/dashboard-support/"></i> </div> <div id="pum-support-frame" class="wrap"> <script type="text/javascript"> (function ($) { var frame = $('<iframe scrolling="no">') .css({height: '535px'}) .attr('src', 'https://api.wppopupmaker.com/dashboard-support/') .appendTo('#pum-support-frame'); frame.iFrameResize({ checkOrigin: false }); })(jQuery); </script> </div> <?php } } classes/Admin/Shortcode/UI.php 0000644 00000013716 15174671772 0012242 0 ustar 00 <?php /** * Admin Shortcode UI Handler * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Admin_Shortcode_UI * * This class maintains a global set of all registered PUM shortcodes. * * @since 1.7.0 */ class PUM_Admin_Shortcode_UI { private static $initialized = false; /** * Here for backward compatibility with 3rd party plugins. * * @deprecated 1.7.0 */ public static function instance() { self::init(); } public static function init() { if ( ! self::$initialized ) { add_action( 'admin_init', [ __CLASS__, 'init_editor' ], 20 ); self::$initialized = true; } } /** * Initialize the editor button when needed. */ public static function init_editor() { /* * Check if the logged in WordPress User can edit Posts or Pages. */ if ( ! current_user_can( 'edit_posts' ) && ! current_user_can( 'edit_pages' ) ) { return; } /* * Check if the logged in WordPress User has the Visual Editor enabled. */ if ( get_user_option( 'rich_editing' ) !== 'true' ) { return; } /* * Check if the shortcode ui disabled. */ if ( apply_filters( 'pum_disable_shortcode_ui', false ) || pum_get_option( 'disable_shortcode_ui' ) ) { return; } // Add shortcode ui button & js. add_filter( 'mce_buttons', [ __CLASS__, 'mce_buttons' ] ); add_filter( 'mce_external_plugins', [ __CLASS__, 'mce_external_plugins' ] ); // Add core site styles for form previews. add_editor_style( Popup_Maker::$URL . 'dist/assets/site.css' ); // Process live previews. add_action( 'wp_ajax_pum_do_shortcode', [ __CLASS__, 'do_shortcode' ] ); // add_action( 'wp_ajax_pum_do_shortcode', array( __CLASS__, 'wp_ajax_pum_do_shortcode' ) ); } /** * Adds our tinymce button * * @param array $buttons * * @return array */ public static function mce_buttons( $buttons ) { // Enqueue scripts when editor is detected. if ( ! did_action( 'admin_enqueue_scripts' ) ) { add_action( 'admin_enqueue_scripts', [ __CLASS__, 'enqueue_scripts' ], 120 ); // 120 because core styles are registered at 100 for some reason. } else { self::enqueue_scripts(); } array_push( $buttons, 'pum_shortcodes' ); return $buttons; } /** * Enqueues needed assets. */ public static function enqueue_scripts() { // Register editor styles. add_editor_style( PUM_Admin_Assets::$css_url . 'admin-editor-styles.css' ); wp_enqueue_style( 'pum-admin-shortcode-ui' ); wp_enqueue_script( 'pum-admin-shortcode-ui' ); wp_localize_script( 'pum-admin-shortcode-ui', 'pum_shortcode_ui_vars', apply_filters( 'pum_shortcode_ui_vars', [ 'nonce' => wp_create_nonce( 'pum-shortcode-ui-nonce' ), 'I10n' => [ 'insert' => __( 'Insert', 'popup-maker' ), 'cancel' => __( 'Cancel', 'popup-maker' ), 'shortcode_ui_button_tooltip' => __( 'Popup Maker Shortcodes', 'popup-maker' ), 'error_loading_shortcode_preview' => __( 'There was an error in generating the preview', 'popup-maker' ), ], 'shortcodes' => self::shortcode_ui_var(), ] ) ); } /** * Generates a json object variable to pass to the Shortcode UI front end. * * @return array */ public static function shortcode_ui_var() { $type = pum_typenow(); $shortcodes = []; foreach ( PUM_Shortcodes::instance()->get_shortcodes() as $tag => $shortcode ) { $post_types = apply_filters( 'pum_shortcode_post_types', $shortcode->post_types(), $shortcode ); /** * @var $shortcode PUM_Shortcode */ if ( ! in_array( '*', $post_types, true ) && ! in_array( $type, $post_types, true ) ) { continue; } $shortcodes[ $tag ] = [ 'version' => $shortcode->version, 'label' => $shortcode->label(), 'description' => $shortcode->description(), 'tabs' => $shortcode->_tabs(), 'sections' => $shortcode->_subtabs(), 'fields' => $shortcode->_fields(), 'has_content' => $shortcode->has_content, 'ajax_rendering' => $shortcode->ajax_rendering, ]; } return $shortcodes; } /** * Adds our tinymce plugin js * * @param array $plugin_array * * @return array */ public static function mce_external_plugins( $plugin_array ) { if ( ! is_array( $plugin_array ) ) { $plugin_array = []; } return array_merge( $plugin_array, [ 'pum_shortcodes' => add_query_arg( [ 'version' => Popup_Maker::$VER ], PUM_Admin_Assets::$js_url . 'mce-buttons.js' ), ] ); } public static function do_shortcode() { check_ajax_referer( 'pum-shortcode-ui-nonce', 'nonce' ); $tag = ! empty( $_REQUEST['tag'] ) ? sanitize_key( $_REQUEST['tag'] ) : false; $shortcode = ! empty( $_REQUEST['shortcode'] ) ? stripslashes( sanitize_text_field( wp_unslash( $_REQUEST['shortcode'] ) ) ) : null; $post_id = isset( $_REQUEST['post_id'] ) ? intval( $_REQUEST['post_id'] ) : null; if ( ! current_user_can( 'edit_post', $post_id ) ) { return esc_html__( 'You do not have access to preview this post.', 'popup-maker' ); } /** @var PUM_Shortcode $shortcode */ $shortcode_object = PUM_Shortcodes::instance()->get_shortcode( $tag ); if ( ! defined( 'PUM_DOING_PREVIEW' ) ) { define( 'PUM_DOING_PREVIEW', true ); } /** * Often the global $post is not set yet. Set it in case for proper rendering. */ if ( ! empty( $post_id ) ) { global $post; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited $post = get_post( $post_id ); setup_postdata( $post ); } /** @var string $content Rendered shortcode content. */ $content = PUM_Helpers::do_shortcode( $shortcode ); /** If no matching tag or $content wasn't rendered die. */ if ( ! $shortcode_object || $content === $shortcode ) { wp_send_json_error(); } /** Generate inline styles when needed. */ $styles = '<style>' . $shortcode_object->get_template_styles() . '</style>'; wp_send_json_success( $styles . $content ); } } classes/Site/Popups.php 0000644 00000007203 15174671772 0011127 0 ustar 00 <?php /** * Site Popups * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class Post_Types */ class PUM_Site_Popups { /** * @var PUM_Popup|null * * @deprecated 1.8.0 */ public static $current; /** * @var WP_Query|null */ public static $loaded; /** * @var array */ public static $cached_content = []; /** * @var array */ public static $loaded_ids = []; /** * Hook the initialize method to the WP init action. */ public static function init() { } /** * Returns the current popup. * * @param bool|object|null $new_popup * * @return null|PUM_Model_Popup * * @deprecated 1.8.0 Use pum()->current_popup directly or PopupMaker\set_current_popup() */ public static function current_popup( $new_popup = false ) { return \PopupMaker\get_current_popup(); } /** * Gets the loaded popup query. * * @return null|WP_Query * @deprecated 1.21.0 Use \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->get_loaded_popups */ public static function get_loaded_popups() { return \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->get_loaded_popups(); } /** * Preload popups in the head and determine if they will be rendered or not. * * @uses `pum_preload_popup` filter * @uses `popmake_preload_popup` filter * * @deprecated 1.21.0 Use \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->preload_popups */ public static function load_popups() { \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->preload_popups(); } /** * Checks post content to see if there are popups we need to automagically load * * @param string $content The content from the filter. * @return string The content. * @since 1.15 * @deprecated 1.21.0 Use \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->check_content_for_popups */ public static function check_content_for_popups( $content ) { return \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->check_content_for_popups( $content ); } /** * Preloads popup, if enabled * * @param int $popup_id The popup's ID. * @since 1.15 * @deprecated 1.21.0 Use \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->preload_popup_by_id_if_enabled */ public static function preload_popup_by_id_if_enabled( $popup_id ) { \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->maybe_preload_popup( $popup_id ); } /** * Preload a popup. * * @param PUM_Model_Popup $popup * @deprecated 1.21.0 Use \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->preload_popup */ public static function preload_popup( $popup ) { \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->preload_popup( $popup ); } /** * @deprecated 1.8.0 Use \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->preload_popup */ public static function load_popup( $id ) { $popup = pum_get_popup( $id ); if ( $popup && $popup->is_valid() ) { \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->preload_popup( $popup ); } } /** * Render the popups in the footer. * * @deprecated 1.21.0 Use \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->render_popups */ public static function render_popups() { \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->render_popups(); } /** * @param $popup_id * * @return string|bool * * @deprecated 1.21.0 Use \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->get_content_cache */ public static function get_cache_content( $popup_id ) { return \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->get_content_cache( $popup_id ); } } classes/Site/Assets.php 0000644 00000033327 15174671772 0011111 0 ustar 00 <?php /** * Site Assets * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ class PUM_Site_Assets { /** * @var string */ public static $cache_url; /** * @var string */ public static $suffix; /** * @var string */ public static $js_url; /** * @var string */ public static $css_url; /** * @var array */ public static $enqueued_scripts = []; /** * @var array */ public static $enqueued_styles = []; /** * @var bool */ public static $scripts_registered = false; /** * @var bool */ public static $styles_registered = false; /** * @var bool Use minified libraries if SCRIPT_DEBUG is turned off. */ public static $debug; /** * Initialize */ public static function init() { self::$cache_url = PUM_Helpers::get_cache_dir_url(); self::$debug = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG; self::$suffix = self::$debug ? '' : '.min'; self::$js_url = Popup_Maker::$URL . 'dist/assets/'; self::$css_url = Popup_Maker::$URL . 'dist/assets/'; // Register assets early. add_action( 'wp_enqueue_scripts', [ __CLASS__, 'register_styles' ], 9 ); add_action( 'wp_enqueue_scripts', [ __CLASS__, 'register_scripts' ], 9 ); // Localize after popups rendered in PUM_Site_Popups. add_action( 'wp_footer', [ __CLASS__, 'late_localize_scripts' ], 19 ); // Checks preloaded popups in the head for which assets to enqueue. add_action( 'pum_preload_popup', [ __CLASS__, 'enqueue_popup_assets' ] ); add_filter( 'wp_enqueue_scripts', [ __CLASS__, 'enqueue_page_assets' ] ); // add_action( 'wp_enqueue_scripts', [ __CLASS__, 'fix_broken_extension_scripts' ], 100 ); // Allow forcing assets to load. add_action( 'wp_head', [ __CLASS__, 'check_force_script_loading' ] ); } public static function fix_broken_extension_scripts() { if ( wp_script_is( 'pum_aweber_integration_js' ) && class_exists( 'PUM_Aweber_Integration' ) && defined( 'PUM_AWEBER_INTEGRATION_VER' ) && version_compare( PUM_AWEBER_INTEGRATION_VER, '1.1.0', '<' ) ) { wp_dequeue_script( 'pum_aweber_integration_js' ); wp_dequeue_style( 'pum_aweber_integration_css' ); wp_dequeue_script( 'pum_newsletter_script' ); wp_dequeue_style( 'pum-newsletter-styles' ); wp_enqueue_style( 'pum-newsletter-styles', PUM_AWEBER_INTEGRATION_URL . '/includes/pum-newsletters/newsletter-styles.css', [], PUM_AWEBER_INTEGRATION_VER ); wp_enqueue_script( 'pum_newsletter_script', PUM_AWEBER_INTEGRATION_URL . '/includes/pum-newsletters/newsletter-scripts.js', [ 'jquery', 'popup-maker-site', ], PUM_AWEBER_INTEGRATION_VER, true ); } $mc_ver_test = in_array( true, [ class_exists( 'PUM_MailChimp_Integration' ) && defined( 'PUM_MAILCHIMP_INTEGRATION_VER' ) && PUM_MAILCHIMP_INTEGRATION_VER, class_exists( 'PUM_MCI' ) && version_compare( PUM_MCI::$VER, '1.3.0', '<' ), ], true ); if ( $mc_ver_test ) { wp_dequeue_script( 'pum_mailchimp_integration_admin_js' ); wp_dequeue_style( 'pum_mailchimp_integration_admin_css' ); wp_dequeue_script( 'pum-mci' ); wp_dequeue_style( 'pum-mci' ); wp_dequeue_script( 'pum-newsletter-site' ); wp_dequeue_style( 'pum-newsletter-site' ); wp_enqueue_style( 'pum-newsletter-site', PUM_NEWSLETTER_URL . 'assets/css/pum-newsletter-site.css', null, PUM_NEWSLETTER_VERSION ); wp_enqueue_script( 'pum-newsletter-site', PUM_NEWSLETTER_URL . 'assets/js/pum-newsletter-site.js', [ 'jquery' ], PUM_NEWSLETTER_VERSION, true ); wp_localize_script( 'pum-newsletter-site', 'pum_sub_vars', [ 'ajaxurl' => admin_url( 'admin-ajax.php' ), 'message_position' => 'top', ] ); } } /** * Checks the current page content for the newsletter shortcode. */ public static function enqueue_page_assets() { global $post; if ( ! empty( $post ) && isset( $post->post_content ) && has_shortcode( $post->post_content, 'pum_sub_form' ) ) { wp_enqueue_script( 'popup-maker-site' ); wp_enqueue_style( 'popup-maker-site' ); } } /** * @param int $popup_id */ public static function enqueue_popup_assets( $popup_id = 0 ) { /** * TODO Replace this with a pum_get_popup function after new Popup model is in place. * * $popup = pum_get_popup( $popup_id ); * * if ( ! pum_is_popup( $popup ) ) { * return; * } */ $popup = new PUM_Popup( $popup_id ); wp_enqueue_script( 'popup-maker-site' ); wp_enqueue_style( 'popup-maker-site' ); if ( $popup->mobile_disabled() || $popup->tablet_disabled() ) { wp_enqueue_script( 'mobile-detect' ); } /* * TODO Implement this in core $popup model & advanced targeting conditions. * * if ( $popup->has_condition( array( * 'device_is_mobile', * 'device_is_phone', * 'device_is_tablet', * 'device_is_brand', * ) ) ) { * self::enqueue_script( 'mobile-detect' ); * } */ } /** * Register JS. */ public static function register_scripts() { self::$scripts_registered = true; wp_register_script( 'mobile-detect', self::$js_url . 'vendor/mobile-detect.min.js', null, '1.3.3', true ); wp_register_script( 'iframe-resizer', self::$js_url . 'vendor/iframeResizer.min.js', [ 'jquery' ], '4.3.1', false ); if ( PUM_AssetCache::enabled() && false !== self::$cache_url ) { $cached = get_option( 'pum-has-cached-js' ); if ( ! $cached || self::$debug ) { PUM_AssetCache::cache_js(); $cached = get_option( 'pum-has-cached-js' ); } // Get base dependencies and merge with collected dependencies from bundled scripts. $base_deps = [ 'jquery', 'jquery-ui-core', 'jquery-ui-position', 'wp-hooks', ]; $bundled_deps = PUM_AssetCache::get_bundled_script_dependencies(); $merged_deps = array_unique( array_merge( $base_deps, $bundled_deps ) ); $cached_script_deps = apply_filters( 'pum_site_cached_scripts_dependencies', $merged_deps ); wp_register_script( 'popup-maker-site', self::$cache_url . '/' . PUM_AssetCache::generate_cache_filename( 'pum-site-scripts' ) . '.js?defer&generated=' . $cached, $cached_script_deps, Popup_Maker::$VER, true ); do_action( 'pum_registered_cached_scripts' ); } else { wp_register_script( 'popup-maker-site', self::$js_url . 'site.js?defer', [ 'jquery', 'jquery-ui-core', 'jquery-ui-position', ], Popup_Maker::$VER, true ); } do_action( 'pum_registered_scripts' ); if ( popmake_get_option( 'enable_easy_modal_compatibility_mode', false ) ) { wp_register_script( 'popup-maker-easy-modal-importer-site', self::$js_url . 'popup-maker-easy-modal-importer-site.js?defer', [ 'popup-maker-site' ], POPMAKE_VERSION, true ); } self::localize_scripts(); } /** * Localize scripts if enqueued. */ public static function localize_scripts() { $site_home_path = wp_parse_url( home_url() ); $site_home_path = isset( $site_home_path['path'] ) ? $site_home_path['path'] : '/'; wp_localize_script( 'popup-maker-site', 'pum_vars', apply_filters( 'pum_vars', [ 'version' => Popup_Maker::$VER, 'pm_dir_url' => Popup_Maker::$URL, 'ajaxurl' => admin_url( 'admin-ajax.php' ), 'restapi' => function_exists( 'rest_url' ) ? esc_url_raw( rest_url( 'pum/v1' ) ) : false, 'rest_nonce' => is_user_logged_in() ? wp_create_nonce( 'wp_rest' ) : null, 'default_theme' => (string) pum_get_default_theme_id(), 'debug_mode' => Popup_Maker::debug_mode(), 'disable_tracking' => popmake_get_option( 'disable_popup_open_tracking' ), 'home_url' => trailingslashit( $site_home_path ), 'message_position' => 'top', 'core_sub_forms_enabled' => ! PUM_Newsletters::$disabled, 'popups' => [], 'cookie_domain' => apply_filters( 'pum_cookie_domain', '' ), ] ) ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( Popup_Maker::debug_mode() || isset( $_GET['pum_debug'] ) ) { wp_localize_script( 'popup-maker-site', 'pum_debug_vars', apply_filters( 'pum_debug_vars', [ 'debug_mode_enabled' => __( 'Popup Maker', 'popup-maker' ) . ': ' . __( 'Debug Mode Enabled', 'popup-maker' ), 'debug_started_at' => __( 'Debug started at:', 'popup-maker' ), 'debug_more_info' => sprintf( /* translators: 1. URL to documentation. */ __( 'For more information on how to use this information visit %s', 'popup-maker' ), 'https://wppopupmaker.com/docs/?utm_medium=js-debug-info&utm_campaign=contextual-help&utm_source=browser-console&utm_content=more-info' ), 'global_info' => __( 'Global Information', 'popup-maker' ), 'localized_vars' => __( 'Localized variables', 'popup-maker' ), 'popups_initializing' => __( 'Popups Initializing', 'popup-maker' ), 'popups_initialized' => __( 'Popups Initialized', 'popup-maker' ), 'single_popup_label' => __( 'Popup: #', 'popup-maker' ), 'theme_id' => __( 'Theme ID: ', 'popup-maker' ), 'label_method_call' => __( 'Method Call:', 'popup-maker' ), 'label_method_args' => __( 'Method Arguments:', 'popup-maker' ), 'label_popup_settings' => __( 'Settings', 'popup-maker' ), 'label_triggers' => __( 'Triggers', 'popup-maker' ), 'label_cookies' => __( 'Cookies', 'popup-maker' ), 'label_delay' => __( 'Delay:', 'popup-maker' ), 'label_conditions' => __( 'Conditions', 'popup-maker' ), 'label_cookie' => __( 'Cookie:', 'popup-maker' ), 'label_settings' => __( 'Settings:', 'popup-maker' ), 'label_selector' => __( 'Selector:', 'popup-maker' ), 'label_mobile_disabled' => __( 'Mobile Disabled:', 'popup-maker' ), 'label_tablet_disabled' => __( 'Tablet Disabled:', 'popup-maker' ), /* translators: 1. Event name. */ 'label_event' => __( 'Event: %s', 'popup-maker' ), 'triggers' => PUM_Triggers::instance()->dropdown_list(), 'cookies' => PUM_Cookies::instance()->dropdown_list(), ] ) ); } /* Here for backward compatibility. */ wp_localize_script( 'popup-maker-site', 'pum_sub_vars', [ 'ajaxurl' => admin_url( 'admin-ajax.php' ), 'message_position' => 'top', ] ); } /** * Localize late script vars if enqueued. */ public static function late_localize_scripts() { // If scripts not rendered, localize these vars. Otherwise echo them manually. if ( ! wp_script_is( 'popup-maker-site', 'done' ) ) { wp_localize_script( 'popup-maker-site', 'pum_popups', self::get_popup_settings() ); } else { echo "<script type='text/javascript'>"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo 'window.pum_popups = ' . PUM_Utils_Array::safe_json_encode( self::get_popup_settings() ) . ';'; // Backward compatibility fill. echo 'window.pum_vars = window.pum_vars || {}; window.pum_vars.popups = window.pum_popups;'; echo '</script>'; } } /** * Gets public settings for each popup for a global JS variable. * * @return array */ public static function get_popup_settings() { $popups = \PopupMaker\plugin()->get_controller( 'Frontend\Popups' )->get_loaded_popups(); $settings = []; // Get current popup to restore later. $current_popup = \PopupMaker\get_current_popup(); if ( $popups ) { foreach ( $popups as $popup ) { \PopupMaker\set_current_popup( $popup ); // Set the key to the CSS id of this popup for easy lookup. $settings[ 'pum-' . $popup->ID ] = $popup->get_public_settings(); } // Restore current popup. \PopupMaker\set_current_popup( $current_popup ); } return $settings; } /** * Register CSS. */ public static function register_styles() { self::$styles_registered = true; if ( PUM_AssetCache::enabled() && false !== self::$cache_url ) { $cached = get_option( 'pum-has-cached-css' ); if ( ! $cached || self::$debug ) { PUM_AssetCache::cache_css(); $cached = get_option( 'pum-has-cached-css' ); } // Get collected dependencies from bundled styles. $bundled_style_deps = PUM_AssetCache::get_bundled_style_dependencies(); $cached_style_deps = apply_filters( 'pum_site_cached_styles_dependencies', $bundled_style_deps ); wp_register_style( 'popup-maker-site', self::$cache_url . '/' . PUM_AssetCache::generate_cache_filename( 'pum-site-styles' ) . '.css?generated=' . $cached, $cached_style_deps, Popup_Maker::$VER ); do_action( 'pum_registered_cached_styles' ); } else { wp_register_style( 'popup-maker-site', self::$css_url . 'site' . ( is_rtl() ? '-rtl' : '' ) . '.css', [], Popup_Maker::$VER ); self::inline_styles(); } do_action( 'pum_registered_styles' ); } /** * Render popup inline styles. */ public static function inline_styles() { if ( ( current_action() === 'wp_head' && popmake_get_option( 'disable_popup_theme_styles', false ) ) || ( current_action() === 'admin_head' && ! popmake_is_admin_popup_page() ) ) { return; } wp_add_inline_style( 'popup-maker-site', PUM_AssetCache::inline_css() ); } /** * Defers loading of scripts with ?defer parameter in url. * * @param string $url URL being cleaned * * @return string $url */ public static function defer_js_url( $url ) { if ( false === strpos( $url, '.js?defer' ) ) { // not our file return $url; } return "$url' defer='defer"; } /** * */ public static function check_force_script_loading() { global $wp_query; if ( ( ! empty( $wp_query->post ) && has_shortcode( $wp_query->post->post_content, 'popup' ) ) || ( defined( 'POPMAKE_FORCE_SCRIPTS' ) && POPMAKE_FORCE_SCRIPTS ) ) { wp_enqueue_script( 'popup-maker-site' ); wp_enqueue_style( 'popup-maker-site' ); } } } classes/DataStorage.php 0000644 00000000576 15174671772 0011141 0 ustar 00 <?php /** * DataStorage class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Initializes a temporary data storage engine used by core in various capacities. * * @since 1.7.0 * * @deprecated 1.8.0 Use PUM_Utils_DataStorage instead. */ class PUM_DataStorage extends PUM_Utils_DataStorage {} classes/Newsletter/Provider.php 0000644 00000001630 15174671772 0012661 0 ustar 00 <?php /** * Newsletter Provider Base class * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Newsletter_Provider * * @deprecated 1.7.0 */ abstract class PUM_Newsletter_Provider extends PUM_Abstract_Provider { public function __construct() { parent::__construct(); remove_filter( 'pum_settings_fields', [ $this, 'register_settings' ] ); add_filter( 'pum_settings_fields', [ $this, 'process_deprecated_settings_fields' ] ); // add_filter( 'pum_newsletter_settings', array( $this, 'register_settings' ) ); } /** * Process deprecated settings field registration from extensions that haven't updated. * * @param $fields * * @return mixed */ public function process_deprecated_settings_fields( $fields ) { $fields['subscriptions'][ $this->id ] = $this->register_settings(); return $fields; } } classes/Newsletter/Providers.php 0000644 00000002453 15174671772 0013050 0 ustar 00 <?php /** * Handler for Newsletter Providers * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Newsletter_Providers * * This class maintains a global set of all registered PUM newsletter providers. */ class PUM_Newsletter_Providers { /** * @var PUM_Newsletter_Providers */ public static $instance; /** * @var array */ public $providers = []; /** * @return PUM_Newsletter_Providers */ public static function instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } public function add_provider( PUM_Abstract_Provider $provider ) { $this->providers[ $provider->id ] = $provider; } /** * @return array PUM_Shortcode */ public function get_providers() { return $this->providers; } public static function selectlist() { $selectlist = []; foreach ( self::instance()->get_providers() as $id => $provider ) { $selectlist[ $provider->name ] = $id; } return $selectlist; } /** * @return array */ public static function dropdown_list() { $providers = self::instance()->get_providers(); $list = []; foreach ( $providers as $id => $provider ) { $list[ $id ] = $provider->name; } return $list; } } classes/Shortcode/CallToAction.php 0000644 00000012241 15174671772 0013201 0 ustar 00 <?php /** * Call To Action shortcode class. * * @since 1.21.0 * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ defined( 'ABSPATH' ) || exit; /** * Class PUM_Shortcode_CallToAction */ class PUM_Shortcode_CallToAction extends PUM_Shortcode { /** * Shortcode API Version. * * @var int */ public $version = 2; /** * Has inner content. * * @var bool */ public $has_content = false; /** * Enable ajax rendering. * * @var boolean */ public $ajax_rendering = true; /** * The shortcode tag. */ public function tag() { return 'pum_cta'; } /** * Shortcode label. * * @return string */ public function label() { return __( 'CTA Button', 'popup-maker' ); } /** * Shortcode description. * * @return string */ public function description() { return __( 'Insert a call to action to let users convert to a specific action.', 'popup-maker' ); } /** * Post types this shortcode is enabled for. * * @return array */ public function post_types() { return [ 'popup' ]; } /** * Array of fields for the CTA shortcode. * * @return array */ public function fields() { $ctas = []; // If we are in a post type editor fill the ctas array with the available CTA's. if ( is_admin() && pum_is_popup_editor() ) { // $ctas = \PopupMaker\plugin( 'ctas' )->generate_selectlist_query(); } // TODO This might best be handled as block textarea or shortcode inner content. // CONSIDER renaming this to inner_content to replace the built in. $fields = [ 'general' => [ 'main' => [ 'id' => [ 'type' => 'postselect', 'post_type' => 'pum_cta', 'label' => __( 'Which type of CTA would you like to use?', 'popup-maker' ), // 'options' => array_merge( // [ // [ // 'value' => '', // 'label' => __( 'Select a Call to Action', 'popup-maker' ), // ], // ], // $ctas // ), 'std' => '', 'priority' => 0, ], 'link_target' => [ 'type' => 'radio', 'label' => __( 'Open in a new tab?', 'popup-maker' ), 'options' => [ '_self' => __( 'No', 'popup-maker' ), '_blank' => __( 'Yes', 'popup-maker' ), ], 'std' => '_self', 'priority' => 0.1, ], 'text' => [ 'type' => 'text', 'label' => __( 'Enter text for your call to action.', 'popup-maker' ), 'std' => __( 'Learn more', 'popup-maker' ), 'priority' => 0.2, ], ], ], 'appearance' => [ 'main' => [ 'style' => [ 'type' => 'radio', 'label' => __( 'Choose a style.', 'popup-maker' ), 'options' => [ 'fill' => __( 'Fill', 'default' ), 'outline' => __( 'Outline', 'default' ), 'text-only' => __( 'Text Only', 'popup-maker' ), ], 'std' => 'fill', 'priority' => 1.1, ], 'align' => [ 'type' => 'select', 'label' => __( 'Alignment', 'popup-maker' ), 'options' => [ 'left' => __( 'Left', 'popup-maker' ), 'center' => __( 'Center', 'popup-maker' ), 'right' => __( 'Right', 'popup-maker' ), 'full' => __( 'Full', 'popup-maker' ), ], 'priority' => 1.2, ], 'extra_link_classes' => [ 'type' => 'text', 'label' => __( 'Additional CSS classes.', 'popup-maker' ), 'std' => '', 'priority' => 1.3, ], ], ], 'extra' => [ 'main' => [], ], ]; return $fields; } /** * Shortcode handler. * * This calls our chosen CTA's render method. * * @param array $atts Shortcode attributes. * @param string $content Shortcode content. * * @return string */ public function handler( $atts, $content = null ) { $atts = $this->shortcode_atts( $atts ); $cta_id = $atts['id']; $target = $atts['link_target']; $text = ! empty( $atts['text'] ) ? $atts['text'] : $content; $style = $atts['style']; $align = $atts['align']; $cta = \PopupMaker\get_cta_by_id( $cta_id ); if ( ! $cta ) { return 'Missing Call To Action'; } $type = $cta->get_setting( 'type', 'link' ); $uuid = $cta->get_uuid(); // Get the current popup id. $popup_id = pum_get_popup_id(); $url = $cta->generate_url('', [ 'pid' => $popup_id ? $popup_id : null, ]); $wrapper_classes = [ 'pum-cta-wrapper', 'align' . $align, 'is-style-' . $style, 'text-only' === $atts['style'] ? 'pum-cta--button' : null, ]; $cta_content = sprintf( "<a href='%s' class='pum-cta %s' target='%s' data-cta-type='%s' rel='noreferrer noopener'>%s</a>", esc_url_raw( $url ), esc_attr( $atts['extra_link_classes'] ), esc_attr( $target ), esc_attr( $type ), esc_html( $text ) ); ob_start(); ?> <div class="<?php echo esc_attr( implode( ' ', array_filter( $wrapper_classes ) ) ); ?>"> <?php echo wp_kses( $cta_content, [ 'a' => [ 'href' => true, 'class' => true, 'target' => true, 'rel' => true, 'data-cta-type' => true, ], ] ); ?> </div> <?php return ob_get_clean(); } } classes/Shortcode/Popup.php 0000644 00000031352 15174671772 0011774 0 ustar 00 <?php /** * Shortcode for Popup * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Shortcode_Popup * * Registers the popup_close shortcode. */ class PUM_Shortcode_Popup extends PUM_Shortcode { public $version = 2; public $has_content = true; public $inner_content_priority = 15; /** * The shortcode tag. */ public function tag() { return 'popup'; } public function label() { return __( 'Popup', 'popup-maker' ); } public function description() { return __( 'Insert a popup inline rather. Great for simple popups used for supporting content.', 'popup-maker' ); } public function inner_content_labels() { return [ 'label' => __( 'Content', 'popup-maker' ), 'description' => __( 'Can contain other shortcodes, images, text or html content.', 'popup-maker' ), ]; } public function post_types() { return []; } /** * @return array */ public function tabs() { return [ 'general' => __( 'General', 'popup-maker' ), 'display' => __( 'Display', 'popup-maker' ), 'position' => __( 'Position', 'popup-maker' ), 'animation' => __( 'Animation', 'popup-maker' ), 'close' => __( 'Close', 'popup-maker' ), ]; } /** * @return array */ public function subtabs() { return apply_filters( 'pum_sub_form_shortcode_subtabs', [ 'general' => [ 'main' => __( 'General', 'popup-maker' ), ], 'display' => [ 'main' => __( 'Display', 'popup-maker' ), ], 'position' => [ 'main' => __( 'Position', 'popup-maker' ), ], 'animation' => [ 'main' => __( 'Animation', 'popup-maker' ), ], 'close' => [ 'main' => __( 'Close', 'popup-maker' ), ], ] ); } public function fields() { return [ 'general' => [ 'main' => [ 'id' => [ 'label' => __( 'Unique Popup ID', 'popup-maker' ), 'placeholder' => __( '`offer`, `more-info`', 'popup-maker' ), 'desc' => __( 'Used in popup triggers to target this popup', 'popup-maker' ), 'priority' => 5, 'required' => true, ], 'title' => [ 'label' => __( 'Popup Title', 'popup-maker' ), 'placeholder' => __( 'Enter popup title text,', 'popup-maker' ), 'desc' => __( 'This will be displayed above the content. Leave it empty to disable it.', 'popup-maker' ), 'priority' => 10, ], ], ], 'display' => [ 'main' => [ 'theme_id' => [ 'type' => 'select', 'label' => __( 'Popup Theme', 'popup-maker' ), 'placeholder' => __( 'Choose a theme,', 'popup-maker' ), 'desc' => __( 'Choose which popup theme will be used.', 'popup-maker' ), 'std' => pum_get_default_theme_id(), 'select2' => true, 'options' => pum_is_settings_page() ? PUM_Helpers::popup_theme_selectlist() : null, 'required' => true, 'priority' => 5, ], 'overlay_disabled' => [ 'label' => __( 'Disable Overlay', 'popup-maker' ), 'description' => __( 'Checking this will disable and hide the overlay for this popup.', 'popup-maker' ), 'type' => 'checkbox', 'std' => false, 'priority' => 10, ], 'size' => [ 'label' => __( 'Size', 'popup-maker' ), 'description' => __( 'Select the size of the popup.', 'popup-maker' ), 'type' => 'select', 'std' => 'small', 'options' => array_flip( apply_filters( 'popmake_popup_display_size_options', [] ) ), 'priority' => 15, ], 'width' => [ 'label' => __( 'Width', 'popup-maker' ), 'priority' => 20, ], 'width_unit' => [ 'label' => __( 'Width Unit', 'popup-maker' ), 'type' => 'select', 'std' => 'px', 'options' => array_flip( apply_filters( 'popmake_size_unit_options', [] ) ), 'priority' => 25, ], 'height' => [ 'label' => __( 'Height', 'popup-maker' ), 'priority' => 30, ], 'height_unit' => [ 'label' => __( 'Height Unit', 'popup-maker' ), 'type' => 'select', 'std' => 'px', 'options' => array_flip( apply_filters( 'popmake_size_unit_options', [] ) ), 'priority' => 35, ], ], ], 'position' => [ 'main' => [ 'location' => [ 'label' => __( 'Location', 'popup-maker' ), 'description' => __( 'Choose where the popup will be displayed.', 'popup-maker' ), 'type' => 'select', 'std' => 'center top', 'priority' => 4, 'options' => array_flip( apply_filters( 'popmake_popup_display_location_options', [] ) ), ], 'position_top' => [ 'label' => __( 'Top', 'popup-maker' ), 'description' => sprintf( /* translators: 1. Screen Edge: top, bottom. */ _x( 'Distance from the %s edge of the screen.', 'Screen Edge: top, bottom', 'popup-maker' ), strtolower( __( 'Top', 'popup-maker' ) ) ), 'type' => 'rangeslider', 'std' => 100, 'priority' => 10, 'step' => 1, 'min' => 0, 'max' => 500, 'unit' => 'px', ], 'position_bottom' => [ 'label' => __( 'Bottom', 'popup-maker' ), 'description' => sprintf( /* translators: 1. Screen Edge: top, bottom. */ _x( 'Distance from the %s edge of the screen.', 'Screen Edge: top, bottom', 'popup-maker' ), strtolower( __( 'Bottom', 'popup-maker' ) ) ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 10, 'step' => 1, 'min' => 0, 'max' => 500, 'unit' => 'px', ], 'position_left' => [ 'label' => __( 'Left', 'popup-maker' ), 'description' => sprintf( /* translators: 1. Screen Edge: top, bottom. */ _x( 'Distance from the %s edge of the screen.', 'Screen Edge: top, bottom', 'popup-maker' ), strtolower( __( 'Left', 'popup-maker' ) ) ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 10, 'step' => 1, 'min' => 0, 'max' => 500, 'unit' => 'px', ], 'position_right' => [ 'label' => __( 'Right', 'popup-maker' ), 'description' => sprintf( /* translators: 1. Screen Edge: top, bottom. */ _x( 'Distance from the %s edge of the screen.', 'Screen Edge: top, bottom', 'popup-maker' ), strtolower( __( 'Right', 'popup-maker' ) ) ), 'type' => 'rangeslider', 'std' => 0, 'priority' => 10, 'step' => 1, 'min' => 0, 'max' => 500, 'unit' => 'px', ], ], ], 'animation' => [ 'main' => [ 'animation_type' => [ 'label' => __( 'Animation Type', 'popup-maker' ), 'description' => __( 'Select an animation type for your popup.', 'popup-maker' ), 'type' => 'select', 'std' => 'fade', 'priority' => 5, 'options' => array_flip( apply_filters( 'popmake_popup_display_animation_type_options', [] ) ), ], 'animation_speed' => [ 'label' => __( 'Animation Speed', 'popup-maker' ), 'description' => __( 'Set the animation speed for the popup.', 'popup-maker' ), 'type' => 'rangeslider', 'std' => 350, 'priority' => 10, 'step' => 10, 'min' => 50, 'max' => 1000, 'unit' => __( 'ms', 'popup-maker' ), ], 'animation_origin' => [ 'label' => __( 'Animation Origin', 'popup-maker' ), 'description' => __( 'Choose where the animation will begin.', 'popup-maker' ), 'type' => 'select', 'std' => 'center top', 'priority' => 15, 'options' => array_flip( apply_filters( 'popmake_popup_display_animation_origin_options', [] ) ), ], ], ], 'close' => [ 'main' => [ 'overlay_click' => [ 'label' => __( 'Click Overlay to Close', 'popup-maker' ), 'description' => __( 'Checking this will cause popup to close when user clicks on overlay.', 'popup-maker' ), 'type' => 'checkbox', 'std' => false, 'priority' => 5, ], ], ], ]; } /** * Shortcode handler * * @param array $atts shortcode attributes * @param string $content shortcode content * * @return string */ public function handler( $atts, $content = null ) { global $popup; $atts = shortcode_atts( apply_filters( 'pum_popup_shortcode_default_atts', [ 'id' => '', 'title' => '', 'theme_id' => null, 'theme' => null, 'overlay_disabled' => 0, 'size' => 'small', 'width' => '', 'width_unit' => 'px', 'height' => '', 'height_unit' => 'px', 'location' => 'center top', 'position_top' => 100, 'position_left' => 0, 'position_bottom' => 0, 'position_right' => 0, 'position_fixed' => 0, 'animation_type' => 'fade', 'animation_speed' => 1000, 'animation_origin' => 'top', 'overlay_click' => 0, 'esc_press' => 1, ] ), $atts, 'popup' ); // We need to fake a popup using the PUM_Popup data model. $post_id = wp_rand( -99999, - 1 ); // negative ID, to avoid clash with a valid post $post = new stdClass(); $post->ID = $post_id; $post->post_author = 1; $post->post_date = current_time( 'mysql' ); $post->post_date_gmt = current_time( 'mysql', 1 ); $post->post_title = $atts['title']; $post->post_content = $content; $post->post_status = 'publish'; $post->comment_status = 'closed'; $post->ping_status = 'closed'; $post->post_name = $atts['id']; // append random number to avoid clash $post->post_type = 'popup'; $post->filter = 'raw'; // important! $post->data_version = 3; $post->mock = true; // Convert to WP_Post object $wp_post = new WP_Post( $post ); // Add the fake post to the cache wp_cache_add( $post_id, $wp_post, 'posts' ); $popup = new PUM_Model_Popup( $wp_post ); // Get Theme ID if ( ! $atts['theme_id'] ) { $atts['theme_id'] = $atts['theme'] ? $atts['theme'] : pum_get_default_theme_id(); } $popup->title = $atts['title']; $popup->settings = array_merge( PUM_Admin_Popups::defaults(), [ 'disable_analytics' => true, 'theme_id' => $atts['theme_id'], 'size' => $atts['size'], 'overlay_disabled' => $atts['overlay_disabled'], 'custom_width' => $atts['width'], 'custom_width_unit' => $atts['width_unit'], 'custom_height' => $atts['height'], 'custom_height_unit' => $atts['height_unit'], 'custom_height_auto' => $atts['width'] > 0 ? 0 : 1, 'location' => $atts['location'], 'position_top' => $atts['position_top'], 'position_left' => $atts['position_left'], 'position_bottom' => $atts['position_bottom'], 'position_right' => $atts['position_right'], 'position_fixed' => $atts['position_fixed'], 'animation_type' => $atts['animation_type'], 'animation_speed' => $atts['animation_speed'], 'animation_origin' => $atts['animation_origin'], 'close_on_overlay_click' => $atts['overlay_click'], 'close_on_esc_press' => $atts['esc_press'], 'triggers' => [ [ 'type' => 'click_open', 'settings' => [ 'extra_selectors' => '#popmake-' . $atts['id'], ], ], ], ] ); $current_global_popup = pum()->current_popup; pum()->current_popup = $popup; $return = pum_get_template_part( 'popup' ); // Small hack to move popup to body. $return .= "<script type='text/javascript' id='pum-move-popup-" . $post_id . "'>jQuery(document).ready(function () { jQuery('#pum-" . $post_id . "').appendTo('body'); window.pum_vars.popups[ 'pum-" . $popup->ID . "' ] = " . PUM_Utils_Array::safe_json_encode( $popup->get_public_settings() ) . "; window.pum_popups[ 'pum-" . $popup->ID . "' ] = " . PUM_Utils_Array::safe_json_encode( $popup->get_public_settings() ) . "; jQuery('#pum-move-popup-" . $post_id . "').remove(); });</script>"; pum()->current_popup = $current_global_popup; return $return; } public function template() { ?> <p class="pum-sub-form-desc"> <?php esc_html_e( 'Popup', 'popup-maker' ); ?>: ID "{{attrs.id}}" </p> <?php } } classes/Shortcode/PopupCookie.php 0000644 00000005453 15174671772 0013131 0 ustar 00 <?php /** * Shortcode for PopupCookie * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Shortcode_PopupCookie * * Registers the popup_cookie shortcode. */ class PUM_Shortcode_PopupCookie extends PUM_Shortcode { public $version = 2; public $has_content = false; /** * The shortcode tag. */ public function tag() { return 'popup_cookie'; } public function label() { return __( 'Popup Cookie', 'popup-maker' ); } public function description() { return __( 'Insert this to manually set cookies when users view the content containing the code.', 'popup-maker' ); } public function post_types() { return [ '*' ]; } public function fields() { return [ 'general' => [ 'main' => [ 'name' => [ 'label' => __( 'Cookie Name', 'popup-maker' ), 'placeholder' => __( 'Cookie Name ex. popmaker-123', 'popup-maker' ), 'desc' => __( 'The name that will be used when checking for or saving this cookie.', 'popup-maker' ), 'std' => '', ], 'expires' => [ 'label' => __( 'Cookie Time', 'popup-maker' ), 'placeholder' => __( '364 days 23 hours 59 minutes 59 seconds', 'popup-maker' ), 'desc' => __( 'Enter a plain english time before cookie expires.', 'popup-maker' ), 'std' => '1 month', ], 'sitewide' => [ 'label' => __( 'Sitewide Cookie', 'popup-maker' ), 'desc' => __( 'This will prevent the popup from triggering on all pages until the cookie expires.', 'popup-maker' ), 'type' => 'checkbox', 'std' => true, ], 'only_onscreen' => [ 'label' => __( 'Only when visible on-screen', 'popup-maker' ), 'desc' => __( 'This will prevent the cookie from getting set until the user scrolls it into viewport.', 'popup-maker' ), 'type' => 'checkbox', 'std' => false, ], ], ], ]; } /** * Shortcode handler * * @param array $atts shortcode attributes * @param string $content shortcode content * * @return string */ public function handler( $atts, $content = null ) { $atts = $this->shortcode_atts( $atts ); // This shortcode requires our scripts, but can be used on pages where no popups exist. wp_enqueue_script( 'popup-maker-site' ); $onscreen = esc_attr( 'data-only-onscreen="' . ( $atts['only_onscreen'] ? 1 : 0 ) . '"' ); $args = esc_attr( wp_json_encode( [ 'name' => $atts['name'], 'time' => $atts['expires'], 'path' => $atts['sitewide'], ] ) ); return "<div class='pum-cookie' data-cookie-args='$args' $onscreen></div>"; } public function template() { ?> <div class="pum-cookie"><?php esc_html_e( 'Popup Cookie', 'popup-maker' ); ?></div> <?php } } classes/Shortcode/Subscribe.php 0000644 00000060307 15174671772 0012614 0 ustar 00 <?php /** * Shortcode Subscribe * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Shortcode_Subscribe */ class PUM_Shortcode_Subscribe extends PUM_Shortcode { /** * @var int */ public $version = 2; /** * @var bool */ public $ajax_rendering = true; /** * The shortcode tag. * * @return string */ public function tag() { return 'pum_sub_form'; } /** * @return string */ public function label() { return __( 'Subscription Form', 'popup-maker' ); } /** * @return string */ public function description() { return __( 'A customizable newsletter subscription form.', 'popup-maker' ); } /** * @return array */ public function post_types() { return [ 'page', 'post', 'popup' ]; } /** * @return array */ public function tabs() { $tabs = [ 'general' => __( 'General', 'popup-maker' ), 'form' => __( 'Form', 'popup-maker' ), 'privacy' => __( 'Privacy', 'popup-maker' ), 'actions' => __( 'Actions', 'popup-maker' ), ]; // Deprecated filter $tabs = apply_filters( 'pum_sub_form_shortcode_sections', $tabs ); $tabs = apply_filters( 'pum_sub_form_shortcode_tabs', $tabs ); return $this->resort_provider_tabs( $tabs ); } /** * @return array */ public function subtabs() { $subtabs = apply_filters( 'pum_sub_form_shortcode_subtabs', [ 'general' => [ 'main' => __( 'General', 'popup-maker' ), ], 'privacy' => [ 'main' => __( 'General', 'popup-maker' ), ], 'form' => [ 'appearance' => __( 'Appearance', 'popup-maker' ), 'fields' => __( 'Fields', 'popup-maker' ), 'labels' => __( 'Labels', 'popup-maker' ), 'placeholders' => __( 'Placeholders', 'popup-maker' ), 'privacy' => __( 'Privacy', 'popup-maker' ), ], 'actions' => [ 'popup' => __( 'Popup', 'popup-maker' ), 'redirect' => __( 'Redirect', 'popup-maker' ), ], ] ); return $this->resort_provider_tabs( $subtabs ); } /** * @return array */ public function fields() { $select_args = []; // phpcs:ignore WordPress.Security.NonceVerification.Recommended $action = isset( $_GET['action'] ) ? sanitize_text_field( wp_unslash( $_GET['action'] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended $post = isset( $_GET['post'] ) ? absint( wp_unslash( $_GET['post'] ) ) : null; if ( 'edit' === $action && is_int( $post ) ) { $select_args['post__not_in'] = wp_parse_id_list( [ get_the_ID(), $post ] ); } $privacy_always_enabled = pum_get_option( 'privacy_consent_always_enabled', 'no' ) === 'yes'; $privacy_enabled_dependency = [ 'privacy_consent_enabled' => 'yes', ]; $fields = apply_filters( 'pum_sub_form_shortcode_fields', [ 'general' => [ 'main' => [ 'provider' => [ 'label' => __( 'Service Provider', 'popup-maker' ), 'desc' => __( 'Choose which service provider to submit to.', 'popup-maker' ), 'type' => 'select', 'options' => array_merge( [ '' => __( 'Default', 'popup-maker' ) ], PUM_Newsletter_Providers::dropdown_list(), [ 'none' => __( 'None', 'popup-maker' ) ] ), 'std' => '', ], ], ], 'form' => [ 'fields' => [ 'name_field_type' => [ 'label' => __( 'Name Field Type', 'popup-maker' ), 'type' => 'select', 'options' => [ 'disabled' => __( 'None', 'popup-maker' ), 'fullname' => __( 'Full', 'popup-maker' ), 'first_only' => __( 'First Only', 'popup-maker' ), 'first_last' => __( 'First & Last', 'popup-maker' ), ], 'std' => 'fullname', 'private' => true, ], 'name_optional' => [ 'label' => __( 'Name Optional', 'popup-maker' ), 'desc' => __( 'Makes the name field optional.', 'popup-maker' ), 'type' => 'checkbox', 'dependencies' => [ 'name_field_type' => [ 'fullname', 'first_only', 'first_last' ], ], 'private' => true, ], 'name_disabled' => [ 'label' => __( 'Name Disabled', 'popup-maker' ), 'desc' => __( 'Removes the name field.', 'popup-maker' ), 'type' => 'checkbox', 'dependencies' => [ 'name_field_type' => false, ], 'private' => true, ], ], 'labels' => [ 'disable_labels' => [ 'label' => __( 'Disable Labels', 'popup-maker' ), 'desc' => __( 'Disables the display of field labels.', 'popup-maker' ), 'type' => 'checkbox', 'private' => true, ], 'heading_labels' => [ 'label' => __( 'Labels', 'popup-maker' ), 'desc' => __( 'Field label text', 'popup-maker' ), 'type' => 'heading', 'private' => true, ], 'label_name' => [ 'label' => __( 'Full Name', 'popup-maker' ), 'dependencies' => [ 'disable_labels' => false, 'name_field_type' => [ 'fullname' ], ], 'std' => __( 'Name', 'popup-maker' ), 'private' => true, ], 'label_fname' => [ 'label' => __( 'First Name', 'popup-maker' ), 'dependencies' => [ 'disable_labels' => false, 'name_field_type' => [ 'first_only', 'first_last' ], ], 'std' => __( 'First Name', 'popup-maker' ), 'private' => true, ], 'label_lname' => [ 'label' => __( 'Last Name', 'popup-maker' ), 'dependencies' => [ 'disable_labels' => false, 'name_field_type' => [ 'first_last' ], ], 'std' => __( 'Last Name', 'popup-maker' ), 'private' => true, ], 'label_email' => [ 'label' => __( 'Email', 'popup-maker' ), 'dependencies' => [ 'disable_labels' => false, ], 'std' => __( 'Email', 'popup-maker' ), 'private' => true, ], 'label_submit' => [ 'label' => __( 'Submit Button', 'popup-maker' ), 'std' => __( 'Subscribe', 'popup-maker' ), 'private' => true, ], // Deprecated fields. 'name_text' => [ 'type' => 'hidden', 'private' => true, ], 'email_text' => [ 'private' => true, 'type' => 'hidden', ], 'button_text' => [ 'type' => 'hidden', 'private' => true, ], ], 'placeholders' => [ 'placeholder_name' => [ 'label' => __( 'Full Name', 'popup-maker' ), 'dependencies' => [ 'name_field_type' => [ 'fullname' ], ], 'std' => __( 'Name', 'popup-maker' ), 'private' => true, ], 'placeholder_fname' => [ 'label' => __( 'First Name', 'popup-maker' ), 'dependencies' => [ 'name_field_type' => [ 'first_only', 'first_last' ], ], 'std' => __( 'First Name', 'popup-maker' ), 'private' => true, ], 'placeholder_lname' => [ 'label' => __( 'Last Name', 'popup-maker' ), 'dependencies' => [ 'name_field_type' => [ 'first_last' ], ], 'std' => __( 'Last Name', 'popup-maker' ), 'private' => true, ], 'placeholder_email' => [ 'label' => __( 'Email', 'popup-maker' ), 'std' => __( 'Email', 'popup-maker' ), 'private' => true, ], ], 'appearance' => [ 'form_layout' => [ 'label' => __( 'Form Layout', 'popup-maker' ), 'desc' => __( 'Choose a form layout.', 'popup-maker' ), 'type' => 'select', 'options' => [ 'block' => __( 'Block', 'popup-maker' ), 'inline' => __( 'Inline', 'popup-maker' ), ], 'std' => 'block', 'private' => true, ], 'form_alignment' => [ 'label' => __( 'Form Alignment', 'popup-maker' ), 'desc' => __( 'Choose a form alignment.', 'popup-maker' ), 'type' => 'select', 'options' => [ 'left' => __( 'Left', 'popup-maker' ), 'center' => __( 'Center', 'popup-maker' ), 'right' => __( 'Right', 'popup-maker' ), ], 'std' => 'center', 'private' => true, ], 'form_style' => [ 'label' => __( 'Form Style', 'popup-maker' ), 'desc' => __( 'Choose how you want your form styled.', 'popup-maker' ), 'type' => 'select', 'options' => [ '' => __( 'None', 'popup-maker' ), 'default' => __( 'Default', 'popup-maker' ), ], 'std' => 'default', ], 'layout' => [ 'type' => 'hidden', 'private' => true, ], 'style' => [ 'type' => 'hidden', 'private' => true, ], ], ], 'privacy' => [ 'main' => [ 'privacy_consent_enabled' => [ 'label' => __( 'Enabled', 'popup-maker' ), 'desc' => __( 'When enabled, the successful completion will result in normal success actions, but if they do not opt-in no records will be made.', 'popup-maker' ), 'type' => $privacy_always_enabled ? 'hidden' : 'select', 'options' => [ 'yes' => __( 'Yes', 'popup-maker' ), 'no' => __( 'No', 'popup-maker' ), ], 'std' => 'yes', 'value' => $privacy_always_enabled ? 'yes' : null, 'private' => true, ], 'privacy_consent_label' => [ 'label' => __( 'Consent Field Label', 'popup-maker' ), 'type' => 'text', 'std' => pum_get_option( 'default_privacy_consent_label', __( 'Notify me about related content and special offers.', 'popup-maker' ) ), 'private' => true, 'dependencies' => $privacy_enabled_dependency, ], 'privacy_consent_required' => [ 'label' => __( 'Consent Required', 'popup-maker' ), 'desc' => __( 'Note: Requiring consent may not be compliant with GDPR for all situations. Be sure to do your research or check with legal council.', 'popup-maker' ), 'type' => 'checkbox', 'std' => pum_get_option( 'default_privacy_consent_required' ), 'private' => true, 'dependencies' => $privacy_enabled_dependency, ], 'privacy_consent_type' => [ 'label' => __( 'Field Type', 'popup-maker' ), 'desc' => __( 'Radio forces the user to make a choice, often resulting in more optins.', 'popup-maker' ), 'type' => 'select', 'options' => [ 'radio' => __( 'Radio', 'popup-maker' ), 'checkbox' => __( 'Checkbox', 'popup-maker' ), ], 'std' => pum_get_option( 'default_privacy_consent_type', 'radio' ), 'private' => true, 'dependencies' => $privacy_enabled_dependency, ], 'privacy_consent_radio_layout' => [ 'label' => __( 'Consent Radio Layout', 'popup-maker' ), 'type' => 'select', 'options' => [ 'inline' => __( 'Inline', 'popup-maker' ), 'stacked' => __( 'Stacked', 'popup-maker' ), ], 'std' => pum_get_option( 'default_privacy_consent_radio_layout', 'inline' ), 'private' => true, 'dependencies' => array_merge( $privacy_enabled_dependency, [ 'privacy_consent_type' => 'radio', ] ), ], 'privacy_consent_yes_label' => [ 'label' => __( 'Consent Yes Label', 'popup-maker' ), 'type' => 'text', 'std' => pum_get_option( 'default_privacy_consent_yes_label', __( 'Yes', 'popup-maker' ) ), 'private' => true, 'dependencies' => array_merge( $privacy_enabled_dependency, [ 'privacy_consent_type' => 'radio', ] ), ], 'privacy_consent_no_label' => [ 'label' => __( 'Consent No Label', 'popup-maker' ), 'type' => 'text', 'std' => pum_get_option( 'default_privacy_consent_no_label', __( 'No', 'popup-maker' ) ), 'private' => true, 'dependencies' => array_merge( $privacy_enabled_dependency, [ 'privacy_consent_type' => 'radio', ] ), ], 'privacy_usage_text' => [ 'label' => __( 'Consent Usage Text', 'popup-maker' ), 'desc' => function_exists( 'get_privacy_policy_url' ) ? sprintf( /* translators: 1. opening tag, 2. closing tag. */ __( 'You can use %1$s%2$s to insert a link to your privacy policy. To customize the link text use %1$s:Link Text%2$s', 'popup-maker' ), '{{privacy_link', '}}' ) : '', 'type' => 'text', 'std' => pum_get_option( 'default_privacy_usage_text', __( 'If you opt in above, we use this information to send related content, discounts, and other special offers.', 'popup-maker' ) ), 'dependencies' => $privacy_enabled_dependency, ], ], ], 'actions' => [ 'popup' => [ 'closepopup' => [ 'label' => __( 'Close Popup', 'popup-maker' ), 'type' => 'checkbox', ], 'closedelay' => [ 'label' => __( 'Delay', 'popup-maker' ), 'type' => 'rangeslider', 'min' => 0, 'max' => 180, 'step' => 1, 'unit' => 's', 'std' => 0, 'dependencies' => [ 'closepopup' => true, ], ], 'openpopup' => [ 'label' => __( 'Open Popup', 'popup-maker' ), 'type' => 'checkbox', ], 'openpopup_id' => [ 'label' => __( 'Popup Name', 'popup-maker' ), 'type' => 'select', 'options' => [ 0 => __( 'Select a popup', 'popup-maker' ), ] + PUM_Helpers::popup_selectlist( $select_args ), 'std' => 0, 'dependencies' => [ 'openpopup' => true, ], ], ], 'redirect' => [ 'redirect_enabled' => [ 'label' => __( 'Redirect', 'popup-maker' ), 'desc' => __( 'Enable refreshing the page or redirecting after success.', 'popup-maker' ), 'type' => 'checkbox', ], 'redirect' => [ 'label' => __( 'Redirect URL', 'popup-maker' ), 'desc' => __( 'Leave blank to refresh, or enter a url that users will be taken to after success.', 'popup-maker' ), 'std' => '', 'dependencies' => [ 'redirect_enabled' => true, ], ], ], ], ] ); return $this->resort_provider_tabs( $fields ); } /** * Sorts tabs so that providers come first. * * @param array $tabs * * @return array */ public function resort_provider_tabs( $tabs = [] ) { $sorted_tabs = $tabs; foreach ( $tabs as $tab_id => $tab ) { if ( strpos( $tab_id, 'provider_' ) === 0 ) { PUM_Utils_Array::move_item( $sorted_tabs, $tab_id, 'down', 'general' ); } } return $sorted_tabs; } /** * Shortcode handler * * @param array $atts shortcode attributes * @param string $content shortcode content * * @return string */ public function handler( $atts, $content = null ) { $atts = $this->shortcode_atts( $atts ); static $instance = 0; ++$instance; $atts['instance'] = $instance; ob_start(); $data_attr = $this->data_attr( $atts ); $classes = implode( ' ', [ 'pum_sub_form', $atts['provider'], $atts['form_layout'], $atts['form_style'], 'pum-sub-form', 'pum-form', 'pum-sub-form--provider-' . $atts['provider'], 'pum-form--layout-' . $atts['form_layout'], 'pum-form--style-' . $atts['form_style'], 'pum-form--alignment-' . $atts['form_alignment'], ] ); ?> <form class="<?php echo esc_attr( $classes ); ?>" data-settings="<?php echo esc_attr( PUM_Utils_Array::safe_json_encode( $data_attr ) ); ?>"> <?php do_action( 'pum_sub_form_before', $atts ); ?> <?php if ( 'disabled' !== $atts['name_field_type'] ) : $required = ! $atts['name_optional'] ? 'required' : ''; switch ( $atts['name_field_type'] ) { case 'fullname': ?> <div class="pum-form__field pum-form__field--name pum-sub-form-field pum-sub-form-field--name"> <?php if ( ! $atts['disable_labels'] ) : ?> <label class="pum-form__label pum-sub-form-label"><?php echo esc_html( $atts['label_name'] ); ?></label> <?php endif; ?> <input type="text" name="name" <?php echo esc_attr( $required ); ?> placeholder="<?php echo esc_attr( $atts['placeholder_name'] ); ?>" /> </div> <?php break; case 'first_only': ?> <div class="pum-form__field pum-form__field--fname pum-sub-form-field pum-sub-form-field--fname"> <?php if ( ! $atts['disable_labels'] ) : ?> <label class="pum-form__label pum-sub-form-label"><?php echo esc_html( $atts['label_fname'] ); ?></label> <?php endif; ?> <input type="text" name="fname" <?php echo esc_attr( $required ); ?> placeholder="<?php echo esc_attr( $atts['placeholder_fname'] ); ?>" /> </div> <?php break; case 'first_last': ?> <div class="pum-form__field pum-form__field--fname pum-sub-form-field pum-sub-form-field--fname"> <?php if ( ! $atts['disable_labels'] ) : ?> <label class="pum-form__label pum-sub-form-label"><?php echo esc_html( $atts['label_fname'] ); ?></label> <?php endif; ?> <input type="text" name="fname" <?php echo esc_attr( $required ); ?> placeholder="<?php echo esc_attr( $atts['placeholder_fname'] ); ?>" /> </div> <div class="pum-form__field pum-form__field--lname pum-sub-form-field pum-sub-form-field--lname"> <?php if ( ! $atts['disable_labels'] ) : ?> <label class="pum-form__label pum-sub-form-label"><?php echo esc_html( $atts['label_lname'] ); ?></label> <?php endif; ?> <input type="text" name="lname" <?php echo esc_attr( $required ); ?> placeholder="<?php echo esc_attr( $atts['placeholder_lname'] ); ?>" /> </div> <?php break; } ?> <?php endif; ?> <div class="pum-form__field pum-form__field--email pum-sub-form-field pum-sub-form-field--email"> <?php if ( ! $atts['disable_labels'] ) : ?> <label class="pum-form__label pum-sub-form-label"><?php echo esc_html( $atts['label_email'] ); ?></label> <?php endif; ?> <input type="email" name="email" required placeholder="<?php echo esc_attr( $atts['placeholder_email'] ); ?>" /> </div> <?php do_action( 'pum_sub_form_fields', $atts ); ?> <?php do_action( 'pum_newsletter_fields', $atts ); ?> <input type="hidden" name="provider" value="<?php echo esc_attr( $atts['provider'] ); ?>" /> <?php if ( 'yes' === $atts['privacy_consent_enabled'] ) : $consent_text = trim( $atts['privacy_consent_label'] ); $consent_args = [ 'enabled' => 'yes', 'required' => isset( $atts['privacy_consent_required'] ) && $atts['privacy_consent_required'], 'text' => ! empty( $consent_text ) ? $consent_text : ( ! empty( $atts['privacy_consent_yes_label'] ) ? $atts['privacy_consent_yes_label'] : '' ), ]; ?> <input type="hidden" name="consent_args" value="<?php echo esc_attr( PUM_Utils_Array::safe_json_encode( $consent_args ) ); ?>" /> <div class="pum-form__field pum-form__field--<?php echo esc_attr( $atts['privacy_consent_type'] ); ?> pum-form__field--consent pum-sub-form-field"> <?php switch ( $atts['privacy_consent_type'] ) { case 'checkbox': ?> <label class="pum-form__label pum-sub-form-label"> <input type="checkbox" value="yes" name="consent" <?php echo $consent_args['required'] ? 'required="required"' : ''; ?> /> <?php echo wp_kses( $consent_text, [] ); ?> </label> <?php break; case 'radio': ?> <?php if ( ! empty( $consent_text ) ) : ?> <label class="pum-form__label pum-sub-form-label"><?php echo wp_kses( $consent_text, wp_kses_allowed_html( 'data' ) ); ?></label> <?php endif; ?> <div class="pum-form__consent-radios pum-form__consent-radios--<?php echo esc_attr( $atts['privacy_consent_radio_layout'] ); ?>"> <label class="pum-form__label pum-sub-form-label"> <input type="radio" value="yes" name="consent" <?php echo $consent_args['required'] ? 'required="required"' : ''; ?> /> <?php echo wp_kses( $atts['privacy_consent_yes_label'], wp_kses_allowed_html( 'data' ) ); ?> </label> <label class="pum-form__label pum-sub-form-label"> <input type="radio" value="no" name="consent" /> <?php echo wp_kses( $atts['privacy_consent_no_label'], wp_kses_allowed_html( 'data' ) ); ?> </label> </div> <?php break; } if ( ! empty( $atts['privacy_usage_text'] ) ) : $usage_text = trim( $atts['privacy_usage_text'] ); if ( strpos( $usage_text, '{{privacy_link' ) !== false && function_exists( 'get_privacy_policy_url' ) && get_privacy_policy_url() !== '' ) { preg_match_all( '/{{privacy_link:?(.*)}}/', $usage_text, $matches ); $link = '<a href="' . get_privacy_policy_url() . '" target="_blank">%s</a>'; foreach ( $matches[0] as $key => $value ) { $usage_text = str_replace( $matches[0][ $key ], sprintf( $link, $matches[1][ $key ] ), $usage_text ); } } ?> <p> <small> <?php echo wp_kses( $usage_text, [ 'a' => [ 'target' => true, 'href' => true, ], ] ); ?> </small> </p> <?php endif; ?> </div> <?php endif; ?> <div class="pum-form__field pum-form__field--submit pum-sub-form-field pum-sub-form-field--submit"> <button class="pum-form__submit pum-sub-form-submit"><?php echo esc_html( $atts['label_submit'] ); ?></button> </div> <?php do_action( 'pum_sub_form_after', $atts ); ?> </form> <?php // return content return ob_get_clean(); } /** * Process shortcode attributes. * * Also remaps and cleans old ones. * * @param $atts * * @return array */ public function shortcode_atts( $atts ) { $atts = parent::shortcode_atts( $atts ); if ( empty( $atts['provider'] ) ) { $atts['provider'] = pum_get_option( 'newsletter_default_provider' ); } // Remap old atts. if ( ! empty( $atts['layout'] ) ) { $atts['form_layout'] = $atts['layout']; } if ( ! empty( $atts['style'] ) ) { $atts['form_style'] = $atts['style']; } if ( ! empty( $atts['name_text'] ) ) { $atts['label_name'] = $atts['name_text']; } if ( ! empty( $atts['email_text'] ) ) { $atts['label_email'] = $atts['email_text']; } if ( ! empty( $atts['button_text'] ) ) { $atts['label_submit'] = $atts['button_text']; } unset( $atts['layout'], $atts['style'], $atts['name_text'], $atts['email_text'], $atts['button_text'] ); /** * Remap v1.7 core shortcode attributes starting here. */ if ( ! empty( $atts['name_disabled'] ) && $atts['name_disabled'] ) { $atts['name_field_type'] = 'disabled'; } unset( $atts['name_disabled'] ); return $atts; } /** * Returns array of fields & values that will be passed into data attr of the form. * * @param array $atts * * @return array */ public function data_attr( $atts = [] ) { $data = []; $data_attr_fields = $this->data_attr_fields(); foreach ( $atts as $key => $value ) { if ( in_array( $key, $data_attr_fields, true ) ) { $data[ $key ] = $value; if ( 'redirect' === $key ) { // Ignore obfuscation as this is a specific function to mask redirect URLs from crawlers. // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode $data[ $key ] = base64_encode( esc_url( $value ) ); } } } return $data; } /** * Returns array of fields that will be passed into data attr of the form. * * @return mixed */ public function data_attr_fields() { return apply_filters( 'pum_sub_form_data_attr_fields', [ 'closepopup', 'closedelay', 'openpopup', 'openpopup_id', 'redirect_enabled', 'redirect', ] ); } /** * */ public function template() { ?> <p class="pum-sub-form-desc"> <?php esc_html_e( 'Subscription Form Placeholder', 'popup-maker' ); ?> </p> <?php } } classes/Shortcode/PopupClose.php 0000644 00000011671 15174671772 0012764 0 ustar 00 <?php /** * Shortcode for PopupClose * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Shortcode_PopupClose * * Registers the popup_close shortcode. */ class PUM_Shortcode_PopupClose extends PUM_Shortcode { public $version = 2; public $has_content = true; /** * The shortcode tag. */ public function tag() { return 'popup_close'; } public function label() { return __( 'Popup Close Button', 'popup-maker' ); } public function description() { return __( 'Make text or html a close trigger for your popup.', 'popup-maker' ); } public function inner_content_labels() { return [ 'label' => __( 'Content', 'popup-maker' ), 'description' => __( 'Can contain other shortcodes, images, text or html content.', 'popup-maker' ), ]; } public function post_types() { return [ 'popup' ]; } public function fields() { return [ 'general' => [ 'main' => [ 'tag' => [ 'label' => __( 'HTML Tag', 'popup-maker' ), 'desc' => __( 'The HTML tag used for this element.', 'popup-maker' ), 'type' => 'select', 'options' => [ 'a' => 'a', 'button' => 'button', 'div' => 'div', 'img' => 'img', 'li' => 'li', 'p' => 'p', 'span' => 'span', ], 'std' => 'span', 'required' => true, ], 'href' => [ 'label' => __( 'Value for href', 'popup-maker' ), 'placeholder' => '#', 'desc' => __( 'Enter the href value for your link. Leave blank if you do not want this link to take the visitor to a different page.', 'popup-maker' ), 'type' => 'text', 'std' => '', 'dependencies' => [ 'tag' => [ 'a' ], ], ], 'target' => [ 'label' => __( 'Target for the element', 'popup-maker' ), 'placeholder' => '', 'desc' => __( 'Enter the target value for your link. Can be left blank.', 'popup-maker' ), 'type' => 'text', 'std' => '', 'dependencies' => [ 'tag' => [ 'a' ], ], ], ], ], 'options' => [ 'main' => [ 'classes' => [ 'label' => __( 'CSS Class', 'popup-maker' ), 'placeholder' => 'my-custom-class', 'type' => 'text', 'desc' => __( 'Add additional classes for styling.', 'popup-maker' ), 'std' => '', ], 'do_default' => [ 'type' => 'checkbox', 'label' => __( 'Do not prevent the default click functionality.', 'popup-maker' ), 'desc' => __( 'This prevents us from disabling the browsers default action when a close button is clicked. It can be used to allow a link to a file to both close a popup and still download the file.', 'popup-maker' ), ], ], ], ]; } /** * Process shortcode attributes. * * Also remaps and cleans old ones. * * @param $atts * * @return array */ public function shortcode_atts( $atts ) { global $allowedtags; $atts = parent::shortcode_atts( $atts ); // Add button to allowed tags. $tags_allowed = array_merge( array_keys( $allowedtags ), [ 'button' ] ); if ( empty( $atts['tag'] ) || ! in_array( $atts['tag'], $tags_allowed, true ) ) { $atts['tag'] = 'span'; } if ( empty( $atts['href'] ) ) { $atts['href'] = '#'; } if ( ! empty( $atts['class'] ) ) { $atts['classes'] .= ' ' . $atts['class']; unset( $atts['class'] ); } return $atts; } /** * Shortcode handler * * @param array $atts shortcode attributes * @param string $content shortcode content * * @return string */ public function handler( $atts, $content = null ) { $atts = $this->shortcode_atts( $atts ); $tag = esc_attr( $atts['tag'] ); $classes = esc_attr( $atts['classes'] ); $do_default = esc_attr( $atts['do_default'] ? " data-do-default='true'" : '' ); // Escaped using notes here: https://wordpress.stackexchange.com/a/357349/63942. $esc_content = PUM_Helpers::do_shortcode( force_balance_tags( wp_kses_post( $content ) ) ); // Sets up our href and target, if the tag is an `a`. $href = 'a' === $atts['tag'] ? "href='" . esc_url( $atts['href'] ) . "'" : ''; $target = 'a' === $atts['tag'] && ! empty( $atts['target'] ) ? "target='" . esc_attr( $atts['target'] ) . "'" : ''; $return = "<$tag $href $target class='pum-close popmake-close $classes' $do_default>$esc_content</$tag>"; return $return; } /** * NOTE: Data comes here already filtered through shortcode_atts above. */ public function template() { global $allowedtags; ?> <# const allowedTags = <?php echo wp_json_encode( array_keys( $allowedtags ) ); ?>; const tag = allowedTags.indexOf( attrs.tag ) >= 0 ? attrs.tag : 'span'; #> <{{{tag}}} class="pum-close popmake-close <# if (typeof attrs.classes !== 'undefined') print(attrs.classes); #>">{{{attrs._inner_content}}}</{{{tag}}}> <?php } } classes/Shortcode/PopupTrigger.php 0000644 00000012710 15174671772 0013315 0 ustar 00 <?php /** * Shortcode for PopupTrigger * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Shortcode * * This is a base class for all popup maker & extension shortcodes. */ class PUM_Shortcode_PopupTrigger extends PUM_Shortcode { /** * @var int */ public $version = 2; /** * @var bool */ public $has_content = true; public $ajax_rendering = true; /** * The shortcode tag. */ public function tag() { return 'popup_trigger'; } /** * @return string */ public function label() { return __( 'Popup Trigger', 'popup-maker' ); } /** * @return string */ public function description() { return __( 'Inserts a click-able popup trigger.', 'popup-maker' ); } /** * @return array */ public function inner_content_labels() { return [ 'label' => __( 'Trigger Content', 'popup-maker' ), 'description' => __( 'Can contain other shortcodes, images, text or html content.', 'popup-maker' ), ]; } /** * @return array */ public function post_types() { return [ 'post', 'page', 'popup' ]; } /** * @return array */ public function fields() { $select_args = []; // phpcs:ignore WordPress.Security.NonceVerification.Recommended $action = isset( $_GET['action'] ) ? sanitize_text_field( wp_unslash( $_GET['action'] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended $post = isset( $_GET['post'] ) ? absint( wp_unslash( $_GET['post'] ) ) : null; if ( 'edit' === $action && is_int( $post ) ) { $select_args['post__not_in'] = wp_parse_id_list( [ get_the_ID(), $post ] ); } return [ 'general' => [ 'main' => [ 'id' => [ 'label' => __( 'Targeted Popup', 'popup-maker' ), 'placeholder' => __( 'Choose a Popup', 'popup-maker' ), 'desc' => __( 'Choose which popup will be targeted by this trigger.', 'popup-maker' ), 'type' => 'select', 'post_type' => 'popup', 'priority' => 5, 'required' => true, 'options' => PUM_Helpers::popup_selectlist( $select_args ) + [ 'custom' => __( 'Custom', 'popup-maker' ), ], 'std' => 0, ], 'custom_id' => [ 'label' => __( 'Custom Popup ID', 'popup-maker' ), 'type' => 'text', 'dependencies' => [ 'id' => 'custom', ], 'std' => '', ], ], ], 'options' => [ 'main' => [ 'tag' => [ 'label' => __( 'HTML Tag', 'popup-maker' ), 'placeholder' => __( 'HTML Tags: button, span etc.', 'popup-maker' ), 'desc' => __( 'The HTML tag used to generate the trigger and wrap your text.', 'popup-maker' ), 'type' => 'text', 'std' => '', 'priority' => 10, 'required' => true, ], 'classes' => [ 'label' => __( 'CSS Class', 'popup-maker' ), 'placeholder' => __( 'CSS Class', 'popup-maker' ), 'type' => 'text', 'desc' => __( 'Add additional classes for styling.', 'popup-maker' ), 'priority' => 15, 'std' => '', ], 'class' => [ 'type' => 'hidden', ], 'do_default' => [ 'type' => 'checkbox', 'label' => __( 'Do not prevent the default click functionality.', 'popup-maker' ), 'desc' => __( 'This prevents us from disabling the browsers default action when a trigger is clicked. It can be used to allow a link to a file to both trigger a popup and still download the file.', 'popup-maker' ), 'priority' => 20, 'std' => false, ], ], ], ]; } /** * Shortcode handler * * @param array $atts shortcode attributes * @param string $content shortcode content * * @return string */ public function handler( $atts, $content = null ) { $atts = $this->shortcode_atts( $atts ); $tag = esc_attr( $atts['tag'] ); $id = esc_attr( $atts['id'] ); $classes = esc_attr( $atts['classes'] ); $do_default = esc_attr( $atts['do_default'] ); // Escaped using notes here: https://wordpress.stackexchange.com/a/357349/63942. $esc_content = PUM_Utils_Shortcodes::clean_do_shortcode( force_balance_tags( wp_kses_post( $content ) ) ); $return = "<$tag class='pum-trigger popmake-$id $classes' data-do-default='$do_default'>$esc_content</$tag>"; PUM_Site_Popups::preload_popup_by_id_if_enabled( $atts['id'] ); return $return; } /** * Process shortcode attributes. * * Also remaps and cleans old ones. * * @param $atts * * @return array */ public function shortcode_atts( $atts ) { global $allowedtags; $atts = parent::shortcode_atts( $atts ); // Add button to allowed tags. $tags_allowed = array_merge( array_keys( $allowedtags ), [ 'button' ] ); if ( empty( $atts['tag'] ) || ! in_array( $atts['tag'], $tags_allowed, true ) ) { $atts['tag'] = 'span'; } if ( 'custom' === $atts['id'] ) { $atts['id'] = $atts['custom_id']; } if ( ! empty( $atts['class'] ) ) { $atts['classes'] .= ' ' . $atts['class']; unset( $atts['class'] ); } return $atts; } public function template() { global $allowedtags; ?> <# const allowedTags = <?php echo wp_json_encode( array_keys( $allowedtags ) ); ?>; const tag = allowedTags.indexOf( attrs.tag ) >= 0 ? attrs.tag : 'span'; #> <{{{tag}}} class="pum-trigger popmake-{{{attrs.id}}} {{{attrs.classes}}}">{{{attrs._inner_content}}}</{{{tag}}}> <?php } } bootstrap.php 0000644 00000007060 15174671772 0007316 0 ustar 00 <?php /** * Popup Maker Bootstrap. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker; defined( 'ABSPATH' ) || exit; /** * Define plugin's global configuration. * * @return array<string,string|bool> * * @since 1.20.0 */ function get_plugin_config() { return popup_maker_config(); } /** * Get config or config property. * * @param string|null $key Key of config item to return. * * @return ($key is null ? array{ * name: string, * slug: string, * version: string, * option_prefix: string, * text_domain: string, * fullname: string, * min_php_ver: string, * min_wp_ver: string, * file: string, * basename: string, * url: string, * path: string, * api_url: string, * } : ( * $key is 'name'|'slug'|'version'|'option_prefix'|'text_domain'|'fullname'|'min_php_ver'|'min_wp_ver'|'file'|'basename'|'url'|'path'|'api_url' * ? string * : false * )) * * @since 1.20.0 */ function config( $key = null ) { $config = get_plugin_config(); if ( ! isset( $key ) ) { return $config; } return isset( $config[ $key ] ) ? $config[ $key ] : false; } /** * Plugin functions loader. */ require_once __DIR__ . '/includes/entry--bootstrap.php'; /** * Check plugin prerequisites. * * @return bool * * @since 1.20.0 */ function check_prerequisites() { // 1.a Check Prerequisites. $prerequisites = new \PopupMaker\Vendor\CodeAtlantic\PrerequisiteChecks\Prerequisites( [ [ // a. PHP Min Version. 'type' => 'php', 'version' => config( 'min_php_ver' ), ], // a. PHP Min Version. [ 'type' => 'wp', 'version' => config( 'min_wp_ver' ), ], ], config() ); /** * 1.b If there are missing requirements, render error messaging and return. */ if ( $prerequisites->check() === false ) { $prerequisites->setup_notices(); return false; } return true; } /** * Initiates and/or retrieves an encapsulated container for the plugin. * * This kicks it all off, loads functions and initiates the plugins main class. * * @return \PopupMaker\Plugin\Core */ function plugin_instance() { static $plugin; if ( ! $plugin instanceof \PopupMaker\Plugin\Core ) { $plugin = new Plugin\Core( get_plugin_config() ); } return $plugin; } /** * Easy access to all plugin services from the container. * * @see \PopupMaker\plugin_instance * * @param string|null $service_or_config Key of service or config to fetch. * @return \PopupMaker\Plugin\Core|mixed */ function plugin( $service_or_config = null ) { if ( ! isset( $service_or_config ) ) { return plugin_instance(); } $instance = plugin_instance(); // Check if this is a controller request first. if ( $instance->controllers->offsetExists( $service_or_config ) ) { return $instance->get_controller( $service_or_config ); } return $instance->get( $service_or_config ); } function init_plugin() { if ( ! check_prerequisites() ) { /** * Required, some older extensions init and require * these functions to not error. * * TODO In the near future we could move the requires to * the bootstrap.php file meaning they would always be * available. */ require_once __DIR__ . '/includes/entry--failsafes.php'; return; } /** * Plugin initialization functions. */ require_once __DIR__ . '/includes/entry--plugin-init.php'; plugin_instance(); do_action( 'popup_maker/init' ); } add_action( 'plugins_loaded', '\PopupMaker\init_plugin', // Core plugin loads at 11, Pro loads at 12 & addons load at 13. 11 // Old pum_init() was at 9. ); languages/popup-maker.pot 0000644 00000274337 15174671772 0011537 0 ustar 00 # Copyright (C) 2025 WordPress Popup Plugin # This file is distributed under the same license as the WordPress Popup Plugin package. msgid "" msgstr "" "Project-Id-Version: WordPress Popup Plugin\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language-Team: Popup Maker <support@wppopupmaker.com>\n" "POT-Creation-Date: 2025-08-14 04:28+0000\n" "Report-Msgid-Bugs-To: https://wppopupmaker.com/support/\n" "X-Poedit-Basepath: ..\n" "X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.js\n" "X-Poedit-SourceCharset: UTF-8\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: classes/Admin.php:64 msgid "Integrations" msgstr "" #: classes/Admin.php:65, classes/Admin/Pages.php:61, classes/Admin/Pages.php:164, classes/Admin/Templates.php:426, classes/Admin/Templates.php:699, classes/Site/Assets.php:290 msgid "Settings" msgstr "" #: classes/Admin.php:71 msgid "Translate" msgstr "" #: classes/Analytics.php:188 msgid "Event Type" msgstr "" #: classes/Analytics.php:193, classes/Shortcode/Subscribe.php:437, includes/integrations/ninja-forms/Actions/OpenPopup.php:52 msgid "Popup ID" msgstr "" #: classes/AssetCache.php:693 msgid "Try to create cache again" msgstr "" #: classes/AssetCache.php:694 msgid "Keep current method" msgstr "" #: classes/AssetCache.php:695, classes/Telemetry.php:271, classes/Admin/Extend.php:124, classes/Admin/Notices.php:67, classes/Admin/Onboarding.php:68 msgid "Learn more" msgstr "" #: classes/AssetCache.php:702 msgid "Popup Maker detected an issue with your file system's ability and is unable to create & save cached assets for your popup styling and settings. This may lead to suboptimal performance. Please check your filesystem and contact your hosting provide to ensure Popup Maker can create and write to cache files." msgstr "" #: classes/Conditions.php:109, classes/Conditions.php:490, classes/Conditions.php:504, classes/Conditions.php:510, classes/Cookies.php:210, classes/Shortcode.php:152, classes/Shortcode.php:164, classes/Shortcode.php:177, classes/Triggers.php:367, includes/class-popmake-fields.php:63, classes/Admin/Popups.php:403, classes/Admin/Settings.php:739, classes/Admin/Settings.php:765, classes/Admin/Settings.php:768, classes/Admin/Settings.php:777, classes/Admin/Themes.php:374, classes/Admin/Themes.php:395, classes/Admin/Themes.php:414, classes/Shortcode/Popup.php:57, classes/Shortcode/Popup.php:73, classes/Shortcode/Subscribe.php:63, classes/Shortcode/Subscribe.php:85, classes/Shortcode/Subscribe.php:88 msgid "General" msgstr "" #: classes/Conditions.php:110 msgid "Pages" msgstr "" #: classes/Conditions.php:111, classes/Conditions.php:497 msgid "Posts" msgstr "" #: classes/Conditions.php:112, classes/Admin/Pages.php:155, classes/Admin/Popups.php:1223 msgid "Categories" msgstr "" #: classes/Conditions.php:113, classes/Admin/Pages.php:156, classes/Admin/Popups.php:1219 msgid "Tags" msgstr "" #: classes/Conditions.php:114 msgid "Format" msgstr "" #. translators: 1. Post type plural label. #: classes/Conditions.php:234 msgctxt "condition: post type plural label ie. Posts: All" msgid "%s Archive" msgstr "" #. translators: 1. Post type plural label. #: classes/Conditions.php:246 msgctxt "condition: post type plural label ie. Posts: All" msgid "All %s" msgstr "" #. translators: 1. Post type plural label. #: classes/Conditions.php:256 msgctxt "condition: post type plural label ie. Posts: Selected" msgid "%s: Selected" msgstr "" #. translators: 1. Post type plural label. #: classes/Conditions.php:263, classes/Conditions.php:308, classes/Conditions.php:331 msgctxt "condition: post type plural label ie. Select Posts" msgid "Select %s." msgstr "" #. translators: 1. Post type plural label. #: classes/Conditions.php:280 msgctxt "condition: post type plural label ie. Posts: ID" msgid "%s: ID" msgstr "" #. translators: 1. Post type singular label. #: classes/Conditions.php:287 msgctxt "condition: post type singular label ie. Posts IDs" msgid "%s IDs: 128, 129" msgstr "" #. translators: 1. Post type plural label. #: classes/Conditions.php:301 msgctxt "condition: post type plural label ie. Posts: ID" msgid "%s: Child Of" msgstr "" #. translators: 1. Post type plural label. #: classes/Conditions.php:324 msgctxt "condition: post type plural label ie. Posts: ID" msgid "%s: Ancestor Of" msgstr "" #. translators: 1. Post type plural label. #: classes/Conditions.php:351 msgctxt "condition: post type plural label ie. Pages: With Template" msgid "%s: With Template" msgstr "" #: classes/Conditions.php:360, classes/Shortcode/Subscribe.php:137, classes/Shortcode/Subscribe.php:305 msgid "Default" msgstr "" #. translators: 1. Post type plural label, 2. Taxonomy singular label. #: classes/Conditions.php:392 msgctxt "condition: post type plural and taxonomy singular label ie. Posts: With Category" msgid "%1$s: With %2$s" msgstr "" #. translators: 1. Taxonomy plural label. #: classes/Conditions.php:400 msgctxt "condition: post type plural label ie. Select categories" msgid "Select %s." msgstr "" #. translators: 1. Taxonomy plural label. #: classes/Conditions.php:430 msgctxt "condition: taxonomy plural label ie. Categories: All" msgid "%s: All" msgstr "" #. translators: 1. Taxonomy plural label. #: classes/Conditions.php:440 msgctxt "condition: taxonomy plural label ie. Categories: Selected" msgid "%s: Selected" msgstr "" #. translators: 1. Taxonomy plural label. #: classes/Conditions.php:447 msgctxt "condition: taxonomy plural label ie. Select Categories" msgid "Select %s." msgstr "" #. translators: 1. Taxonomy plural label. #: classes/Conditions.php:463 msgctxt "condition: taxonomy plural label ie. Categories: Selected" msgid "%s: IDs" msgstr "" #. translators: 1. Taxonomy singular label. #: classes/Conditions.php:470 msgctxt "condition: taxonomy plural label ie. Category IDs" msgid "%s IDs: 128, 129" msgstr "" #: classes/Conditions.php:491 msgid "Home Page" msgstr "" #: classes/Conditions.php:498 msgid "Blog Index" msgstr "" #: classes/Conditions.php:505 msgid "Search Result Page" msgstr "" #: classes/Conditions.php:511 msgid "404 Error Page" msgstr "" #: classes/Cookies.php:83 msgid "On Popup Close" msgstr "" #: classes/Cookies.php:86 msgid "On Popup Open" msgstr "" #: classes/Cookies.php:89, classes/Triggers.php:216, classes/Admin/Popups.php:442 msgid "Form Submission" msgstr "" #: classes/Cookies.php:96, classes/Triggers.php:222, classes/Shortcode/Subscribe.php:64 msgid "Form" msgstr "" #: classes/Cookies.php:99, classes/Triggers.php:225 msgid "Any Supported Form*" msgstr "" #: classes/Cookies.php:100, classes/Privacy.php:36, classes/Triggers.php:226, classes/Types.php:29, classes/Extension/Activator.php:176, classes/Extension/Activator.php:188, classes/Extension/Activator.php:201, classes/Services/License.php:483, classes/Site/Assets.php:275, classes/Utils/Alerts.php:492, includes/admin/class-pum-admin-upgrades.php:224, includes/integrations/class-pum-gravity-forms.php:57, includes/modules/admin-bar.php:77 msgid "Popup Maker" msgstr "" #: classes/Cookies.php:101, classes/Triggers.php:227, classes/Shortcode/Subscribe.php:41 msgid "Subscription Form" msgstr "" #: classes/Cookies.php:111 msgid "Only in this popup" msgstr "" #: classes/Cookies.php:119 msgid "Subscription Form: Successful" msgstr "" #: classes/Cookies.php:122 msgid "Subscription Form: Already Subscribed" msgstr "" #: classes/Cookies.php:125, includes/input-options.php:165 msgid "Manual" msgstr "" #: classes/Cookies.php:160 msgid "Cookie Settings" msgstr "" #: classes/Cookies.php:161 msgid "Sessions" msgstr "" #: classes/Cookies.php:211, classes/Triggers.php:369, classes/Admin/Popups.php:408, classes/Admin/Popups.php:438, classes/Admin/Popups.php:446, classes/Admin/Themes.php:380, classes/Admin/Themes.php:424 msgid "Advanced" msgstr "" #: classes/Cookies.php:229, classes/Privacy.php:79, classes/Triggers.php:337, classes/Shortcode/PopupCookie.php:48 msgid "Cookie Name" msgstr "" #: classes/Cookies.php:230, classes/Shortcode/PopupCookie.php:49 msgid "Cookie Name ex. popmaker-123" msgstr "" #: classes/Cookies.php:231, classes/Shortcode/PopupCookie.php:50 msgid "The name that will be used when checking for or saving this cookie." msgstr "" #: classes/Cookies.php:236, classes/Shortcode/PopupCookie.php:54 msgid "Cookie Time" msgstr "" #: classes/Cookies.php:237, classes/Shortcode/PopupCookie.php:55 msgid "364 days 23 hours 59 minutes 59 seconds" msgstr "" #: classes/Cookies.php:238, classes/Shortcode/PopupCookie.php:56 msgid "Enter a plain english time before cookie expires." msgstr "" #: classes/Cookies.php:245 msgid "Use Session Cookie?" msgstr "" #: classes/Cookies.php:246 msgid "Session cookies expire when the user closes their browser." msgstr "" #. translators: %1$s: bold start, %2$s: bold end. #: classes/Cookies.php:248 msgid "%1$sNote%2$s: Modern browsers that reopen your last browser session's tabs do not properly clear session cookies" msgstr "" #: classes/Cookies.php:257, classes/Shortcode/PopupCookie.php:60 msgid "Sitewide Cookie" msgstr "" #: classes/Cookies.php:258, classes/Shortcode/PopupCookie.php:61 msgid "This will prevent the popup from triggering on all pages until the cookie expires." msgstr "" #: classes/Cookies.php:264 msgid "Cookie Key" msgstr "" #: classes/Cookies.php:265 msgid "Changing this will cause all existing cookies to be invalid." msgstr "" #. translators: 1. Plugin name, 2. Required plugin name, 3. Version number, 4. Opening HTML tag, 5. Closing HTML tag. #: classes/Install.php:250 msgid "The %4$s %1$s %5$s plugin requires %2$s version %3$s or greater." msgstr "" #. translators: 1. Integration label. #: classes/Integrations.php:475 msgid "Any %s Form" msgstr "" #. translators: 1. Plugin name. #: classes/Licensing.php:190 msgid "To receive updates, please enter your valid %s license key." msgstr "" #: classes/Licensing.php:180 msgid "Your license key expires on %s." msgstr "" #: classes/Licensing.php:172 msgid "Your license key expires soon! It expires on %1$s. %2$sRenew your license key%3$s." msgstr "" #: classes/Licensing.php:168 msgid "License key never expires." msgstr "" #: classes/Licensing.php:98 msgid "Your license key expired on %1$s. Please %2$srenew your license key%3$s." msgstr "" #: classes/Licensing.php:108 msgid "Your license key has been disabled. Please %1$scontact support%2$s for more information." msgstr "" #: classes/Licensing.php:116 msgid "Invalid license. Please %1$svisit your account page%2$s and verify it." msgstr "" #: classes/Licensing.php:125 msgid "Your %1$s is not active for this URL. Please %2$svisit your account page%3$s to manage your license key URLs." msgstr "" #. translators: the plugin name #: classes/Licensing.php:134, classes/Services/License.php:482 msgid "This appears to be an invalid license key for %s." msgstr "" #: classes/Licensing.php:141 msgid "Your license key has reached its activation limit. %1$sView possible upgrades%2$s now." msgstr "" #: classes/Licensing.php:147 msgid "The key you entered belongs to a bundle, please use the product specific license key." msgstr "" #: classes/Licensing.php:150 msgid "unknown_error" msgstr "" #: classes/Licensing.php:153 msgid "There was an error with this license key: %1$s. Please %2$scontact our support team%3$s." msgstr "" #: classes/ListTable.php:962 msgid "function PUM_ListTable::get_columns() must be over-ridden in a sub-class." msgstr "" #: classes/Privacy.php:48 msgid "Suggested text:" msgstr "" #: classes/Privacy.php:52 msgid "Hello," msgstr "" #: classes/Privacy.php:52 msgid "This information serves as a guide on what sections need to be modified due to usage of Popup Maker and its extensions." msgstr "" #: classes/Privacy.php:53 msgid "You should include the information below in the correct sections of you privacy policy." msgstr "" #: classes/Privacy.php:54 msgid "Disclaimer:" msgstr "" #: classes/Privacy.php:54 msgid "This information is only for guidance and not to be considered as legal advice." msgstr "" #: classes/Privacy.php:55 msgid "Note:" msgstr "" #: classes/Privacy.php:55 msgid "Some of the information below is dynamically generated, such as cookies. If you add or change popups you will see those additions or changes below and will need to update your policy accordingly." msgstr "" #: classes/Privacy.php:58 msgid "What personal data we collect and why we collect it" msgstr "" #: classes/Privacy.php:60 msgid "Subscription forms" msgstr "" #: classes/Privacy.php:61 msgid "Popup Maker subscription forms are not enabled by default." msgstr "" #: classes/Privacy.php:62 msgid "If you have used them in your popups to collect email subscribers, use this subsection to note what personal data is captured when someone submits a subscription form, and how long you keep it." msgstr "" #: classes/Privacy.php:63 msgid "For example, you may note that you keep form submissions for ongoing marketing purposes." msgstr "" #: classes/Privacy.php:64 msgid "If you submit a subscription form on our site you will be opting in for us to save your name, email address and other relevant information." msgstr "" #: classes/Privacy.php:65 msgid "These subscriptions are used to notify you about related content, discounts & other special offers." msgstr "" #: classes/Privacy.php:65 msgid "You can opt our or unsubscribe at any time in the future by clicking link in the bottom of any email." msgstr "" #: classes/Privacy.php:67, classes/Admin/Templates.php:685, classes/Site/Assets.php:292 msgid "Cookies" msgstr "" #: classes/Privacy.php:68 msgid "Popup Maker uses cookies for most popups. The primary function is to prevent your users from being annoyed by seeing the same popup repeatedly." msgstr "" #: classes/Privacy.php:69 msgid "This may result in cookies being saved for an extended period of time. These are non-tracking cookies used only by our popups." msgstr "" #: classes/Privacy.php:75 msgid "Below is a list of all cookies currently registered within your popup settings. These are here for you to disclose if you are so required." msgstr "" #: classes/Privacy.php:80 msgid "Usage" msgstr "" #: classes/Privacy.php:81 msgid "Time" msgstr "" #: classes/Privacy.php:114 msgid "We use anonymous cookies to prevent users from seeing the same popup repetitively in an attempt to make our users experience more pleasant while still delivering time sensitive messaging." msgstr "" #: classes/Privacy.php:116, classes/Admin/Popups.php:184 msgid "Analytics" msgstr "" #: classes/Privacy.php:117 msgid "Popup Maker anonymously tracks popup views and conversions." msgstr "" #: classes/Privacy.php:119 msgid "How long we retain your data" msgstr "" #: classes/Privacy.php:120 msgid "Subscriber information is retained in the local database indefinitely for analytic tracking purposes and for future export." msgstr "" #: classes/Privacy.php:121 msgid "Data will be exported or removed upon users request via the existing Exporter or Eraser." msgstr "" #: classes/Privacy.php:121 msgid "If syncing data to a 3rd party service (for example Mailchimp), data is retained there until unsubscribed or deleted." msgstr "" #: classes/Privacy.php:123 msgid "Where we send your data" msgstr "" #: classes/Privacy.php:124 msgid "Popup Maker does not send any user data outside of your site by default." msgstr "" #: classes/Privacy.php:125 msgid "If you have extended our subscription forms to send data to a 3rd party service such as Mailchimp, user info may be passed to these external services. These services may be located abroad." msgstr "" #: classes/Privacy.php:150, classes/Privacy.php:168 msgid "Popup Maker Subscribe Form" msgstr "" #: classes/Privacy.php:217 msgid "Subscriber Data" msgstr "" #: classes/Privacy.php:227, classes/Admin/Subscribers/Table.php:312 msgid "ID" msgstr "" #: classes/Privacy.php:233, classes/Shortcode/Subscribe.php:217, classes/Shortcode/Subscribe.php:221, classes/Shortcode/Subscribe.php:269, classes/Shortcode/Subscribe.php:270, classes/Admin/Subscribers/Table.php:102 msgid "Email" msgstr "" #: classes/Privacy.php:239, classes/Admin/Popups.php:1204, classes/Admin/Templates.php:698, classes/Shortcode/Subscribe.php:195, classes/Shortcode/Subscribe.php:249 msgid "Name" msgstr "" #: classes/Privacy.php:245, classes/Shortcode/Subscribe.php:199, classes/Shortcode/Subscribe.php:204, classes/Shortcode/Subscribe.php:253, classes/Shortcode/Subscribe.php:257, classes/Admin/Subscribers/Table.php:104 msgid "First Name" msgstr "" #: classes/Privacy.php:251, classes/Shortcode/Subscribe.php:208, classes/Shortcode/Subscribe.php:213, classes/Shortcode/Subscribe.php:261, classes/Shortcode/Subscribe.php:265, classes/Admin/Subscribers/Table.php:105 msgid "Last Name" msgstr "" #: classes/Privacy.php:257 msgid "Provided Consent" msgstr "" #: classes/Privacy.php:283, classes/Admin/Settings.php:382, classes/Shortcode/Subscribe.php:341 msgid "Consent Required" msgstr "" #: classes/Privacy.php:286, classes/Admin/Settings.php:361 msgid "Consent Text" msgstr "" #: classes/Privacy.php:314 msgid "Date Subscribed" msgstr "" #: classes/Privacy.php:395 msgid "Subscription information was not removed. This may occur when no immediate confirmation is received during our attempt to unsubscribe you from our mailing list." msgstr "" #: classes/Privacy.php:391 msgid "Subscription information was not removed. A database error may have occurred during deletion." msgstr "" #: classes/Privacy.php:442 msgid "Cookie used to prevent popup from displaying repeatedly." msgstr "" #: classes/Shortcode.php:153, classes/Shortcode.php:165, classes/Shortcode.php:180 msgid "Options" msgstr "" #: classes/Telemetry.php:249 msgid "We are constantly improving Popup Maker but that's difficult to do if we don't know how it's being used. Please allow data sharing so that we can receive a little information on how it is used. You can change this setting at any time on our Settings page. No user data is sent to our servers. No sensitive data is tracked." msgstr "" #: classes/Telemetry.php:258 msgid "Allow" msgstr "" #: classes/Telemetry.php:264 msgid "Do not allow" msgstr "" #. translators: 1. Trigger name. #: classes/Triggers.php:94 msgctxt "trigger settings modal title" msgid "%s Trigger Settings" msgstr "" #: classes/Triggers.php:171 msgid "Click Open" msgstr "" #: classes/Triggers.php:172 msgid "Click Trigger Settings" msgstr "" #: classes/Triggers.php:173 msgid "Extra Selectors" msgstr "" #: classes/Triggers.php:178 msgid "Adding the class \"popmake-<span id=\"pum-default-click-trigger-class\">{popup-ID}</span>\" to an element will trigger it to be opened once clicked. Additionally you can add additional CSS selectors below." msgstr "" #: classes/Triggers.php:181 msgid "Extra CSS Selectors" msgstr "" #: classes/Triggers.php:182 msgid "For more than one selector, separate by comma (,)" msgstr "" #: classes/Triggers.php:182 msgid " .class-here, .class-2-here, #button_id" msgstr "" #: classes/Triggers.php:183 msgid ".class-here" msgstr "" #: classes/Triggers.php:190, classes/Shortcode/PopupClose.php:103, classes/Shortcode/PopupTrigger.php:135 msgid "Do not prevent the default click functionality." msgstr "" #: classes/Triggers.php:191, classes/Shortcode/PopupTrigger.php:136 msgid "This prevents us from disabling the browsers default action when a trigger is clicked. It can be used to allow a link to a file to both trigger a popup and still download the file." msgstr "" #: classes/Triggers.php:197 msgid "Time Delay / Auto Open" msgstr "" #: classes/Triggers.php:198 msgid "Time Delay Settings" msgstr "" #: classes/Triggers.php:199, classes/Triggers.php:204, classes/Triggers.php:236, classes/Admin/Popups.php:885, classes/Shortcode/Subscribe.php:421, includes/integrations/class-pum-cf7.php:153, includes/integrations/class-pum-gravity-forms.php:144, includes/integrations/ninja-forms/Actions/ClosePopup.php:53 msgid "Delay" msgstr "" #: classes/Triggers.php:205, classes/Triggers.php:237 msgid "The delay before the popup will open in milliseconds." msgstr "" #: classes/Triggers.php:338 msgid "Choose which cookies will disable this trigger" msgstr "" #: classes/Triggers.php:345, classes/Admin/Templates.php:677 msgid "Add New Cookie" msgstr "" #: classes/Triggers.php:368, classes/Admin/Templates.php:425 msgid "Cookie" msgstr "" #: classes/Types.php:27, classes/Types.php:212, classes/Upsell.php:146, classes/Admin/Popups.php:115, classes/Shortcode/Popup.php:34, classes/Shortcode/Popup.php:414, classes/Shortcode/Subscribe.php:98, includes/integrations/class-pum-cf7.php:175, includes/integrations/class-pum-gravity-forms.php:166, includes/modules/menus.php:62, classes/Admin/Subscribers/Table.php:106 msgid "Popup" msgstr "" #: classes/Types.php:27, classes/Upsell.php:146, includes/modules/admin-bar.php:87 msgid "Popups" msgstr "" #: classes/Types.php:67, classes/Types.php:213, classes/Upsell.php:147, classes/Admin/Onboarding.php:273, classes/Admin/Popups.php:115, classes/Admin/Popups.php:536, classes/Shortcode/Popup.php:114 msgid "Popup Theme" msgstr "" #: classes/Types.php:67, classes/Types.php:69, classes/Upsell.php:147, classes/Admin/Pages.php:115, classes/Admin/Pages.php:115 msgid "Popup Themes" msgstr "" #. translators: %1$s: Post Type Singular: "Popup", "Popup Theme" #: classes/Types.php:112 msgctxt "Post Type Singular: \"Popup\", \"Popup Theme\"" msgid "Create New %1$s" msgstr "" #. translators: %1$s: Post Type Singular: "Popup", "Popup Theme" #: classes/Types.php:114 msgctxt "Post Type Singular: \"Popup\", \"Popup Theme\"" msgid "Create %1$s" msgstr "" #. translators: %1$s: Post Type Singular: "Popup", "Popup Theme" #: classes/Types.php:116 msgctxt "Post Type Singular: \"Popup\", \"Popup Theme\"" msgid "Edit %1$s" msgstr "" #. translators: %1$s: Post Type Singular: "Popup", "Popup Theme" #: classes/Types.php:118 msgctxt "Post Type Singular: \"Popup\", \"Popup Theme\"" msgid "New %1$s" msgstr "" #. translators: %2$s: Post Type Plural: "Popups", "Popup Themes" #: classes/Types.php:120 msgctxt "Post Type Plural: \"Popups\", \"Popup Themes\"" msgid "All %2$s" msgstr "" #. translators: %1$s: Post Type Singular: "Popup", "Popup Theme" #: classes/Types.php:122 msgctxt "Post Type Singular: \"Popup\", \"Popup Theme\"" msgid "View %1$s" msgstr "" #. translators: %2$s: Post Type Plural: "Popups", "Popup Themes" #: classes/Types.php:124 msgctxt "Post Type Plural: \"Popups\", \"Popup Themes\"" msgid "Search %2$s" msgstr "" #. translators: %2$s: Post Type Plural: "Popups", "Popup Themes" #: classes/Types.php:126 msgctxt "Post Type Plural: \"Popups\", \"Popup Themes\"" msgid "No %2$s found" msgstr "" #. translators: %2$s: Post Type Plural: "Popups", "Popup Themes" #: classes/Types.php:128 msgctxt "Post Type Plural: \"Popups\", \"Popup Themes\"" msgid "No %2$s found in Trash" msgstr "" #. translators: %1$s: Post Type Singular: Popup, Theme #: classes/Types.php:198, classes/Types.php:200 msgctxt "Post Type Singular: Popup, Theme" msgid "%1$s updated." msgstr "" #. translators: %1$s: Post Type Singular: Popup, Theme #: classes/Types.php:202 msgctxt "Post Type Singular: Popup, Theme" msgid "%1$s published." msgstr "" #. translators: %1$s: Post Type Singular: Popup, Theme #: classes/Types.php:204 msgctxt "Post Type Singular: Popup, Theme" msgid "%1$s saved." msgstr "" #. translators: %1$s: Post Type Singular: Popup, Theme #: classes/Types.php:206 msgctxt "Post Type Singular: Popup, Theme" msgid "%1$s submitted." msgstr "" #. translators: %s - Wraps ending in link to pricing page. #: classes/Upsell.php:34 msgid "You are using the free version of Popup Maker. To get even more value, consider %1$supgrading to our premium plans%2$s." msgstr "" #. translators: %s url to product page. #: classes/Upsell.php:70 msgid "Want to disable the close button? Check out <a href=\"%s\" target=\"_blank\">Forced Interaction</a>!" msgstr "" #. translators: %s url to product page. #: classes/Upsell.php:88 msgid "Need more <a href=\"%s\" target=\"_blank\">advanced targeting</a> options?" msgstr "" #. translators: %s url to product page. #: classes/Upsell.php:112 msgid "Want to use <a href=\"%s\" target=\"_blank\">background images</a>?" msgstr "" #: classes/Upsell.php:178, classes/Admin/Extend.php:36, classes/Admin/Pages.php:66 msgid "Upgrade" msgstr "" #: includes/class-popmake-fields.php:186, classes/Admin/Helpers.php:209, classes/Admin/Popups.php:653, classes/Admin/Popups.php:873, classes/Shortcode/Popup.php:253, classes/Utils/Fields.php:131 msgid "ms" msgstr "" #: includes/functions-deprecated.php:269, includes/functions/themes/portability.php:75 msgid "Default Theme" msgstr "" #: includes/input-options.php:37, classes/Admin/Themes.php:500, classes/Admin/Themes.php:754, classes/Admin/Themes.php:853, classes/Admin/Themes.php:1057 msgid "Normal" msgstr "" #: includes/input-options.php:38, classes/Admin/Themes.php:755, classes/Admin/Themes.php:854, classes/Admin/Themes.php:1058 msgid "Italic" msgstr "" #: includes/input-options.php:50, includes/input-options.php:104, classes/Admin/Popups.php:666, classes/Admin/Popups.php:769, classes/Admin/Popups.php:773, classes/Admin/Themes.php:764, classes/Admin/Themes.php:921, classes/Shortcode/Popup.php:203, classes/Shortcode/Popup.php:207, classes/Shortcode/Subscribe.php:292 msgid "Left" msgstr "" #: includes/input-options.php:51, classes/Admin/Themes.php:765, classes/Shortcode/Subscribe.php:293 msgid "Center" msgstr "" #: includes/input-options.php:52, includes/input-options.php:106, classes/Admin/Popups.php:668, classes/Admin/Popups.php:787, classes/Admin/Popups.php:791, classes/Admin/Themes.php:766, classes/Admin/Themes.php:934, classes/Shortcode/Popup.php:218, classes/Shortcode/Popup.php:222, classes/Shortcode/Subscribe.php:294 msgid "Right" msgstr "" #: includes/input-options.php:63 msgid "Responsive Sizes⤵" msgstr "" #: includes/input-options.php:64, classes/Admin/Popups.php:552 msgid "Nano - 10%" msgstr "" #: includes/input-options.php:65, classes/Admin/Popups.php:553 msgid "Micro - 20%" msgstr "" #: includes/input-options.php:66, classes/Admin/Popups.php:554 msgid "Tiny - 30%" msgstr "" #: includes/input-options.php:67, classes/Admin/Popups.php:555 msgid "Small - 40%" msgstr "" #: includes/input-options.php:68, classes/Admin/Popups.php:556 msgid "Medium - 60%" msgstr "" #: includes/input-options.php:69, classes/Admin/Popups.php:557 msgid "Normal - 70%" msgstr "" #: includes/input-options.php:70, classes/Admin/Popups.php:558 msgid "Large - 80%" msgstr "" #: includes/input-options.php:71, classes/Admin/Popups.php:559 msgid "X Large - 95%" msgstr "" #: includes/input-options.php:72 msgid "Non Responsive Sizes⤵" msgstr "" #: includes/input-options.php:73, classes/Admin/Popups.php:562 msgid "Auto" msgstr "" #: includes/input-options.php:74, classes/Admin/Popups.php:563, classes/Shortcode/PopupTrigger.php:97 msgid "Custom" msgstr "" #: includes/input-options.php:86, classes/Admin/Assets.php:83, classes/Admin/Popups.php:637, classes/Admin/Popups.php:693, classes/Admin/Settings.php:284, classes/Admin/Themes.php:437, classes/Shortcode/Subscribe.php:137, classes/Shortcode/Subscribe.php:148, classes/Shortcode/Subscribe.php:304 msgid "None" msgstr "" #: includes/input-options.php:87, classes/Admin/Popups.php:638 msgid "Slide" msgstr "" #: includes/input-options.php:88, classes/Admin/Popups.php:639 msgid "Fade" msgstr "" #: includes/input-options.php:89, classes/Admin/Popups.php:640 msgid "Fade and Slide" msgstr "" #: includes/input-options.php:90 msgid "Grow" msgstr "" #: includes/input-options.php:91 msgid "Grow and Slide" msgstr "" #: includes/input-options.php:103, classes/Admin/Popups.php:665, classes/Admin/Popups.php:733, classes/Admin/Popups.php:737, classes/Admin/Themes.php:894, classes/Shortcode/Popup.php:173, classes/Shortcode/Popup.php:177 msgid "Top" msgstr "" #: includes/input-options.php:105, classes/Admin/Popups.php:667, classes/Admin/Popups.php:751, classes/Admin/Popups.php:755, classes/Admin/Themes.php:908, classes/Shortcode/Popup.php:188, classes/Shortcode/Popup.php:192 msgid "Bottom" msgstr "" #: includes/input-options.php:107, includes/input-options.php:127, includes/input-options.php:147, classes/Admin/Popups.php:669, classes/Admin/Popups.php:721, classes/Admin/Themes.php:883 msgid "Top Left" msgstr "" #: includes/input-options.php:108, includes/input-options.php:128, classes/Admin/Popups.php:670, classes/Admin/Popups.php:722, classes/Admin/Themes.php:884 msgid "Top Center" msgstr "" #: includes/input-options.php:109, includes/input-options.php:129, includes/input-options.php:148, classes/Admin/Popups.php:671, classes/Admin/Popups.php:723, classes/Admin/Themes.php:885 msgid "Top Right" msgstr "" #: includes/input-options.php:110, includes/input-options.php:130, classes/Admin/Popups.php:672, classes/Admin/Popups.php:724, classes/Admin/Themes.php:886 msgid "Middle Left" msgstr "" #: includes/input-options.php:111, includes/input-options.php:131, classes/Admin/Popups.php:673, classes/Admin/Popups.php:725 msgid "Middle Center" msgstr "" #: includes/input-options.php:112, includes/input-options.php:132, classes/Admin/Popups.php:674, classes/Admin/Popups.php:726, classes/Admin/Themes.php:887 msgid "Middle Right" msgstr "" #: includes/input-options.php:113, includes/input-options.php:133, includes/input-options.php:149, classes/Admin/Popups.php:675, classes/Admin/Popups.php:727, classes/Admin/Themes.php:888 msgid "Bottom Left" msgstr "" #: includes/input-options.php:114, includes/input-options.php:134, classes/Admin/Popups.php:676, classes/Admin/Popups.php:728, classes/Admin/Themes.php:889 msgid "Bottom Center" msgstr "" #: includes/input-options.php:115, includes/input-options.php:135, includes/input-options.php:150, classes/Admin/Popups.php:677, classes/Admin/Popups.php:729, classes/Admin/Themes.php:890 msgid "Bottom Right" msgstr "" #: includes/input-options.php:162 msgid "Disabled" msgstr "" #: includes/input-options.php:163 msgid "On Open" msgstr "" #: includes/input-options.php:164 msgid "On Close" msgstr "" #: includes/pum-install-functions.php:149 msgid "Light Box" msgstr "" #: includes/pum-install-functions.php:156 msgid "Enterprise Blue" msgstr "" #: includes/pum-install-functions.php:163 msgid "Hello Box" msgstr "" #: includes/pum-install-functions.php:170 msgid "Cutting Edge" msgstr "" #: includes/pum-install-functions.php:177 msgid "Framed Border" msgstr "" #: includes/pum-install-functions.php:184 msgid "Floating Bar - Soft Blue" msgstr "" #: includes/pum-install-functions.php:191 msgid "Content Only - For use with page builders or block editor" msgstr "" #: templates/popup.php:59, classes/Admin/Helpers.php:387, classes/Admin/Popups.php:405, classes/Admin/Popups.php:860, classes/Admin/Templates.php:338, classes/Admin/Themes.php:186, classes/Admin/Themes.php:379, classes/Shortcode/Popup.php:61, classes/Shortcode/Popup.php:85 msgid "Close" msgstr "" #: classes/Admin/Ajax.php:265, classes/Utils/Upgrades.php:468 msgid "A batch process ID must be present to continue." msgstr "" #: classes/Admin/Ajax.php:274, classes/Utils/Upgrades.php:477 msgid "You do not have permission to initiate this request. Contact an administrator for more information." msgstr "" #. translators: %s is the batch ID. #. translators: 1: Batch process ID. #: classes/Admin/Ajax.php:287, classes/Utils/Upgrades.php:500 msgid "%s is an invalid batch process ID." msgstr "" #. translators: %s is the batch ID. #. translators: 1: Batch process ID. #: classes/Admin/Ajax.php:302, classes/Utils/Upgrades.php:613 msgid "An invalid file path is registered for the %1$s batch process handler." msgstr "" #. translators: %1$s is the batch ID, %2$s is the batch handler class. #. translators: 1: Class name, 2: Batch process ID. #: classes/Admin/Ajax.php:316, classes/Utils/Upgrades.php:625 msgid "%1$s is an invalid handler for the %2$s batch process. Please try again." msgstr "" #: classes/Admin/Assets.php:75 msgid "Preview" msgstr "" #: classes/Admin/Assets.php:76, classes/Admin/Helpers.php:368, classes/Admin/Templates.php:548, classes/Admin/Templates.php:750 msgid "Add" msgstr "" #: classes/Admin/Assets.php:77, classes/Admin/Settings.php:701, classes/Admin/Tools.php:91, classes/Admin/Tools.php:214, includes/integrations/class-pum-gravity-forms.php:181 msgid "Save" msgstr "" #: classes/Admin/Assets.php:78 msgid "Update" msgstr "" #: classes/Admin/Assets.php:79, classes/Admin/Shortcode/UI.php:115 msgid "Insert" msgstr "" #: classes/Admin/Assets.php:80, classes/Admin/Helpers.php:366, classes/Admin/Shortcode/UI.php:116 msgid "Cancel" msgstr "" #: classes/Admin/Assets.php:81 msgid "Are you sure you want to delete this trigger?" msgstr "" #: classes/Admin/Assets.php:82 msgid "Are you sure you want to delete this cookie?" msgstr "" #: classes/Admin/Assets.php:84 msgid "Are you sure you want to reset the open count?" msgstr "" #: classes/Admin/Assets.php:85, classes/Admin/Shortcode/UI.php:117 msgid "Popup Maker Shortcodes" msgstr "" #: classes/Admin/Assets.php:86, classes/Admin/Shortcode/UI.php:118 msgid "There was an error in generating the preview" msgstr "" #: classes/Admin/Assets.php:149 msgid "Your all set, the upgrades completed successfully!" msgstr "" #: classes/Admin/Assets.php:150 msgid "We are sorry but your browser is not compatible with this kind of file upload. Please upgrade your browser." msgstr "" #: classes/Admin/Extend.php:53, classes/Admin/Extend.php:53 msgid "See All Premium Features" msgstr "" #: classes/Admin/Notices.php:75, classes/Admin/Notices.php:404, classes/Admin/Onboarding.php:74 msgid "Dismiss" msgstr "" #: classes/Admin/Notices.php:82 msgid "Turn off these occasional notices" msgstr "" #: classes/Admin/Notices.php:297 msgid "** You are seeing this notice because you are an administrator. Other users of the site will see nothing." msgstr "" #: classes/Admin/Notices.php:326 msgid "" "%1$sPopup Maker will soon require PHP Version %2$s.%3$s \n" "\n" "You're using Version %4$s. Please ask your host to upgrade your server's PHP." msgstr "" #: classes/Admin/Notices.php:340 msgid "" "%1$sPopup Maker will soon require WordPress Version %2$s.%3$s \n" "\n" "You're using Version %4$s. Please ask your host to upgrade your server's WordPress." msgstr "" #: classes/Admin/Onboarding.php:80 msgid "Turn off these occasional tips" msgstr "" #: classes/Admin/Onboarding.php:203, classes/Admin/Popups.php:120 msgid "Popup Name" msgstr "" #: classes/Admin/Onboarding.php:204 msgid "Name your popup so you can find it later. Site visitors will not see this." msgstr "" #: classes/Admin/Onboarding.php:217 msgid "Popup Content" msgstr "" #: classes/Admin/Onboarding.php:218 msgid "Add content for your popup here." msgstr "" #: classes/Admin/Onboarding.php:231 msgid "Popup Triggers" msgstr "" #: classes/Admin/Onboarding.php:232 msgid "Use triggers to choose what causes the popup to open." msgstr "" #: classes/Admin/Onboarding.php:245 msgid "Popup Targeting" msgstr "" #: classes/Admin/Onboarding.php:246 msgid "Use targeting to choose where on your site the popup should load and who to show the popup to." msgstr "" #: classes/Admin/Onboarding.php:259 msgid "Popup Display" msgstr "" #: classes/Admin/Onboarding.php:260 msgid "Use display settings to choose where on the screen the popup appears and what it looks like." msgstr "" #: classes/Admin/Onboarding.php:274 msgid "Choose the popup theme which controls the visual appearance of your popup including; colors, spacing, and fonts." msgstr "" #: classes/Admin/Onboarding.php:304 msgid "Welcome to Popup Maker!" msgstr "" #: classes/Admin/Onboarding.php:305 msgid "Click the \"Create New Popup\" button to create your first popup." msgstr "" #: classes/Admin/Onboarding.php:315 msgid "Enable Popups" msgstr "" #: classes/Admin/Onboarding.php:316 msgid "You can enable or disable your popups at any time using this toggle." msgstr "" #: classes/Admin/Onboarding.php:329 msgid "Review Popup Metrics" msgstr "" #: classes/Admin/Onboarding.php:330 msgid "Popup Maker will automatically track opens and conversions so you can easily see which popups convert the best." msgstr "" #: classes/Admin/Onboarding.php:343 msgid "Adjust Columns" msgstr "" #: classes/Admin/Onboarding.php:344 msgid "You can show or hide columns from the table on this page using the Screen Options. Popup Heading and Published Date are hidden by default." msgstr "" #: classes/Admin/Pages.php:56, classes/Admin/Subscribers.php:33 msgid "Subscribers" msgstr "" #: classes/Admin/Pages.php:71, classes/Admin/Pages.php:169 msgid "Help & Support" msgstr "" #: classes/Admin/Pages.php:76, classes/Admin/Pages.php:165, includes/modules/admin-bar.php:216 msgid "Tools" msgstr "" #: classes/Admin/Pages.php:152, includes/modules/admin-bar.php:195 msgid "All Popups" msgstr "" #: classes/Admin/Pages.php:153 msgid "Add New" msgstr "" #: classes/Admin/Pages.php:154 msgid "All Themes" msgstr "" #: classes/Admin/Pages.php:163 msgid "Extend" msgstr "" #: classes/Admin/Pages.php:166 msgid "Support Forum" msgstr "" #: classes/Admin/Pages.php:167 msgid "Account" msgstr "" #: classes/Admin/Pages.php:168 msgid "Contact Us" msgstr "" #: classes/Admin/Popups.php:146, classes/Admin/Popups.php:148, classes/Shortcode/Popup.php:103 msgid "Popup Title" msgstr "" #: classes/Admin/Popups.php:149 msgid "Optional" msgstr "" #: classes/Admin/Popups.php:149 msgid "Shown as headline inside the popup. Can be left blank." msgstr "" #: classes/Admin/Popups.php:174 msgid "Required" msgstr "" #: classes/Admin/Popups.php:174 msgid "Enter a name to help you remember what this popup is about. Only you will see this." msgstr "" #: classes/Admin/Popups.php:183, includes/integrations/class-pum-cf7.php:124, includes/integrations/class-pum-cf7.php:139, includes/integrations/class-pum-gravity-forms.php:125 msgid "Popup Settings" msgstr "" #. translators: 1. URL to view troubleshooting guide. 2. Closing HTML tag. #. translators: 1. URL to troubleshooting guide. 2. Closing tag. #: classes/Admin/Popups.php:262, classes/Admin/Settings.php:662, classes/Admin/Themes.php:151 msgid "If you are seeing this, the page is still loading or there are Javascript errors on this page. %1$sView troubleshooting guide%2$s" msgstr "" #: classes/Admin/Popups.php:404, classes/Shortcode/Popup.php:58, classes/Shortcode/Popup.php:76 msgid "Display" msgstr "" #: classes/Admin/Popups.php:406, classes/Admin/Templates.php:412, classes/Site/Assets.php:291 msgid "Triggers" msgstr "" #: classes/Admin/Popups.php:407 msgid "Targeting" msgstr "" #: classes/Admin/Popups.php:423 msgid "General Settings" msgstr "" #: classes/Admin/Popups.php:426 msgid "Triggers & Cookies" msgstr "" #: classes/Admin/Popups.php:429, classes/Site/Assets.php:294 msgid "Conditions" msgstr "" #: classes/Admin/Popups.php:432 msgid "Display Presets" msgstr "" #: classes/Admin/Popups.php:433, classes/Shortcode/Subscribe.php:91 msgid "Appearance" msgstr "" #: classes/Admin/Popups.php:434, classes/Admin/Popups.php:545, classes/Admin/Themes.php:415, classes/Shortcode/Popup.php:131 msgid "Size" msgstr "" #: classes/Admin/Popups.php:435, classes/Shortcode/Popup.php:60, classes/Shortcode/Popup.php:82 msgid "Animation" msgstr "" #: classes/Admin/Popups.php:436 msgid "Sounds" msgstr "" #: classes/Admin/Popups.php:437, classes/Admin/Themes.php:416, classes/Shortcode/Popup.php:59, classes/Shortcode/Popup.php:79 msgid "Position" msgstr "" #: classes/Admin/Popups.php:441 msgid "Button" msgstr "" #: classes/Admin/Popups.php:443 msgid "Alternate Methods" msgstr "" #: classes/Admin/Popups.php:503 msgid "Disable this popup on mobile devices." msgstr "" #: classes/Admin/Popups.php:508 msgid "Disable this popup on tablet devices." msgstr "" #: classes/Admin/Popups.php:527, classes/Admin/Popups.php:527 msgid "Center Popup" msgstr "" #: classes/Admin/Popups.php:528, classes/Admin/Popups.php:528 msgid "Right Bottom Slide-in" msgstr "" #: classes/Admin/Popups.php:529, classes/Admin/Popups.php:529 msgid "Top Bar" msgstr "" #: classes/Admin/Popups.php:530, classes/Admin/Popups.php:530 msgid "Left Bottom Notice" msgstr "" #: classes/Admin/Popups.php:537 msgid "Choose a theme for this popup." msgstr "" #: classes/Admin/Popups.php:537, classes/Admin/Settings.php:242 msgid "Customize This Theme" msgstr "" #: classes/Admin/Popups.php:546, classes/Shortcode/Popup.php:132 msgid "Select the size of the popup." msgstr "" #: classes/Admin/Popups.php:551 msgid "Responsive Sizes" msgstr "" #: classes/Admin/Popups.php:561 msgid "Other Sizes" msgstr "" #: classes/Admin/Popups.php:568 msgid "Min Width" msgstr "" #: classes/Admin/Popups.php:569 msgid "Set a minimum width for the popup." msgstr "" #: classes/Admin/Popups.php:578 msgid "Max Width" msgstr "" #: classes/Admin/Popups.php:579 msgid "Set a maximum width for the popup." msgstr "" #: classes/Admin/Popups.php:588, classes/Admin/Themes.php:970, classes/Shortcode/Popup.php:139 msgid "Width" msgstr "" #: classes/Admin/Popups.php:589 msgid "Set a custom width for the popup." msgstr "" #: classes/Admin/Popups.php:598 msgid "Auto Adjusted Height" msgstr "" #: classes/Admin/Popups.php:599 msgid "Checking this option will set height to fit the content." msgstr "" #: classes/Admin/Popups.php:607, classes/Admin/Themes.php:960, classes/Shortcode/Popup.php:150 msgid "Height" msgstr "" #: classes/Admin/Popups.php:608 msgid "Set a custom height for the popup." msgstr "" #: classes/Admin/Popups.php:618 msgid "Scrollable Content" msgstr "" #: classes/Admin/Popups.php:619 msgid "Checking this option will add a scroll bar to your content." msgstr "" #: classes/Admin/Popups.php:631, classes/Shortcode/Popup.php:237 msgid "Animation Type" msgstr "" #: classes/Admin/Popups.php:632, classes/Shortcode/Popup.php:238 msgid "Select an animation type for your popup." msgstr "" #: classes/Admin/Popups.php:646, classes/Shortcode/Popup.php:245 msgid "Animation Speed" msgstr "" #: classes/Admin/Popups.php:647, classes/Shortcode/Popup.php:246 msgid "Set the animation speed for the popup." msgstr "" #: classes/Admin/Popups.php:660, classes/Shortcode/Popup.php:256 msgid "Animation Origin" msgstr "" #: classes/Admin/Popups.php:661, classes/Shortcode/Popup.php:257 msgid "Choose where the animation will begin." msgstr "" #: classes/Admin/Popups.php:687 msgid "Opening Sound" msgstr "" #: classes/Admin/Popups.php:688 msgid "Select a sound to play when the popup opens." msgstr "" #: classes/Admin/Popups.php:694 msgid "Beep" msgstr "" #: classes/Admin/Popups.php:695 msgid "Beep 2" msgstr "" #: classes/Admin/Popups.php:696 msgid "Beep Up" msgstr "" #: classes/Admin/Popups.php:697 msgid "Chimes" msgstr "" #: classes/Admin/Popups.php:698 msgid "Correct" msgstr "" #: classes/Admin/Popups.php:699 msgid "Custom Sound" msgstr "" #: classes/Admin/Popups.php:703 msgid "Custom Sound URL" msgstr "" #: classes/Admin/Popups.php:704 msgid "Enter URL to sound file." msgstr "" #: classes/Admin/Popups.php:715, classes/Admin/Themes.php:878, classes/Shortcode/Popup.php:165 msgid "Location" msgstr "" #: classes/Admin/Popups.php:716, classes/Shortcode/Popup.php:166 msgid "Choose where the popup will be displayed." msgstr "" #. translators: 1. Screen Edge: top, bottom. #: classes/Admin/Popups.php:736, classes/Admin/Popups.php:754, classes/Admin/Popups.php:772, classes/Admin/Popups.php:790, classes/Shortcode/Popup.php:176, classes/Shortcode/Popup.php:191, classes/Shortcode/Popup.php:206, classes/Shortcode/Popup.php:221 msgctxt "Screen Edge: top, bottom" msgid "Distance from the %s edge of the screen." msgstr "" #: classes/Admin/Popups.php:805 msgid "Position from Trigger" msgstr "" #. translators: 1. URL to documentation. 2. Closing HTML tag. #: classes/Admin/Popups.php:808 msgid "This will position the popup in relation to the %1$sClick Trigger%2$s." msgstr "" #: classes/Admin/Popups.php:817 msgid "Fixed Positioning" msgstr "" #: classes/Admin/Popups.php:818 msgid "Checking this sets the positioning of the popup to fixed." msgstr "" #: classes/Admin/Popups.php:825, classes/Shortcode/Popup.php:124 msgid "Disable Overlay" msgstr "" #: classes/Admin/Popups.php:826, classes/Shortcode/Popup.php:125 msgid "Checking this will disable and hide the overlay for this popup." msgstr "" #: classes/Admin/Popups.php:831 msgid "Stackable" msgstr "" #: classes/Admin/Popups.php:832 msgid "This enables other popups to remain open." msgstr "" #: classes/Admin/Popups.php:837 msgid "Disable Repositioning" msgstr "" #: classes/Admin/Popups.php:838 msgid "This will disable automatic repositioning of the popup on window resizing." msgstr "" #: classes/Admin/Popups.php:843 msgid "Popup Z-Index" msgstr "" #: classes/Admin/Popups.php:844 msgid "Change the z-index layer level for the popup." msgstr "" #: classes/Admin/Popups.php:859 msgid "Close Text" msgstr "" #: classes/Admin/Popups.php:861 msgid "Override the default close text. To use a Font Awesome icon instead of text, enter the CSS classes such as \"fas fa-camera\"." msgstr "" #: classes/Admin/Popups.php:866 msgid "Close Button Delay" msgstr "" #: classes/Admin/Popups.php:867 msgid "This delays the display of the close button." msgstr "" #: classes/Admin/Popups.php:879 msgid "Close on Form Submission" msgstr "" #: classes/Admin/Popups.php:880 msgid "Close the popup automatically after integrated form plugin submissions." msgstr "" #: classes/Admin/Popups.php:886 msgid "The delay before the popup will close after submission (in milliseconds)." msgstr "" #: classes/Admin/Popups.php:899, classes/Shortcode/Popup.php:268 msgid "Click Overlay to Close" msgstr "" #: classes/Admin/Popups.php:900, classes/Shortcode/Popup.php:269 msgid "Checking this will cause popup to close when user clicks on overlay." msgstr "" #: classes/Admin/Popups.php:905 msgid "Press ESC to Close" msgstr "" #: classes/Admin/Popups.php:906 msgid "Checking this will cause popup to close when user presses ESC key." msgstr "" #: classes/Admin/Popups.php:911 msgid "Press F4 to Close" msgstr "" #: classes/Admin/Popups.php:912 msgid "Checking this will cause popup to close when user presses F4 key." msgstr "" #: classes/Admin/Popups.php:924 msgid "Disable automatic re-triggering of popup after non-ajax form submission." msgstr "" #: classes/Admin/Popups.php:929 msgid "Disable accessibility features." msgstr "" #: classes/Admin/Popups.php:930 msgid "This includes trapping the tab key & focus inside popup while open, force focus the first element when popup open, and refocus last click trigger when closed." msgstr "" #: classes/Admin/Popups.php:1097, classes/Admin/Popups.php:1208 msgid "Opens" msgstr "" #: classes/Admin/Popups.php:1101, classes/Admin/Popups.php:1209 msgid "Conversions" msgstr "" #: classes/Admin/Popups.php:1105, classes/Admin/Popups.php:1210 msgid "Conversion Rate" msgstr "" #: classes/Admin/Popups.php:1111 msgid "Reset Counts" msgstr "" #: classes/Admin/Popups.php:1119 msgid "Last Reset" msgstr "" #: classes/Admin/Popups.php:1120 msgid "Previous Opens" msgstr "" #: classes/Admin/Popups.php:1124 msgid "Previous Conversions" msgstr "" #: classes/Admin/Popups.php:1127 msgid "Lifetime Opens" msgstr "" #: classes/Admin/Popups.php:1131 msgid "Lifetime Conversions" msgstr "" #: classes/Admin/Popups.php:1205, classes/Shortcode/Subscribe.php:322 msgid "Enabled" msgstr "" #: classes/Admin/Popups.php:1206, classes/Admin/Themes.php:377 msgid "Title" msgstr "" #: classes/Admin/Popups.php:1207, classes/Shortcode/PopupClose.php:95, classes/Shortcode/PopupTrigger.php:123, classes/Shortcode/PopupTrigger.php:124 msgid "CSS Class" msgstr "" #: classes/Admin/Popups.php:1418 msgid "Show all categories" msgstr "" #: classes/Admin/Popups.php:1439 msgid "Show all tags" msgstr "" #: classes/Admin/Settings.php:63, classes/Admin/Tools.php:70 msgid "Dismiss this notice." msgstr "" #: classes/Admin/Settings.php:92 msgid "Settings saved successfully!" msgstr "" #: classes/Admin/Settings.php:241 msgid "Default Popup Theme" msgstr "" #: classes/Admin/Settings.php:242 msgid "Choose the default theme used for new popups" msgstr "" #: classes/Admin/Settings.php:248 msgid "Enable Block Editor Support" msgstr "" #: classes/Admin/Settings.php:249 msgid "Enable experimental support for using the block editor to edit popups." msgstr "" #: classes/Admin/Settings.php:254 msgid "Google Fonts API Key *optional" msgstr "" #: classes/Admin/Settings.php:255 msgid "Enter your own Google Fonts API key to always get the latest fonts available." msgstr "" #: classes/Admin/Settings.php:259 msgid "Allow usage tracking?" msgstr "" #. translators: 1 & 2 are opening and closing HTML of the link around "Learn more" #: classes/Admin/Settings.php:262 msgid "Allow data sharing so that we can receive a little information on how it is used and help us make this plugin better? No user data is sent to our servers. No sensitive data is tracked. %1$sLearn more%2$s" msgstr "" #: classes/Admin/Settings.php:278 msgid "Default Newsletter Provider" msgstr "" #: classes/Admin/Settings.php:279 msgid "The default mailing provider used for the subscription form." msgstr "" #: classes/Admin/Settings.php:289 msgid "Success Message" msgstr "" #: classes/Admin/Settings.php:290 msgid "Message to show user when successfuly subscribed." msgstr "" #: classes/Admin/Settings.php:292, includes/functions/newsletter.php:60 msgid "You have been subscribed!" msgstr "" #: classes/Admin/Settings.php:295 msgid "Empty Email Message" msgstr "" #: classes/Admin/Settings.php:296 msgid "Message to show user when no email is entered." msgstr "" #: classes/Admin/Settings.php:298, includes/functions/newsletter.php:64 msgid "Please enter a valid email." msgstr "" #: classes/Admin/Settings.php:301 msgid "Invalid Email Message" msgstr "" #: classes/Admin/Settings.php:302 msgid "Message to show user when an invalid email is entered." msgstr "" #: classes/Admin/Settings.php:304, includes/functions/newsletter.php:65, includes/functions/newsletter.php:66 msgid "Email provided is not a valid email address." msgstr "" #: classes/Admin/Settings.php:307 msgid "Error Message" msgstr "" #: classes/Admin/Settings.php:308 msgid "Message to show user when an error has occurred." msgstr "" #: classes/Admin/Settings.php:310, includes/functions/newsletter.php:62 msgid "Error occurred when subscribing. Please try again." msgstr "" #: classes/Admin/Settings.php:313 msgid "Already Subscribed Message" msgstr "" #: classes/Admin/Settings.php:314, classes/Admin/Settings.php:320 msgid "Message to show user who is already subscribed." msgstr "" #: classes/Admin/Settings.php:316, includes/functions/newsletter.php:63 msgid "You are already a subscriber." msgstr "" #: classes/Admin/Settings.php:319 msgid "Consent Required Message" msgstr "" #: classes/Admin/Settings.php:322 msgid "You must agree to continue." msgstr "" #: classes/Admin/Settings.php:342 msgid "Disables popup open tracking?" msgstr "" #: classes/Admin/Settings.php:343 msgid "This will disable the built in analytics functionality." msgstr "" #: classes/Admin/Settings.php:349 msgid "Disclaimer" msgstr "" #: classes/Admin/Settings.php:349 msgid "These settings only pertain to usage of the Popup Maker built in subscription form shortcode, not 3rd party form plugins." msgstr "" #: classes/Admin/Settings.php:352 msgid "Always enable consent field on subscription forms." msgstr "" #: classes/Admin/Settings.php:355, classes/Admin/Settings.php:397, classes/Admin/Settings.php:406, classes/Admin/Themes.php:697, classes/Admin/Themes.php:1158, classes/Shortcode/Subscribe.php:326, classes/Shortcode/Subscribe.php:379 msgid "Yes" msgstr "" #: classes/Admin/Settings.php:356, classes/Admin/Settings.php:415, classes/Admin/Themes.php:696, classes/Admin/Themes.php:1157, classes/Shortcode/Subscribe.php:327, classes/Shortcode/Subscribe.php:391 msgid "No" msgstr "" #: classes/Admin/Settings.php:363, classes/Shortcode/Subscribe.php:336 msgid "Notify me about related content and special offers." msgstr "" #: classes/Admin/Settings.php:369 msgid "Consent Field Type" msgstr "" #: classes/Admin/Settings.php:370 msgid "Radio forces the user to make a choice, often resulting in more opt-ins." msgstr "" #: classes/Admin/Settings.php:373, classes/Shortcode/Subscribe.php:353 msgid "Radio" msgstr "" #: classes/Admin/Settings.php:374, classes/Shortcode/Subscribe.php:354 msgid "Checkbox" msgstr "" #: classes/Admin/Settings.php:391, classes/Shortcode/Subscribe.php:361 msgid "Consent Radio Layout" msgstr "" #: classes/Admin/Settings.php:394, classes/Shortcode/Subscribe.php:282, classes/Shortcode/Subscribe.php:364 msgid "Inline" msgstr "" #: classes/Admin/Settings.php:395, classes/Shortcode/Subscribe.php:365 msgid "Stacked" msgstr "" #: classes/Admin/Settings.php:404, classes/Shortcode/Subscribe.php:377 msgid "Consent Yes Label" msgstr "" #: classes/Admin/Settings.php:413, classes/Shortcode/Subscribe.php:389 msgid "Consent No Label" msgstr "" #: classes/Admin/Settings.php:422, classes/Shortcode/Subscribe.php:401 msgid "Consent Usage Text" msgstr "" #. translators: 1. opening tag, 2. closing tag. #: classes/Admin/Settings.php:425, classes/Shortcode/Subscribe.php:404 msgid "You can use %1$s%2$s to insert a link to your privacy policy. To customize the link text use %1$s:Link Text%2$s" msgstr "" #: classes/Admin/Settings.php:430, classes/Shortcode/Subscribe.php:409 msgid "If you opt in above we use this information send related content, discounts and other special offers." msgstr "" #: classes/Admin/Settings.php:442 msgid "Try to bypass ad blockers." msgstr "" #: classes/Admin/Settings.php:446 msgid "Ad blocker: Naming method" msgstr "" #: classes/Admin/Settings.php:447 msgid "This will help generate unique names for our JavaScript files and the analytics routes." msgstr "" #: classes/Admin/Settings.php:450 msgid "Randomize Names" msgstr "" #: classes/Admin/Settings.php:451 msgid "Custom Names" msgstr "" #: classes/Admin/Settings.php:461 msgid "Ad blocker: Custom Name" msgstr "" #: classes/Admin/Settings.php:462 msgid "A custom & recognizable name to use for our assets." msgstr "" #: classes/Admin/Settings.php:470 msgid "Adjust the right padding added to the body when popups are shown with an overlay." msgstr "" #. translators: 1 & 2 are opening and closing HTML of the link around "Learn more" #: classes/Admin/Settings.php:473 msgid "Use this if your popups \"jump\" or \"shift\" when opened. %1$sLearn more%2$s" msgstr "" #: classes/Admin/Settings.php:481 msgid "Body Padding Override" msgstr "" #: classes/Admin/Settings.php:489 msgid "Disable Popups Admin Bar" msgstr "" #: classes/Admin/Settings.php:490 msgid "This will disable the admin Popups menu item." msgstr "" #: classes/Admin/Settings.php:494 msgid "Enable Debug Mode" msgstr "" #: classes/Admin/Settings.php:495 msgid "This will turn on multiple debug tools used to quickly find issues." msgstr "" #: classes/Admin/Settings.php:499 msgid "Enable Easy Modal v2 Compatibility Mode" msgstr "" #: classes/Admin/Settings.php:500 msgid "This will automatically make any eModal classes you have added to your site launch the appropriate Popup after import." msgstr "" #: classes/Admin/Settings.php:504 msgid "Disable categories & tags?" msgstr "" #: classes/Admin/Settings.php:505 msgid "This will disable the popup tags & categories." msgstr "" #: classes/Admin/Settings.php:509 msgid "Disable asset caching." msgstr "" #: classes/Admin/Settings.php:510 msgid "By default Popup Maker caches a single JS & CSS file in your Uploads folder. These files include core, extension & user customized styles & scripts in a single set of files." msgstr "" #: classes/Admin/Settings.php:514 msgid "Disable the Popup Maker shortcode button" msgstr "" #: classes/Admin/Settings.php:518 msgid "Disable Popup Maker occasionally showing random tips to improve your popups." msgstr "" #: classes/Admin/Settings.php:522 msgid "Disable Popup Maker occasionally showing community notices such as security alerts, new features or sales on our extensions." msgstr "" #: classes/Admin/Settings.php:526 msgid "Delete all Popup Maker data on deactivation" msgstr "" #: classes/Admin/Settings.php:527 msgid "Check this to completely uninstall Popup Maker." msgstr "" #: classes/Admin/Settings.php:534 msgid "Don't Load Google Fonts" msgstr "" #: classes/Admin/Settings.php:535 msgid " This stops Popup Maker from loading Google Fonts, useful if the fonts you chose are already loaded with your theme." msgstr "" #: classes/Admin/Settings.php:539 msgid "Don't load Popup Maker core stylesheet." msgstr "" #: classes/Admin/Settings.php:540 msgid "Check this if you have copied the Popup Maker core styles to your own stylesheet or are using custom styles." msgstr "" #: classes/Admin/Settings.php:544 msgid "Don't load popup theme styles to the head." msgstr "" #: classes/Admin/Settings.php:545 msgid "Check this if you have copied the popup theme styles to your own stylesheet or are using custom styles." msgstr "" #: classes/Admin/Settings.php:593 msgid "Show Popup Maker CSS" msgstr "" #: classes/Admin/Settings.php:594 msgid "Use this to quickly copy Popup Maker's CSS to your own stylesheet." msgstr "" #: classes/Admin/Settings.php:597 msgid "Core Styles" msgstr "" #: classes/Admin/Settings.php:608 msgid "Generated Popup & Popup Theme Styles" msgstr "" #: classes/Admin/Settings.php:655 msgid "Popup Maker Settings" msgstr "" #: classes/Admin/Settings.php:740 msgid "Subscriptions" msgstr "" #: classes/Admin/Settings.php:741 msgid "Extensions" msgstr "" #: classes/Admin/Settings.php:742, classes/Admin/Settings.php:774 msgid "Licenses" msgstr "" #: classes/Admin/Settings.php:743, classes/Shortcode/Subscribe.php:65, classes/Shortcode/Subscribe.php:95 msgid "Privacy" msgstr "" #: classes/Admin/Settings.php:744, classes/Admin/Settings.php:781 msgid "Misc" msgstr "" #: classes/Admin/Settings.php:771 msgid "Extension Settings" msgstr "" #: classes/Admin/Settings.php:778 msgid "Subscription Forms" msgstr "" #: classes/Admin/Settings.php:782 msgid "Assets" msgstr "" #: classes/Admin/Subscribers.php:46 msgid "Find" msgstr "" #: classes/Admin/Subscribers.php:78 msgid "Subscribers Per Page" msgstr "" #: classes/Admin/Support.php:52 msgid "<b>Secure HTTPS contact page</b>, running via iframe from external domain" msgstr "" #: classes/Admin/Templates.php:52 msgid "Check" msgstr "" #: classes/Admin/Templates.php:203 msgid "Active" msgstr "" #: classes/Admin/Templates.php:204 msgid "Deactivate License" msgstr "" #: classes/Admin/Templates.php:206 msgid "Inactive" msgstr "" #: classes/Admin/Templates.php:207 msgid "Activate License" msgstr "" #: classes/Admin/Templates.php:246 msgid "Category" msgstr "" #: classes/Admin/Templates.php:250 msgid "Action" msgstr "" #: classes/Admin/Templates.php:254 msgid "Label" msgstr "" #: classes/Admin/Templates.php:258 msgid "Value" msgstr "" #: classes/Admin/Templates.php:290, classes/Admin/Templates.php:295 msgid "Documentation" msgstr "" #: classes/Admin/Templates.php:404 msgid "Add New Trigger" msgstr "" #. translators: 1. contextual help link text. #: classes/Admin/Templates.php:411, classes/Admin/Templates.php:576, classes/Admin/Templates.php:684 msgid "Learn more about %s" msgstr "" #: classes/Admin/Templates.php:415 msgid "Triggers cause a popup to open." msgstr "" #: classes/Admin/Templates.php:424 msgid "Type" msgstr "" #: classes/Admin/Templates.php:427, classes/Admin/Templates.php:700, classes/Shortcode/Subscribe.php:66 msgid "Actions" msgstr "" #: classes/Admin/Templates.php:456, classes/Admin/Templates.php:465 msgid "Edit this trigger" msgstr "" #: classes/Admin/Templates.php:466 msgid "Delete this trigger" msgstr "" #: classes/Admin/Templates.php:475 msgid "Link: Exact Match" msgstr "" #: classes/Admin/Templates.php:476 msgid "Link: Containing" msgstr "" #: classes/Admin/Templates.php:477 msgid "Link: Begins With" msgstr "" #: classes/Admin/Templates.php:478 msgid "Link: Ends With" msgstr "" #: classes/Admin/Templates.php:485 msgid "Insert Preset" msgstr "" #: classes/Admin/Templates.php:508 msgid "What kind of trigger do you want?" msgstr "" #: classes/Admin/Templates.php:518 msgid "Prevent popup from showing to visitor again using a cookie?" msgstr "" #: classes/Admin/Templates.php:525 msgid "Stop showing popup once visitor takes this action" msgstr "" #: classes/Admin/Templates.php:546 msgid "New Trigger" msgstr "" #: classes/Admin/Templates.php:569 msgid "Conditions allow you to show your popup to a targeted segment of your sites users." msgstr "" #: classes/Admin/Templates.php:577 msgid "Targeting Conditions" msgstr "" #: classes/Admin/Templates.php:587 msgid "By default, this popup will be loaded on every page of your site for all users." msgstr "" #: classes/Admin/Templates.php:588 msgid "Target the popup to a specific segment by adding conditions below." msgstr "" #. translators: 1. button text. 2. warning icon. #: classes/Admin/Templates.php:593 msgid "Click the %1$s button for any condition to check the opposite of the chosen condition. The button will turn red %2$s when active." msgstr "" #: classes/Admin/Templates.php:613 msgid "Choose a condition to target your popup to specific content or various other segments." msgstr "" #: classes/Admin/Templates.php:615, classes/Admin/Templates.php:647 msgid "Enable the Not Operand" msgstr "" #: classes/Admin/Templates.php:618, classes/Admin/Templates.php:651 msgid "Choose a condition" msgstr "" #: classes/Admin/Templates.php:634 msgctxt "aria-label for add new OR condition button" msgid "Add another OR condition" msgstr "" #: classes/Admin/Templates.php:634, classes/Admin/Templates.php:645 msgid "or" msgstr "" #: classes/Admin/Templates.php:638 msgctxt "aria-label for add new AND condition button" msgid "Add another AND condition group" msgstr "" #: classes/Admin/Templates.php:638 msgid "and" msgstr "" #: classes/Admin/Templates.php:659 msgid "Remove Condition" msgstr "" #: classes/Admin/Templates.php:688 msgid "Cookies control the repeat display of a popup." msgstr "" #: classes/Admin/Templates.php:697 msgid "Event" msgstr "" #: classes/Admin/Templates.php:729, classes/Admin/Templates.php:738 msgid "Edit this cookie" msgstr "" #: classes/Admin/Templates.php:739 msgid "Delete this cookie" msgstr "" #: classes/Admin/Templates.php:748 msgid "When should your cookie be created?" msgstr "" #: classes/Admin/Templates.php:749 msgid "Select a cookie type." msgstr "" #: classes/Admin/Templates.php:757 msgid "Reset Cookie Key" msgstr "" #: classes/Admin/Themes.php:34 msgid "Theme Settings" msgstr "" #: classes/Admin/Themes.php:37 msgid "Theme Preview" msgstr "" #: classes/Admin/Themes.php:182 msgid "Title Text" msgstr "" #: classes/Admin/Themes.php:193 msgid "If you move this theme preview to the bottom of your sidebar here it will follow you down the page?" msgstr "" #: classes/Admin/Themes.php:194 msgid "Clicking on an element in this theme preview will take you to its relevant settings in the editor?" msgstr "" #: classes/Admin/Themes.php:198 msgid "Did you know:" msgstr "" #: classes/Admin/Themes.php:375 msgid "Overlay" msgstr "" #: classes/Admin/Themes.php:376, classes/Admin/Themes.php:401 msgid "Container" msgstr "" #: classes/Admin/Themes.php:378, classes/Shortcode/Popup.php:43, classes/Shortcode/PopupClose.php:41 msgid "Content" msgstr "" #: classes/Admin/Themes.php:398, classes/Admin/Themes.php:402, classes/Admin/Themes.php:417 msgid "Background" msgstr "" #: classes/Admin/Themes.php:403, classes/Admin/Themes.php:418 msgid "Border" msgstr "" #: classes/Admin/Themes.php:404, classes/Admin/Themes.php:419 msgid "Drop Shadow" msgstr "" #: classes/Admin/Themes.php:407, classes/Admin/Themes.php:420 msgid "Font" msgstr "" #: classes/Admin/Themes.php:408, classes/Admin/Themes.php:421 msgid "Text Shadow" msgstr "" #: classes/Admin/Themes.php:411 msgid "Text" msgstr "" #: classes/Admin/Themes.php:438 msgid "Solid" msgstr "" #: classes/Admin/Themes.php:439 msgid "Dotted" msgstr "" #: classes/Admin/Themes.php:440 msgid "Dashed" msgstr "" #: classes/Admin/Themes.php:441 msgid "Double" msgstr "" #: classes/Admin/Themes.php:442 msgid "Groove" msgstr "" #: classes/Admin/Themes.php:443, classes/Admin/Themes.php:691, classes/Admin/Themes.php:1152 msgid "Inset (inner shadow)" msgstr "" #: classes/Admin/Themes.php:444 msgid "Outset" msgstr "" #: classes/Admin/Themes.php:445 msgid "Ridge" msgstr "" #: classes/Admin/Themes.php:470 msgid "Use Your Themes" msgstr "" #: classes/Admin/Themes.php:471 msgid "System Fonts" msgstr "" #: classes/Admin/Themes.php:503 msgid "Bold" msgstr "" #: classes/Admin/Themes.php:538, classes/Admin/Themes.php:584, classes/Admin/Themes.php:610, classes/Admin/Themes.php:634, classes/Admin/Themes.php:708, classes/Admin/Themes.php:773, classes/Admin/Themes.php:827, classes/Admin/Themes.php:992, classes/Admin/Themes.php:1011, classes/Admin/Themes.php:1071, classes/Admin/Themes.php:1095, classes/Admin/Themes.php:1164 msgid "Color" msgstr "" #: classes/Admin/Themes.php:544, classes/Admin/Themes.php:590, classes/Admin/Themes.php:640, classes/Admin/Themes.php:779, classes/Admin/Themes.php:998, classes/Admin/Themes.php:1101, classes/Admin/Themes.php:1170 msgid "Opacity" msgstr "" #: classes/Admin/Themes.php:562, classes/Admin/Themes.php:950 msgid "Padding" msgstr "" #: classes/Admin/Themes.php:572, classes/Admin/Themes.php:980 msgid "Border Radius" msgstr "" #: classes/Admin/Themes.php:603, classes/Admin/Themes.php:749, classes/Admin/Themes.php:848, classes/Admin/Themes.php:1052, classes/Admin/Themes.php:1064 msgid "Style" msgstr "" #: classes/Admin/Themes.php:619, classes/Admin/Themes.php:1080 msgid "Thickness" msgstr "" #: classes/Admin/Themes.php:651, classes/Admin/Themes.php:790, classes/Admin/Themes.php:1112, classes/Admin/Themes.php:1181 msgid "Horizontal Position" msgstr "" #: classes/Admin/Themes.php:661, classes/Admin/Themes.php:800, classes/Admin/Themes.php:1122, classes/Admin/Themes.php:1191 msgid "Vertical Position" msgstr "" #: classes/Admin/Themes.php:671, classes/Admin/Themes.php:810, classes/Admin/Themes.php:1132, classes/Admin/Themes.php:1201 msgid "Blur Radius" msgstr "" #: classes/Admin/Themes.php:681, classes/Admin/Themes.php:1142 msgid "Spread" msgstr "" #: classes/Admin/Themes.php:714, classes/Admin/Themes.php:1017 msgid "Font Size" msgstr "" #: classes/Admin/Themes.php:724, classes/Admin/Themes.php:1027 msgid "Line Height" msgstr "" #: classes/Admin/Themes.php:734, classes/Admin/Themes.php:833, classes/Admin/Themes.php:1037 msgid "Font Family" msgstr "" #: classes/Admin/Themes.php:742, classes/Admin/Themes.php:841, classes/Admin/Themes.php:1045 msgid "Font Weight" msgstr "" #: classes/Admin/Themes.php:759 msgid "Alignment" msgstr "" #: classes/Admin/Themes.php:767 msgid "Justify" msgstr "" #: classes/Admin/Themes.php:865 msgid "Close Button Text" msgstr "" #: classes/Admin/Themes.php:866 msgid "To use a Font Awesome icon instead of text, enter the CSS classes such as \"fas fa-camera\"." msgstr "" #: classes/Admin/Themes.php:867, classes/Admin/Themes.php:868, includes/functions/themes/deprecated.php:134 msgid "CLOSE" msgstr "" #: classes/Admin/Themes.php:872 msgid "Position Outside Container" msgstr "" #: classes/Admin/Themes.php:873 msgid "This moves the position of the close button outside the popup." msgstr "" #: classes/Admin/Tools.php:46 msgid "Successfully Imported your themes & modals from Easy Modal." msgstr "" #: classes/Admin/Tools.php:92 msgid "Popup Maker Tools" msgstr "" #: classes/Admin/Tools.php:133 msgid "Beta Versions" msgstr "" #: classes/Admin/Tools.php:134 msgid "Error Log" msgstr "" #: classes/Admin/Tools.php:135 msgid "Import / Export" msgstr "" #: classes/Admin/Tools.php:187 msgid "Enable Beta Versions" msgstr "" #: classes/Admin/Tools.php:189 msgid "Checking any of the below checkboxes will opt you in to receive pre-release update notifications. You can opt-out at any time. Pre-release updates do not install automatically, you will still have the opportunity to ignore update notifications." msgstr "" #. translators: 1. Product name. #: classes/Admin/Tools.php:202 msgid "Get updates for pre-release versions of %s" msgstr "" #: classes/Admin/Tools.php:269 msgid "Import From Easy Modal v2" msgstr "" #: classes/Admin/Tools.php:392 msgid "Debug logging is disabled." msgstr "" #: classes/Extension/Activator.php:171, classes/Utils/Prerequisites.php:299, includes/pum-sdk/class-pum-extension-activation.php:115 msgid "activate it" msgstr "" #. translators: 1. Plugin name, 2. Required plugin name, 3. `activate it` link. #. translators: 1. Plugin name, 2. Required plugin name, 3. `install it` link. #. translators: 1. Plugin Name, 2. Required Plugin Name, 3. `install it` link. #: classes/Extension/Activator.php:174, classes/Extension/Activator.php:199, classes/Utils/Prerequisites.php:326, classes/Utils/Prerequisites.php:303 msgid "The plugin \"%1$s\" requires %2$s! Please %3$s to continue!" msgstr "" #: classes/Extension/Activator.php:183, classes/Utils/Prerequisites.php:310 msgid "update it" msgstr "" #. translators: 1. Plugin name, 2. Required plugin name, 3. Version number, 4. `update it` link. #: classes/Extension/Activator.php:186, classes/Utils/Prerequisites.php:314 msgid "The plugin \"%1$s\" requires %2$s v%3$s or higher! Please %4$s to continue!" msgstr "" #: classes/Extension/Activator.php:196, classes/Utils/Prerequisites.php:322, includes/pum-sdk/class-pum-extension-activation.php:118 msgid "install it" msgstr "" #. translators: 1. opening link text, 2. closing link text #: classes/Extension/License.php:221 msgid "Enter your extension license keys here to receive updates for purchased extensions. If your license key has expired, please %1$srenew your license%2$s." msgstr "" #. translators: 1. opening link text, 2. closing link text #: classes/Extension/License.php:475, classes/Extension/License.php:515 msgid "You have invalid or expired license keys for Popup Maker. Please go to the %1$sLicenses page%2$s to correct this issue." msgstr "" #: classes/Extension/License.php:462 msgid "One or more of your extensions are missing license keys. You will not be able to receive updates until the extension has a valid license key entered. Please go to the %1$sLicenses page%2$s to add your license keys." msgstr "" #: classes/Extension/License.php:543 msgid "Enter valid license key for automatic updates." msgstr "" #. translators: the plugin name. #: classes/Extension/Updater.php:344 msgid "There is a new version of %1$s available." msgstr "" #: classes/Extension/Updater.php:375 msgid "Update now." msgstr "" #: classes/Extension/Updater.php:364 msgid "%1$sView version %2$s details%3$s or %4$supdate now%5$s." msgstr "" #: classes/Extension/Updater.php:355 msgid "%1$sView version %2$s details%3$s." msgstr "" #: classes/Extension/Updater.php:350 msgid "Contact your network administrator to install the update." msgstr "" #: classes/Extension/Updater.php:609 msgid "You do not have permission to install plugin updates" msgstr "" #: classes/Extension/Updater.php:609, includes/admin/class-pum-admin-upgrades.php:247, classes/Admin/Subscribers/Table.php:427, includes/admin/upgrades/class-pum-admin-upgrade-routine-2.php:32, includes/admin/upgrades/class-pum-admin-upgrade-routine-3.php:43, includes/admin/upgrades/class-pum-admin-upgrade-routine-4.php:43, includes/admin/upgrades/class-pum-admin-upgrade-routine-5.php:38, includes/admin/upgrades/class-pum-admin-upgrade-routine-6.php:50 msgid "Error" msgstr "" #: classes/Services/Connect.php:220 msgid "Sorry, You Are Not Allowed to Access This Page." msgstr "" #: classes/Services/Connect.php:454, classes/Services/Connect.php:514 msgid "There was an error while installing an upgrade. Please download the plugin from wppopupmaker.com and install it manually." msgstr "" #: classes/Services/Connect.php:494, classes/Services/Connect.php:505 msgid "Plugin installed & activated." msgstr "" #: classes/Services/License.php:384, classes/Services/License.php:435, classes/Services/License.php:492 msgid "An error occurred, please try again." msgstr "" #. translators: the license key expiration date #: classes/Services/License.php:460 msgid "Your license key expired on %s." msgstr "" #: classes/Services/License.php:467 msgid "Your license key has been disabled." msgstr "" #: classes/Services/License.php:471 msgid "Invalid license." msgstr "" #: classes/Services/License.php:476 msgid "Your license is not active for this URL." msgstr "" #: classes/Services/License.php:488 msgid "Your license key has reached its activation limit." msgstr "" #: classes/Services/Upgrader.php:94 msgid "Plugin basename empty." msgstr "" #: classes/Services/Upgrader.php:123 msgid "Unable to get filesystem credentials." msgstr "" #: classes/Services/Upgrader.php:135 msgid "Upgrader missing install method." msgstr "" #: classes/Services/UpgradeStream.php:126 msgid "Starting upgrades..." msgstr "" #: classes/Services/UpgradeStream.php:144 msgid "Upgrades complete." msgstr "" #. translators: %s: task name. #: classes/Services/UpgradeStream.php:202 msgid "Completed: %s" msgstr "" #: classes/Shortcode/Popup.php:38 msgid "Insert a popup inline rather. Great for simple popups used for supporting content." msgstr "" #: classes/Shortcode/Popup.php:44, classes/Shortcode/PopupClose.php:42, classes/Shortcode/PopupTrigger.php:59 msgid "Can contain other shortcodes, images, text or html content." msgstr "" #: classes/Shortcode/Popup.php:96 msgid "Unique Popup ID" msgstr "" #: classes/Shortcode/Popup.php:97 msgid "`offer`, `more-info`" msgstr "" #: classes/Shortcode/Popup.php:98 msgid "Used in popup triggers to target this popup" msgstr "" #: classes/Shortcode/Popup.php:104 msgid "Enter popup title text," msgstr "" #: classes/Shortcode/Popup.php:105 msgid "This will be displayed above the content. Leave it empty to disable it." msgstr "" #: classes/Shortcode/Popup.php:115 msgid "Choose a theme," msgstr "" #: classes/Shortcode/Popup.php:116 msgid "Choose which popup theme will be used." msgstr "" #: classes/Shortcode/Popup.php:143 msgid "Width Unit" msgstr "" #: classes/Shortcode/Popup.php:154 msgid "Height Unit" msgstr "" #: classes/Shortcode/PopupClose.php:32 msgid "Popup Close Button" msgstr "" #: classes/Shortcode/PopupClose.php:36 msgid "Make text or html a close trigger for your popup." msgstr "" #: classes/Shortcode/PopupClose.php:55, classes/Shortcode/PopupTrigger.php:114 msgid "HTML Tag" msgstr "" #: classes/Shortcode/PopupClose.php:56 msgid "The HTML tag used for this element." msgstr "" #: classes/Shortcode/PopupClose.php:71 msgid "Value for href" msgstr "" #: classes/Shortcode/PopupClose.php:73 msgid "Enter the href value for your link. Leave blank if you do not want this link to take the visitor to a different page." msgstr "" #: classes/Shortcode/PopupClose.php:81 msgid "Target for the element" msgstr "" #: classes/Shortcode/PopupClose.php:83 msgid "Enter the target value for your link. Can be left blank." msgstr "" #: classes/Shortcode/PopupClose.php:98, classes/Shortcode/PopupTrigger.php:126 msgid "Add additional classes for styling." msgstr "" #: classes/Shortcode/PopupClose.php:104 msgid "This prevents us from disabling the browsers default action when a close button is clicked. It can be used to allow a link to a file to both close a popup and still download the file." msgstr "" #: classes/Shortcode/PopupCookie.php:32, classes/Shortcode/PopupCookie.php:106 msgid "Popup Cookie" msgstr "" #: classes/Shortcode/PopupCookie.php:36 msgid "Insert this to manually set cookies when users view the content containing the code." msgstr "" #: classes/Shortcode/PopupCookie.php:66 msgid "Only when visible on-screen" msgstr "" #: classes/Shortcode/PopupCookie.php:67 msgid "This will prevent the cookie from getting set until the user scrolls it into viewport." msgstr "" #: classes/Shortcode/PopupTrigger.php:43 msgid "Popup Trigger" msgstr "" #: classes/Shortcode/PopupTrigger.php:50 msgid "Inserts a click-able popup trigger." msgstr "" #: classes/Shortcode/PopupTrigger.php:58 msgid "Trigger Content" msgstr "" #: classes/Shortcode/PopupTrigger.php:89 msgid "Targeted Popup" msgstr "" #: classes/Shortcode/PopupTrigger.php:90 msgid "Choose a Popup" msgstr "" #: classes/Shortcode/PopupTrigger.php:91 msgid "Choose which popup will be targeted by this trigger." msgstr "" #: classes/Shortcode/PopupTrigger.php:102 msgid "Custom Popup ID" msgstr "" #: classes/Shortcode/PopupTrigger.php:115 msgid "HTML Tags: button, span etc." msgstr "" #: classes/Shortcode/PopupTrigger.php:116 msgid "The HTML tag used to generate the trigger and wrap your text." msgstr "" #: classes/Shortcode/Subscribe.php:48 msgid "A customizable newsletter subscription form." msgstr "" #: classes/Shortcode/Subscribe.php:92 msgid "Fields" msgstr "" #: classes/Shortcode/Subscribe.php:93, classes/Shortcode/Subscribe.php:184 msgid "Labels" msgstr "" #: classes/Shortcode/Subscribe.php:94 msgid "Placeholders" msgstr "" #: classes/Shortcode/Subscribe.php:99, classes/Shortcode/Subscribe.php:450 msgid "Redirect" msgstr "" #: classes/Shortcode/Subscribe.php:134 msgid "Service Provider" msgstr "" #: classes/Shortcode/Subscribe.php:135 msgid "Choose which service provider to submit to." msgstr "" #: classes/Shortcode/Subscribe.php:145 msgid "Name Field Type" msgstr "" #: classes/Shortcode/Subscribe.php:149 msgid "Full" msgstr "" #: classes/Shortcode/Subscribe.php:150 msgid "First Only" msgstr "" #: classes/Shortcode/Subscribe.php:151 msgid "First & Last" msgstr "" #: classes/Shortcode/Subscribe.php:157 msgid "Name Optional" msgstr "" #: classes/Shortcode/Subscribe.php:158 msgid "Makes the name field optional." msgstr "" #: classes/Shortcode/Subscribe.php:166 msgid "Name Disabled" msgstr "" #: classes/Shortcode/Subscribe.php:167 msgid "Removes the name field." msgstr "" #: classes/Shortcode/Subscribe.php:178 msgid "Disable Labels" msgstr "" #: classes/Shortcode/Subscribe.php:179 msgid "Disables the display of field labels." msgstr "" #: classes/Shortcode/Subscribe.php:185 msgid "Field label text" msgstr "" #: classes/Shortcode/Subscribe.php:190, classes/Shortcode/Subscribe.php:245, classes/Admin/Subscribers/Table.php:103 msgid "Full Name" msgstr "" #: classes/Shortcode/Subscribe.php:225 msgid "Submit Button" msgstr "" #: classes/Shortcode/Subscribe.php:226 msgid "Subscribe" msgstr "" #: classes/Shortcode/Subscribe.php:277 msgid "Form Layout" msgstr "" #: classes/Shortcode/Subscribe.php:278 msgid "Choose a form layout." msgstr "" #: classes/Shortcode/Subscribe.php:281 msgid "Block" msgstr "" #: classes/Shortcode/Subscribe.php:288 msgid "Form Alignment" msgstr "" #: classes/Shortcode/Subscribe.php:289 msgid "Choose a form alignment." msgstr "" #: classes/Shortcode/Subscribe.php:300 msgid "Form Style" msgstr "" #: classes/Shortcode/Subscribe.php:301 msgid "Choose how you want your form styled." msgstr "" #: classes/Shortcode/Subscribe.php:323 msgid "When enabled, the successful completion will result in normal success actions, but if they do not opt-in no records will be made." msgstr "" #: classes/Shortcode/Subscribe.php:334 msgid "Consent Field Label" msgstr "" #: classes/Shortcode/Subscribe.php:342 msgid "Note: Requiring consent may not be compliant with GDPR for all situations. Be sure to do your research or check with legal council." msgstr "" #: classes/Shortcode/Subscribe.php:349 msgid "Field Type" msgstr "" #: classes/Shortcode/Subscribe.php:350 msgid "Radio forces the user to make a choice, often resulting in more optins." msgstr "" #: classes/Shortcode/Subscribe.php:417, includes/integrations/class-pum-cf7.php:145, includes/integrations/class-pum-gravity-forms.php:136, includes/modules/admin-bar.php:129, includes/integrations/ninja-forms/Actions/ClosePopup.php:46 msgid "Close Popup" msgstr "" #: classes/Shortcode/Subscribe.php:433, includes/integrations/class-pum-cf7.php:167, includes/integrations/class-pum-gravity-forms.php:158, includes/modules/admin-bar.php:117, includes/integrations/ninja-forms/Actions/OpenPopup.php:45 msgid "Open Popup" msgstr "" #: classes/Shortcode/Subscribe.php:440, includes/integrations/class-pum-cf7.php:230, includes/integrations/class-pum-gravity-forms.php:235, includes/integrations/ninja-forms/Actions/OpenPopup.php:90 msgid "Select a popup" msgstr "" #: classes/Shortcode/Subscribe.php:451 msgid "Enable refreshing the page or redirecting after success." msgstr "" #: classes/Shortcode/Subscribe.php:455 msgid "Redirect URL" msgstr "" #: classes/Shortcode/Subscribe.php:456 msgid "Leave blank to refresh, or enter a url that users will be taken to after success." msgstr "" #: classes/Shortcode/Subscribe.php:784 msgid "Subscription Form Placeholder" msgstr "" #: classes/Site/Assets.php:275 msgid "Debug Mode Enabled" msgstr "" #: classes/Site/Assets.php:276 msgid "Debug started at:" msgstr "" #. translators: 1. URL to documentation. #: classes/Site/Assets.php:279 msgid "For more information on how to use this information visit %s" msgstr "" #: classes/Site/Assets.php:282 msgid "Global Information" msgstr "" #: classes/Site/Assets.php:283 msgid "Localized variables" msgstr "" #: classes/Site/Assets.php:284 msgid "Popups Initializing" msgstr "" #: classes/Site/Assets.php:285 msgid "Popups Initialized" msgstr "" #: classes/Site/Assets.php:286 msgid "Popup: #" msgstr "" #: classes/Site/Assets.php:287 msgid "Theme ID: " msgstr "" #: classes/Site/Assets.php:288 msgid "Method Call:" msgstr "" #: classes/Site/Assets.php:289 msgid "Method Arguments:" msgstr "" #: classes/Site/Assets.php:293 msgid "Delay:" msgstr "" #: classes/Site/Assets.php:295 msgid "Cookie:" msgstr "" #: classes/Site/Assets.php:296 msgid "Settings:" msgstr "" #: classes/Site/Assets.php:297 msgid "Selector:" msgstr "" #: classes/Site/Assets.php:298 msgid "Mobile Disabled:" msgstr "" #: classes/Site/Assets.php:299 msgid "Tablet Disabled:" msgstr "" #. translators: 1. Event name. #: classes/Site/Assets.php:301 msgid "Event: %s" msgstr "" #. translators: %s: native language name. #: classes/Utils/Alerts.php:208 msgid "This plugin's translation for %1$s is out of date. <a href=\"%2$s\" target=\"_blank\">Help improve the translation!</a>" msgstr "" #: classes/Utils/Alerts.php:201, classes/Utils/Alerts.php:174 msgid "This plugin is not translated into %1$s yet. <a href=\"%2$s\" target=\"_blank\">Help translate it!</a>" msgstr "" #: classes/Utils/Alerts.php:189, classes/Utils/Alerts.php:162 msgid "This plugin is also available in %1$s (also: %2$s). <a href=\"%3$s\" target=\"_blank\">Help improve the translation!</a>" msgstr "" #: classes/Utils/Alerts.php:146 msgid "This plugin is also available in %1$s. <a href=\"%2$s\" target=\"_blank\">Help improve the translation!</a>" msgstr "" #. translators: 1. Version number, 2. URL to changelog, 3. closing HTML tag. #: classes/Utils/Alerts.php:241 msgid "See whats new in v%1$s - (%2$sview all changes%3$s)" msgstr "" #: classes/Utils/Alerts.php:291 msgid "activate it now" msgstr "" #: classes/Utils/Alerts.php:291 msgid "install it now" msgstr "" #. translators: 1. Opening HTML tag, 2. Closing HTML tag, 3. Integration name, 4. Learn more URL, 5. Opening HTML tag, 6. Closing HTML tag, 7. Activate/Install URL, 8. Activate/Install text. #: classes/Utils/Alerts.php:298 msgid "%1$sDid you know:%2$s Popup Maker has custom integrations with %3$s, %4$slearn more%5$s or %6$s%7$s%8$s!" msgstr "" #: classes/Utils/Alerts.php:492 msgid "Notifications" msgstr "" #: classes/Utils/Alerts.php:495 msgid "Check out the following notifications from Popup Maker." msgstr "" #: classes/Utils/Alerts.php:567 msgid "Dismiss this item." msgstr "" #: classes/Utils/Cron.php:39 msgid "Once Weekly" msgstr "" #. translators: 1: Number of weeks. #: classes/Utils/Format.php:114 msgid "%sw" msgstr "" #: classes/Utils/Format.php:104 msgid "%sd" msgstr "" #: classes/Utils/Format.php:94 msgid "%shr" msgstr "" #: classes/Utils/Format.php:84 msgid "%smin" msgstr "" #: classes/Utils/Format.php:74 msgid "%ss" msgstr "" #. translators: 1. PHP Version #: classes/Utils/Prerequisites.php:278 msgid "This plugin requires <b>PHP %s</b> or higher in order to run." msgstr "" #: classes/Utils/Upgrades.php:282 msgid "Popup Maker needs to complete a the update of your settings that was previously started." msgstr "" #: classes/Utils/Upgrades.php:279 msgid "The latest version of Popup Maker requires changes to the Popup Maker settings saved on your site." msgstr "" #: classes/Utils/Upgrades.php:305 msgid "This can sometimes take a few minutes, are you ready to begin?" msgstr "" #: classes/Utils/Upgrades.php:309 msgid "The button below will process these changes automatically for you." msgstr "" #: classes/Utils/Upgrades.php:311 msgid "Finish Upgrades" msgstr "" #: classes/Utils/Upgrades.php:311 msgid "Process Changes" msgstr "" #: classes/Utils/Upgrades.php:649 msgid "Upgrades" msgstr "" #: classes/Utils/Upgrades.php:660 msgid "No upgrades currently required." msgstr "" #: includes/admin/class-pum-admin-upgrades.php:96, includes/admin/class-pum-admin-upgrades.php:97 msgid "Popup Maker Upgrades" msgstr "" #: includes/admin/class-pum-admin-upgrades.php:225 msgid "Important" msgstr "" #: includes/admin/class-pum-admin-upgrades.php:226 msgid "Database upgrades required." msgstr "" #. translators: %1$s: URL to upgrade page. %2$s: closing HTML tag. #: includes/admin/class-pum-admin-upgrades.php:229 msgid "Please click %1$shere%2$s to complete these changes now." msgstr "" #: includes/admin/class-pum-admin-upgrades.php:218 msgid "Popup Maker needs to complete a database upgrade that was previously started, click <a href=\"%s\">here</a> to resume the upgrade." msgstr "" #: includes/admin/class-pum-admin-upgrades.php:247, includes/admin/upgrades/class-pum-admin-upgrade-routine-2.php:32, includes/admin/upgrades/class-pum-admin-upgrade-routine-3.php:43, includes/admin/upgrades/class-pum-admin-upgrade-routine-4.php:43, includes/admin/upgrades/class-pum-admin-upgrade-routine-5.php:38, includes/admin/upgrades/class-pum-admin-upgrade-routine-6.php:50 msgid "You do not have permission to do upgrades" msgstr "" #: includes/admin/class-pum-admin-upgrades.php:269 msgid "Upgrades have been completed successfully." msgstr "" #: includes/admin/class-pum-admin-upgrades.php:525 msgid "Popup Maker - Upgrades" msgstr "" #: includes/admin/class-pum-admin-upgrades.php:540 msgid "The upgrade process has started, please be patient. This could take several minutes. You will be automatically redirected when the upgrade is finished." msgstr "" #: includes/admin/class-pum-admin-upgrades.php:615 msgid "Upgrade failed, please try again." msgstr "" #: includes/functions/newsletter.php:61 msgid "Please check your email and confirm your subscription." msgstr "" #: includes/integrations/class-pum-buddypress-integration.php:40 msgid "BP: Is a BuddyPress Page" msgstr "" #: includes/integrations/class-pum-buddypress-integration.php:46 msgid "BP: Is User Page" msgstr "" #: includes/integrations/class-pum-buddypress-integration.php:52 msgid "BP: Is Group Page" msgstr "" #: includes/integrations/class-pum-buddypress-integration.php:58 msgid "BP: Is User Messages Page" msgstr "" #: includes/integrations/class-pum-buddypress-integration.php:64 msgid "BP: Is Activation Page" msgstr "" #: includes/integrations/class-pum-buddypress-integration.php:70 msgid "BP: Is Register Page" msgstr "" #: includes/integrations/class-pum-buddypress-integration.php:76 msgid "BP: Is Item Admin" msgstr "" #: includes/integrations/class-pum-buddypress-integration.php:82 msgid "BP: Is Item Mod" msgstr "" #: includes/integrations/class-pum-buddypress-integration.php:88 msgid "BP: Is Directory" msgstr "" #: includes/integrations/class-pum-buddypress-integration.php:93 msgid "BP: Is Current Component" msgstr "" #: includes/integrations/class-pum-buddypress-integration.php:101 msgid "Which components?" msgstr "" #: includes/integrations/class-pum-buddypress-integration.php:109 msgid "BP: Is Current Action" msgstr "" #: includes/integrations/class-pum-buddypress-integration.php:113 msgid "Which actions?" msgstr "" #: includes/integrations/class-pum-buddypress-integration.php:121 msgid "BP: Is Action Variable" msgstr "" #: includes/integrations/class-pum-buddypress-integration.php:125 msgid "Which action variables?" msgstr "" #: includes/integrations/class-pum-cf7.php:104 msgid "Contact Form 7 Success (deprecated. Use Form Submission instead.)" msgstr "" #: includes/integrations/class-pum-cf7.php:140 msgid "These settings control popups after successful form submissions." msgstr "" #: includes/integrations/class-pum-cf7.php:162, includes/integrations/class-pum-gravity-forms.php:153, includes/integrations/ninja-forms/Actions/ClosePopup.php:53 msgid "seconds" msgstr "" #: includes/integrations/class-pum-gravity-forms.php:109 msgid "Gravity Form Success (deprecated. Use Form Submission instead.)" msgstr "" #: includes/integrations/class-pum-ninja-forms.php:91 msgid "Ninja Form Success (deprecated. Use Form Submission instead.)" msgstr "" #: includes/integrations/class-pum-woocommerce-integration.php:39 msgid "All WooCommerce" msgstr "" #: includes/integrations/class-pum-woocommerce-integration.php:44 msgid "Shop Page" msgstr "" #: includes/integrations/class-pum-woocommerce-integration.php:49 msgid "Cart Page" msgstr "" #: includes/integrations/class-pum-woocommerce-integration.php:54 msgid "Checkout Page" msgstr "" #: includes/integrations/class-pum-woocommerce-integration.php:59 msgid "Account Page" msgstr "" #: includes/integrations/class-pum-woocommerce-integration.php:65 msgid "Is Endpoint" msgstr "" #: includes/integrations/class-pum-woocommerce-integration.php:68 msgid "Selected Endpoints" msgstr "" #: includes/modules/admin-bar.php:180 msgid "No Popups Loaded" msgstr "" #: includes/modules/admin-bar.php:142 msgid "Check Conditions" msgstr "" #: includes/modules/admin-bar.php:155 msgid "Reset Cookies" msgstr "" #: includes/modules/admin-bar.php:157 msgid "Success" msgstr "" #: includes/modules/admin-bar.php:169 msgid "Edit Popup" msgstr "" #: includes/modules/admin-bar.php:203 msgid "Create New Popup" msgstr "" #: includes/modules/admin-bar.php:225 msgid "Flush Popup Cache" msgstr "" #: includes/modules/admin-bar.php:237 msgid "Get Selector" msgstr "" #: includes/modules/admin-bar.php:272 msgid "After clicking ok, click the element you want a selector for." msgstr "" #: includes/modules/admin-bar.php:273 msgctxt "JS alert for CSS get selector tool" msgid "Selector" msgstr "" #: includes/modules/menus.php:47 msgid "Disable Popups Menu Editor" msgstr "" #. translators: %1$s: opening and closing link HTML tags, %2$s: link text. #: includes/modules/menus.php:50 msgctxt "%s represent opening and closing link html" msgid "Use this if there is a conflict with your theme or another plugin in the nav menu editor. %1$sLearn more%2$s" msgstr "" #: includes/modules/menus.php:191 msgid "Trigger a Popup" msgstr "" #: includes/modules/menus.php:202 msgid "Choose a popup to trigger when this item is clicked." msgstr "" #. translators: %s: number of days. #: includes/modules/reviews.php:233 msgid "Hi there! You've been using Popup Maker on your site for %s - I hope it's been helpful. If you're enjoying my plugin, would you mind rating it 5-stars to help spread the word?" msgstr "" #: includes/modules/reviews.php:238 msgid "1 week" msgstr "" #: includes/modules/reviews.php:246 msgid "1 month" msgstr "" #: includes/modules/reviews.php:254 msgid "3 months" msgstr "" #. translators: %s: number of popup views. #: includes/modules/reviews.php:273 msgid "Hi there! You've recently hit %s popup views on your site – that’s awesome!! If you'd like to celebrate this milestone, rate Popup Maker 5-stars to help spread the word!" msgstr "" #: includes/modules/reviews.php:347, includes/modules/reviews.php:485 msgid "Ok, you deserve it" msgstr "" #: includes/modules/reviews.php:351, includes/modules/reviews.php:490 msgid "Nope, maybe later" msgstr "" #: includes/modules/reviews.php:356, includes/modules/reviews.php:495 msgid "I already did" msgstr "" #: includes/pum-sdk/class-pum-extension-activation.php:82 msgid "This plugin" msgstr "" #. translators: 1. plugin name. #: includes/pum-sdk/class-pum-extension-activation.php:124 msgid " requires Popup Maker! Please %s to continue!" msgstr "" #. translators: 1: Number of items processed. #: classes/Abstract/Batch/Process.php:124 msgid "%s item was successfully processed." msgid_plural "%s items were successfully processed." msgstr[0] "" msgstr[1] "" #. translators: %1$s is the post type name, %2$d is the ID. #: classes/Abstract/Repository/Posts.php:149 msgid "No %1$s found with id %2$d." msgstr "" #. translators: %1$s is the post type name, %2$s is the field name, %3$s is the value. #: classes/Abstract/Repository/Posts.php:177 msgid "No %1$s found with %2$s %3$s." msgstr "" #. translators: 1: Number of items updated. 2: Singular or plural label. #: classes/Abstract/Upgrade/Posts.php:208 msgid "Updating %1$d %2$s." msgid_plural "Updating %1$d %2$s." msgstr[0] "" msgstr[1] "" #. translators: 1: Number of items updated. 2: Singular or plural label. #: classes/Abstract/Upgrade/Posts.php:219 msgid "%1$s %2$s was updated successfully." msgid_plural "%1$s %2$s were updated successfully." msgstr[0] "" msgstr[1] "" #. translators: 1: Version number. #: classes/Abstract/Upgrade/Settings.php:61 msgid "Updating settings for v%s compatibility." msgstr "" #: classes/Abstract/Upgrade/Settings.php:67 msgid "Settings updated successfully." msgstr "" #: classes/Admin/Shortcode/UI.php:190 msgid "You do not have access to preview this post." msgstr "" #: classes/Admin/Subscribers/Table.php:108 msgctxt "column name" msgid "Subscribed On" msgstr "" #: classes/Admin/Subscribers/Table.php:151 msgid "No subscribers available." msgstr "" #. translators: %s is the name of the subscriber. #: classes/Admin/Subscribers/Table.php:186 msgid "Select %s" msgstr "" #: classes/Admin/Subscribers/Table.php:279 msgid "User ID" msgstr "" #: classes/Admin/Subscribers/Table.php:314 msgid "N/A" msgstr "" #: classes/Admin/Subscribers/Table.php:332 msgid "Delete" msgstr "" #: classes/Admin/Subscribers/Table.php:409, classes/Admin/Subscribers/Table.php:402 msgid "Subscriber deleted!" msgid_plural "Subscribers deleted!" msgstr[0] "" msgstr[1] "" #: classes/Admin/Subscribers/Table.php:415 msgid "failed to delete." msgid_plural "failed to delete." msgstr[0] "" msgstr[1] "" #: classes/Admin/Subscribers/Table.php:426 msgid "Invalid Nonce" msgstr "" #: classes/Batch/Process/Registry.php:76 msgid "A batch process class must be specified." msgstr "" #: classes/Batch/Process/Registry.php:80 msgid "No batch class handler file has been supplied." msgstr "" #: classes/Batch/Process/Registry.php:85 msgid "An invalid batch class handler file has been supplied." msgstr "" #: includes/admin/upgrades/class-pum-admin-upgrade-routine-2.php:27 msgid "Update your popups settings." msgstr "" #: includes/admin/upgrades/class-pum-admin-upgrade-routine-3.php:32 msgid "Upgrade popup triggers & cookies." msgstr "" #: includes/admin/upgrades/class-pum-admin-upgrade-routine-4.php:32 msgid "Upgrade popup targeting conditions." msgstr "" #: includes/admin/upgrades/class-pum-admin-upgrade-routine-5.php:30 msgid "Initialize popup analytics." msgstr "" #: includes/admin/upgrades/class-pum-admin-upgrade-routine-6.php:42 msgid "Clean up old data and verify data integrity." msgstr "" #. translators: 1: Step number, 2: Approximate number of steps. #: includes/admin/upgrades/class-pum-admin-upgrade-routine.php:63 msgid "Step %1$d of approximately %2$d running" msgstr "" #: includes/functions/themes/portability.php:51 msgid "Imported Theme" msgstr "" #: includes/integrations/ninja-forms/Actions/ClosePopup.php:56 msgid "0" msgstr "" languages/index.php 0000644 00000000164 15174671772 0010354 0 ustar 00 <?php /** * Silence is golden. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ dist/blocks/cta-buttons.block.json 0000644 00000003335 15174671772 0013240 0 ustar 00 { "$schema": "https://schemas.wp.org/trunk/block.json", "apiVersion": 3, "name": "popup-maker/cta-buttons", "title": "Call to Action Buttons", "category": "popup-maker", "allowedBlocks": [ "popup-maker/cta-button", "core/button" ], "description": "Prompt visitors to take action with a group of button-style links.", "keywords": [ "link", "button", "call to action", "cta", "conversion" ], "textdomain": "popup-maker", "attributes": {}, "supports": { "anchor": true, "align": [ "wide", "full" ], "html": false, "__experimentalExposeControlsToChildren": true, "color": { "gradients": true, "text": false, "__experimentalDefaultControls": { "background": true } }, "spacing": { "blockGap": [ "horizontal", "vertical" ], "padding": true, "margin": [ "top", "bottom" ], "__experimentalDefaultControls": { "padding": true, "blockGap": true } }, "typography": { "fontSize": true, "lineHeight": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, "__experimentalTextTransform": true, "__experimentalTextDecoration": true, "__experimentalLetterSpacing": true, "__experimentalDefaultControls": { "fontSize": true } }, "__experimentalBorder": { "color": true, "radius": true, "style": true, "width": true, "__experimentalDefaultControls": { "color": true, "radius": true, "style": true, "width": true } }, "layout": { "allowSwitching": false, "allowInheriting": false, "default": { "type": "flex" } }, "interactivity": { "clientNavigation": true } }, "editorStyle": "popup-maker-block-library", "style": "popup-maker-block-library-style" } dist/blocks/cta-button.block.json 0000644 00000006572 15174671772 0013063 0 ustar 00 { "$schema": "https://schemas.wp.org/trunk/block.json", "apiVersion": 3, "name": "popup-maker/cta-button", "title": "Call to Action Button", "category": "popup-maker", "parent": [ "popup-maker/cta-buttons", "core/buttons" ], "description": "Prompt visitors to take action with a button-style link.", "keywords": [ "link", "button", "call to action", "cta", "conversion" ], "textdomain": "popup-maker", "attributes": { "tagName": { "type": "string", "enum": [ "a", "button" ], "default": "a" }, "type": { "type": "string", "default": "button" }, "textAlign": { "type": "string" }, "url": { "type": "string", "source": "attribute", "selector": "a", "attribute": "href", "role": "content" }, "title": { "type": "string", "source": "attribute", "selector": "a,button", "attribute": "title", "role": "content" }, "text": { "type": "rich-text", "source": "rich-text", "selector": "a,button", "role": "content" }, "linkTarget": { "type": "string", "source": "attribute", "selector": "a", "attribute": "target", "role": "content" }, "rel": { "type": "string", "source": "attribute", "selector": "a", "attribute": "rel", "role": "content" }, "placeholder": { "type": "string" }, "backgroundColor": { "type": "string" }, "textColor": { "type": "string" }, "gradient": { "type": "string" }, "width": { "type": "number" }, "ctaId": { "type": "number" } }, "supports": { "anchor": true, "splitting": true, "align": false, "alignWide": false, "color": { "__experimentalSkipSerialization": true, "gradients": true, "__experimentalDefaultControls": { "background": true, "text": true } }, "typography": { "__experimentalSkipSerialization": [ "fontSize", "lineHeight", "fontFamily", "fontWeight", "fontStyle", "textTransform", "textDecoration", "letterSpacing" ], "fontSize": true, "lineHeight": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, "__experimentalTextTransform": true, "__experimentalTextDecoration": true, "__experimentalLetterSpacing": true, "__experimentalWritingMode": true, "__experimentalDefaultControls": { "fontSize": true } }, "reusable": false, "shadow": { "__experimentalSkipSerialization": true }, "spacing": { "__experimentalSkipSerialization": true, "padding": [ "horizontal", "vertical" ], "__experimentalDefaultControls": { "padding": true } }, "__experimentalBorder": { "color": true, "radius": true, "style": true, "width": true, "__experimentalSkipSerialization": true, "__experimentalDefaultControls": { "color": true, "radius": true, "style": true, "width": true } }, "__experimentalSelector": ".wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link", "interactivity": { "clientNavigation": true } }, "styles": [ { "name": "fill", "label": "Fill", "isDefault": true }, { "name": "outline", "label": "Outline" } ], "editorStyle": "popup-maker-block-library", "style": "popup-maker-block-library-style", "selectors": { "root": ".wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link", "typography": { "writingMode": ".wp-block-popup-maker-cta-button" } } } dist/assets/admin-settings-page.js 0000644 00000054730 15174671772 0013241 0 ustar 00 (()=>{var t={2639:()=>{!function(t){"use strict";function n(){const n=t("#popup_maker_pro_license_key");if(!n.length)return;const e=n.closest(".pum-license-input-wrapper").find(".pum-license-activate, .button-primary");function o(){const t=32===n.val().trim().length,o=!0===e.data("processing");e.length&&e.prop("disabled",!t||o)}n.on("paste",function(){setTimeout(function(){32===n.val().trim().length&&e.length&&!e.prop("disabled")&&e.trigger("click")},100)}),n.on("keypress",function(t){13!==t.which&&13!==t.keyCode||(t.preventDefault(),32===n.val().trim().length&&e.length&&!e.prop("disabled")&&e.trigger("click"))}),n.on("input keyup",o),e.on("click",function(){const n=t(this);setTimeout(function(){n.data("processing",!0);const t=n.val()||n.text();n.data("original-text",t),n.val(t+"...").prop("disabled",!0)},50)}),o()}window.PUM_Admin=window.PUM_Admin||{},t(function(){n()}),t(document).on("pum_init",function(){n()})}(jQuery)},6229:()=>{!function(t){"use strict";window.PUM_Admin=window.PUM_Admin||{},window.PUM_Admin.ProUpgradeFlow={};const n={popupWindow:null,isMonitoring:!1,monitorInterval:null,isInitialized:!1,popupConfig:{width:580,height:600,name:"popup-maker-license-connect",features:"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no"},init:function(){this.isInitialized||(this.isInitialized=!0,this.bindEvents())},bindEvents:function(){t(document).on("click",".pum-license-connect-trigger",this.handleUpgradeClick.bind(this)),t(window).on("focus",this.handleWindowFocus.bind(this)),t(window).on("beforeunload",this.cleanup.bind(this))},handleUpgradeClick:async function(n){n.preventDefault();const e=t(n.currentTarget);try{if(e.data("original-text")||e.data("original-text",e.html()),e.prop("disabled",!0),e.html().includes("ACTIVATE PRO NOW"))return void await this.handleProActivation(e);this.openLoadingPopup();const t=await this.extractConnectInfo(e);if(!this.validateConnectInfo(t))return console.error("Invalid connection info:",t),this.showError("Invalid connection parameters. Please try again."),void this.closePopup();this.navigatePopupToFinalUrl(t)}catch(t){console.error("Error getting connection info:",t),this.showError("Failed to prepare connection. Please try again."),this.closePopup(),e.prop("disabled",!1)}},handleProActivation:async function(n){try{this.showMessage("Activating Pro plugin...","info");const n=await t.ajax({url:window.location.origin+"/wp-json/popup-maker/v2/license/activate-plugin",type:"POST",data:{},headers:{"X-WP-Nonce":window.pum_admin_vars?.rest_nonce||window.wpApiSettings?.nonce||""}});if(!n.success)throw new Error(n.message||"Activation failed");this.showSuccess(n.message||"Pro plugin activated successfully!"),setTimeout(()=>{window.location.reload()},1500)}catch(t){console.error("Pro activation error:",t);let e="Failed to activate Pro plugin. Please try again.";t.responseJSON&&t.responseJSON.message?e=t.responseJSON.message:t.message&&(e=t.message),this.showError(e),n.prop("disabled",!1)}},extractConnectInfo:async function(n){const e=t("#popup_maker_pro_license_key"),o=e.length?e.val().trim():"",i={product:n.data("product")||"popup-maker-pro",source:n.data("source")||"settings-page",campaign:n.data("campaign")||"upgrade-flow",existing_license:o};try{const n=await t.ajax({url:window.location.origin+"/wp-json/popup-maker/v2/license/connect-info",type:"GET",data:{license_key:o,context:JSON.stringify(i)},headers:{"X-WP-Nonce":window.pum_admin_vars?.rest_nonce||window.wpApiSettings?.nonce||""}});if(n.success&&n.data)return console.log("Got server-generated connection info:",n.data),n.data;throw new Error(n.data?.message||"Failed to get connection info")}catch(t){return console.error("Failed to get server connection info:",t),console.warn("Using fallback client-side connection info - may not work properly"),{site_url:window.location.origin||"",admin_url:window.ajaxurl?window.ajaxurl.replace("admin-ajax.php",""):"",return_url:window.location.href,product:i.product,source:i.source,campaign:i.campaign,existing_license:i.existing_license,nonce:window.pum_admin_vars?.nonce||window.pum_settings_editor?.nonce||""}}},validateConnectInfo:function(t){return["key","token","nonce","full_url"].every(n=>{const e=t[n];return e&&"string"==typeof e&&e.trim().length>0})},openLicensePopup:function(t){this.closePopup();const n=this.buildPopupUrl(t),e=Math.round((window.screen.width-this.popupConfig.width)/2),o=Math.round((window.screen.height-this.popupConfig.height)/2),i=`${this.popupConfig.features},width=${this.popupConfig.width},height=${this.popupConfig.height},left=${e},top=${o}`;if(console.log("Opening license popup:",n),console.log("Popup config:",{name:this.popupConfig.name,features:i}),this.popupWindow=window.open(n,this.popupConfig.name,i),console.log("Popup window result:",this.popupWindow),!this.popupWindow)return console.error("Failed to open popup window - likely blocked by browser"),void this.showError("Popup blocked! Please allow popups for this site and try again.");try{if(this.popupWindow.closed)return console.error("Popup window was immediately closed"),this.showError("Popup was blocked or closed. Please allow popups for this site."),void(this.popupWindow=null)}catch(t){console.log("Cannot access popup window properties (normal for cross-origin):",t.message)}this.startPopupMonitoring(),this.showPopupOpenState()},buildPopupUrl:function(t){if(t.full_url)return console.log("Using server-generated full URL:",t.full_url),t.full_url;const n=t.base_url||"https://upgrade.wppopupmaker.com",e=new URLSearchParams,o=["product","source","campaign","base_url","full_url","back_url","existing_license"];Object.keys(t).forEach(n=>{t[n]&&!o.includes(n)&&e.append(n,t[n])});const i=`${n}?${e.toString()}`;return console.log("Built fallback URL from parameters:",i),i},openLoadingPopup:function(){this.popupWindow&&!this.popupWindow.closed&&this.popupWindow.close(),this.popupWindow=null;const t=Math.round((window.screen.width-this.popupConfig.width)/2),n=Math.round((window.screen.height-this.popupConfig.height)/2),e=`${this.popupConfig.features},width=${this.popupConfig.width},height=${this.popupConfig.height},left=${t},top=${n}`,o="data:text/html;charset=utf-8,"+encodeURIComponent('\n\t\t\t\t<!DOCTYPE html>\n\t\t\t\t<html>\n\t\t\t\t<head>\n\t\t\t\t\t<title>Connecting to Popup Maker Pro</title>\n\t\t\t\t\t<style>\n\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;\n\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\t\theight: 100vh;\n\t\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\t\tbackground: #f1f1f1;\n\t\t\t\t\t\t\tcolor: #333;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t.loading { text-align: center; }\n\t\t\t\t\t\t.spinner {\n\t\t\t\t\t\t\tborder: 4px solid #e1e1e1;\n\t\t\t\t\t\t\tborder-left: 4px solid #0073aa;\n\t\t\t\t\t\t\tborder-radius: 50%;\n\t\t\t\t\t\t\twidth: 40px;\n\t\t\t\t\t\t\theight: 40px;\n\t\t\t\t\t\t\tanimation: spin 1s linear infinite;\n\t\t\t\t\t\t\tmargin: 20px auto;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t@keyframes spin {\n\t\t\t\t\t\t\t0% { transform: rotate(0deg); }\n\t\t\t\t\t\t\t100% { transform: rotate(360deg); }\n\t\t\t\t\t\t}\n\t\t\t\t\t</style>\n\t\t\t\t</head>\n\t\t\t\t<body>\n\t\t\t\t\t<div class="loading">\n\t\t\t\t\t\t<div class="spinner"></div>\n\t\t\t\t\t\t<h2>Connecting to Popup Maker Pro</h2>\n\t\t\t\t\t\t<p>Please wait while we prepare your upgrade...</p>\n\t\t\t\t\t</div>\n\t\t\t\t</body>\n\t\t\t\t</html>\n\t\t\t');if(console.log("Opening loading popup immediately from user gesture"),this.popupWindow=window.open(o,this.popupConfig.name,e),!this.popupWindow)return console.error("Failed to open popup window - likely blocked by browser"),this.showError("Popup blocked! Please allow popups for this site and try again."),!1;try{if(this.popupWindow.closed)return console.error("Popup window was immediately closed"),this.showError("Popup was blocked or closed. Please allow popups for this site."),this.popupWindow=null,!1}catch(t){console.log("Cannot access popup window properties (normal for cross-origin):",t.message)}return this.startPopupMonitoring(),this.showPopupOpenState(),!0},navigatePopupToFinalUrl:function(t){if(!this.popupWindow||this.popupWindow.closed)return console.error("Cannot navigate popup - window not available"),void this.showError("Popup window was closed. Please try again.");const n=this.buildPopupUrl(t);console.log("Navigating existing popup to final URL:",n);try{this.popupWindow.location.href=n}catch(n){console.warn("Could not navigate popup directly, attempting to open new window:",n.message),this.closePopup(),this.openLicensePopup(t)}},startPopupMonitoring:function(){this.isMonitoring||(this.isMonitoring=!0,this.monitoringStartTime=Date.now(),this.scheduleNextCheck(),console.log("Started popup monitoring"))},scheduleNextCheck:function(){if(!this.isMonitoring)return;const t=Date.now()-this.monitoringStartTime;let n=500;t>3e4?n=2e3:t>1e4&&(n=1e3),this.monitorTimeout=setTimeout(()=>{this.checkPopupState(),this.scheduleNextCheck()},n)},stopPopupMonitoring:function(){this.isMonitoring&&(this.isMonitoring=!1,this.monitorInterval&&(clearInterval(this.monitorInterval),this.monitorInterval=null),this.monitorTimeout&&(clearTimeout(this.monitorTimeout),this.monitorTimeout=null),console.log("Stopped popup monitoring"))},checkPopupState:function(){if(!this.popupWindow)return console.log("checkPopupState: popupWindow is null"),void this.handlePopupClosed();try{if(this.popupWindow.closed)return console.log("checkPopupState: popup window was closed"),void this.handlePopupClosed()}catch(t){return console.log("checkPopupState: Error checking popup.closed, treating as closed:",t.message),void this.handlePopupClosed()}try{if(0===this.popupWindow.location.href.indexOf(window.location.origin)){const t=new URLSearchParams(this.popupWindow.location.search);if("1"===t.get("pum_license_connected"))return void this.handleConnectionSuccess(t);t.get("pum_license_error")&&this.handleConnectionError(t.get("pum_license_error"))}}catch(t){}},handlePopupClosed:function(){console.log("License popup closed"),this.stopPopupMonitoring(),this.popupWindow=null,this.hidePopupOpenState(),t(".pum-install-pro-button, .pum-license-connect-trigger").each(function(){const n=t(this);n.prop("disabled",!1);const e=n.data("original-text");e&&n.html(e)}),t(document).trigger("pum_license_popup_closed"),window.PUM_Admin.LicenseStatusPolling&&window.PUM_Admin.LicenseStatusPolling.startPolling()},handleConnectionSuccess:function(n){console.log("License connection successful");const e=n.get("license_key"),o=n.get("license_status");if(this.closePopup(),t(".pum-install-pro-button, .pum-license-connect-trigger").each(function(){const n=t(this);n.prop("disabled",!1);const e=n.data("original-text");e&&n.html(e)}),e){const n=t("#popup_maker_pro_license_key");n.length&&(n.val(e),n.trigger("change"))}this.showSuccess("License connected successfully!"),t(document).trigger("pum_license_connected",{license_key:e,license_status:o}),setTimeout(()=>{window.location.reload()},1500)},handleConnectionError:function(n){console.error("License connection error:",n),this.closePopup(),t(".pum-install-pro-button, .pum-license-connect-trigger").each(function(){const n=t(this);n.prop("disabled",!1);const e=n.data("original-text");e&&n.html(e)}),this.showError(`Connection failed: ${n}`),t(document).trigger("pum_license_connection_error",{error:n})},handleWindowFocus:function(){setTimeout(()=>{this.isMonitoring&&this.popupWindow&&this.popupWindow.closed&&this.handlePopupClosed()},100)},closePopup:function(){this.popupWindow&&!this.popupWindow.closed&&this.popupWindow.close(),this.stopPopupMonitoring(),this.popupWindow=null,this.hidePopupOpenState()},showPopupOpenState:function(){t(".pum-pro-upgrade-trigger, .pum-license-connect-trigger").addClass("pum-popup-open"),this.showMessage("Opening license connection window...","info")},hidePopupOpenState:function(){t(".pum-pro-upgrade-trigger, .pum-license-connect-trigger").removeClass("pum-popup-open")},showSuccess:function(t){this.showMessage(t,"success")},showError:function(t){this.showMessage(t,"error")},showMessage:function(n,e="info"){let o=t("#pum-upgrade-flow-messages");o.length||(o=t('<div id="pum-upgrade-flow-messages" class="pum-upgrade-messages"></div>'),t("#pum-settings-container").prepend(o)),o.empty();const i=t(`\n\t\t\t\t<div class="notice notice-${e} is-dismissible">\n\t\t\t\t\t<p>${n}</p>\n\t\t\t\t\t<button type="button" class="notice-dismiss">\n\t\t\t\t\t\t<span class="screen-reader-text">Dismiss this notice.</span>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t`);o.append(i),"error"!==e&&setTimeout(()=>{i.fadeOut(300,function(){t(this).remove()})},3e3),i.find(".notice-dismiss").on("click",function(){i.fadeOut(300,function(){t(this).remove()})})},cleanup:function(){this.closePopup()}};window.PUM_Admin.ProUpgradeFlow=n,t(function(){n.init()}),t(document).on("pum_init",function(){n.init()}),t(window).on("beforeunload unload",function(){window.PUM_Admin&&window.PUM_Admin.ProUpgradeFlow&&window.PUM_Admin.ProUpgradeFlow.cleanup(),window.PUM_Admin&&window.PUM_Admin.LicenseStatusPolling&&window.PUM_Admin.LicenseStatusPolling.cleanup()})}(jQuery)},9010:()=>{!function(t){"use strict";window.PUM_Admin=window.PUM_Admin||{},window.PUM_Admin.LicenseStatusPolling={};const n={isPolling:!1,pollInterval:null,pollTimeout:null,config:{initialInterval:3e3,normalInterval:5e3,slowInterval:1e4,maxDuration:12e4,maxAttempts:24,fastPollDuration:2e4},state:{attempts:0,startTime:null,currentInterval:null,lastResponse:null,consecutiveErrors:0},apiConfig:{endpoint:"",nonce:"",namespace:"popup-maker/v2",route:"license"},init:function(){this.setupApiConfig()?this.bindEvents():console.error("License Status Polling: Failed to setup API configuration")},setupApiConfig:function(){if(window.wpApiSettings&&window.wpApiSettings.root)this.apiConfig.endpoint=`${window.wpApiSettings.root}${this.apiConfig.namespace}/${this.apiConfig.route}`,this.apiConfig.nonce=window.wpApiSettings.nonce;else{const t=window.location.origin+"/wp-json/";this.apiConfig.endpoint=`${t}${this.apiConfig.namespace}/${this.apiConfig.route}`,this.apiConfig.nonce=window.pum_admin_vars?.rest_nonce||window.pum_admin_vars?.nonce||""}return!!this.apiConfig.endpoint.includes("/wp-json/")||(console.error("License Status Polling: Invalid REST API endpoint configured"),!1)},bindEvents:function(){t(document).on("pum_license_popup_closed",this.startPolling.bind(this)),t(document).on("pum_license_connected",this.handleLicenseConnected.bind(this)),t(document).on("visibilitychange",this.handleVisibilityChange.bind(this)),t(window).on("focus",this.handleWindowFocus.bind(this)),t(window).on("beforeunload",this.stopPolling.bind(this))},shouldStartPolling:async function(){try{const n=await t.ajax({url:this.apiConfig.endpoint,type:"GET",headers:{"X-WP-Nonce":this.apiConfig.nonce},timeout:1e4});console.log("Pre-flight license check:",n);const e=n.is_active&&(!n.is_pro_installed||!n.is_pro_active);return e||console.log("License Status Polling: No polling needed",{is_active:n.is_active,is_pro_installed:n.is_pro_installed,is_pro_active:n.is_pro_active}),e}catch(t){return console.warn("License Status Polling: Pre-flight check failed, will attempt polling:",t),!0}},startPolling:async function(){this.isPolling?console.log("License Status Polling: Already polling"):await this.shouldStartPolling()?(console.log("Starting license status polling"),this.resetState(),this.isPolling=!0,this.state.currentInterval=this.config.initialInterval,this.state.startTime=Date.now(),this.performPoll(),this.scheduleNextPoll()):console.log("License Status Polling: Polling not needed, skipping")},stopPolling:function(){this.isPolling&&(console.log("Stopping license status polling"),this.pollInterval&&(clearInterval(this.pollInterval),this.pollInterval=null),this.pollTimeout&&(clearTimeout(this.pollTimeout),this.pollTimeout=null),this.isPolling=!1)},resetState:function(){this.state={attempts:0,startTime:null,currentInterval:null,lastResponse:null,consecutiveErrors:0}},scheduleNextPoll:function(){if(!this.isPolling)return;const t=Date.now()-this.state.startTime;if(t>this.config.maxDuration||this.state.attempts>=this.config.maxAttempts)return console.log("License Status Polling: Maximum duration/attempts reached, stopping"),void this.stopPolling();this.adjustPollingInterval(t),this.pollTimeout=setTimeout(()=>{this.performPoll(),this.scheduleNextPoll()},this.state.currentInterval)},adjustPollingInterval:function(t){if(t<this.config.fastPollDuration?this.state.currentInterval=this.config.initialInterval:t<2*this.config.fastPollDuration?this.state.currentInterval=this.config.normalInterval:this.state.currentInterval=this.config.slowInterval,this.state.consecutiveErrors>0){const t=Math.min(Math.pow(2,this.state.consecutiveErrors),64),n=.1*Math.random();this.state.currentInterval*=t*(1+n)}this.state.currentInterval=Math.min(this.state.currentInterval,6e4)},performPoll:function(){if(!this.isPolling)return;this.state.attempts++,console.log(`License Status Poll #${this.state.attempts}`);const n=this.prepareRequestData();t.ajax({url:this.apiConfig.endpoint,type:"GET",data:n,dataType:"json",timeout:1e4,beforeSend:this.setRequestHeaders.bind(this),success:this.handlePollSuccess.bind(this),error:this.handlePollError.bind(this)})},prepareRequestData:function(){return{timestamp:Date.now()}},setRequestHeaders:function(t){this.apiConfig.nonce&&t.setRequestHeader("X-WP-Nonce",this.apiConfig.nonce),t.setRequestHeader("Content-Type","application/json")},handlePollSuccess:function(t){console.log("License status poll success:",t),this.state.consecutiveErrors=0,this.state.lastResponse=t,this.hasLicenseStatusChanged(t)&&this.handleStatusChange(t),this.shouldContinuePolling(t)||this.stopPolling()},handlePollError:function(t,n,e){console.warn("License status poll error:",{status:n,error:e,xhr:t}),this.state.consecutiveErrors++,this.state.consecutiveErrors>=5&&(console.error("License Status Polling: Too many consecutive errors, stopping"),this.stopPolling(),this.showError("Unable to check license status. Please refresh the page."))},hasLicenseStatusChanged:function(t){if(!this.state.lastResponse)return!1;const n=this.extractStatusData(t),e=this.extractStatusData(this.state.lastResponse);return JSON.stringify(n)!==JSON.stringify(e)},extractStatusData:function(t){return{is_active:t.is_active||!1,license_key:t.license_key||"",status:t.status||"",is_pro_installed:t.is_pro_installed||!1,is_pro_active:t.is_pro_active||!1}},handleStatusChange:function(n){console.log("License status changed:",n),t(document).trigger("pum_license_status_changed",n),this.updateLicenseUI(n),n.is_active&&!n.is_pro_installed&&this.triggerProInstallation(n)},updateLicenseUI:function(n){this._cachedElements||(this._cachedElements={licenseField:t("#popup_maker_pro_license_key"),statusContainer:t(".pum-license-status")});const e=this._cachedElements.licenseField,o=this._cachedElements.statusContainer;n.license_key&&e.length&&e.val(n.license_key),o.length&&(o.removeClass("valid invalid"),o.addClass(n.is_active?"valid":"invalid"),o.find(".pum-license-status-text").text(n.status||"Unknown")),n.is_active?this.showSuccess("License activated successfully!"):n.status&&this.showError(`License issue: ${n.status}`)},triggerProInstallation:function(n){console.log("Triggering Pro plugin installation"),this.showInfo("Valid license detected! Installing Popup Maker Pro..."),t(document).trigger("pum_install_pro_plugin",n),window.PUM_Admin.ProUpgrader&&window.PUM_Admin.ProUpgrader.installProPlugin(n.license_key)},shouldContinuePolling:function(t){return t.is_active&&t.is_pro_installed&&t.is_pro_active?(console.log("License valid and Pro installed & active, stopping polling"),!1):t.is_active?(console.log("Continuing polling - Pro installation pending",{is_active:t.is_active,is_pro_installed:t.is_pro_installed,is_pro_active:t.is_pro_active}),!0):(console.log("License is no longer active, stopping polling"),!1)},handleLicenseConnected:function(t,n){console.log("License connected event received:",n),this.stopPolling(),setTimeout(()=>{this.startPolling()},1e3)},handleVisibilityChange:function(){this.isPolling&&(document.hidden?(console.log("Page hidden, reducing polling frequency"),this.state.currentInterval=2*this.config.slowInterval):(console.log("Page visible, resuming normal polling"),this.adjustPollingInterval(Date.now()-this.state.startTime)))},handleWindowFocus:function(){this.isPolling&&(console.log("Window focused - checking if Pro plugin was installed"),this.performImmediateStatusCheck())},performImmediateStatusCheck:function(){const n=this.prepareRequestData();t.ajax({url:this.apiConfig.endpoint,type:"GET",data:n,dataType:"json",timeout:5e3,beforeSend:this.setRequestHeaders.bind(this),success:t=>{console.log("Immediate status check result:",t),t.is_pro_installed&&t.is_pro_active?(console.log("Pro plugin detected as installed and active - reloading page"),this.showSuccess("Popup Maker Pro installed successfully! Reloading page..."),this.stopPolling(),setTimeout(()=>{window.location.reload()},2e3)):t.is_pro_installed&&!t.is_pro_active?(console.log("Pro plugin installed but not active - attempting activation"),this.showInfo("Pro plugin installed but not activated. Please activate it manually.")):console.log("Pro plugin not yet installed - continuing normal polling")},error:(t,n,e)=>{console.warn("Immediate status check failed:",{status:n,error:e})}})},showSuccess:function(t){this.showMessage(t,"success")},showError:function(t){this.showMessage(t,"error")},showInfo:function(t){this.showMessage(t,"info")},showMessage:function(t,n="info"){window.PUM_Admin.ProUpgradeFlow&&window.PUM_Admin.ProUpgradeFlow.showMessage?window.PUM_Admin.ProUpgradeFlow.showMessage(t,n):console.log(`License Status: [${n.toUpperCase()}] ${t}`)},cleanup:function(){this.stopPolling(),this._cachedElements=null,t(window).off("focus",this.handleWindowFocus)}};window.PUM_Admin.LicenseStatusPolling=n,t(function(){n.init()}),t(document).on("pum_init",function(){n.init()})}(jQuery)}},n={};function e(o){var i=n[o];if(void 0!==i)return i.exports;var s=n[o]={exports:{}};return t[o](s,s.exports,e),s.exports}(()=>{"use strict";var t;e(2639),e(9010),e(6229),t=jQuery,window.PUM_Admin=window.PUM_Admin||{},t(function(){function n(){const n=window.location.hash.replace("#","");if(n){let e=t(`a[href="#${n}"]`);e.length||(e=t(`a[href="#pum-settings_${n}"]`)),e.length&&setTimeout(()=>e.trigger("click"),100)}}var e=t("#pum-settings-container"),o=pum_settings_editor.form_args||{},i=pum_settings_editor.current_values||{};e.length&&(e.find(".pum-no-js").hide(),PUM_Admin.forms.render(o,i,e),n(),t(window).on("hashchange",n),e.on("click",'.pum-tabs-container a[href^="#"]',function(){setTimeout(()=>{window.location.hash&&history.replaceState(null,null,window.location.pathname+window.location.search)},50)}))})})()})(); dist/assets/admin-support-page.css 0000644 00000000537 15174671772 0013265 0 ustar 00 .popmake-support-links{list-style:none}.popmake-support-links li{margin-bottom:10px}.popmake-support-links a{color:#20252b;font-size:1.25em;text-decoration:none;text-transform:uppercase}.popmake-support-links a span{margin-left:10px}.popmake-support-links a img{max-height:24px;max-width:24px;min-height:24px;min-width:24px;position:relative;top:6px} dist/assets/admin-pointer.asset.php 0000644 00000000124 15174671772 0013424 0 ustar 00 <?php return array('dependencies' => array(), 'version' => 'a9688b7555cae461511b'); dist/assets/admin-batch.js 0000644 00000011201 15174671772 0011532 0 ustar 00 (()=>{"use strict";var a,e,t;a=jQuery,e={form:{beforeSubmit:function(e){var t=e.find('.pum-field-submit input[type="submit"]'),s=e.find(".pum-upgrade-messages"),r=e.find(".pum-batch-progress"),n=e.data("ays");return!(t.hasClass("button-disabled")||void 0!==n&&!confirm(n)||(r.removeClass("pum-batch-progress--active"),r.find("progress").prop("value",null),s.html(""),t.addClass("button-disabled"),a('<span class="spinner is-active"></span>').insertAfter(t),0))}},complete:function(e){var t=e.parents(".pum-alert");e.find(".pum-field-submit, progress").hide(),a("p.pum-upgrade-notice").hide(),t.removeClass("pum-alert__warning").addClass("pum-alert__success"),t.prepend("<h2>"+pum_batch_vars.complete+"</h2>")},action:"pum_process_batch_request",process_step:function(e,t){var s=this;a.ajax({type:"POST",url:ajaxurl,data:{batch_id:t.batch_id,action:s.action,nonce:t.nonce,form:t.form,step:parseInt(e),data:t},dataType:"json",success:function(e){if(e.data.done||e.data.error){var r=e.data.mapping?".pum-batch-import-form":".pum-batch-form",n=a(r),d=n.find(".spinner"),o=n.find(".notice-wrap");n.find(".button-disabled").removeClass("button-disabled"),e.data.error?(d.remove(),o.html('<div class="updated error"><p>'+e.data.error+"</p></div>")):e.data.done?(d.remove(),o.html('<div id="pum-batch-success" class="updated notice"><p class="pum-batch-success">'+e.data.message+"</p></div>"),e.data.url&&(window.location=e.data.url)):o.remove()}else a(".pum-batch-progress div").animate({width:e.data.percentage+"%"},50),s.process_step(e.data.step,t)}}).fail(function(a){window.console&&window.console.log&&console.log(a)})}},t=a.extend(!0,{},e,{action:"pum_process_upgrade_request",process_step:function(t,s){var r=this;a.ajax({type:"POST",url:ajaxurl,data:{upgrade_id:s.upgrade_id,action:r.action,nonce:s.nonce,form:s.form,step:parseInt(t),data:s},dataType:"json",success:function(t){var n=a(".pum-upgrade-form"),d=n.find(".spinner"),o=n.find(".button-disabled"),i=n.find(".pum-upgrade-messages");t.data.done||t.data.error?(o.removeClass("button-disabled"),t.data.error?(d.remove(),i.prepend('<div class="notice notice-error notice-alt"><p>'+t.data.error+"</p></div>")):t.data.done?(i.prepend('<div class="notice notice-success"><p><strong>'+t.data.message+"</strong></p></div>"),t.data.next?(n.data("upgrade_id",t.data.next).data("step",1).data("ays",!1),r.process_step(1,{upgrade_id:t.data.next,nonce:s.nonce,form:s.form})):(o.parent().hide(),d.remove(),e.complete(n)),t.data.url&&(window.location=t.data.url)):""!==t.data.message&&i.prepend('<div class="notice"><p class="">'+t.data.message+"</p></div>")):(""!==t.data.message&&i.prepend('<div class="notice"><p class="">'+t.data.message+"</p></div>"),a(".pum-batch-progress").addClass("pum-batch-progress--active"),a(".pum-batch-progress progress.pum-task-progress").addClass("active").val(t.data.percentage),r.process_step(t.data.step,s))}}).fail(function(a){window.console&&window.console.log&&console.log(a)})}}),window.PUM_Admin=window.PUM_Admin||{},window.PUM_Admin.batch=e,window.PUM_Admin.batch_upgrades=t,a(document).on("submit",".pum-batch-form[data-batch_id]",function(t){var s=a(this),r=s.find('input[type="submit"]'),n=s.data("ays"),d={batch_id:s.data("batch_id"),nonce:s.data("nonce"),form:s.serializeAssoc(),test:s.pumSerializeObject()};if(t.preventDefault(),!r.hasClass("button-disabled")){if(void 0!==n&&!confirm(n))return;s.find(".notice-wrap").remove(),s.append(a('<div class="notice-wrap"><div class="pum-batch-progress"><div></div>')),r.addClass("button-disabled"),r.parent().append('<span class="spinner is-active"></span>'),e.process_step(1,d)}}).on("submit",".pum-batch-form.pum-upgrade-form[data-upgrade_id]",function(e){var s=a(this),r={upgrade_id:s.data("upgrade_id"),nonce:s.data("nonce"),form:s.serializeAssoc(),test:s.pumSerializeObject()};e.preventDefault(),t.form.beforeSubmit(s)&&t.process_step(s.data("step")||1,r)}),jQuery(function(a){a.extend({arrayMerge:function(){for(var e={},t=0,s=a.arrayMerge.arguments,r=0;r<s.length;r++)if(Array.isArray(s[r])){for(var n=0;n<s[r].length;n++)e[t++]=s[r][n];e=a.makeArray(e)}else for(var d in s[r])if(s[r].hasOwnProperty(d))if(isNaN(d)){var o=s[r][d];"object"==typeof o&&e[d]&&(o=a.arrayMerge(e[d],o)),e[d]=o}else e[t++]=s[r][d];return e},count:function(a){return Array.isArray(a)?a.length:"object"==typeof a&&Object.keys(a).length}}),a.fn.extend({serializeAssoc:function(){for(var e={aa:{},add:function(e,t){var s=e.match(/^(.*)\[([^\]]*)]$/),r={};s?(s[2]?r[s[2]]=t:r[a.count(r)]=t,this.add(s[1],r)):"object"==typeof t?("object"!=typeof this.aa[e]&&(this.aa[e]={}),this.aa[e]=a.arrayMerge(this.aa[e],t)):this.aa[e]=t}},t=a(this).serializeArray(),s=0;s<t.length;s++)e.add(t[s].name,t[s].value);return e.aa}})})})(); dist/assets/mce-buttons.js 0000644 00000001152 15174671772 0011627 0 ustar 00 !function(t,e){"use strict";"undefined"!=typeof pum_shortcode_ui_vars&&e.PluginManager.add("pum_shortcodes",function(t){var e=pum_shortcode_ui_vars.shortcodes||{},o=[];_.each(e,function(e,n){o.push({text:e.label,value:n,onclick:function(){var o,u="["+n+"]",c={};e.has_content&&(u+=t.selection.getContent()+"[/"+n+"]"),o=wp.mce.views.get(n),c.text=u,c.encodedText=encodeURIComponent(u),(o=new o(c)).renderForm({},function(t){send_to_editor(t)})}})}),t.addButton("pum_shortcodes",{type:"menubutton",icon:"pum_shortcodes",tooltip:pum_shortcode_ui_vars.I10n.shortcode_ui_button_tooltip||"",menu:o})})}(jQuery,tinymce||{}); dist/assets/admin-general.asset.php 0000644 00000000134 15174671772 0013362 0 ustar 00 <?php return array('dependencies' => array('jquery'), 'version' => '14cce8879a87bdea3bba'); dist/assets/vendor/mobile-detect.min.js 0000644 00000115041 15174671772 0014166 0 ustar 00 !function(T,e){T(function(){"use strict";function T(T,e){return null!=T&&null!=e&&T.toLowerCase()===e.toLowerCase()}function S(T,e){var S,i,o=T.length;if(!o||!e)return!1;for(S=e.toLowerCase(),i=0;i<o;++i)if(S===T[i].toLowerCase())return!0;return!1}function i(T){for(var e in T)a.call(T,e)&&(T[e]=new RegExp(T[e],"i"))}function o(T,e){this.ua=function(T){return(T||"").substr(0,500)}(T),this._cache={},this.maxPhoneWidth=e||600}var P,M={mobileDetectRules:{phones:{iPhone:"\\biPhone\\b|\\biPod\\b",BlackBerry:"BlackBerry|\\bBB10\\b|rim[0-9]+|\\b(BBA100|BBB100|BBD100|BBE100|BBF100|STH100)\\b-[0-9]+",Pixel:"; \\bPixel\\b",HTC:"HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m|Android [0-9.]+; Pixel",Nexus:"Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 5X|Nexus 6",Dell:"Dell[;]? (Streak|Aero|Venue|Venue Pro|Flash|Smoke|Mini 3iX)|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b",Motorola:"Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b|XT1068|XT1092|XT1052",Samsung:"\\bSamsung\\b|SM-G950F|SM-G955F|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F|SM-G920F|SM-G920V|SM-G930F|SM-N910C|SM-A310F|GT-I9190|SM-J500FN|SM-G903F|SM-J330F|SM-G610F|SM-G981B|SM-G892A|SM-A530F",LG:"\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323|M257)|LM-G710",Sony:"SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533|SOV34|601SO|F8332",Asus:"Asus.*Galaxy|PadFone.*Mobile",Xiaomi:"^(?!.*\\bx11\\b).*xiaomi.*$|POCOPHONE F1|MI 8|Redmi Note 9S|Redmi Note 5A Prime|N2G47H|M2001J2G|M2001J2I|M1805E10A|M2004J11G|M1902F1G|M2002J9G|M2004J19G|M2003J6A1G",NokiaLumia:"Lumia [0-9]{3,4}",Micromax:"Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b",Palm:"PalmSource|Palm",Vertu:"Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature",Pantech:"PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790",Fly:"IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250",Wiko:"KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM",iMobile:"i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)",SimValley:"\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b",Wolfgang:"AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q",Alcatel:"Alcatel",Nintendo:"Nintendo (3DS|Switch)",Amoi:"Amoi",INQ:"INQ",OnePlus:"ONEPLUS",GenericPhone:"Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser"},tablets:{iPad:"iPad|iPad.*Mobile",NexusTablet:"Android.*Nexus[\\s]+(7|9|10)",GoogleTablet:"Android.*Pixel C",SamsungTablet:"SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-T116BU|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561|SM-T713|SM-T719|SM-T813|SM-T819|SM-T580|SM-T355Y?|SM-T280|SM-T817A|SM-T820|SM-W700|SM-P580|SM-T587|SM-P350|SM-P555M|SM-P355M|SM-T113NU|SM-T815Y|SM-T585|SM-T285|SM-T825|SM-W708|SM-T835|SM-T830|SM-T837V|SM-T720|SM-T510|SM-T387V|SM-P610|SM-T290|SM-T515|SM-T590|SM-T595|SM-T725|SM-T817P|SM-P585N0|SM-T395|SM-T295|SM-T865|SM-P610N|SM-P615|SM-T970|SM-T380|SM-T5950|SM-T905|SM-T231|SM-T500|SM-T860",Kindle:"Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI|KFFOWI|KFGIWI|KFMEWI)\\b|Android.*Silk/[0-9.]+ like Chrome/[0-9.]+ (?!Mobile)",SurfaceTablet:"Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)",HPTablet:"HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10",AsusTablet:"^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K011 | K017 | K01E |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA|P01Z|\\bP027\\b|\\bP024\\b|\\bP00C\\b",BlackBerryTablet:"PlayBook|RIM Tablet",HTCtablet:"HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410",MotorolaTablet:"xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617",NookTablet:"Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2",AcerTablet:"Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20\\b|\\bA3-A30|A3-A40",ToshibaTablet:"Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO",LGTablet:"\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b",FujitsuTablet:"Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b",PrestigioTablet:"PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002",LenovoTablet:"Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-850M|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)|TB-X103F|TB-X304X|TB-X304F|TB-X304L|TB-X505F|TB-X505L|TB-X505X|TB-X605F|TB-X605L|TB-8703F|TB-8703X|TB-8703N|TB-8704N|TB-8704F|TB-8704X|TB-8704V|TB-7304F|TB-7304I|TB-7304X|Tab2A7-10F|Tab2A7-20F|TB2-X30L|YT3-X50L|YT3-X50F|YT3-X50M|YT-X705F|YT-X703F|YT-X703L|YT-X705L|YT-X705X|TB2-X30F|TB2-X30L|TB2-X30M|A2107A-F|A2107A-H|TB3-730F|TB3-730M|TB3-730X|TB-7504F|TB-7504X|TB-X704F|TB-X104F|TB3-X70F|TB-X705F|TB-8504F|TB3-X70L|TB3-710F|TB-X704L",DellTablet:"Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7",YarvikTablet:"Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b",MedionTablet:"Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB",ArnovaTablet:"97G4|AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2",IntensoTablet:"INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004",IRUTablet:"M702pro",MegafonTablet:"MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b",EbodaTablet:"E-Boda (Supreme|Impresspeed|Izzycomm|Essential)",AllViewTablet:"Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)",ArchosTablet:"\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|c|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b",AinolTablet:"NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark",NokiaLumiaTablet:"Lumia 2520",SonyTablet:"Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP641|SGP612|SOT31|SGP771|SGP611|SGP612|SGP712",PhilipsTablet:"\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b",CubeTablet:"Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT",CobyTablet:"MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010",MIDTablet:"M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10",MSITablet:"MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b",SMiTTablet:"Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)",RockChipTablet:"Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A",FlyTablet:"IQ310|Fly Vision",bqTablet:"Android.*(bq)?.*\\b(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris ([E|M]10|M8))\\b|Maxwell.*Lite|Maxwell.*Plus",HuaweiTablet:"MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim|M2-A01L|BAH-L09|BAH-W09|AGS-L09|CMR-AL19",NecTablet:"\\bN-06D|\\bN-08D",PantechTablet:"Pantech.*P4100",BronchoTablet:"Broncho.*(N701|N708|N802|a710)",VersusTablet:"TOUCHPAD.*[78910]|\\bTOUCHTAB\\b",ZyncTablet:"z1000|Z99 2G|z930|z990|z909|Z919|z900",PositivoTablet:"TB07STA|TB10STA|TB07FTA|TB10FTA",NabiTablet:"Android.*\\bNabi",KoboTablet:"Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build",DanewTablet:"DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b",TexetTablet:"NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE",PlaystationTablet:"Playstation.*(Portable|Vita)",TrekstorTablet:"ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab",PyleAudioTablet:"\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b",AdvanTablet:"Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ",DanyTechTablet:"Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1",GalapadTablet:"Android [0-9.]+; [a-z-]+; \\bG1\\b",MicromaxTablet:"Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b",KarbonnTablet:"Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b",AllFineTablet:"Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide",PROSCANTablet:"\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b",YONESTablet:"BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026",ChangJiaTablet:"TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503",GUTablet:"TX-A1301|TX-M9002|Q702|kf026",PointOfViewTablet:"TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10",OvermaxTablet:"OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)|Qualcore 1027",HCLTablet:"HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync",DPSTablet:"DPS Dream 9|DPS Dual 7",VistureTablet:"V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10",CrestaTablet:"CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989",MediatekTablet:"\\bMT8125|MT8389|MT8135|MT8377\\b",ConcordeTablet:"Concorde([ ]+)?Tab|ConCorde ReadMan",GoCleverTablet:"GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042",ModecomTablet:"FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003",VoninoTablet:"\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b",ECSTablet:"V07OT2|TM105A|S10OT1|TR10CS1",StorexTablet:"eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab",VodafoneTablet:"SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497|VFD 1400",EssentielBTablet:"Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2",RossMoorTablet:"RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711",iMobileTablet:"i-mobile i-note",TolinoTablet:"tolino tab [0-9.]+|tolino shine",AudioSonicTablet:"\\bC-22Q|T7-QC|T-17B|T-17P\\b",AMPETablet:"Android.* A78 ",SkkTablet:"Android.* (SKYPAD|PHOENIX|CYCLOPS)",TecnoTablet:"TECNO P9|TECNO DP8D",JXDTablet:"Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b",iJoyTablet:"Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)",FX2Tablet:"FX2 PAD7|FX2 PAD10",XoroTablet:"KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151",ViewsonicTablet:"ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a",VerizonTablet:"QTAQZ3|QTAIR7|QTAQTZ3|QTASUN1|QTASUN2|QTAXIA1",OdysTablet:"LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10",CaptivaTablet:"CAPTIVA PAD",IconbitTablet:"NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S",TeclastTablet:"T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi",OndaTablet:"\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+|V10 \\b4G\\b",JaytechTablet:"TPC-PA762",BlaupunktTablet:"Endeavour 800NG|Endeavour 1010",DigmaTablet:"\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b",EvolioTablet:"ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b",LavaTablet:"QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b",AocTablet:"MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712",MpmanTablet:"MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010",CelkonTablet:"CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b",WolderTablet:"miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b",MediacomTablet:"M-MPI10C3G|M-SP10EG|M-SP10EGP|M-SP10HXAH|M-SP7HXAH|M-SP10HXBH|M-SP8HXAH|M-SP8MXA",MiTablet:"\\bMI PAD\\b|\\bHM NOTE 1W\\b",NibiruTablet:"Nibiru M1|Nibiru Jupiter One",NexoTablet:"NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI",LeaderTablet:"TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100",UbislateTablet:"UbiSlate[\\s]?7C",PocketBookTablet:"Pocketbook",KocasoTablet:"\\b(TB-1207)\\b",HisenseTablet:"\\b(F5281|E2371)\\b",Hudl:"Hudl HT7S3|Hudl 2",TelstraTablet:"T-Hub2",GenericTablet:"Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bTP750\\b|\\bQTAQZ3\\b|WVT101|TM1088|KT107"},oss:{AndroidOS:"Android",BlackBerryOS:"blackberry|\\bBB10\\b|rim tablet os",PalmOS:"PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino",SymbianOS:"Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b",WindowsMobileOS:"Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Windows Mobile|Windows Phone [0-9.]+|WCE;",WindowsPhoneOS:"Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;",iOS:"\\biPhone.*Mobile|\\biPod|\\biPad|AppleCoreMedia",iPadOS:"CPU OS 13",SailfishOS:"Sailfish",MeeGoOS:"MeeGo",MaemoOS:"Maemo",JavaOS:"J2ME/|\\bMIDP\\b|\\bCLDC\\b",webOS:"webOS|hpwOS",badaOS:"\\bBada\\b",BREWOS:"BREW"},uas:{Chrome:"\\bCrMo\\b|CriOS|Android.*Chrome/[.0-9]* (Mobile)?",Dolfin:"\\bDolfin\\b",Opera:"Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR/[0-9.]+$|Coast/[0-9.]+",Skyfire:"Skyfire",Edge:"\\bEdgiOS\\b|Mobile Safari/[.0-9]* Edge",IE:"IEMobile|MSIEMobile",Firefox:"fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile|FxiOS",Bolt:"bolt",TeaShark:"teashark",Blazer:"Blazer",Safari:"Version((?!\\bEdgiOS\\b).)*Mobile.*Safari|Safari.*Mobile|MobileSafari",WeChat:"\\bMicroMessenger\\b",UCBrowser:"UC.*Browser|UCWEB",baiduboxapp:"baiduboxapp",baidubrowser:"baidubrowser",DiigoBrowser:"DiigoBrowser",Mercury:"\\bMercury\\b",ObigoBrowser:"Obigo",NetFront:"NF-Browser",GenericBrowser:"NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger",PaleMoon:"Android.*PaleMoon|Mobile.*PaleMoon"},props:{Mobile:"Mobile/[VER]",Build:"Build/[VER]",Version:"Version/[VER]",VendorID:"VendorID/[VER]",iPad:"iPad.*CPU[a-z ]+[VER]",iPhone:"iPhone.*CPU[a-z ]+[VER]",iPod:"iPod.*CPU[a-z ]+[VER]",Kindle:"Kindle/[VER]",Chrome:["Chrome/[VER]","CriOS/[VER]","CrMo/[VER]"],Coast:["Coast/[VER]"],Dolfin:"Dolfin/[VER]",Firefox:["Firefox/[VER]","FxiOS/[VER]"],Fennec:"Fennec/[VER]",Edge:"Edge/[VER]",IE:["IEMobile/[VER];","IEMobile [VER]","MSIE [VER];","Trident/[0-9.]+;.*rv:[VER]"],NetFront:"NetFront/[VER]",NokiaBrowser:"NokiaBrowser/[VER]",Opera:[" OPR/[VER]","Opera Mini/[VER]","Version/[VER]"],"Opera Mini":"Opera Mini/[VER]","Opera Mobi":"Version/[VER]",UCBrowser:["UCWEB[VER]","UC.*Browser/[VER]"],MQQBrowser:"MQQBrowser/[VER]",MicroMessenger:"MicroMessenger/[VER]",baiduboxapp:"baiduboxapp/[VER]",baidubrowser:"baidubrowser/[VER]",SamsungBrowser:"SamsungBrowser/[VER]",Iron:"Iron/[VER]",Safari:["Version/[VER]","Safari/[VER]"],Skyfire:"Skyfire/[VER]",Tizen:"Tizen/[VER]",Webkit:"webkit[ /][VER]",PaleMoon:"PaleMoon/[VER]",SailfishBrowser:"SailfishBrowser/[VER]",Gecko:"Gecko/[VER]",Trident:"Trident/[VER]",Presto:"Presto/[VER]",Goanna:"Goanna/[VER]",iOS:" \\bi?OS\\b [VER][ ;]{1}",Android:"Android [VER]",Sailfish:"Sailfish [VER]",BlackBerry:["BlackBerry[\\w]+/[VER]","BlackBerry.*Version/[VER]","Version/[VER]"],BREW:"BREW [VER]",Java:"Java/[VER]","Windows Phone OS":["Windows Phone OS [VER]","Windows Phone [VER]"],"Windows Phone":"Windows Phone [VER]","Windows CE":"Windows CE/[VER]","Windows NT":"Windows NT [VER]",Symbian:["SymbianOS/[VER]","Symbian/[VER]"],webOS:["webOS/[VER]","hpwOS/[VER];"]},utils:{Bot:"Googlebot|facebookexternalhit|Google-AMPHTML|s~amp-validator|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|YandexMobileBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom|contentkingapp|AspiegelBot",MobileBot:"Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker/M1A1-R2D2",DesktopMode:"WPDesktop",TV:"SonyDTV|HbbTV",WebKit:"(webkit)[ /]([\\w.]+)",Console:"\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|Nintendo Switch|PLAYSTATION|Xbox)\\b",Watch:"SM-V700"}},detectMobileBrowsers:{fullPattern:/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,shortPattern:/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,tabletPattern:/android|ipad|playbook|silk/i}},a=Object.prototype.hasOwnProperty;return M.FALLBACK_PHONE="UnknownPhone",M.FALLBACK_TABLET="UnknownTablet",M.FALLBACK_MOBILE="UnknownMobile",P="isArray"in Array?Array.isArray:function(T){return"[object Array]"===Object.prototype.toString.call(T)},function(){var T,e,S,o,A,b,G=M.mobileDetectRules;for(T in G.props)if(a.call(G.props,T)){for(e=G.props[T],P(e)||(e=[e]),A=e.length,o=0;o<A;++o)(b=(S=e[o]).indexOf("[VER]"))>=0&&(S=S.substring(0,b)+"([\\w._\\+]+)"+S.substring(b+5)),e[o]=new RegExp(S,"i");G.props[T]=e}i(G.oss),i(G.phones),i(G.tablets),i(G.uas),i(G.utils),G.oss0={WindowsPhoneOS:G.oss.WindowsPhoneOS,WindowsMobileOS:G.oss.WindowsMobileOS}}(),M.findMatch=function(T,e){for(var S in T)if(a.call(T,S)&&T[S].test(e))return S;return null},M.findMatches=function(T,e){var S=[];for(var i in T)a.call(T,i)&&T[i].test(e)&&S.push(i);return S},M.getVersionStr=function(T,e){var S,i,o,P,A=M.mobileDetectRules.props;if(a.call(A,T))for(o=(S=A[T]).length,i=0;i<o;++i)if(null!==(P=S[i].exec(e)))return P[1];return null},M.getVersion=function(T,e){var S=M.getVersionStr(T,e);return S?M.prepareVersionNo(S):NaN},M.prepareVersionNo=function(T){var e;return 1===(e=T.split(/[a-z._ \/\-]/i)).length&&(T=e[0]),e.length>1&&(T=e[0]+".",e.shift(),T+=e.join("")),Number(T)},M.isMobileFallback=function(T){return M.detectMobileBrowsers.fullPattern.test(T)||M.detectMobileBrowsers.shortPattern.test(T.substr(0,4))},M.isTabletFallback=function(T){return M.detectMobileBrowsers.tabletPattern.test(T)},M.prepareDetectionCache=function(T,S,i){var P,a,A;if(T.mobile===e)return(a=M.findMatch(M.mobileDetectRules.tablets,S))?(T.mobile=T.tablet=a,void(T.phone=null)):(P=M.findMatch(M.mobileDetectRules.phones,S))?(T.mobile=T.phone=P,void(T.tablet=null)):void(M.isMobileFallback(S)?(A=o.isPhoneSized(i),A===e?(T.mobile=M.FALLBACK_MOBILE,T.tablet=T.phone=null):A?(T.mobile=T.phone=M.FALLBACK_PHONE,T.tablet=null):(T.mobile=T.tablet=M.FALLBACK_TABLET,T.phone=null)):M.isTabletFallback(S)?(T.mobile=T.tablet=M.FALLBACK_TABLET,T.phone=null):T.mobile=T.tablet=T.phone=null)},M.mobileGrade=function(T){var e=null!==T.mobile();return T.os("iOS")&&T.version("iPad")>=4.3||T.os("iOS")&&T.version("iPhone")>=3.1||T.os("iOS")&&T.version("iPod")>=3.1||T.version("Android")>2.1&&T.is("Webkit")||T.version("Windows Phone OS")>=7||T.is("BlackBerry")&&T.version("BlackBerry")>=6||T.match("Playbook.*Tablet")||T.version("webOS")>=1.4&&T.match("Palm|Pre|Pixi")||T.match("hp.*TouchPad")||T.is("Firefox")&&T.version("Firefox")>=12||T.is("Chrome")&&T.is("AndroidOS")&&T.version("Android")>=4||T.is("Skyfire")&&T.version("Skyfire")>=4.1&&T.is("AndroidOS")&&T.version("Android")>=2.3||T.is("Opera")&&T.version("Opera Mobi")>11&&T.is("AndroidOS")||T.is("MeeGoOS")||T.is("Tizen")||T.is("Dolfin")&&T.version("Bada")>=2||(T.is("UC Browser")||T.is("Dolfin"))&&T.version("Android")>=2.3||T.match("Kindle Fire")||T.is("Kindle")&&T.version("Kindle")>=3||T.is("AndroidOS")&&T.is("NookTablet")||T.version("Chrome")>=11&&!e||T.version("Safari")>=5&&!e||T.version("Firefox")>=4&&!e||T.version("MSIE")>=7&&!e||T.version("Opera")>=10&&!e?"A":T.os("iOS")&&T.version("iPad")<4.3||T.os("iOS")&&T.version("iPhone")<3.1||T.os("iOS")&&T.version("iPod")<3.1||T.is("Blackberry")&&T.version("BlackBerry")>=5&&T.version("BlackBerry")<6||T.version("Opera Mini")>=5&&T.version("Opera Mini")<=6.5&&(T.version("Android")>=2.3||T.is("iOS"))||T.match("NokiaN8|NokiaC7|N97.*Series60|Symbian/3")||T.version("Opera Mobi")>=11&&T.is("SymbianOS")?"B":(T.version("BlackBerry")<5||T.match("MSIEMobile|Windows CE.*Mobile")||T.version("Windows Mobile"),"C")},M.detectOS=function(T){return M.findMatch(M.mobileDetectRules.oss0,T)||M.findMatch(M.mobileDetectRules.oss,T)},M.getDeviceSmallerSide=function(){return window.screen.width<window.screen.height?window.screen.width:window.screen.height},o.prototype={constructor:o,mobile:function(){return M.prepareDetectionCache(this._cache,this.ua,this.maxPhoneWidth),this._cache.mobile},phone:function(){return M.prepareDetectionCache(this._cache,this.ua,this.maxPhoneWidth),this._cache.phone},tablet:function(){return M.prepareDetectionCache(this._cache,this.ua,this.maxPhoneWidth),this._cache.tablet},userAgent:function(){return this._cache.userAgent===e&&(this._cache.userAgent=M.findMatch(M.mobileDetectRules.uas,this.ua)),this._cache.userAgent},userAgents:function(){return this._cache.userAgents===e&&(this._cache.userAgents=M.findMatches(M.mobileDetectRules.uas,this.ua)),this._cache.userAgents},os:function(){return this._cache.os===e&&(this._cache.os=M.detectOS(this.ua)),this._cache.os},version:function(T){return M.getVersion(T,this.ua)},versionStr:function(T){return M.getVersionStr(T,this.ua)},is:function(e){return S(this.userAgents(),e)||T(e,this.os())||T(e,this.phone())||T(e,this.tablet())||S(M.findMatches(M.mobileDetectRules.utils,this.ua),e)},match:function(T){return T instanceof RegExp||(T=new RegExp(T,"i")),T.test(this.ua)},isPhoneSized:function(T){return o.isPhoneSized(T||this.maxPhoneWidth)},mobileGrade:function(){return this._cache.grade===e&&(this._cache.grade=M.mobileGrade(this)),this._cache.grade}},"undefined"!=typeof window&&window.screen?o.isPhoneSized=function(T){return T<0?e:M.getDeviceSmallerSide()<=T}:o.isPhoneSized=function(){},o._impl=M,o.version="1.4.5 2021-03-13",o})}(function(){if("undefined"!=typeof module&&module.exports)return function(T){module.exports=T()};if("function"==typeof define&&define.amd)return define;if("undefined"!=typeof window)return function(T){window.MobileDetect=T()};throw new Error("unknown environment")}()); dist/assets/vendor/iframeResizer.min.js 0000644 00000033744 15174671772 0014271 0 ustar 00 console.info("\nIFRAME-RESIZER\n\nIframe-Resizer 5 is now available via the following two packages:\n\n * @iframe-resizer/parent\n * @iframe-resizer/child\n\nAdditionally their are also new versions of iframe-resizer for React, Vue, and jQuery.\n\nVersion 5 of iframe-resizer has been extensively rewritten to use modern browser APIs, which has enabled significantly better performance and greater accuracy in the detection of content resizing events.\n\nPlease see https://iframe-resizer.com/upgrade for more details.\n"),function(e){var n,i,t,o,r,a,s,d,c,l,f,u,m,g;function h(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function p(e,n,i){e.addEventListener(n,i,!1)}function w(e,n,i){e.removeEventListener(n,i,!1)}function b(e){return f[e]?f[e].log:t}function y(e,n){I("log",e,n,b(e))}function v(e,n){I("info",e,n,b(e))}function z(e,n){I("warn",e,n,!0)}function I(e,n,i,t){!0===t&&"object"==typeof window.console&&console[e](function(e){return a+"["+(n="Host page: "+e,(n=window.top!==window.self?window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+e:"Nested host page: "+e:n)+"]");var n}(n),i)}function x(e){function n(){i("Height"),i("Width"),W(function(){N(j),O(H),b("onResized",j)},j,"init")}function i(e){var n=Number(f[H]["max"+e]),i=Number(f[H]["min"+e]),t=(e=e.toLowerCase(),Number(j[e]));y(H,"Checking "+e+" is in range "+i+"-"+n),t<i&&(t=i,y(H,"Set "+e+" to min value")),n<t&&(t=n,y(H,"Set "+e+" to max value")),j[e]=""+t}function t(e){return k.slice(k.indexOf(":")+r+e)}function o(e,n){var i,t;i=function(){var i,t;C("Send Page Info","pageInfo:"+(i=document.body.getBoundingClientRect(),t=j.iframe.getBoundingClientRect(),JSON.stringify({iframeHeight:t.height,iframeWidth:t.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(t.top-i.top,10),offsetLeft:parseInt(t.left-i.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})),e,n)},g[t=n]||(g[t]=setTimeout(function(){g[t]=null,i()},32))}function c(e){return e=e.getBoundingClientRect(),R(H),{x:Math.floor(Number(e.left)+Number(d.x)),y:Math.floor(Number(e.top)+Number(d.y))}}function l(e){var n=e?c(j.iframe):{x:0,y:0},i={x:Number(j.width)+n.x,y:Number(j.height)+n.y};y(H,"Reposition requested from iFrame (offset x:"+n.x+" y:"+n.y+")"),window.top===window.self?(d=i,u(),y(H,"--")):window.parentIFrame?window.parentIFrame["scrollTo"+(e?"Offset":"")](i.x,i.y):z(H,"Unable to scroll to requested position, window.parentIFrame not found")}function u(){!1===b("onScroll",d)?E():O(H)}function m(e){e=e.split("#")[1]||"";var n=decodeURIComponent(e);(n=document.getElementById(n)||document.getElementsByName(n)[0])?(n=c(n),y(H,"Moving to in page link (#"+e+") at x: "+n.x+" y: "+n.y),d={x:n.x,y:n.y},u(),y(H,"--")):window.top===window.self?y(H,"In page link #"+e+" not found"):window.parentIFrame?window.parentIFrame.moveToAnchor(e):y(H,"In page link #"+e+" not found and window.parentIFrame not found")}function h(e){var n,i;i=0===Number(j.width)&&0===Number(j.height)?{x:(n=t(9).split(":"))[1],y:n[0]}:{x:j.width,y:j.height},b(e,{iframe:j.iframe,screenX:Number(i.x),screenY:Number(i.y),type:j.type})}function b(e,n){return M(H,e,n)}var I,x,k=e.data,j={},H=null;if("[iFrameResizerChild]Ready"===k)for(var P in f)C("iFrame requested init",S(P),f[P].iframe,P);else a===(""+k).slice(0,s)&&k.slice(s).split(":")[0]in f?(j=function(){var e=k.slice(s).split(":"),n=e[1]?parseInt(e[1],10):0,i=f[e[0]]&&f[e[0]].iframe,t=getComputedStyle(i);return{iframe:i,id:e[0],height:n+function(e){return"border-box"!==e.boxSizing?0:(e.paddingTop?parseInt(e.paddingTop,10):0)+(e=e.paddingBottom?parseInt(e.paddingBottom,10):0)}(t)+function(e){return"border-box"!==e.boxSizing?0:(e.borderTopWidth?parseInt(e.borderTopWidth,10):0)+(e=e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0)}(t),width:e[2],type:e[3]}}(),H=j.id,f[H]&&(f[H].loaded=!0),(x=j.type in{true:1,false:1,undefined:1})&&y(H,"Ignoring init message from meta parent page"),!x&&(x=!0,f[I=H]||(x=!1,z(j.type+" No settings for "+I+". Message was: "+k)),x)&&(y(H,"Received: "+k),I=!0,null===j.iframe&&(z(H,"IFrame ("+j.id+") not found"),I=!1),I&&function(){var n=e.origin,i=f[H]&&f[H].checkOrigin;if(i&&""+n!="null"&&!function(){if(i.constructor!==Array)return e=f[H]&&f[H].remoteHost,y(H,"Checking connection is from: "+e),n===e;var e,t=0,o=!1;for(y(H,"Checking connection is from allowed list of origins: "+i);t<i.length;t++)if(i[t]===n){o=!0;break}return o}())throw new Error("Unexpected message received from: "+n+" for "+j.iframe.id+". Message was: "+e.data+". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.");return 1}()&&function(){switch(f[H]&&f[H].firstRun&&f[H]&&(f[H].firstRun=!1),j.type){case"close":F(j.iframe);break;case"message":a=t(6),y(H,"onMessage passed: {iframe: "+j.iframe.id+", message: "+a+"}"),b("onMessage",{iframe:j.iframe,message:JSON.parse(a)}),y(H,"--");break;case"mouseenter":h("onMouseEnter");break;case"mouseleave":h("onMouseLeave");break;case"autoResize":f[H].autoResize=JSON.parse(t(9));break;case"scrollTo":l(!1);break;case"scrollToOffset":l(!0);break;case"pageInfo":o(f[H]&&f[H].iframe,H),r=H,e("Add ",p),f[r]&&(f[r].stopPageInfo=i);break;case"pageInfoStop":f[H]&&f[H].stopPageInfo&&(f[H].stopPageInfo(),delete f[H].stopPageInfo);break;case"inPageLink":m(t(9));break;case"reset":T(j);break;case"init":n(),b("onInit",j.iframe);break;default:0===Number(j.width)&&0===Number(j.height)?z("Unsupported message received ("+j.type+"), this is likely due to the iframe containing a later version of iframe-resizer than the parent page"):n()}function e(e,n){function t(){f[r]?o(f[r].iframe,r):i()}["scroll","resize"].forEach(function(i){y(r,e+i+" listener for sendPageInfo"),n(window,i,t)})}function i(){e("Remove ",w)}var r,a}())):v(H,"Ignored: "+k)}function M(e,n,i){var t=null,o=null;if(f[e]){if("function"!=typeof(t=f[e][n]))throw new TypeError(n+" on iFrame["+e+"] is not a function");o=t(i)}return o}function k(e){e=e.id,delete f[e]}function F(e){var n=e.id;if(!1===M(n,"onClose",n))y(n,"Close iframe cancelled by onClose event");else{y(n,"Removing iFrame: "+n);try{e.parentNode&&e.parentNode.removeChild(e)}catch(e){z(e)}M(n,"onClosed",n),y(n,"--"),k(e),i&&(i.disconnect(),i=null)}}function R(n){null===d&&y(n,"Get page position: "+(d={x:window.pageXOffset===e?document.documentElement.scrollLeft:window.pageXOffset,y:window.pageYOffset===e?document.documentElement.scrollTop:window.pageYOffset}).x+","+d.y)}function O(e){null!==d&&(window.scrollTo(d.x,d.y),y(e,"Set page position: "+d.x+","+d.y),E())}function E(){d=null}function T(e){y(e.id,"Size reset requested by "+("init"===e.type?"host page":"iFrame")),R(e.id),W(function(){N(e),C("reset","reset",e.iframe,e.id)},e,"reset")}function N(e){function n(n){var t;t=n,e.id?(e.iframe.style[t]=e[t]+"px",y(e.id,"IFrame ("+i+") "+t+" set to "+e[t]+"px")):y("undefined","messageData id not set"),function(n){var t;function r(){Object.keys(f).forEach(function(e){function n(e){return"0px"===(f[i]&&f[i].iframe.style[e])}var i;f[i=e]&&null!==f[i].iframe.offsetParent&&(n("height")||n("width"))&&C("Visibility change","resize",f[i].iframe,i)})}!o&&"0"===e[n]&&(o=!0,y(i,"Hidden iFrame detected, creating visibility listener"),n=h())&&(t=document.querySelector("body"),new n(function(e){y("window","Mutation observed: "+e[0].target+" "+e[0].type),H(r,16)}).observe(t,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0}))}(n)}var i=e.iframe.id;f[i]&&(f[i].sizeHeight&&n("height"),f[i].sizeWidth)&&n("width")}function W(e,n,i){i!==n.type&&c&&!window.jasmine?(y(n.id,"Requesting animation frame"),c(e)):e()}function C(e,n,i,t,o){var r=!1;t=t||i.id,f[t]&&(function(){var o;i&&"contentWindow"in i&&null!==i.contentWindow?(o=f[t]&&f[t].targetOrigin,y(t,"["+e+"] Sending msg to iframe["+t+"] ("+n+") targetOrigin: "+o),i.contentWindow.postMessage(a+n,o)):z(t,"["+e+"] IFrame("+t+") not found")}(),o&&f[t]&&f[t].warningTimeout&&(f[t].msgTimeout=setTimeout(function(){!f[t]||f[t].loaded||r||(r=!0,z(t,"IFrame has not responded within "+f[t].warningTimeout/1e3+" seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning."))},f[t].warningTimeout)))}function S(e){return e+":"+f[e].bodyMarginV1+":"+f[e].sizeWidth+":"+f[e].log+":"+f[e].interval+":"+f[e].enablePublicMethods+":"+f[e].autoResize+":"+f[e].bodyMargin+":"+f[e].heightCalculationMethod+":"+f[e].bodyBackground+":"+f[e].bodyPadding+":"+f[e].tolerance+":"+f[e].inPageLinks+":"+f[e].resizeFrom+":"+f[e].widthCalculationMethod+":"+f[e].mouseEvents}function j(o,r){function a(e){var n=e.split("Callback");2===n.length&&(this[n="on"+n[0].charAt(0).toUpperCase()+n[0].slice(1)]=this[e],delete this[e],z(s,"Deprecated: '"+e+"' has been renamed '"+n+"'. The old method will be removed in the next major version."))}var s=function(e){if("string"!=typeof e)throw new TypeError("Invaild id for iFrame. Expected String");var i;return""===e&&(o.id=(i=r&&r.id||m.id+n++,null!==document.getElementById(i)&&(i+=n++),e=i),t=(r||{}).log,y(e,"Added missing iframe ID: "+e+" ("+o.src+")")),e}(o.id);if(s in f&&"iFrameResizer"in o)z(s,"Ignored iFrame, already setup.");else{switch(function(e){if(e=e||{},f[s]=Object.create(null),f[s].iframe=o,f[s].firstRun=!0,f[s].remoteHost=o.src&&o.src.split("/").slice(0,3).join("/"),"object"!=typeof e)throw new TypeError("Options is not an object");Object.keys(e).forEach(a,e);var n,i=e;for(n in m)Object.prototype.hasOwnProperty.call(m,n)&&(f[s][n]=(Object.prototype.hasOwnProperty.call(i,n)?i:m)[n]);f[s]&&(f[s].targetOrigin=!0!==f[s].checkOrigin||""===(e=f[s].remoteHost)||null!==e.match(/^(about:blank|javascript:|file:\/\/)/)?"*":e)}(r),y(s,"IFrame scrolling "+(f[s]&&f[s].scrolling?"enabled":"disabled")+" for "+s),o.style.overflow=!1===(f[s]&&f[s].scrolling)?"hidden":"auto",f[s]&&f[s].scrolling){case"omit":break;case!0:o.scrolling="yes";break;case!1:o.scrolling="no";break;default:o.scrolling=f[s]?f[s].scrolling:"no"}c("Height"),c("Width"),d("maxHeight"),d("minHeight"),d("maxWidth"),d("minWidth"),"number"!=typeof(f[s]&&f[s].bodyMargin)&&"0"!==(f[s]&&f[s].bodyMargin)||(f[s].bodyMarginV1=f[s].bodyMargin,f[s].bodyMargin=f[s].bodyMargin+"px"),function(n){var t=h();t&&(i=o.parentNode?((t=new t(function(e){e.forEach(function(e){Array.prototype.slice.call(e.removedNodes).forEach(function(e){e===o&&F(o)})})})).observe(o.parentNode,{childList:!0}),t):null),p(o,"load",function(){var i,t;C("iFrame.onload",n,o,e,!0),i=f[s]&&f[s].firstRun,t=f[s]&&f[s].heightCalculationMethod in l,!i&&t&&T({iframe:o,height:0,width:0,type:"init"})}),C("init",n,o,e,!0)}(S(s)),f[s]&&(f[s].iframe.iFrameResizer={close:F.bind(null,f[s].iframe),removeListeners:k.bind(null,f[s].iframe),resize:C.bind(null,"Window resize","resize",f[s].iframe),moveToAnchor:function(e){C("Move to anchor","moveToAnchor:"+e,f[s].iframe,s)},sendMessage:function(e){C("Send Message","message:"+(e=JSON.stringify(e)),f[s].iframe,s)}})}function d(e){var n=f[s][e];1/0!==n&&0!==n&&(o.style[e]="number"==typeof n?n+"px":n,y(s,"Set "+e+" = "+o.style[e]))}function c(e){if(f[s]["min"+e]>f[s]["max"+e])throw new Error("Value for min"+e+" can not be greater than max"+e)}}function H(e,n){null===u&&(u=setTimeout(function(){u=null,e()},n))}function P(){"hidden"!==document.visibilityState&&(y("document","Trigger event: Visibility change"),H(function(){A("Tab Visible","resize")},16))}function A(e,n){Object.keys(f).forEach(function(i){var t;f[t=i]&&"parent"===f[t].resizeFrom&&f[t].autoResize&&!f[t].firstRun&&C(e,n,f[i].iframe,i)})}function L(){p(window,"message",x),p(window,"resize",function(){y("window","Trigger event: resize"),H(function(){A("Window resize","resize")},16)}),p(document,"visibilitychange",P),p(document,"-webkit-visibilitychange",P)}function B(){function n(e,n){if(n){if(!n.tagName)throw new TypeError("Object is not a valid DOM element");if("IFRAME"!==n.tagName.toUpperCase())throw new TypeError("Expected <IFRAME> tag, found <"+n.tagName+">");j(n,e),i.push(n)}}for(var i,t=["moz","webkit","o","ms"],o=0;o<t.length&&!c;o+=1)c=window[t[o]+"RequestAnimationFrame"];return c?c=c.bind(window):y("setup","RequestAnimationFrame not supported"),L(),function(t,o){var r;switch(i=[],(r=t)&&r.enablePublicMethods&&z("enablePublicMethods option has been removed, public methods are now always available in the iFrame"),typeof o){case"undefined":case"string":Array.prototype.forEach.call(document.querySelectorAll(o||"iframe"),n.bind(e,t));break;case"object":n(t,o);break;default:throw new TypeError("Unexpected data type ("+typeof o+")")}return i}}"undefined"!=typeof window&&(n=0,o=t=!1,r=7,s=(a="[iFrameSizer]").length,d=null,c=window.requestAnimationFrame,l=Object.freeze({max:1,scroll:1,bodyScroll:1,documentElementScroll:1}),f={},u=null,m=Object.freeze({autoResize:!0,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!0,inPageLinks:!1,enablePublicMethods:!0,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,license:"1jqr0si6pnt",log:!1,maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,mouseEvents:!0,resizeFrom:"parent",scrolling:!1,sizeHeight:!0,sizeWidth:!1,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return!0},onClosed:function(){},onInit:function(){},onMessage:function(){z("onMessage function not defined")},onMouseEnter:function(){},onMouseLeave:function(){},onResized:function(){},onScroll:function(){return!0}}),g={},window.jQuery!==e&&function(e){e.fn?e.fn.iFrameResize||(e.fn.iFrameResize=function(e){return this.filter("iframe").each(function(n,i){j(i,e)}).end()}):v("","Unable to bind to jQuery, it is not fully loaded.")}(window.jQuery),"function"==typeof define&&define.amd?define([],B):"object"==typeof module&&"object"==typeof module.exports&&(module.exports=B()),window.iFrameResize=window.iFrameResize||B())}(); dist/assets/admin-settings-page-rtl.css 0000644 00000057562 15174671772 0014222 0 ustar 00 @keyframes blink{0%{opacity:.9}50%{opacity:.5}}@keyframes glow{0%{opacity:.6;transform:scale(1)}to{opacity:.8;transform:scale(1.02)}}.wrap-licenses .form-table,.wrap-licenses caption,.wrap-licenses tbody,.wrap-licenses td,.wrap-licenses tfoot,.wrap-licenses th,.wrap-licenses thead,.wrap-licenses tr{display:block}.wrap-licenses .form-table tr{background:#fff;border:1px solid #ccc;box-sizing:border-box;float:right;margin:0 0 15px 15px;max-width:350px;min-height:220px;padding:14px;position:relative;width:30.5%}.wrap-licenses .form-table th{background:#f9f9f9;border-bottom:1px solid #ccc;margin:-14px -14px 20px;padding:14px;width:100%}.wrap-licenses .form-table td{padding:0}.wrap-licenses td input.regular-text{margin:0 0 8px;width:100%}.wrap-licenses .popmake-license-data[class*=popmake-license-]{background:#fafafa;border-top:1px solid #eee;bottom:14px;box-sizing:border-box;margin:20px -14px -14px;min-height:67px;padding:14px;position:absolute;width:100%}.wrap-licenses .popmake-license-data[class*=popmake-license-] a{color:#444}.wrap-licenses .popmake-license-data[class*=popmake-license-] a:hover{text-decoration:none}.wrap-licenses .popmake-license-data.license-expires-soon-notice{background-color:#00a0d2;border-color:#00a0d2;color:#fff}.wrap-licenses .popmake-license-data.popmake-license-expired{background-color:#e24e4e;border-color:#e24e4e;color:#fff}.wrap-licenses .popmake-license-data.popmake-license-error,.wrap-licenses .popmake-license-data.popmake-license-invalid,.wrap-licenses .popmake-license-data.popmake-license-item_name_mismatch,.wrap-licenses .popmake-license-data.popmake-license-missing,.wrap-licenses .popmake-license-data.popmake-license-site_inactive{background-color:#ffebcd;border-color:#ffebcd}.wrap-licenses .popmake-license-data p{font-size:13px;margin-top:0}.wrap-licenses .popmake-license-data.license-expires-soon-notice a,.wrap-licenses .popmake-license-data.popmake-license-expired a{color:#fff}.wrap-licenses .popmake-license-data.license-expires-soon-notice a:hover,.wrap-licenses .popmake-license-data.popmake-license-expired a:hover{text-decoration:none}.wrap-licenses p.submit{clear:both}#pum-settings_licenses.tab-content{padding-top:8px}.pum-field-pro_license{margin-top:-8px!important;max-width:1200px}.pum-field-pro_license .pum-pro-license-content{background:#fff;border:1px solid #c3c4c7;border-radius:4px;box-shadow:0 1px 1px #0000000a;padding:20px}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header{align-items:center;background:#f9f9f9;background:linear-gradient(-90deg,#f8fafc,#f9fafb);border-bottom:1px solid #dcdcde;border-radius:4px 4px 0 0;display:flex;gap:12px;margin:-20px -20px 20px;padding:12px 20px}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header.pro-plus{background:linear-gradient(-135deg,#ebe7fe,#f2f2f3);border-bottom-color:#d6ccff}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-logo{flex-shrink:0;height:40px;width:40px}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-header-text{display:flex;flex:1;flex-direction:column;gap:2px}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-header-text h3{color:#1d2327;font-size:20px;font-weight:500;line-height:1.2;margin:0}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-header-text .pum-license-subtitle{color:#8267f6;font-size:13px;font-weight:500}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:14px;font-weight:600;letter-spacing:.5px;margin-right:auto;padding:.6em 1em;text-transform:uppercase}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge svg{height:1em;width:1em}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge .crown-icon{color:#fbd803;margin-left:10px;fill:#fbd803}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge .lightning-icon,.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge .star-icon{color:#fbd803;margin-right:10px;stroke:#fbd803;animation:blink 1.5s ease-in-out infinite}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge.active{background:linear-gradient(-90deg,#1dbe61,#179b4e);box-shadow:0 0 0 0 #0000,0 0 0 0 #0000,0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;color:#fff}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge.active.pro-plus{background:linear-gradient(-90deg,#8267f6,#7356f5)}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge.deactivated{background:linear-gradient(-90deg,#8267f6,#7356f5);color:#fff}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge.deactivated .crown-icon{color:#fff;fill:#fff}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge.error,.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge.expired{background:#fce8e6;color:#8a2424}.pum-field-pro_license .pum-pro-license-content .pum-flex{display:flex}.pum-field-pro_license .pum-pro-license-content .pum-flex--column{flex-direction:column}.pum-field-pro_license .pum-pro-license-content .pum-flex--row{flex-direction:row}.pum-field-pro_license .pum-pro-license-content .pum-flex--gap-l{gap:24px}.pum-field-pro_license .pum-pro-license-content .pum-flex--gap-m{gap:16px}.pum-field-pro_license .pum-pro-license-content .pum-flex--gap-s{gap:8px}.pum-field-pro_license .pum-pro-license-content .pum-flex--gap-xs{gap:5px}.pum-field-pro_license .pum-pro-license-content .pum-license-heading{color:#1d2327;font-size:18px;font-weight:600;margin:0}.pum-field-pro_license .pum-pro-license-content .pum-license-description{color:#646970;font-size:1.2em;line-height:1.5;margin:0}.pum-field-pro_license .pum-pro-license-content .pum-license-description svg{height:16px;margin-left:4px;vertical-align:middle;width:16px}.pum-field-pro_license .pum-pro-license-content .pum-license-description svg.lightning-icon{color:#fbd803;stroke:#fbd803}.pum-field-pro_license .pum-pro-license-content .pum-pro-plus-status{align-items:center;background:#f6f3ff;border:1px solid #d6ccff;border-radius:4px;display:flex;gap:12px;margin:16px 0;padding:16px}.pum-field-pro_license .pum-pro-license-content .pum-pro-plus-status .dollar-icon{color:#8267f6;flex-shrink:0;height:24px;width:24px}.pum-field-pro_license .pum-pro-license-content .pum-pro-plus-status strong{color:#1d2327;font-size:14px;line-height:1.2;margin:0}.pum-field-pro_license .pum-pro-license-content .pum-pro-plus-status p{color:#646970;font-size:13px;line-height:1.4;margin:0}.pum-field-pro_license .pum-pro-license-content .pum-license-input-label{font-size:13px;font-weight:600}.pum-field-pro_license .pum-pro-license-content .pum-license-input-label strong{font-weight:800}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group{display:flex;gap:0}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group input[type=text]{background:#fff;border:1px solid #d9d7da;border-radius:0 3px 3px 0;border-left:none;color:#1a191b;flex:1;font-size:14px;font-size:.875rem;line-height:1.25rem;margin-left:-1px;max-width:300px;padding:.75rem 1rem}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group input[type=text]:focus{border-color:#0073aa;box-shadow:0 0 0 1px #0073aa;outline:2px solid #0000;position:relative;z-index:1}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group input[type=text]:disabled{background:#f6f7f7;color:#646970}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons{display:flex;flex-wrap:wrap;justify-content:flex-start}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .button{border-right:none;border-radius:0;font-size:14px;line-height:1;margin:0;padding:.75rem 1rem}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .button:last-child:not(.pum-install-pro-button){border-radius:3px 0 0 3px}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button{align-items:center;animation:blink 1.5s ease-in-out infinite;background:linear-gradient(-135deg,#1dbe61,#179b4e);border:2px solid #0000;border-radius:6px!important;box-shadow:0 0 0 0 #1dbe6166;color:#fff;display:flex;font-size:14px;font-weight:700;gap:8px;letter-spacing:.5px;margin-right:12px;padding:.75rem 1.5rem;position:relative;text-transform:uppercase;transition:all .3s ease}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button .download-icon,.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button .power-icon{height:16px;width:16px;stroke-width:2.5}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button .power-icon{stroke-width:2}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button:before{animation:glow 2s ease-in-out infinite alternate;background:linear-gradient(-135deg,#1dbe614d,#179b4e4d);border-radius:10px;bottom:-4px;content:"";right:-4px;opacity:.8;position:absolute;left:-4px;top:-4px;z-index:-1}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button:hover{background:linear-gradient(-135deg,#179b4e,#1dbe61);box-shadow:0 4px 12px #1dbe614d;transform:translateY(-1px)}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button.pum-install-pro-plus{background:linear-gradient(-135deg,#8267f6,#7356f5);box-shadow:0 0 0 0 #8267f666}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button.pum-install-pro-plus:before{background:linear-gradient(-135deg,#8267f64d,#7356f54d)}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button.pum-install-pro-plus:hover{background:linear-gradient(-135deg,#7356f5,#8267f6);box-shadow:0 4px 12px #8267f64d}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button:disabled{animation:none;cursor:not-allowed;opacity:.7;transform:none}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button:disabled:before{animation:none;opacity:.4}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button:disabled:hover{box-shadow:0 0 0 0 #1dbe6166;transform:none}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button:disabled.pum-install-pro-plus:hover{box-shadow:0 0 0 0 #8267f666}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .button-primary{background:#0073aa;border-color:#0073aa;color:#fff}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .button-primary:hover:not(:disabled){background:#005a87;border-color:#005a87}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .button-primary:disabled{background:#c3c4c7!important;border-color:#c3c4c7!important;color:#fff!important;cursor:not-allowed}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .button-secondary{background:#f6f7f7;border-color:#8c8f94;color:#50575e}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .button-secondary:hover{background:#f0f0f1;border-color:#787c82}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-license-delete{background:#d63638;border-color:#d63638;color:#fff}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-license-delete:hover{background:#b32d2e;border-color:#b32d2e}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-license-status{align-items:center;border:1px solid #8c8f94;display:flex;font-size:13px;font-weight:500;padding:0 12px}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-license-status.active,.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-license-status.pum-license-valid{background:#d7f5d0;border-color:#7ad03a;color:#2d5016}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-license-status.deactivated,.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-license-status.pum-license-deactivated{background:#fff3cd;border-color:#ffc107;color:#856404}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-license-status.inactive{background:#fce8e6;border-color:#d63638;color:#8a2424}.pum-field-pro_license .pum-pro-license-content .pum-license-messages{margin:16px 0}.pum-field-pro_license .pum-pro-license-content .pum-license-messages p{font-size:14px;margin:8px 0}.pum-field-pro_license .pum-pro-license-content .pum-license-messages p.success{color:#00a32a}.pum-field-pro_license .pum-pro-license-content .pum-license-messages p.error{color:#d63638}.pum-field-pro_license .pum-pro-license-content .pum-license-upgrade-text{color:#646970;font-size:1.2em}.pum-field-pro_license .pum-pro-license-content .pum-license-upgrade-text a{color:#1dbe61;text-decoration:none}.pum-field-pro_license .pum-pro-license-content .pum-license-upgrade-text a:hover{text-decoration:underline}.pum-field-pro_license .pum-pro-license-content hr.pum-license-separator{background:#dcdcde;border:none;height:1px;margin:0}.pum-field-pro_license .pum-pro-license-content .pum-license-details{background:#f2f2f3;border:1px solid;border-radius:4px;display:flex;flex-direction:column;font-size:15px;gap:1rem;padding:1rem}.pum-field-pro_license .pum-pro-license-content .pum-license-details .pum-license-details-header{align-items:center;display:flex;gap:.5em}.pum-field-pro_license .pum-pro-license-content .pum-license-details .pum-license-details-header h4{font-size:1.2em;margin:0}.pum-field-pro_license .pum-pro-license-content .pum-license-details .pum-license-details-header svg{height:1.4em;width:1.4em}.pum-field-pro_license .pum-pro-license-content .pum-license-details th{font-weight:500;text-align:right}.pum-field-pro_license .pum-pro-license-content .pum-license-details td{font-weight:700;text-align:left}.pum-field-pro_license .pum-pro-license-content .pum-license-details td svg{height:1em;position:relative;top:2px;width:1em}.pum-field-pro_license .pum-pro-license-content .pum-license-details td svg.crown-icon{stroke:#fbd803}.pum-field-pro_license .pum-pro-license-content .pum-license-details .pum-license-status:before,.pum-field-pro_license .pum-pro-license-content .pum-license-details .pum-pro-status:before{border-radius:9999px;content:"";display:inline-block;height:.5rem;margin-left:.25em;position:relative;top:-1px;width:.5rem}.pum-field-pro_license .pum-pro-license-content .pum-license-details--active{background:linear-gradient(-135deg,#e9fcf1,#f2f2f3);border-color:#bcf5d4}.pum-field-pro_license .pum-pro-license-content .pum-license-details--active .pum-license-status:before,.pum-field-pro_license .pum-pro-license-content .pum-license-details--active .pum-pro-status--active:before{background-color:#1dbe61}.pum-field-pro_license .pum-pro-license-content .pum-license-details--active .pum-pro-status--installed:before{background-color:#1dbe61;opacity:.5}.pum-field-pro_license .pum-pro-license-content .pum-license-details--active .pum-pro-status--not-installed:before{background-color:#dc3545}.pum-field-pro_license .pum-pro-license-content .pum-license-details--active .pum-license-details-header h4,.pum-field-pro_license .pum-pro-license-content .pum-license-details--active .pum-license-status{color:#2d5016}.pum-field-pro_license .pum-pro-license-content .pum-license-details--active svg{stroke:#2d5016}.pum-field-pro_license .pum-pro-license-content .pum-license-details--pro-plus{background:linear-gradient(-135deg,#ebe7fe,#f2f2f3);border-color:#c3b7fb}.pum-field-pro_license .pum-pro-license-content .pum-license-details--pro-plus .pum-license-status:before,.pum-field-pro_license .pum-pro-license-content .pum-license-details--pro-plus .pum-pro-status--active:before{background-color:#8267f6}.pum-field-pro_license .pum-pro-license-content .pum-license-details--pro-plus .pum-pro-status--installed:before{background-color:#8267f6;opacity:.5}.pum-field-pro_license .pum-pro-license-content .pum-license-details--pro-plus .pum-pro-status--not-installed:before{background-color:#dc3545}.pum-field-pro_license .pum-pro-license-content .pum-license-details--pro-plus .pum-license-details-header h4,.pum-field-pro_license .pum-pro-license-content .pum-license-details--pro-plus .pum-license-status{color:#270aa9}.pum-field-pro_license .pum-pro-license-content .pum-license-details--pro-plus svg{stroke:#8267f6!important}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-feature-heading:before{color:#00a32a;content:"●";font-size:.6em;margin-left:.5em;position:relative;top:-2px}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-heading{color:#1d2327;font-size:16px;font-weight:600;line-height:1.4;margin:0 0 20px;text-align:center}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-heading span{display:block;margin-top:5px}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-heading a{color:#0073aa;text-decoration:none}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-heading a:hover{text-decoration:underline}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid{display:grid;gap:0 32px;grid-template-columns:1fr 1fr}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-pro-plus-badge{background:#8267f6;border-radius:4px;color:#fff;font-size:12px;margin-right:.5em;padding:2px 6px}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-feature-column{background:#f8f9fa;border:1px solid #dcdcde;border-radius:4px;padding:16px}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-feature-column h4{color:#1d2327;font-size:16px;font-weight:600;margin:0 0 12px}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-feature-column ul{list-style:none;margin:0;padding:0}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-feature-column ul li{align-items:flex-start;display:flex;font-size:14px;gap:8px;line-height:1.4;margin:0 0 12px}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-feature-column ul li img.feature-icon{flex-shrink:0;height:14px;margin-top:3px;width:14px}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-feature-column ul li div{flex:1}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-feature-column ul li strong{color:#1d2327;display:block;font-weight:600}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-feature-column ul li:last-child{margin-bottom:0}.pum-field-pro_license .pum-license-callout{align-items:center;border:1px solid;display:flex;gap:12px;padding:16px}.pum-field-pro_license .pum-license-callout svg{height:16px;vertical-align:middle;width:16px}.pum-field-pro_license .pum-license-callout svg.lightning-icon{color:#fbd803;stroke:#fbd803}.pum-field-pro_license .pum-license-callout span{flex:1}.pum-field-pro_license .pum-license-callout--activated{background:linear-gradient(-135deg,#e9fcf1,#f2f2f3);border-color:#bcf5d4;border-radius:4px;color:#116f38;font-size:14px;font-weight:500;line-height:1.5}.pum-field-pro_license .pum-license-callout--deactivated{background:linear-gradient(-135deg,#ebe7fe,#f2f2f3);border-color:#d6ccff;border-radius:4px;font-size:14px;font-weight:500;line-height:1.5}.pum-field-pro_license .pum-license-callout--deactivated .info-icon{color:#270aa9}.pum-field-pro_license .feature-icon{color:inherit;opacity:.5}.pum-field-pro_license .pum-license-tier-pro .pro-feature .feature-icon{color:#00a32a;opacity:1}.pum-field-pro_license .pum-license-tier-pro .pro-plus-enhanced-feature .feature-icon{color:#00a32a}.pum-field-pro_license .pum-license-tier-pro .pro-plus-exclusive-feature .feature-icon{color:#8267f6}.pum-field-pro_license .pum-pro-license-content.pum-license-tier-pro-plus .pum-license-callout--activated{background:linear-gradient(-135deg,#ebe7fe,#f2f2f3);border-color:#c3b7fb;color:#270aa9}.pum-field-pro_license .pum-pro-license-content.pum-license-tier-pro-plus .feature-icon{opacity:1}.pum-field-pro_license .pum-pro-license-content.pum-license-tier-pro-plus .pro-feature .feature-icon,.pum-field-pro_license .pum-pro-license-content.pum-license-tier-pro-plus .pro-plus-enhanced-feature .feature-icon{color:#00a32a}.pum-field-pro_license .pum-pro-license-content.pum-license-tier-pro-plus .pro-plus-exclusive-feature .feature-icon,.pum-field-pro_license .pum-pro-license-content.pum-license-tier-pro-plus .pum-pro-features .pum-features-heading span{color:#8267f6}.pum-field-pro_license .pum-pro-license-content.pum-license-tier-pro-plus .pum-pro-features .pum-features-grid .pum-feature-column{background:linear-gradient(-135deg,#ebe7fe,#f2f2f3);border-color:#c3b7fb}.pum-field-pro_license .pum-pro-license-content.pum-license-tier-pro-plus .pum-pro-features .pum-pro-plus-badge{background:#ebe7fe;border-radius:4px;color:#270aa9;font-size:12px;padding:2px 6px}.pum-field-pro_license .pum-license-footer-text{color:#646970;font-size:13px;font-style:italic;margin:16px 0 0}@media(max-width:782px){.pum-field-pro_license .pum-pro-license-content{padding:16px}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group{flex-direction:column}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group input[type=text]{border-radius:3px;border-left:1px solid #8c8f94}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons{gap:8px;justify-content:flex-start}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .button{border-right:1px solid #8c8f94;border-radius:3px;margin-left:8px;padding:.75rem 1rem}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button{justify-content:center;margin-right:0;margin-top:8px;width:100%}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid{gap:16px 0;grid-template-columns:1fr}} dist/assets/popup-maker-easy-modal-importer-site.asset.php 0000644 00000000124 15174671772 0017750 0 ustar 00 <?php return array('dependencies' => array(), 'version' => '7b103428171821326d43'); dist/assets/admin-settings-page.css 0000644 00000057541 15174671772 0013420 0 ustar 00 @keyframes blink{0%{opacity:.9}50%{opacity:.5}}@keyframes glow{0%{opacity:.6;transform:scale(1)}to{opacity:.8;transform:scale(1.02)}}.wrap-licenses .form-table,.wrap-licenses caption,.wrap-licenses tbody,.wrap-licenses td,.wrap-licenses tfoot,.wrap-licenses th,.wrap-licenses thead,.wrap-licenses tr{display:block}.wrap-licenses .form-table tr{background:#fff;border:1px solid #ccc;box-sizing:border-box;float:left;margin:0 15px 15px 0;max-width:350px;min-height:220px;padding:14px;position:relative;width:30.5%}.wrap-licenses .form-table th{background:#f9f9f9;border-bottom:1px solid #ccc;margin:-14px -14px 20px;padding:14px;width:100%}.wrap-licenses .form-table td{padding:0}.wrap-licenses td input.regular-text{margin:0 0 8px;width:100%}.wrap-licenses .popmake-license-data[class*=popmake-license-]{background:#fafafa;border-top:1px solid #eee;bottom:14px;box-sizing:border-box;margin:20px -14px -14px;min-height:67px;padding:14px;position:absolute;width:100%}.wrap-licenses .popmake-license-data[class*=popmake-license-] a{color:#444}.wrap-licenses .popmake-license-data[class*=popmake-license-] a:hover{text-decoration:none}.wrap-licenses .popmake-license-data.license-expires-soon-notice{background-color:#00a0d2;border-color:#00a0d2;color:#fff}.wrap-licenses .popmake-license-data.popmake-license-expired{background-color:#e24e4e;border-color:#e24e4e;color:#fff}.wrap-licenses .popmake-license-data.popmake-license-error,.wrap-licenses .popmake-license-data.popmake-license-invalid,.wrap-licenses .popmake-license-data.popmake-license-item_name_mismatch,.wrap-licenses .popmake-license-data.popmake-license-missing,.wrap-licenses .popmake-license-data.popmake-license-site_inactive{background-color:#ffebcd;border-color:#ffebcd}.wrap-licenses .popmake-license-data p{font-size:13px;margin-top:0}.wrap-licenses .popmake-license-data.license-expires-soon-notice a,.wrap-licenses .popmake-license-data.popmake-license-expired a{color:#fff}.wrap-licenses .popmake-license-data.license-expires-soon-notice a:hover,.wrap-licenses .popmake-license-data.popmake-license-expired a:hover{text-decoration:none}.wrap-licenses p.submit{clear:both}#pum-settings_licenses.tab-content{padding-top:8px}.pum-field-pro_license{margin-top:-8px!important;max-width:1200px}.pum-field-pro_license .pum-pro-license-content{background:#fff;border:1px solid #c3c4c7;border-radius:4px;box-shadow:0 1px 1px #0000000a;padding:20px}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header{align-items:center;background:#f9f9f9;background:linear-gradient(90deg,#f8fafc,#f9fafb);border-bottom:1px solid #dcdcde;border-radius:4px 4px 0 0;display:flex;gap:12px;margin:-20px -20px 20px;padding:12px 20px}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header.pro-plus{background:linear-gradient(135deg,#ebe7fe,#f2f2f3);border-bottom-color:#d6ccff}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-logo{flex-shrink:0;height:40px;width:40px}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-header-text{display:flex;flex:1;flex-direction:column;gap:2px}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-header-text h3{color:#1d2327;font-size:20px;font-weight:500;line-height:1.2;margin:0}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-header-text .pum-license-subtitle{color:#8267f6;font-size:13px;font-weight:500}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:14px;font-weight:600;letter-spacing:.5px;margin-left:auto;padding:.6em 1em;text-transform:uppercase}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge svg{height:1em;width:1em}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge .crown-icon{color:#fbd803;margin-right:10px;fill:#fbd803}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge .lightning-icon,.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge .star-icon{color:#fbd803;margin-left:10px;stroke:#fbd803;animation:blink 1.5s ease-in-out infinite}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge.active{background:linear-gradient(90deg,#1dbe61,#179b4e);box-shadow:0 0 0 0 #0000,0 0 0 0 #0000,0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;color:#fff}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge.active.pro-plus{background:linear-gradient(90deg,#8267f6,#7356f5)}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge.deactivated{background:linear-gradient(90deg,#8267f6,#7356f5);color:#fff}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge.deactivated .crown-icon{color:#fff;fill:#fff}.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge.error,.pum-field-pro_license .pum-pro-license-content .pum-pro-license-header .pum-license-status-badge.expired{background:#fce8e6;color:#8a2424}.pum-field-pro_license .pum-pro-license-content .pum-flex{display:flex}.pum-field-pro_license .pum-pro-license-content .pum-flex--column{flex-direction:column}.pum-field-pro_license .pum-pro-license-content .pum-flex--row{flex-direction:row}.pum-field-pro_license .pum-pro-license-content .pum-flex--gap-l{gap:24px}.pum-field-pro_license .pum-pro-license-content .pum-flex--gap-m{gap:16px}.pum-field-pro_license .pum-pro-license-content .pum-flex--gap-s{gap:8px}.pum-field-pro_license .pum-pro-license-content .pum-flex--gap-xs{gap:5px}.pum-field-pro_license .pum-pro-license-content .pum-license-heading{color:#1d2327;font-size:18px;font-weight:600;margin:0}.pum-field-pro_license .pum-pro-license-content .pum-license-description{color:#646970;font-size:1.2em;line-height:1.5;margin:0}.pum-field-pro_license .pum-pro-license-content .pum-license-description svg{height:16px;margin-right:4px;vertical-align:middle;width:16px}.pum-field-pro_license .pum-pro-license-content .pum-license-description svg.lightning-icon{color:#fbd803;stroke:#fbd803}.pum-field-pro_license .pum-pro-license-content .pum-pro-plus-status{align-items:center;background:#f6f3ff;border:1px solid #d6ccff;border-radius:4px;display:flex;gap:12px;margin:16px 0;padding:16px}.pum-field-pro_license .pum-pro-license-content .pum-pro-plus-status .dollar-icon{color:#8267f6;flex-shrink:0;height:24px;width:24px}.pum-field-pro_license .pum-pro-license-content .pum-pro-plus-status strong{color:#1d2327;font-size:14px;line-height:1.2;margin:0}.pum-field-pro_license .pum-pro-license-content .pum-pro-plus-status p{color:#646970;font-size:13px;line-height:1.4;margin:0}.pum-field-pro_license .pum-pro-license-content .pum-license-input-label{font-size:13px;font-weight:600}.pum-field-pro_license .pum-pro-license-content .pum-license-input-label strong{font-weight:800}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group{display:flex;gap:0}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group input[type=text]{background:#fff;border:1px solid #d9d7da;border-radius:3px 0 0 3px;border-right:none;color:#1a191b;flex:1;font-size:14px;font-size:.875rem;line-height:1.25rem;margin-right:-1px;max-width:300px;padding:.75rem 1rem}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group input[type=text]:focus{border-color:#0073aa;box-shadow:0 0 0 1px #0073aa;outline:2px solid #0000;position:relative;z-index:1}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group input[type=text]:disabled{background:#f6f7f7;color:#646970}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons{display:flex;flex-wrap:wrap;justify-content:flex-start}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .button{border-left:none;border-radius:0;font-size:14px;line-height:1;margin:0;padding:.75rem 1rem}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .button:last-child:not(.pum-install-pro-button){border-radius:0 3px 3px 0}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button{align-items:center;animation:blink 1.5s ease-in-out infinite;background:linear-gradient(135deg,#1dbe61,#179b4e);border:2px solid #0000;border-radius:6px!important;box-shadow:0 0 0 0 #1dbe6166;color:#fff;display:flex;font-size:14px;font-weight:700;gap:8px;letter-spacing:.5px;margin-left:12px;padding:.75rem 1.5rem;position:relative;text-transform:uppercase;transition:all .3s ease}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button .download-icon,.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button .power-icon{height:16px;width:16px;stroke-width:2.5}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button .power-icon{stroke-width:2}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button:before{animation:glow 2s ease-in-out infinite alternate;background:linear-gradient(135deg,#1dbe614d,#179b4e4d);border-radius:10px;bottom:-4px;content:"";left:-4px;opacity:.8;position:absolute;right:-4px;top:-4px;z-index:-1}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button:hover{background:linear-gradient(135deg,#179b4e,#1dbe61);box-shadow:0 4px 12px #1dbe614d;transform:translateY(-1px)}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button.pum-install-pro-plus{background:linear-gradient(135deg,#8267f6,#7356f5);box-shadow:0 0 0 0 #8267f666}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button.pum-install-pro-plus:before{background:linear-gradient(135deg,#8267f64d,#7356f54d)}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button.pum-install-pro-plus:hover{background:linear-gradient(135deg,#7356f5,#8267f6);box-shadow:0 4px 12px #8267f64d}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button:disabled{animation:none;cursor:not-allowed;opacity:.7;transform:none}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button:disabled:before{animation:none;opacity:.4}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button:disabled:hover{box-shadow:0 0 0 0 #1dbe6166;transform:none}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button:disabled.pum-install-pro-plus:hover{box-shadow:0 0 0 0 #8267f666}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .button-primary{background:#0073aa;border-color:#0073aa;color:#fff}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .button-primary:hover:not(:disabled){background:#005a87;border-color:#005a87}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .button-primary:disabled{background:#c3c4c7!important;border-color:#c3c4c7!important;color:#fff!important;cursor:not-allowed}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .button-secondary{background:#f6f7f7;border-color:#8c8f94;color:#50575e}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .button-secondary:hover{background:#f0f0f1;border-color:#787c82}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-license-delete{background:#d63638;border-color:#d63638;color:#fff}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-license-delete:hover{background:#b32d2e;border-color:#b32d2e}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-license-status{align-items:center;border:1px solid #8c8f94;display:flex;font-size:13px;font-weight:500;padding:0 12px}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-license-status.active,.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-license-status.pum-license-valid{background:#d7f5d0;border-color:#7ad03a;color:#2d5016}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-license-status.deactivated,.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-license-status.pum-license-deactivated{background:#fff3cd;border-color:#ffc107;color:#856404}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-license-status.inactive{background:#fce8e6;border-color:#d63638;color:#8a2424}.pum-field-pro_license .pum-pro-license-content .pum-license-messages{margin:16px 0}.pum-field-pro_license .pum-pro-license-content .pum-license-messages p{font-size:14px;margin:8px 0}.pum-field-pro_license .pum-pro-license-content .pum-license-messages p.success{color:#00a32a}.pum-field-pro_license .pum-pro-license-content .pum-license-messages p.error{color:#d63638}.pum-field-pro_license .pum-pro-license-content .pum-license-upgrade-text{color:#646970;font-size:1.2em}.pum-field-pro_license .pum-pro-license-content .pum-license-upgrade-text a{color:#1dbe61;text-decoration:none}.pum-field-pro_license .pum-pro-license-content .pum-license-upgrade-text a:hover{text-decoration:underline}.pum-field-pro_license .pum-pro-license-content hr.pum-license-separator{background:#dcdcde;border:none;height:1px;margin:0}.pum-field-pro_license .pum-pro-license-content .pum-license-details{background:#f2f2f3;border:1px solid;border-radius:4px;display:flex;flex-direction:column;font-size:15px;gap:1rem;padding:1rem}.pum-field-pro_license .pum-pro-license-content .pum-license-details .pum-license-details-header{align-items:center;display:flex;gap:.5em}.pum-field-pro_license .pum-pro-license-content .pum-license-details .pum-license-details-header h4{font-size:1.2em;margin:0}.pum-field-pro_license .pum-pro-license-content .pum-license-details .pum-license-details-header svg{height:1.4em;width:1.4em}.pum-field-pro_license .pum-pro-license-content .pum-license-details th{font-weight:500;text-align:left}.pum-field-pro_license .pum-pro-license-content .pum-license-details td{font-weight:700;text-align:right}.pum-field-pro_license .pum-pro-license-content .pum-license-details td svg{height:1em;position:relative;top:2px;width:1em}.pum-field-pro_license .pum-pro-license-content .pum-license-details td svg.crown-icon{stroke:#fbd803}.pum-field-pro_license .pum-pro-license-content .pum-license-details .pum-license-status:before,.pum-field-pro_license .pum-pro-license-content .pum-license-details .pum-pro-status:before{border-radius:9999px;content:"";display:inline-block;height:.5rem;margin-right:.25em;position:relative;top:-1px;width:.5rem}.pum-field-pro_license .pum-pro-license-content .pum-license-details--active{background:linear-gradient(135deg,#e9fcf1,#f2f2f3);border-color:#bcf5d4}.pum-field-pro_license .pum-pro-license-content .pum-license-details--active .pum-license-status:before,.pum-field-pro_license .pum-pro-license-content .pum-license-details--active .pum-pro-status--active:before{background-color:#1dbe61}.pum-field-pro_license .pum-pro-license-content .pum-license-details--active .pum-pro-status--installed:before{background-color:#1dbe61;opacity:.5}.pum-field-pro_license .pum-pro-license-content .pum-license-details--active .pum-pro-status--not-installed:before{background-color:#dc3545}.pum-field-pro_license .pum-pro-license-content .pum-license-details--active .pum-license-details-header h4,.pum-field-pro_license .pum-pro-license-content .pum-license-details--active .pum-license-status{color:#2d5016}.pum-field-pro_license .pum-pro-license-content .pum-license-details--active svg{stroke:#2d5016}.pum-field-pro_license .pum-pro-license-content .pum-license-details--pro-plus{background:linear-gradient(135deg,#ebe7fe,#f2f2f3);border-color:#c3b7fb}.pum-field-pro_license .pum-pro-license-content .pum-license-details--pro-plus .pum-license-status:before,.pum-field-pro_license .pum-pro-license-content .pum-license-details--pro-plus .pum-pro-status--active:before{background-color:#8267f6}.pum-field-pro_license .pum-pro-license-content .pum-license-details--pro-plus .pum-pro-status--installed:before{background-color:#8267f6;opacity:.5}.pum-field-pro_license .pum-pro-license-content .pum-license-details--pro-plus .pum-pro-status--not-installed:before{background-color:#dc3545}.pum-field-pro_license .pum-pro-license-content .pum-license-details--pro-plus .pum-license-details-header h4,.pum-field-pro_license .pum-pro-license-content .pum-license-details--pro-plus .pum-license-status{color:#270aa9}.pum-field-pro_license .pum-pro-license-content .pum-license-details--pro-plus svg{stroke:#8267f6!important}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-feature-heading:before{color:#00a32a;content:"●";font-size:.6em;margin-right:.5em;position:relative;top:-2px}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-heading{color:#1d2327;font-size:16px;font-weight:600;line-height:1.4;margin:0 0 20px;text-align:center}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-heading span{display:block;margin-top:5px}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-heading a{color:#0073aa;text-decoration:none}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-heading a:hover{text-decoration:underline}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid{display:grid;gap:0 32px;grid-template-columns:1fr 1fr}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-pro-plus-badge{background:#8267f6;border-radius:4px;color:#fff;font-size:12px;margin-left:.5em;padding:2px 6px}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-feature-column{background:#f8f9fa;border:1px solid #dcdcde;border-radius:4px;padding:16px}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-feature-column h4{color:#1d2327;font-size:16px;font-weight:600;margin:0 0 12px}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-feature-column ul{list-style:none;margin:0;padding:0}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-feature-column ul li{align-items:flex-start;display:flex;font-size:14px;gap:8px;line-height:1.4;margin:0 0 12px}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-feature-column ul li img.feature-icon{flex-shrink:0;height:14px;margin-top:3px;width:14px}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-feature-column ul li div{flex:1}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-feature-column ul li strong{color:#1d2327;display:block;font-weight:600}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid .pum-feature-column ul li:last-child{margin-bottom:0}.pum-field-pro_license .pum-license-callout{align-items:center;border:1px solid;display:flex;gap:12px;padding:16px}.pum-field-pro_license .pum-license-callout svg{height:16px;vertical-align:middle;width:16px}.pum-field-pro_license .pum-license-callout svg.lightning-icon{color:#fbd803;stroke:#fbd803}.pum-field-pro_license .pum-license-callout span{flex:1}.pum-field-pro_license .pum-license-callout--activated{background:linear-gradient(135deg,#e9fcf1,#f2f2f3);border-color:#bcf5d4;border-radius:4px;color:#116f38;font-size:14px;font-weight:500;line-height:1.5}.pum-field-pro_license .pum-license-callout--deactivated{background:linear-gradient(135deg,#ebe7fe,#f2f2f3);border-color:#d6ccff;border-radius:4px;font-size:14px;font-weight:500;line-height:1.5}.pum-field-pro_license .pum-license-callout--deactivated .info-icon{color:#270aa9}.pum-field-pro_license .feature-icon{color:inherit;opacity:.5}.pum-field-pro_license .pum-license-tier-pro .pro-feature .feature-icon{color:#00a32a;opacity:1}.pum-field-pro_license .pum-license-tier-pro .pro-plus-enhanced-feature .feature-icon{color:#00a32a}.pum-field-pro_license .pum-license-tier-pro .pro-plus-exclusive-feature .feature-icon{color:#8267f6}.pum-field-pro_license .pum-pro-license-content.pum-license-tier-pro-plus .pum-license-callout--activated{background:linear-gradient(135deg,#ebe7fe,#f2f2f3);border-color:#c3b7fb;color:#270aa9}.pum-field-pro_license .pum-pro-license-content.pum-license-tier-pro-plus .feature-icon{opacity:1}.pum-field-pro_license .pum-pro-license-content.pum-license-tier-pro-plus .pro-feature .feature-icon,.pum-field-pro_license .pum-pro-license-content.pum-license-tier-pro-plus .pro-plus-enhanced-feature .feature-icon{color:#00a32a}.pum-field-pro_license .pum-pro-license-content.pum-license-tier-pro-plus .pro-plus-exclusive-feature .feature-icon,.pum-field-pro_license .pum-pro-license-content.pum-license-tier-pro-plus .pum-pro-features .pum-features-heading span{color:#8267f6}.pum-field-pro_license .pum-pro-license-content.pum-license-tier-pro-plus .pum-pro-features .pum-features-grid .pum-feature-column{background:linear-gradient(135deg,#ebe7fe,#f2f2f3);border-color:#c3b7fb}.pum-field-pro_license .pum-pro-license-content.pum-license-tier-pro-plus .pum-pro-features .pum-pro-plus-badge{background:#ebe7fe;border-radius:4px;color:#270aa9;font-size:12px;padding:2px 6px}.pum-field-pro_license .pum-license-footer-text{color:#646970;font-size:13px;font-style:italic;margin:16px 0 0}@media(max-width:782px){.pum-field-pro_license .pum-pro-license-content{padding:16px}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group{flex-direction:column}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group input[type=text]{border-radius:3px;border-right:1px solid #8c8f94}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons{gap:8px;justify-content:flex-start}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .button{border-left:1px solid #8c8f94;border-radius:3px;margin-right:8px;padding:.75rem 1rem}.pum-field-pro_license .pum-pro-license-content .pum-license-input-wrapper .pum-license-input-group .pum-license-buttons .pum-install-pro-button{justify-content:center;margin-left:0;margin-top:8px;width:100%}.pum-field-pro_license .pum-pro-license-content .pum-pro-features .pum-features-grid{gap:16px 0;grid-template-columns:1fr}} dist/assets/admin-extensions-page.asset.php 0000644 00000000124 15174671772 0015055 0 ustar 00 <?php return array('dependencies' => array(), 'version' => '4f45836a9ed9eba83ad4'); dist/assets/admin-editor-styles.asset.php 0000644 00000000124 15174671772 0014553 0 ustar 00 <?php return array('dependencies' => array(), 'version' => '5c7f73190c7d4560dc1b'); dist/assets/admin-support-page.asset.php 0000644 00000000124 15174671772 0014372 0 ustar 00 <?php return array('dependencies' => array(), 'version' => '2951cd71eedb26f5a026'); dist/assets/admin-theme-editor.asset.php 0000644 00000000124 15174671772 0014332 0 ustar 00 <?php return array('dependencies' => array(), 'version' => '1ffb7f0e0df72b6cbf1e'); dist/assets/admin-general.css 0000644 00000146207 15174671772 0012261 0 ustar 00 .no-button{background:none;border:0;cursor:pointer;padding:0}.no-button.link-button{color:#0073aa}.no-button.link-button:hover{color:#00a0d2}.no-button.delete-button{color:#a00}.no-button.delete-button:hover{color:red}.pum-half{display:inline-block;margin-right:5%;max-width:47.5%;width:47.5%}.pum-half.pum-dependencies-met{display:inline-block!important}.pum-half>*{max-width:100%}.pum-half input,.pum-half select,.pum-half textarea{max-width:100%;width:auto}.pum-last{margin-right:0!important}.pum-desc{margin-bottom:0;margin-top:4px}[data-pum-dependencies]{display:none}.pum-field{margin-bottom:1em;position:relative}.pum-field>label{display:block;font-weight:700}.pum-field .pum-doclink{font-size:16px;line-height:20px}.pum-field-heading .pum-desc,.pum-field-heading label,.pum-field-separator .pum-desc,.pum-field-separator label{display:none!important}.pum-field-editor #insert-media-button,.pum-field-hidden{display:none}.pum-field-select option.bold{font-size:1.125em;font-weight:700}.pum-field-select2 .pumselect2-container.pumselect2-container--below.pumselect2-container--open+.pumselect2-container--open{top:36px!important}.pum-field-select2 .pumselect2-container .pumselect2-selection--multiple .pumselect2-search--inline .pumselect2-search__field{margin-top:0}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--single .pumselect2-selection__arrow{height:30px!important}.pum-field-checkbox{position:relative}.pum-field-checkbox label{margin-left:1.5em}.pum-field-checkbox label.pum-desc{display:inline;font-size:inherit;font-weight:inherit;margin:0 0 1em}.pum-field-checkbox input[type=checkbox]{position:absolute;top:5px}.pum-field-multicheck input,.pum-field-multicheck label,.pum-field-radio input,.pum-field-radio label{line-height:1em}.pum-field-multicheck label,.pum-field-radio label{margin-bottom:4px}.pum-field-multicheck input[type=radio],.pum-field-radio input[type=radio]{display:inline-block;margin-right:.25em}.pum-field-multicheck input+label,.pum-field-radio input+label{display:inline-block!important;font-weight:400}.pum-field-multicheck label:first-child,.pum-field-radio label:first-child{font-weight:700;margin:0 0 10px}.pum-field-multicheck>p.pum-desc,.pum-field-radio>p.pum-desc{margin:0 0 .5em}.pum-field-multicheck .pum-field-mulitcheck-list,.pum-field-multicheck .pum-field-radio-list,.pum-field-radio .pum-field-mulitcheck-list,.pum-field-radio .pum-field-radio-list{margin:0}.pum-field-range input[type=range],.pum-field-rangeslider input[type=range]{vertical-align:middle}.pum-field-range .pum-range-manual,.pum-field-rangeslider .pum-range-manual{padding-right:25px;text-align:right;vertical-align:middle;width:80px}.pum-field-range .pum-range-minus,.pum-field-range .pum-range-plus,.pum-field-rangeslider .pum-range-minus,.pum-field-rangeslider .pum-range-plus{font-size:18px;height:30px;text-align:center;vertical-align:middle;width:30px}.pum-field-range .pum-range-plus,.pum-field-rangeslider .pum-range-plus{margin-left:5px}.pum-field-range .pum-range-value-unit,.pum-field-range .range-value-unit,.pum-field-rangeslider .pum-range-value-unit,.pum-field-rangeslider .range-value-unit{display:inline-block;margin-left:-30px;margin-right:10px;position:relative;text-align:left;top:.125em;width:20px}.pum-field-color .wp-color-result-text{line-height:23px}.pum-field-image .pum-image-field .pum-image-select,.pum-field-image .pum-image-field.pum-image-empty .pum-image-preview{display:none}.pum-field-image .pum-image-field.pum-image-empty .pum-image-select{display:block}.pum-field-image .pum-image-preview-img{float:left;line-height:0;margin:5px 0}.pum-field-image .pum-image-preview-img img{height:auto;max-width:60px;width:auto}.pum-field-image select.pum-image-field__size{margin:8px 0 8px 10px;width:200px}.pum-field-image .pum-image-edit{margin:0 0 0 11px}.pum-field-image .pum-image-remove,.pum-field-image .pum-image-replace{margin:0 0 0 8px}.pum-field-conditions .facet-builder p{margin:0 0 1em}.pum-field-conditions .facet-builder a{text-decoration:none}.pum-field-conditions .facet-builder .facet-groups{display:none}.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap .facet-group{background:#f7f7f7;border:1px solid #ccc;box-shadow:0 1px 0 #ccc;color:#555}.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap .add-or a,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap .add-or button,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap .add-or em,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap:last-child .and a,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap:last-child .and button,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap:last-child .and em{color:#0073aa;cursor:pointer}.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap .add-or a:before,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap .add-or button:before,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap .add-or em:before,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap:last-child .and a:before,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap:last-child .and button:before,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap:last-child .and em:before{content:"+ "}.pum-field-conditions .facet-builder .facet{border-bottom:1px solid #e1e1e1;border-top:1px solid #fff;padding:12px 30px 6px 10px;position:relative}.pum-field-conditions .facet-builder .facet:first-child{border-top:0}.pum-field-conditions .facet-builder .facet:first-child .or{display:none}.pum-field-conditions .facet-builder .facet:after,.pum-field-conditions .facet-builder .facet:before{content:"";display:table;line-height:0}.pum-field-conditions .facet-builder .facet:after{clear:both}.pum-field-conditions .facet-builder .pum-field{margin-bottom:.5em}.pum-field-conditions .facet-builder .facet-col{float:left;margin-right:20px;min-width:175px;padding-bottom:6px;position:relative}.pum-field-conditions .facet-builder .facet-col input,.pum-field-conditions .facet-builder .facet-col select{margin:0;max-width:100%}.pum-field-conditions .facet-builder .facet-target{max-width:240px;position:relative}.pum-field-conditions .facet-builder .facet-target *{box-sizing:border-box}.pum-field-conditions .facet-builder .facet-target .pumselect2-container .pumselect2-selection,.pum-field-conditions .facet-builder .facet-target select{padding-left:28px}.pum-field-conditions .facet-builder .facet-target .pumselect2-container .pumselect2-selection .pumselect2-selection__rendered,.pum-field-conditions .facet-builder .facet-target select .pumselect2-selection__rendered{padding-left:3px}.pum-field-conditions .facet-builder .facet-target .pum-not-operand{background:#f7f7f7;border:1px solid #0000;border-radius:2px 0 0 2px;border-right-color:#ddd;cursor:pointer;height:28px;left:2px;line-height:24px;position:absolute;text-align:center;top:2px;z-index:10}.pum-field-conditions .facet-builder .facet-target .pum-not-operand span{font-size:1.25em}.pum-field-conditions .facet-builder .facet-target .pum-not-operand:before{color:#555;font-size:16px;line-height:24px}.pum-field-conditions .facet-builder .facet-target .pum-not-operand input[type=checkbox]{display:none}.pum-field-conditions .facet-builder .facet-target .pum-not-operand:focus{border:1px solid #5b9dd9;box-shadow:0 0 2px #1e8cbecc;outline:none}.pum-field-conditions .facet-builder .facet-target.not-operand-checked .pum-not-operand span,.pum-field-conditions .facet-builder .facet-target.not-operand-checked .pum-not-operand:before{color:#a00}.pum-field-conditions .facet-builder .facet-target .pumselect2-container-active .pumselect2-choices,.pum-field-conditions .facet-builder .facet-target .pumselect2-container-active .pumselect2-single{border-color:#5b9dd9;box-shadow:0 0 2px #1e8cbecc}.pum-field-conditions .facet-builder .facet-actions{position:absolute;right:6px;top:18px}.pum-field-conditions .facet-builder .facet-actions button{background:none;border:0;margin-left:5px;padding:0}.pum-field-conditions .facet-builder .dashicons-dismiss,.pum-field-conditions .facet-builder .dashicons-plus-alt{color:#999}.pum-field-conditions .facet-builder .or{color:#484848;font-style:normal;font-weight:500;left:50%;line-height:10px;margin-left:-21px;position:absolute;text-transform:uppercase;top:-6px}.pum-field-conditions .facet-builder .add-or{border-top:1px solid #fff;text-align:center}.pum-field-conditions .facet-builder .add-or>.add{left:-6.5px;position:relative;top:-9px}.pum-field-conditions .facet-builder .and{border-bottom:1px dashed #e1e1e1;margin:.5em 0 1.7em;text-align:center}.pum-field-conditions .facet-builder .add-or>.add,.pum-field-conditions .facet-builder .or{background:#f7f7f7;font-size:1.1em;padding:0 10px}.pum-field-conditions .facet-builder .add-or a,.pum-field-conditions .facet-builder .add-or button,.pum-field-conditions .facet-builder .add-or em,.pum-field-conditions .facet-builder .add-or label,.pum-field-conditions .facet-builder .and a,.pum-field-conditions .facet-builder .and button,.pum-field-conditions .facet-builder .and em,.pum-field-conditions .facet-builder .and label{background:#fff;border:0;box-shadow:none;color:#484848;cursor:default;font-size:1.1em;font-style:normal;margin:0 10px;padding:0 10px;position:relative;text-transform:uppercase;top:9px}.pum-field-conditions .facet-builder .add-or em,.pum-field-conditions .facet-builder .and em{color:#484848}.pum-field-conditions .no-facet-groups{display:block}.pum-field-conditions .no-facet-groups .facet-target{max-width:100%}.pum-field-conditions .has-conditions .facet-groups{display:block}.pum-field-conditions .has-conditions .no-facet-groups{display:none}.pum-field-conditions .pum-field-select2 select{width:100%!important}.pum-field-license_key{background:#fafafa;border-bottom:2px solid #999;border-top:2px solid #999;margin:0 -14px 14px;padding:14px}.pum-field-license_key p{font-size:13px;margin-top:0}.pum-field-license_key a{color:#444}.pum-field-license_key a:hover{text-decoration:none}.pum-field-license_key span.pum-license-status{margin-left:5px;margin-right:5px}.pum-field-license_key .pum-license-messages p:last-child{margin-bottom:0}.pum-field-license_key.pum-license-expires-soon-notice{border-color:#dc3232}.pum-field-license_key.pum-license-valid-notice{border-color:#46b450}.pum-field-license_key.pum-license-valid-notice .pum-license-status{color:#46b450}.pum-field-license_key.pum-license-deactivated-notice{border-color:#ffc107}.pum-field-license_key.pum-license-deactivated-notice .pum-license-status{color:#856404}.pum-field-license_key.pum-license-inactive-notice{border-color:#0073aa}.pum-field-license_key.pum-license-expired-notice{background-color:#e24e4e;border-color:#dc3232;color:#fff}.pum-field-license_key.pum-license-error-notice,.pum-field-license_key.pum-license-invalid-notice,.pum-field-license_key.pum-license-item_name_mismatch-notice,.pum-field-license_key.pum-license-missing-notice,.pum-field-license_key.pum-license-site_inactive-notice{background-color:#ffebcd;border-color:#dc3232}.pum-field-license_key.pum-license-expired-notice a{color:#fff}.pum-field-license_key.pum-license-expired-notice a:hover{text-decoration:none}.pum-field-link input{display:block;margin-right:24px}.pum-field-link button.dashicons{box-shadow:0 0 0 #ccc;float:right;font-size:16px;height:1.5em;line-height:1;margin-top:1px;padding:0;vertical-align:sub;width:1.5em}.pum-field-select2{position:relative}.pum-field-select2 .pumselect2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.pum-field-select2 .pumselect2-container .pumselect2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.pum-field-select2 .pumselect2-container .pumselect2-selection--single .pumselect2-selection__rendered{display:block;overflow:hidden;padding-left:8px;padding-right:20px;text-overflow:ellipsis;white-space:nowrap}.pum-field-select2 .pumselect2-container .pumselect2-selection--single .pumselect2-selection__clear{position:relative}.pum-field-select2 .pumselect2-container[dir=rtl] .pumselect2-selection--single .pumselect2-selection__rendered{padding-left:20px;padding-right:8px}.pum-field-select2 .pumselect2-container .pumselect2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.pum-field-select2 .pumselect2-container .pumselect2-selection--multiple .pumselect2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.pum-field-select2 .pumselect2-container .pumselect2-search--inline{float:left}.pum-field-select2 .pumselect2-container .pumselect2-search--inline .pumselect2-search__field{border:none;box-sizing:border-box;font-size:100%;margin-top:5px;padding:0}.pum-field-select2 .pumselect2-container .pumselect2-search--inline .pumselect2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.pum-field-select2 .pumselect2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;left:-100000px;position:absolute;width:100%;z-index:1051}.pum-field-select2 .pumselect2-results{display:block}.pum-field-select2 .pumselect2-results__options{list-style:none;margin:0;padding:0}.pum-field-select2 .pumselect2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.pum-field-select2 .pumselect2-results__option[aria-selected]{cursor:pointer}.pum-field-select2 .pumselect2-container--open .pumselect2-dropdown{left:0}.pum-field-select2 .pumselect2-container--open .pumselect2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.pum-field-select2 .pumselect2-container--open .pumselect2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.pum-field-select2 .pumselect2-search--dropdown{display:block;padding:4px}.pum-field-select2 .pumselect2-search--dropdown .pumselect2-search__field{box-sizing:border-box;padding:4px;width:100%}.pum-field-select2 .pumselect2-search--dropdown .pumselect2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.pum-field-select2 .pumselect2-search--dropdown.pumselect2-search--hide{display:none}.pum-field-select2 .pumselect2-close-mask{background-color:#fff;border:0;display:block;filter:alpha(opacity=0);height:auto;left:0;margin:0;min-height:100%;min-width:100%;opacity:0;padding:0;position:fixed;top:0;width:auto;z-index:99}.pum-field-select2 .pumselect2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--single .pumselect2-selection__rendered{color:#444;line-height:28px}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--single .pumselect2-selection__clear{cursor:pointer;float:right;font-weight:700}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--single .pumselect2-selection__placeholder{color:#999}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--single .pumselect2-selection__arrow{height:26px;position:absolute;right:1px;top:1px;width:20px}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--single .pumselect2-selection__arrow b{border-color:#888 #0000 #0000;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.pum-field-select2 .pumselect2-container--default[dir=rtl] .pumselect2-selection--single .pumselect2-selection__clear{float:left}.pum-field-select2 .pumselect2-container--default[dir=rtl] .pumselect2-selection--single .pumselect2-selection__arrow{left:1px;right:auto}.pum-field-select2 .pumselect2-container--default.pumselect2-container--disabled .pumselect2-selection--single{background-color:#eee;cursor:default}.pum-field-select2 .pumselect2-container--default.pumselect2-container--disabled .pumselect2-selection--single .pumselect2-selection__clear{display:none}.pum-field-select2 .pumselect2-container--default.pumselect2-container--open .pumselect2-selection--single .pumselect2-selection__arrow b{border-color:#0000 #0000 #888;border-width:0 4px 5px}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--multiple .pumselect2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--multiple .pumselect2-selection__rendered li{list-style:none}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--multiple .pumselect2-selection__placeholder{color:#999;float:left;margin-top:5px}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--multiple .pumselect2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px;margin-top:5px}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--multiple .pumselect2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--multiple .pumselect2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--multiple .pumselect2-selection__choice__remove:hover{color:#333}.pum-field-select2 .pumselect2-container--default[dir=rtl] .pumselect2-selection--multiple .pumselect2-search--inline,.pum-field-select2 .pumselect2-container--default[dir=rtl] .pumselect2-selection--multiple .pumselect2-selection__choice,.pum-field-select2 .pumselect2-container--default[dir=rtl] .pumselect2-selection--multiple .pumselect2-selection__placeholder{float:right}.pum-field-select2 .pumselect2-container--default[dir=rtl] .pumselect2-selection--multiple .pumselect2-selection__choice{margin-left:5px;margin-right:auto}.pum-field-select2 .pumselect2-container--default[dir=rtl] .pumselect2-selection--multiple .pumselect2-selection__choice__remove{margin-left:2px;margin-right:auto}.pum-field-select2 .pumselect2-container--default.pumselect2-container--focus .pumselect2-selection--multiple{border:1px solid #000;outline:0}.pum-field-select2 .pumselect2-container--default.pumselect2-container--disabled .pumselect2-selection--multiple{background-color:#eee;cursor:default}.pum-field-select2 .pumselect2-container--default.pumselect2-container--disabled .pumselect2-selection__choice__remove{display:none}.pum-field-select2 .pumselect2-container--default.pumselect2-container--open.pumselect2-container--above .pumselect2-selection--multiple,.pum-field-select2 .pumselect2-container--default.pumselect2-container--open.pumselect2-container--above .pumselect2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.pum-field-select2 .pumselect2-container--default.pumselect2-container--open.pumselect2-container--below .pumselect2-selection--multiple,.pum-field-select2 .pumselect2-container--default.pumselect2-container--open.pumselect2-container--below .pumselect2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.pum-field-select2 .pumselect2-container--default .pumselect2-search--dropdown .pumselect2-search__field{border:1px solid #aaa}.pum-field-select2 .pumselect2-container--default .pumselect2-search--inline .pumselect2-search__field{-webkit-appearance:textfield;background:#0000;border:none;box-shadow:none;outline:0}.pum-field-select2 .pumselect2-container--default .pumselect2-results>.pumselect2-results__options{max-height:200px;overflow-y:auto}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option[role=group]{padding:0}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option[aria-disabled=true]{color:#999}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option[aria-selected=true]{background-color:#ddd}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option .pumselect2-results__option{padding-left:1em}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option .pumselect2-results__option .pumselect2-results__group{padding-left:0}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option{margin-left:-1em;padding-left:2em}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option{margin-left:-2em;padding-left:3em}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option{margin-left:-3em;padding-left:4em}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option{margin-left:-4em;padding-left:5em}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option{margin-left:-5em;padding-left:6em}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.pum-field-select2 .pumselect2-container--default .pumselect2-results__group{cursor:default;display:block;padding:6px}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--single{background-color:#f7f7f7;background-image:linear-gradient(180deg,#fff 50%,#eee);background-repeat:repeat-x;border:1px solid #aaa;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF",endColorstr="#FFEEEEEE",GradientType=0);outline:0}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--single:focus{border:1px solid #5897fb}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--single .pumselect2-selection__rendered{color:#444;line-height:28px}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--single .pumselect2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--single .pumselect2-selection__placeholder{color:#999}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--single .pumselect2-selection__arrow{background-color:#ddd;background-image:linear-gradient(180deg,#eee 50%,#ccc);background-repeat:repeat-x;border:none;border-bottom-right-radius:4px;border-left:1px solid #aaa;border-top-right-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE",endColorstr="#FFCCCCCC",GradientType=0);height:26px;position:absolute;right:1px;top:1px;width:20px}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--single .pumselect2-selection__arrow b{border-color:#888 #0000 #0000;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.pum-field-select2 .pumselect2-container--classic[dir=rtl] .pumselect2-selection--single .pumselect2-selection__clear{float:left}.pum-field-select2 .pumselect2-container--classic[dir=rtl] .pumselect2-selection--single .pumselect2-selection__arrow{border:none;border-radius:0;border-bottom-left-radius:4px;border-right:1px solid #aaa;border-top-left-radius:4px;left:1px;right:auto}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open .pumselect2-selection--single{border:1px solid #5897fb}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open .pumselect2-selection--single .pumselect2-selection__arrow{background:#0000;border:none}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open .pumselect2-selection--single .pumselect2-selection__arrow b{border-color:#0000 #0000 #888;border-width:0 4px 5px}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open.pumselect2-container--above .pumselect2-selection--single{background-image:linear-gradient(180deg,#fff 0,#eee 50%);background-repeat:repeat-x;border-top:none;border-top-left-radius:0;border-top-right-radius:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF",endColorstr="#FFEEEEEE",GradientType=0)}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open.pumselect2-container--below .pumselect2-selection--single{background-image:linear-gradient(180deg,#eee 50%,#fff);background-repeat:repeat-x;border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE",endColorstr="#FFFFFFFF",GradientType=0)}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--multiple:focus{border:1px solid #5897fb}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--multiple .pumselect2-selection__rendered{list-style:none;margin:0;padding:0 5px}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--multiple .pumselect2-selection__clear{display:none}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--multiple .pumselect2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--multiple .pumselect2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--multiple .pumselect2-selection__choice__remove:hover{color:#555}.pum-field-select2 .pumselect2-container--classic[dir=rtl] .pumselect2-selection--multiple .pumselect2-selection__choice{float:right;margin-left:5px;margin-right:auto}.pum-field-select2 .pumselect2-container--classic[dir=rtl] .pumselect2-selection--multiple .pumselect2-selection__choice__remove{margin-left:2px;margin-right:auto}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open .pumselect2-selection--multiple{border:1px solid #5897fb}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open.pumselect2-container--above .pumselect2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open.pumselect2-container--below .pumselect2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.pum-field-select2 .pumselect2-container--classic .pumselect2-search--dropdown .pumselect2-search__field{border:1px solid #aaa;outline:0}.pum-field-select2 .pumselect2-container--classic .pumselect2-search--inline .pumselect2-search__field{box-shadow:none;outline:0}.pum-field-select2 .pumselect2-container--classic .pumselect2-dropdown{background-color:#fff;border:1px solid #0000}.pum-field-select2 .pumselect2-container--classic .pumselect2-dropdown--above{border-bottom:none}.pum-field-select2 .pumselect2-container--classic .pumselect2-dropdown--below{border-top:none}.pum-field-select2 .pumselect2-container--classic .pumselect2-results>.pumselect2-results__options{max-height:200px;overflow-y:auto}.pum-field-select2 .pumselect2-container--classic .pumselect2-results__option[role=group]{padding:0}.pum-field-select2 .pumselect2-container--classic .pumselect2-results__option[aria-disabled=true]{color:gray}.pum-field-select2 .pumselect2-container--classic .pumselect2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.pum-field-select2 .pumselect2-container--classic .pumselect2-results__group{cursor:default;display:block;padding:6px}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open .pumselect2-dropdown{border-color:#5897fb}.pum-field-select2>.pumselect2-container--below.pumselect2-container--open+.pum-desc+.pumselect2-container--open,.pum-field-select2>.pumselect2-container--below.pumselect2-container--open+.pumselect2-container--open{position:absolute!important}.pum-field-select2 .pumselect2-container .pumselect2-selection{border-color:#ddd;border-radius:0;box-shadow:inset 0 1px 2px #00000012;font-size:14px;margin:1px;min-height:30px;transition:border-color .05s ease-in-out}.pum-field-select2 .pumselect2-container.pumselect2-container--focus .pumselect2-selection{border-color:#5b9dd9;box-shadow:0 0 2px #1e8cbecc;outline:none}.pum-field-select2 .pumselect2-container .pumselect2-selection--multiple{font-size:12px;line-height:16px;max-height:150px;min-height:28px;overflow-y:auto}.pum-field-select2 .pumselect2-container .pumselect2-selection--multiple .pumselect2-selection__clear{margin-right:3px}.pum-field-select2 .pumselect2-container .pumselect2-selection--multiple .pumselect2-search--inline{margin:0}.pum-field-select2 .pumselect2-container .pumselect2-selection--multiple .pumselect2-search--inline .pumselect2-search__field{border-color:#ddd;min-width:5em;width:100%!important}.pum-field-select2 .pumselect2-container .pumselect2-selection--multiple .pumselect2-selection__choice{margin-bottom:0;margin-top:4px}.pum-field-select2 .pumselect2-container .pumselect2-dropdown{border-color:#ddd;box-shadow:0 1px 2px #00000012;margin:0 1px;max-width:calc(100% - 4px);position:relative}.pum-field-select2 .pumselect2-container .pumselect2-dropdown .pumselect2-search__field{border-color:#ddd;min-width:5em}.pum-field-select2 .pumselect2-container .pumselect2-dropdown .pumselect2-results .pumselect2-results__option{margin:0;padding:3px 6px}.pum-field-select2 .pumselect2-container .pumselect2-dropdown .pumselect2-results .pumselect2-results__option[role=group]{padding:3px 0 0}.pum-field-select2 .pumselect2-container .pumselect2-dropdown .pumselect2-results .pumselect2-results__option[role=group] .pumselect2-results__group{padding:0 6px}.pum-field-select2 .pumselect2-container .pumselect2-dropdown .pumselect2-results .pumselect2-results__options--nested{padding:3px 6px 0}.pum-field-select2 .pumselect2-container .pumselect2-dropdown .pumselect2-results .pumselect2-results__option--highlighted{background:#3e86d0}.pum-field-select2 .pumselect2-container+.pumselect2-container--open{top:inherit!important}.pum-tabs-container{position:relative}.pum-tabs-container,.pum-tabs-container>*{box-sizing:border-box}.pum-tabs-container>ul.tabs{margin:0}.pum-tabs-container>ul.tabs .tab{font-size:1.2em}.pum-tabs-container>ul.tabs .tab a{border:0;display:block;padding:8px 16px;text-decoration:none}.pum-tabs-container>ul.tabs .tab a:focus{box-shadow:none}.pum-tabs-container>.tab-content{display:none;padding:16px}.pum-tabs-container>.tab-content .form-table,.pum-tabs-container>.tab-content.active{display:block}.pum-tabs-container>.tab-content .form-table:first-child{margin-top:0}.pum-tabs-container.horizontal-tabs{display:block}.pum-tabs-container.horizontal-tabs>ul.tabs>li.tab{display:inline-block;margin:0;padding:0}.pum-tabs-container.horizontal-tabs>ul.tabs>li.tab a{padding:.5em 1em}.pum-tabs-container.horizontal-tabs>.tab-content{padding-top:16px}.pum-tabs-container.vertical-tabs{min-height:100px;padding-left:140px;width:100%}.pum-tabs-container.vertical-tabs>ul.tabs{border-right:1px solid #dfdfdf;border-top:0;display:block;left:0;margin:0;min-height:100%;position:absolute;top:0;width:140px}.pum-tabs-container.vertical-tabs>ul.tabs>.tab{border-bottom:1px solid #eee;display:block;margin:0}.pum-tabs-container.vertical-tabs>ul.tabs>.tab a{background:#fcfcfc;color:#000;display:block}.pum-tabs-container.vertical-tabs>ul.tabs>.tab a:focus,.pum-tabs-container.vertical-tabs>ul.tabs>.tab:hover a{background-color:#0073aa}.pum-tabs-container.vertical-tabs>ul.tabs>.tab.active a{background-color:#32373c;color:#fff}.pum-tabs-container.vertical-tabs>ul.tabs>.tab:first-child{margin-top:8px}.pum-tabs-container.link-tabs>ul.tabs{display:block}.pum-tabs-container.link-tabs>ul.tabs>li.tab{display:inline-block}.pum-tabs-container.link-tabs>ul.tabs>li.tab a{color:#0073aa;display:inline;padding:0 .25em}.pum-tabs-container.link-tabs>ul.tabs>li.tab a:active,.pum-tabs-container.link-tabs>ul.tabs>li.tab.active a{color:#000}.pum-tabs-container.link-tabs>ul.tabs>li.tab a:active,.pum-tabs-container.link-tabs>ul.tabs>li.tab.active a,.pum-tabs-container.link-tabs>ul.tabs>li.tab:hover a{text-decoration:underline}.pum-tabs-container.link-tabs>ul.tabs>li.tab:after{content:"|";display:inline-block;margin:0 .25em}.pum-tabs-container.link-tabs>ul.tabs>li.tab:last-child:after{content:""}.pum-tabs-container.sub-tabs>.tab-content{padding:16px 0 0}.pum-tabs-container.sub-tabs>.tab-content .pum-field:first-child h3{margin-top:0}.pum-tabs-container[data-tab-count="0"].horizontal-tabs>ul.tabs,.pum-tabs-container[data-tab-count="1"].horizontal-tabs>ul.tabs{display:none}.pum-tabs-container[data-tab-count="0"].sub-tabs>.tab-content,.pum-tabs-container[data-tab-count="1"].sub-tabs>.tab-content{padding-top:0}#pum-settings_extensions .pum-tabs-container[data-tab-count="1"].horizontal-tabs>ul.tabs{display:block!important}#pum-settings_extensions .pum-tabs-container[data-tab-count="1"].sub-tabs>.tab-content{padding-top:16px!important}.pum-tab-panel{position:relative}.pum-tab-panel,.pum-tab-panel>*{box-sizing:border-box}.pum-tab-panel>.components-tab-panel__tabs{margin:0}.pum-tab-panel>.components-tab-panel__tabs .components-tab-panel__tab{border:0;display:block;font-size:1.2em;padding:8px 16px;text-decoration:none}.pum-tab-panel>.components-tab-panel__tabs .components-tab-panel__tab:focus{box-shadow:none}.pum-tab-panel>.components-tab-panel__tab-content{padding:16px}.pum-tab-panel>.components-tab-panel__tab-content .form-table{display:block}.pum-tab-panel>.components-tab-panel__tab-content .form-table:first-child{margin-top:0}.pum-tab-panel.pum-horizontal-tabs{display:block}.pum-tab-panel.pum-horizontal-tabs>.components-tab-panel__tabs>.components-tab-panel__tab{display:inline-block;margin:0;padding:0}.pum-tab-panel.pum-horizontal-tabs>.components-tab-panel__tabs>.components-tab-panel__tab a{padding:.5em 1em}.pum-tab-panel.pum-horizontal-tabs>.components-tab-panel__tab-content{padding-top:16px}.pum-tab-panel.pum-vertical-tabs{min-height:100px;padding-left:140px;width:100%}.pum-tab-panel.pum-vertical-tabs>.components-tab-panel__tabs{border-right:1px solid #dfdfdf;border-top:0;display:block;left:0;margin:0;min-height:100%;position:absolute;top:0;width:140px}.pum-tab-panel.pum-vertical-tabs>.components-tab-panel__tabs>.components-tab-panel__tab{border-bottom:1px solid #eee;display:block;margin:0}.pum-tab-panel.pum-vertical-tabs>.components-tab-panel__tabs>.components-tab-panel__tab a{background:#fcfcfc;color:#000;display:block}.pum-tab-panel.pum-vertical-tabs>.components-tab-panel__tabs>.components-tab-panel__tab a:focus,.pum-tab-panel.pum-vertical-tabs>.components-tab-panel__tabs>.components-tab-panel__tab:hover a{background-color:#0073aa}.pum-tab-panel.pum-vertical-tabs>.components-tab-panel__tabs>.components-tab-panel__tab.is-active a{background-color:#32373c;color:#fff}.pum-tab-panel.pum-vertical-tabs>.components-tab-panel__tabs>.components-tab-panel__tab:first-child{margin-top:8px}.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs{display:block}.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab{display:inline-block}.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab a{color:#0073aa;display:inline;padding:0 .25em}.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab a:active,.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab.is-active a{color:#000}.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab a:active,.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab.is-active a,.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab:hover a{text-decoration:underline}.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab:after{content:"|";display:inline-block;margin:0 .25em}.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab:last-child:after{content:""}.pum-tab-panel.pum-sub-tabs>.components-tab-panel__tab-content{padding:16px 0 0}.pum-tab-panel.pum-sub-tabs>.components-tab-panel__tab-content .pum-field:first-child h3{margin-top:0}.pum-tab-panel[data-tab-count="0"].pum-horizontal-tabs>.components-tab-panel__tabs,.pum-tab-panel[data-tab-count="1"].pum-horizontal-tabs>.components-tab-panel__tabs{display:none}.pum-tab-panel[data-tab-count="0"].pum-sub-tabs>.components-tab-panel__tab-content,.pum-tab-panel[data-tab-count="1"].pum-sub-tabs>.components-tab-panel__tab-content{padding-top:0}.pum-modal-background{background:#000000b3;bottom:0;display:none;height:100%;left:0;overflow-y:scroll;position:fixed;right:0;top:0;width:100%;z-index:100100}.pum-modal-background,.pum-modal-background *,.pum-modal-background :after,.pum-modal-background :before,.pum-modal-background:after,.pum-modal-background:before{box-sizing:border-box}.pum-modal-background .pum-modal-wrap{background-color:#fff;box-shadow:0 3px 6px #0000004d;left:50%;margin-bottom:60px;margin-left:-300px;position:absolute;top:60px;transition:height .2s,margin-top .2s;width:550px;z-index:100105}@media screen and (max-width:520px){.pum-modal-background .pum-modal-wrap{bottom:10px;left:10px;margin-left:0;right:10px;top:10px;width:auto}}.pum-modal-background .pum-modal-header{background:#fcfcfc;border-bottom:1px solid #dfdfdf;font-size:18px;font-weight:600;height:36px;left:0;line-height:36px;padding:0 36px 0 16px;position:absolute;right:0;top:0}.pum-modal-background .pum-modal-header .pum-modal-close{background:0 0;border:none;color:#666;cursor:pointer;height:36px;padding:0;position:absolute;right:0;text-align:center;top:0;width:36px}.pum-modal-background .pum-modal-header .pum-modal-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";height:36px;width:36px}.pum-modal-background .pum-modal-content{padding:52px 16px 60px}.pum-modal-background .pum-modal-content div.error{margin:0 0 10px}.pum-modal-background .pum-modal-content p{margin-top:0}.pum-modal-background .pum-modal-content textarea{width:100%}@media screen and (max-width:782px){.pum-modal-background .pum-modal-content{padding:50px 16px 60px}}.pum-modal-background .pum-modal-footer{background:#fcfcfc;border-top:1px solid #dfdfdf;bottom:0;left:0;padding:8px 16px;position:absolute;right:0}.pum-modal-background .pum-modal-footer .cancel{float:left;line-height:25px}.pum-modal-background .pum-modal-footer .cancel .no-button{background:none;border:0;cursor:pointer;padding:0}.pum-modal-background .pum-modal-footer .cancel .no-button.link-button{color:#0073aa;text-decoration:underline}.pum-modal-background .pum-modal-footer .cancel .submitdelete{padding:1px 2px;text-decoration:none}@media screen and (max-width:782px){.pum-modal-background .pum-modal-footer .cancel{line-height:32px}}.pum-modal-background .pum-modal-footer .pum-submit{float:right;line-height:23px}.pum-modal-background .pum-modal-footer .pum-submit button{float:right;margin-bottom:0}.pum-modal-background .pum-modal-footer .pum-submit .spinner{float:left;vertical-align:middle}.pum-modal-background.tabbed-content .pum-modal-content{padding:36px 0 44px}.pum-alert{background:#fff;border-left:4px solid #ccc;box-shadow:0 1px 2px #0003;padding:0 12px;position:relative;width:100%}.pum-alert.pum-alert__success{border-left-color:#46b450}.pum-alert.pum-alert__info{border-left-color:#00a0d2}.pum-alert.pum-alert__warning{border-left-color:#ffb900}.pum-alert.pum-alert__error{border-left-color:#dc3232}.pum-alert-holder{display:flex;margin-bottom:.8em}.pum-alerts{background-color:#fdfdfd;border:1px solid #e5e5e5;box-shadow:0 1px 1px #0000000a;clear:both;margin:20px 0 1px;margin-right:20px!important;max-width:1280px;padding:20px 20px 0;position:relative;top:10px}.pum-alerts>h2:first-child{font-size:23px;font-weight:400;line-height:29px;margin:0;padding:9px 0 4px}.pum-alerts h3{background-color:#fdfdfd;border-bottom:1px solid #ccc;font-size:1.4em;margin:-20px -20px 0;padding:1em}.pum-alerts img.logo{height:2em;margin:0 5px 0 0;vertical-align:middle}.pum-alerts .pum-alert{width:100%}.pum-alerts .button.dismiss,.pum-alerts .button.restore{align-items:center;cursor:pointer;display:flex;flex:0 0 45px;height:45px;justify-content:center;line-height:inherit;margin-left:10px;outline:0;padding:0;width:45px}.pum-alerts .button.dismiss .dashicons,.pum-alerts .button.restore .dashicons{font-size:24px;height:24px;width:24px}.pum-alerts .button.dismiss:focus,.pum-alerts .button.dismiss:hover,.pum-alerts .button.restore:focus,.pum-alerts .button.restore:hover{background:0 0}.popup_page_pum-extensions .pum-alerts{top:0}.pum-alerts .screen-reader-text{overflow:hidden;clip:rect(1px,1px,1px,1px);border:0;height:1px;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;clip-path:inset(50%)}.pum-bottom-spacing{margin-bottom:20px}.pum-container-disabled{background-color:#e8e8e8b3;border-radius:4px;bottom:0;display:table-cell;left:0;position:absolute;right:0;top:0}.pum-muted-title{font-style:italic;font-weight:600;overflow:hidden}.pum-muted-title:after{border-top:1px solid #ddd;content:"";display:inline-block;height:.5em;margin-left:10px;margin-right:-100%;vertical-align:bottom;width:100%}.pum-field-triggers .pum-popup-trigger-editor .add-new,.pum-field-triggers .pum-popup-trigger-editor .pum-add-new{float:right}.pum-field-triggers .pum-popup-trigger-editor .list-table{display:none!important}.pum-field-triggers .pum-popup-trigger-editor .list-table tbody td,.pum-field-triggers .pum-popup-trigger-editor .list-table tbody th,.pum-field-triggers .pum-popup-trigger-editor .list-table thead td,.pum-field-triggers .pum-popup-trigger-editor .list-table thead th{text-align:center}.pum-field-triggers .pum-popup-trigger-editor .list-table tbody td:first-child,.pum-field-triggers .pum-popup-trigger-editor .list-table tbody th:first-child,.pum-field-triggers .pum-popup-trigger-editor .list-table thead td:first-child,.pum-field-triggers .pum-popup-trigger-editor .list-table thead th:first-child{text-align:left}.pum-field-triggers .pum-popup-trigger-editor .list-table tbody td:last-child,.pum-field-triggers .pum-popup-trigger-editor .list-table tbody th:last-child,.pum-field-triggers .pum-popup-trigger-editor .list-table thead td:last-child,.pum-field-triggers .pum-popup-trigger-editor .list-table thead th:last-child{text-align:right}.pum-field-triggers .pum-popup-trigger-editor .list-table tbody td:first-child,.pum-field-triggers .pum-popup-trigger-editor .list-table tbody th:first-child{padding-left:0}.pum-field-triggers .pum-popup-trigger-editor .list-table tbody td:last-child,.pum-field-triggers .pum-popup-trigger-editor .list-table tbody th:last-child{padding-right:0}.pum-field-triggers .pum-popup-trigger-editor span.edit{color:#0073aa;cursor:pointer;text-decoration:underline}.pum-field-triggers .pum-popup-trigger-editor .list-item-actions i{cursor:pointer}.pum-field-triggers .pum-popup-trigger-editor .no-list-items{display:block}.pum-field-triggers .pum-popup-trigger-editor .no-list-items select{max-width:100%}.pum-field-triggers .pum-popup-trigger-editor.has-list-items .list-table{display:block!important}.pum-field-triggers .pum-popup-trigger-editor.has-list-items .no-list-items{display:none!important}.pum-field-cookies .pum-popup-cookie-editor .add-new,.pum-field-cookies .pum-popup-cookie-editor .pum-add-new{float:right}.pum-field-cookies .pum-popup-cookie-editor .list-table{display:none!important}.pum-field-cookies .pum-popup-cookie-editor .list-table tbody td,.pum-field-cookies .pum-popup-cookie-editor .list-table tbody th,.pum-field-cookies .pum-popup-cookie-editor .list-table thead td,.pum-field-cookies .pum-popup-cookie-editor .list-table thead th{text-align:center}.pum-field-cookies .pum-popup-cookie-editor .list-table tbody td:first-child,.pum-field-cookies .pum-popup-cookie-editor .list-table tbody th:first-child,.pum-field-cookies .pum-popup-cookie-editor .list-table thead td:first-child,.pum-field-cookies .pum-popup-cookie-editor .list-table thead th:first-child{text-align:left}.pum-field-cookies .pum-popup-cookie-editor .list-table tbody td:last-child,.pum-field-cookies .pum-popup-cookie-editor .list-table tbody th:last-child,.pum-field-cookies .pum-popup-cookie-editor .list-table thead td:last-child,.pum-field-cookies .pum-popup-cookie-editor .list-table thead th:last-child{text-align:right}.pum-field-cookies .pum-popup-cookie-editor .list-table tbody td:first-child,.pum-field-cookies .pum-popup-cookie-editor .list-table tbody th:first-child{padding-left:0}.pum-field-cookies .pum-popup-cookie-editor .list-table tbody td:last-child,.pum-field-cookies .pum-popup-cookie-editor .list-table tbody th:last-child{padding-right:0}.pum-field-cookies .pum-popup-cookie-editor span.edit{color:#0073aa;cursor:pointer;text-decoration:underline}.pum-field-cookies .pum-popup-cookie-editor .list-item-actions i{cursor:pointer}.pum-field-cookies .pum-popup-cookie-editor .no-list-items{display:block}.pum-field-cookies .pum-popup-cookie-editor .no-list-items select{max-width:100%}.pum-field-cookies .pum-popup-cookie-editor.has-list-items .list-table{display:block!important}.pum-field-cookies .pum-popup-cookie-editor.has-list-items .no-list-items{display:none!important}.pum-field-cookie_key .cookie-key{display:inline-block;position:relative}.pum-field-cookie_key .cookie-key button.reset{bottom:0;height:100%;position:absolute;right:0;top:0}.pum-upgrade-tip{color:#333;line-height:2em!important}.pum-upgrade-tipdiv{display:block;font-weight:700;margin-bottom:15px}.pum-upgrade-tip img{aspect-ratio:1/1;float:left;height:2em;margin-right:15px;max-width:none;width:auto}.title-divider th{border-top:1px solid #ccc;padding:0}.title-divider .title{font-size:1.125em;padding-bottom:0!important;padding-left:0!important;padding-top:20px!important}.form-table td,.form-table tr{padding-top:10px}.posttypediv,.taxonomydiv{clear:both;margin-bottom:10px;overflow:auto}@media screen and (max-width:1023px){.pum-notice-bar{display:none!important}}:has(>.pum-notice-bar-wrapper){padding-top:1.5em}.pum-notice-bar-wrapper{left:0;margin:0 auto;position:absolute;right:0;top:0;visibility:hidden;width:fit-content;z-index:10}.pum-notice-bar-wrapper .pum-notice-bar{background:linear-gradient(135deg,#ebe7fe,#f6f6f7);border:1px solid #d6ccff;border-radius:0 0 6px 6px;border-top:3px solid #8267f6;box-shadow:0 1px 3px #00000014;color:#270aa9;display:flex;justify-content:center;max-height:100px;padding:7px;visibility:visible}.pum-notice-bar-wrapper .pum-notice-bar a{color:#7356f5;font-weight:600;text-decoration:none}.pum-notice-bar-wrapper .pum-notice-bar a:hover{color:#8267f6;text-decoration:underline}#log-viewer{background-color:#fff;border:1px solid #e5e5e5;box-shadow:0 1px 1px #0000000a;margin:20px 0;padding:5px 20px}#log-viewer pre{font-family:monospace;white-space:pre-wrap}.pum-welcome-wrapper{background-color:#fff;margin:0;padding:10px}@media only screen and (min-width:600px){.pum-welcome-wrapper{margin:40px auto 0;max-width:500px;padding:40px 30px}}.pum-welcome-wrapper ul{list-style:disc;padding-left:20px}.pum-welcome-wrapper .pum-welcome-signature{align-items:center;display:flex;font-style:italic;margin-top:20px}.pum-welcome-wrapper .pum-welcome-signature img{border-radius:100px;margin-right:10px;width:60px}.pum-welcome-wrapper .pum-welcome-cta{margin-top:30px}.pum-toggle-button{height:18px;position:relative;width:36px}.pum-toggle-button label{background-color:#fff;border:1px solid #1e1e1e;border-radius:9px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:background-color .2s ease}.pum-toggle-button label:before{background-color:#1e1e1e;border-radius:50%;bottom:1px;content:"";height:14px;left:2px;position:absolute;transition:.2s ease;width:14px}.pum-toggle-button input{height:0;opacity:0;width:0}.pum-toggle-button input:focus+label{box-shadow:2px 2px 7px #2196f3}.pum-toggle-button input:checked+label{background-color:#9ab927}.pum-toggle-button input:checked+label:before{background-color:#fff;transform:translateX(15px)}.wp-core-ui .button-with-icon{align-items:center;display:inline-flex}.wp-list-table .type-popup .row-actions{color:#999}.pum-flex-row{display:flex}.pum-flex-row .pum-flex-column{flex:1;padding:1%}.pum-flex-row .pum-flex-column.pum-flex-quarter{max-width:25%!important}.pum-flex-row .pum-flex-column.pum-flex-quarter:nth-child(4n+1){padding-left:0}.pum-flex-row .pum-flex-column.pum-flex-quarter:nth-child(4n+4){padding-right:0}.pum-flex-row .pum-flex-column.pum-flex-third{max-width:33.333%!important}.pum-flex-row .pum-flex-column.pum-flex-third:nth-child(3n+1){padding-left:0}.pum-flex-row .pum-flex-column.pum-flex-third:nth-child(3n+3){padding-right:0}.pum-flex-row .pum-flex-column.pum-flex-half{max-width:50%!important}.pum-flex-row .pum-flex-column.pum-flex-half:nth-child(odd){padding-left:0}.pum-flex-row .pum-flex-column.pum-flex-half:nth-child(2n+2){padding-right:0}.pum-flex-row .pum-flex-column.pum-flex-three-quarter{max-width:75%!important}.pum-flex-row .pum-flex-column input,.pum-flex-row .pum-flex-column label{display:block;width:100%}.pum-tabbed-form .pum-field{margin:0 0 24px;position:relative}.pum-tabbed-form .pum-field .pum-desc,.pum-tabbed-form .pum-field label{display:block}.pum-tabbed-form .pum-field label{margin-bottom:4px}.pum-tabbed-form .pum-field .pum-desc{margin-bottom:0;margin-top:4px}.pum-tabbed-form .pumselect2-container--default{width:100%!important}.pum-tabbed-form .pum-field-select2 select{width:100%}.pum-tabbed-form label{display:block;font-size:1.1em;font-weight:700}.pum-tabbed-form .pum-field.checkbox label.pum-desc{display:inline;font-size:inherit;font-weight:inherit;margin:0 0 1em}.pum-tabbed-form .pum-required label:after{color:#a00;content:"*";margin-left:5px}.edit-php.post-type-popup .wrap .nav-tab-wrapper .page-title-action,.edit-php.post-type-popup_theme .wrap .nav-tab-wrapper .page-title-action,.popup_page_pum-extensions .wrap .nav-tab-wrapper .page-title-action{margin-left:5px;top:7px}@media only screen and (min-width:0px)and (max-width:783px){.edit-php.post-type-popup .wrap .nav-tab-wrapper .page-title-action,.edit-php.post-type-popup_theme .wrap .nav-tab-wrapper .page-title-action,.popup_page_pum-extensions .wrap .nav-tab-wrapper .page-title-action{display:none!important}}.nav-tab.pum-upgrade-tab-pro{background:#1dbe610d;border:1px solid #bcf5d4;border-bottom:2px solid #0000;color:#1dbe61!important;font-weight:500!important}.nav-tab.pum-upgrade-tab-pro:hover{background:#1dbe6114;border-color:#1dbe61;color:#179b4e!important}.nav-tab.pum-upgrade-tab-pro.nav-tab-active{background:#1dbe611a;border-color:#1dbe61;color:#179b4e!important}.nav-tab.pum-upgrade-tab-pro-plus{background:#8267f60d;border:1px solid #d6ccff;border-bottom:2px solid #0000;color:#8267f6!important;font-weight:500!important}.nav-tab.pum-upgrade-tab-pro-plus:hover{background:#8267f614;border-color:#8267f6;color:#7356f5!important}.nav-tab.pum-upgrade-tab-pro-plus.nav-tab-active{background:#8267f61a;border-color:#8267f6;color:#7356f5!important} dist/assets/popup-maker-easy-modal-importer-site.js 0000644 00000002241 15174671772 0016461 0 ustar 00 !function(){"use strict";jQuery(document).on("pumInit",".pum",function(e){var o=jQuery(this),t=o.data("popmake").old_easy_modal_id,r=".eModal-"+t;void 0!==t&&(jQuery(r).css({cursor:"pointer"}),jQuery(document).on("click",r,function(e){e.preventDefault(),e.stopPropagation(),jQuery.fn.popmake.last_open_trigger=jQuery.fn.popmake.utilities.getXPath(this),o.popmake("open")}))}).on("pumInit",".pum",function(){jQuery(this).trigger("emodalInit")}).on("pumBeforeOpen",".pum",function(){jQuery(this).trigger("emodalBeforeOpen")}).on("pumAfterOpen",".pum",function(){jQuery(this).trigger("emodalAfterOpen")}).on("pumBeforeClose",".pum",function(){jQuery(this).trigger("emodalBeforeClose")}).on("pumAfterClose",".pum",function(){jQuery(this).trigger("emodalAfterClose")}).on("pumBeforeReposition",".pum",function(){jQuery(this).trigger("emodalBeforeReposition")}).on("pumAfterReposition",".pum",function(){jQuery(this).trigger("emodalAfterReposition")}).on("pumBeforeRetheme",".pum",function(){jQuery(this).trigger("emodalBeforeRetheme")}).on("pumAfterRetheme",function(){jQuery(this).trigger("emodalAfterRetheme")}).on("pumSetupClose",function(){jQuery(this).trigger("emodalSetupClose")})}(); dist/assets/admin-deprecated.js 0000644 00000000634 15174671772 0012561 0 ustar 00 jQuery,window.PUMModals=window.PUM_Admin.modals,window.PUMColorPickers=window.PUM_Admin.colorpicker,window.PUM_Templates=window.PUM_Admin.templates,window.PUMUtils=window.PUM_Admin.utils,window.PUMTriggers=window.PUM_Admin.triggers||{},window.PUMCookies=window.PUM_Admin.cookies||{},window.PUMTriggers.new_schedule=-1,window.PopMakeAdmin={update_theme:function(){return PUM_Admin.themeEditor.refresh_preview()}}; dist/assets/site.asset.php 0000644 00000000134 15174671772 0011623 0 ustar 00 <?php return array('dependencies' => array('jquery'), 'version' => '5406bc3704b7fdf3bdc1'); dist/assets/site.css 0000644 00000016610 15174671772 0010514 0 ustar 00 @keyframes rotate-forever{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spinner-loader{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pum-container,.pum-content,.pum-content+.pum-close,.pum-content+.pum-close:active,.pum-content+.pum-close:focus,.pum-content+.pum-close:hover,.pum-overlay,.pum-title{background:none;border:none;bottom:auto;clear:none;cursor:default;float:none;font-family:inherit;font-size:medium;font-style:normal;font-weight:400;height:auto;left:auto;letter-spacing:normal;line-height:normal;max-height:none;max-width:none;min-height:0;min-width:0;overflow:visible;position:static;right:auto;text-align:left;text-decoration:none;text-indent:0;text-transform:none;top:auto;visibility:visible;white-space:normal;width:auto;z-index:auto}.pum-content,.pum-title{position:relative;z-index:1}.pum-overlay{bottom:0;display:none;height:100%;left:0;overflow:auto;overflow:initial;position:fixed;right:0;top:0;transition:all .15s ease-in-out;width:100%;z-index:1999999999}.pum-overlay.pum-form-submission-detected,.pum-overlay.pum-preview{display:block}.pum-overlay,.pum-overlay *,.pum-overlay :after,.pum-overlay :before,.pum-overlay:after,.pum-overlay:before{box-sizing:border-box}.pum-container{margin-bottom:3em;position:absolute;top:100px;z-index:1999999999}.pum-container.pum-responsive{height:auto;left:50%;margin-left:-47.5%;overflow:visible;width:95%}.pum-container.pum-responsive img{height:auto;max-width:100%}@media only screen and (min-width:1024px){.pum-container.pum-responsive.pum-responsive-nano{margin-left:-5%;width:10%}.pum-container.pum-responsive.pum-responsive-micro{margin-left:-10%;width:20%}.pum-container.pum-responsive.pum-responsive-tiny{margin-left:-15%;width:30%}.pum-container.pum-responsive.pum-responsive-small{margin-left:-20%;width:40%}.pum-container.pum-responsive.pum-responsive-medium{margin-left:-30%;width:60%}.pum-container.pum-responsive.pum-responsive-normal{margin-left:-30%;width:70%}.pum-container.pum-responsive.pum-responsive-large{margin-left:-35%;width:80%}.pum-container.pum-responsive.pum-responsive-xlarge{margin-left:-47.5%;width:95%}.pum-container.pum-responsive.pum-position-fixed{position:fixed}}@media only screen and (max-width:1024px){.pum-container.pum-responsive.pum-position-fixed{position:absolute}}.pum-container.custom-position{left:auto;margin-left:inherit;top:auto}.pum-container .pum-title{margin-bottom:.5em}.pum-container .pum-content:focus{outline:none}.pum-container .pum-content>:first-child{margin-top:0}.pum-container .pum-content>:last-child{margin-bottom:0}.pum-container .pum-content+.pum-close{background-color:#0000;cursor:pointer;line-height:1;min-width:1em;position:absolute;text-align:center;text-decoration:none;z-index:2}.pum-container .pum-content+.pum-close>span{position:relative;z-index:1}.pum-container.pum-scrollable .pum-content{max-height:95%;overflow:auto;overflow-y:scroll}.pum-overlay.pum-overlay-disabled{visibility:hidden}.pum-overlay.pum-overlay-disabled::-webkit-scrollbar{display:block}.pum-overlay.pum-overlay-disabled .pum-container{visibility:visible}.pum-overlay.pum-click-to-close{cursor:pointer}html.pum-open.pum-open-overlay,html.pum-open.pum-open-overlay.pum-open-fixed .pum-overlay{overflow:hidden}html.pum-open.pum-open-overlay.pum-open-fixed .pum-container{position:fixed}html.pum-open.pum-open-overlay.pum-open-scrollable body>:not([aria-modal=true]){padding-right:15px}html.pum-open.pum-open-overlay.pum-open-scrollable .pum-overlay.pum-active{overflow-y:scroll;-webkit-overflow-scrolling:touch}html.pum-open.pum-open-overlay-disabled.pum-open-fixed .pum-container{position:fixed}html.pum-open.pum-open-overlay-disabled.pum-open-scrollable .pum-overlay.pum-active{height:auto;position:static;width:auto}.pum-form{margin:0 auto 16px}.pum-form__field{margin-bottom:1em}.pum-form__field label{font-weight:700}.pum-form__field input[type=date],.pum-form__field select{font-size:18px;line-height:26px;margin:0 auto;padding:3px;text-align:center;vertical-align:middle}.pum-form__field select{padding:5px 3px}.pum-form__loader{animation-duration:.75s;animation-iteration-count:infinite;animation-name:rotate-forever;animation-timing-function:linear;border:.25em solid #00000080;border-radius:50%;border-right-color:#0000;display:inline-block;font-size:2em;height:.75em;width:.75em}.pum-form__submit{position:relative}.pum-form__submit .pum-form__loader{border:.25em solid #ffffff80;border-right-color:#0000;margin-left:.5em}.pum-form__messages{border:1px solid #00000040;display:none;margin-bottom:.5em;padding:1em;position:relative}.pum-form__message{margin-bottom:.5em}.pum-form__message:last-child{margin-bottom:0}.pum-form__message--error{border-color:red;color:red!important}.pum-form__message--success{border-color:green;color:green!important}.pum-form--loading{opacity:.5}.pum-alignment-left{text-align:left}.pum-alignment-center{text-align:center}.pum-alignment-right{text-align:right}.pum-form--alignment-left{text-align:left}.pum-form--alignment-center{text-align:center}.pum-form--alignment-right{text-align:right}.pum-form--layout-standard .pum-form__field>label{display:block;margin-bottom:.25em}.pum-form--layout-inline .pum-form__field{display:inline-block}.pum-form--layout-block .pum-form__field,.pum-form--layout-block button,.pum-form--layout-block div,.pum-form--layout-block input{display:block;width:100%}.pum-form--style-default label{font-size:14px;font-weight:700}.pum-form--style-default input[type=email],.pum-form--style-default input[type=text]{background-color:#f8f7f7;font-size:14px;margin-bottom:5px;padding:10px 8px}.pum-form--style-default button{cursor:pointer;font-size:18px;margin:10px 0 0;padding:10px 5px}.pum-sub-form .pum-sub-form-loading{opacity:.5}.pum-sub-form p.pum-newsletter-error-msg{margin:0}.pum-sub-form .spinner-loader{bottom:40%;position:absolute;right:50%}.pum-sub-form .spinner-loader:not(:required){animation:spinner-loader 1.5s linear infinite;border-radius:.5em;box-shadow:1.5em 0 0 0 #0000334d,1.1em 1.1em 0 0 #0000334d,0 1.5em 0 0 #0000334d,-1.1em 1.1em 0 0 #0000334d,-1.5em 0 0 0 #0000334d,-1.1em -1.1em 0 0 #0000334d,0 -1.5em 0 0 #0000334d,1.1em -1.1em 0 0 #0000334d;display:inline-block;font-size:10px;height:1em;margin:1.5em;overflow:hidden;text-indent:100%;width:1em}.pum-form__field--consent{text-align:left}.pum-form__field--consent.pum-form__field--checkbox label{display:inline-block;vertical-align:middle}.pum-form__field--consent.pum-form__field--checkbox label input{display:inline-block;margin:0;vertical-align:middle;width:inherit}.pum-form__field--consent.pum-form__field--radio .pum-form__consent-radios.pum-form__consent-radios--inline label{display:inline-block;vertical-align:middle}.pum-form__field--consent.pum-form__field--radio .pum-form__consent-radios.pum-form__consent-radios--inline label input{display:inline-block;margin:0;vertical-align:middle;width:inherit}.pum-form__field--consent.pum-form__field--radio .pum-form__consent-radios.pum-form__consent-radios--inline label+label{margin-left:1em}.pum-form__field--consent.pum-form__field--radio .pum-form__consent-radios.pum-form__consent-radios--stacked label{display:block;vertical-align:middle}.pum-form__field--consent.pum-form__field--radio .pum-form__consent-radios.pum-form__consent-radios--stacked label input{display:inline-block;margin:0;vertical-align:middle;width:inherit}.popmake-close{cursor:pointer}.pum-container iframe.formidable{overflow:visible;width:100%}.flatpickr-calendar.open,.pika-single,body div#ui-datepicker-div[style]{z-index:9999999999!important} dist/assets/admin-extensions-page.css 0000644 00000003754 15174671772 0013754 0 ustar 00 .upgrade-wrapper{background-color:#fff;margin:1em 0;padding:3em 1em}.upgrade-wrapper .upgrade-wrapper-hero{font-size:16px;margin:0 0 2em}.upgrade-wrapper .upgrade-wrapper-hero p{font-size:16px;margin:0 0 .3em}.upgrade-wrapper .upgrade-wrapper-hero ul{list-style:disc;margin:0;padding-left:20px}.upgrade-wrapper .upgrade-wrapper-hero a{margin:.5em 0 0}.upgrade-wrapper h2{font-size:2em;margin:0 0 .5em}.extensions-available{display:flex;flex-wrap:wrap;justify-content:space-between}.extensions-available img{border-bottom:1px solid #0000;border-top:1px solid #0000;display:block;height:auto;max-width:100%;width:100%}.extensions-available li{background:#fff;border:1px solid #ccc;box-shadow:1px 1px 4px #00000040;box-sizing:border-box;margin:0 0 20px;vertical-align:top;width:18%}@media only screen and (max-width:360px){.extensions-available li{display:block;width:100%}}@media only screen and (min-width:361px)and (max-width:768px){.extensions-available li{width:49%}}@media only screen and (min-width:769px)and (max-width:980px){.extensions-available li{width:32%}}.extensions-available li>.action-links{border-top:1px solid #ccc;display:block;text-align:center}.extensions-available li>.action-links .button{display:inline-block;font-weight:700;height:auto;margin-bottom:10px;margin-top:10px;padding:7px 30px;position:relative;transition:transform .5s}.extensions-available li>.action-links .button.install{background:#00a651}.extensions-available h3{font-size:16px!important;margin:0;padding:1em 0;text-align:center}.extensions-available h3 a{color:inherit}.extensions-available p{color:#2d2d2d;font-size:14px;font-style:italic;margin:10px;min-height:7.5em;text-align:center}.extensions-available a{display:block;text-align:center;text-decoration:none}.extensions-available .core-extensions-bundle h3{background:#98b727;color:#fff}.extensions-available .core-extensions-bundle p{background-color:#fff;color:#2d2d2d}.extensions-available .core-extensions-bundle .action-links{background:#98b727;border-top:1px solid #a8c53a} dist/assets/admin-pointer.js 0000644 00000002651 15174671772 0012142 0 ustar 00 !function(t){function n(e){e=parseInt(e);var o=pumPointers.pointers[e];o.hasOwnProperty("pre")&&o.pre.hasOwnProperty("clicks")&&t.each(o.pre.clicks,function(n,e){t(e).click()});var i=t(o.target);if(0!==i.length){var r=t.extend(o.options,{close:function(){t.post(ajaxurl,{pointer:o.pointer_id,action:"dismiss-wp-pointer"}),!1===skipTour&&e!==pumPointers.pointers.length-1&&n(e+1)},buttons:function(n,o){var i=t('<button class="button" style="margin-right: 10px;">Skip tour</button>'),r=t('<button class="button button-primary">Next</button>'),p=t('<button class="button button-primary">Thanks!</button>'),s=t('<div class="pum-pointer-buttons" />');return i.bind("click.point",function(n){n.preventDefault(),skipTour=!0,o.element.pointer("close");for(var e=0;e<pumPointers.pointers.length;e++)setTimeout(function(n){t.post(ajaxurl,{pointer:pumPointers.pointers[n].pointer_id,action:"dismiss-wp-pointer"})},500*e+1,e)}),r.bind("click.pointer",function(t){t.preventDefault(),o.element.pointer("close")}),p.bind("click.pointer",function(t){t.preventDefault(),o.element.pointer("close")}),1!==pumPointers.pointers.length&&0===e&&s.append(i),e===pumPointers.pointers.length-1?s.append(p):s.append(r),s}}),p=i.pointer(r);t("html, body").animate({scrollTop:i.offset().top-200}),p.pointer("open")}}window.pumPointers=window.pumPointers||{pointers:[]},window.skipTour=!1,t(function(t){setTimeout(function(){0<pumPointers.pointers.length&&n(0)},1e3)})}(jQuery); dist/assets/admin-theme-editor-rtl.css 0000644 00000004365 15174671772 0014027 0 ustar 00 .pum-overlay .pum-popup-content,.pum-overlay .pum-popup-title,.pum-popup-overlay,.pum-popup-overlay .pum-popup-close,.pum-popup-overlay .pum-popup-close:active,.pum-popup-overlay .pum-popup-close:focus,.pum-popup-overlay .pum-popup-closeclose-popup:hover,.pum-popup-overlay .pum-popup-container{background:none;border:none;bottom:auto;clear:none;cursor:default;float:none;font-family:Arial,Helvetica,sans-serif;font-size:medium;font-style:normal;font-weight:400;height:auto;right:auto;letter-spacing:normal;line-height:normal;max-height:none;max-width:none;min-height:0;min-width:0;overflow:visible;position:static;left:auto;text-align:right;text-decoration:none;text-indent:0;text-transform:none;top:auto;visibility:visible;white-space:normal;width:auto;z-index:auto}.pum-popup-container,.pum-popup-container *,.pum-popup-container :after,.pum-popup-container :before,.pum-popup-container:after,.pum-popup-container:before{box-sizing:border-box}.pum-popup-content p{margin-top:0}#pum_theme_settings .inside{margin:0;padding:0}#pum_theme_settings .wp-picker-container{display:inline-block}#pum_theme_preview .inside{background:url(https://s.wordpress.com/mshots/v1/https://www.wordpress.org) no-repeat top;background-size:cover;margin-top:0;padding:0}#pum_theme_preview .pum-theme-preview{padding:50px 20px;position:relative}#pum_theme_preview .pum-popup-close,#pum_theme_preview .pum-popup-container,#pum_theme_preview .pum-popup-content,#pum_theme_preview .pum-popup-overlay,#pum_theme_preview .pum-popup-title{cursor:pointer}.pum-theme-preview .pum-popup-overlay{display:block;height:100%;right:0;position:absolute;top:0;width:100%}.pum-theme-preview .pum-desc,.pum-theme-preview .pum-popup-container{display:block;font-size:16px;margin:0 auto;max-width:400px;position:relative;width:95%;z-index:99}.pum-theme-preview .pum-desc .pum-popup-close,.pum-theme-preview .pum-popup-container .pum-popup-close{background-color:#0000;cursor:pointer;line-height:1;min-width:1em;position:absolute;text-align:center;text-decoration:none;z-index:9999999}.pum-theme-preview .pum-desc{background-color:#fff;border:1px solid;box-shadow:0 2px 2px;box-sizing:border-box;font-size:11px;margin:10px auto 0;padding:.75em;z-index:10}.pum-theme-preview .pum-desc .dashicons{font-size:16px;height:16px;width:16px} dist/assets/admin-theme-editor.css 0000644 00000004363 15174671772 0013226 0 ustar 00 .pum-overlay .pum-popup-content,.pum-overlay .pum-popup-title,.pum-popup-overlay,.pum-popup-overlay .pum-popup-close,.pum-popup-overlay .pum-popup-close:active,.pum-popup-overlay .pum-popup-close:focus,.pum-popup-overlay .pum-popup-closeclose-popup:hover,.pum-popup-overlay .pum-popup-container{background:none;border:none;bottom:auto;clear:none;cursor:default;float:none;font-family:Arial,Helvetica,sans-serif;font-size:medium;font-style:normal;font-weight:400;height:auto;left:auto;letter-spacing:normal;line-height:normal;max-height:none;max-width:none;min-height:0;min-width:0;overflow:visible;position:static;right:auto;text-align:left;text-decoration:none;text-indent:0;text-transform:none;top:auto;visibility:visible;white-space:normal;width:auto;z-index:auto}.pum-popup-container,.pum-popup-container *,.pum-popup-container :after,.pum-popup-container :before,.pum-popup-container:after,.pum-popup-container:before{box-sizing:border-box}.pum-popup-content p{margin-top:0}#pum_theme_settings .inside{margin:0;padding:0}#pum_theme_settings .wp-picker-container{display:inline-block}#pum_theme_preview .inside{background:url(https://s.wordpress.com/mshots/v1/https://www.wordpress.org) no-repeat top;background-size:cover;margin-top:0;padding:0}#pum_theme_preview .pum-theme-preview{padding:50px 20px;position:relative}#pum_theme_preview .pum-popup-close,#pum_theme_preview .pum-popup-container,#pum_theme_preview .pum-popup-content,#pum_theme_preview .pum-popup-overlay,#pum_theme_preview .pum-popup-title{cursor:pointer}.pum-theme-preview .pum-popup-overlay{display:block;height:100%;left:0;position:absolute;top:0;width:100%}.pum-theme-preview .pum-desc,.pum-theme-preview .pum-popup-container{display:block;font-size:16px;margin:0 auto;max-width:400px;position:relative;width:95%;z-index:99}.pum-theme-preview .pum-desc .pum-popup-close,.pum-theme-preview .pum-popup-container .pum-popup-close{background-color:#0000;cursor:pointer;line-height:1;min-width:1em;position:absolute;text-align:center;text-decoration:none;z-index:9999999}.pum-theme-preview .pum-desc{background-color:#fff;border:1px solid;box-shadow:0 2px 2px;box-sizing:border-box;font-size:11px;margin:10px auto 0;padding:.75em;z-index:10}.pum-theme-preview .pum-desc .dashicons{font-size:16px;height:16px;width:16px} dist/assets/admin-theme-editor.js 0000644 00000017531 15174671772 0013053 0 ustar 00 (()=>{"use strict";var e;e=jQuery,window.PUM_Admin=window.PUM_Admin||{},window.pum_theme_settings_editor=window.pum_theme_settings_editor||{form_args:{},current_values:{}},PUM_Admin.themeEditor={preview_fixed_scroll:function(){var t=e("#pum_theme_preview"),o=t.parent(),i=t.offset().top-50;e(window).on("scroll",function(){e("> .postbox:visible",o).index(t)===e("> .postbox:visible",o).length-1&&e(window).scrollTop()>=i?t.css({left:t.offset().left,width:t.width(),height:t.height(),position:"fixed",top:50}):t.removeAttr("style")})},update_font_options:function(t){var o,i,n=e('select[id="'+t+'_font_family"]'),r=e('select[id="'+t+'_font_weight"]'),s=e('select[id="'+t+'_font_style"]'),l=r.find("option"),a=s.find("option"),_=[400,300,700,100,200,500,600,800,900],p=["","italic"],c=n.val(),d=r.val(),h=s.val();if(void 0!==pum_google_fonts[c]){if(o=pum_google_fonts[c],l.prop("disabled",!0),a.prop("disabled",!0),o.variants.length)for(i=0;o.variants.length>i;i+=1)"regular"===o.variants[i]?(e('option[value="400"]',r).prop("disabled",!1),e('option[value=""]',s).prop("disabled",!1)):(o.variants[i].indexOf("italic")>=0&&e('option[value="italic"]',s).prop("disabled",!1),e('option[value="'+parseInt(o.variants[i],10)+'"]',r).prop("disabled",!1))}else l.prop("disabled",!1),a.prop("disabled",!1);if(""===d||l.filter('[value="'+d+'"]').is(":disabled"))for(i=0;_.length>i;i+=1)if(!l.filter('[value="'+_[i]+'"]').is(":disabled")){r.val(_[i]);break}if(a.filter('[value="'+h+'"]').is(":disabled"))for(i=0;p.length>i;i+=1)if(!a.filter('[value="'+p[i]+'"]').is(":disabled")){s.val(p[i]);break}n.trigger("change.select2"),r.trigger("change.select2"),n.trigger("change.select2"),r=r.parents(".pum-field"),l.filter(":not(:disabled)").length>1?r.show():r.hide(),n=s.parents(".pum-field"),a.filter(":not(:disabled)").length>1?n.show():n.hide()},update_font_selectboxes:function(){return e('select[id$="_font_family"]').each(function(){PUM_Admin.themeEditor.update_font_options(e(this).attr("id").replace("_font_family",""))})},update_loaded_font:function(t){var o,i=e('select[id="'+t+'_font_family"]'),n=e('select[id="'+t+'_font_weight"]'),r=e('select[id="'+t+'_font_style"]'),s=i.val(),l=n.val(),a=r.val(),_=e("link#pum-"+t+"google-font"),p=e('<link id="pum-'+t+'google-font" rel="stylesheet" type="text/css">');void 0!==pum_google_fonts[s]?(o="//fonts.googleapis.com/css?family="+s,"normal"!==l&&(o+=":"+l),"italic"===a&&(-1===o.indexOf(":")&&(o+=":"),o+="italic"),p.attr("href",o),_.length?_.attr("href")!==o&&_.replaceWith(p):e("body").append(p)):_.remove()},update_loaded_fonts:function(){return e('select[id$="_font_family"]').each(function(){PUM_Admin.themeEditor.update_loaded_font(e(this).attr("id").replace("_font_family",""))})},refresh_preview:function(){var t=e("#pum-theme-settings-container").pumSerializeObject(),o=t.theme_settings;if(void 0!==window.PUM_ATB)for(var i in delete t.theme_settings,t)t.hasOwnProperty(i)&&(o[i.replace("popup_theme_","")]=t[i]);PUM_Admin.themeEditor.restyle_preview(o)},restyle_preview:function(t){var o,i,n,r,s=e(".pum-popup-overlay"),l=e(".pum-popup-container"),a=e(".pum-popup-title",l),_=e(".pum-popup-content",l),p=e(".pum-popup-close",l),c="yes"===t.container_boxshadow_inset?"inset ":"",d="yes"===t.close_boxshadow_inset?"inset ":"";switch(PUM_Admin.themeEditor.update_loaded_fonts(),s.removeAttr("style").css({backgroundColor:window.PUM_Admin.utils.convert_hex(t.overlay_background_color,t.overlay_background_opacity)}),l.removeAttr("style").css({padding:t.container_padding+"px",backgroundColor:window.PUM_Admin.utils.convert_hex(t.container_background_color,t.container_background_opacity),borderStyle:t.container_border_style,borderColor:t.container_border_color,borderWidth:t.container_border_width+"px",borderRadius:t.container_border_radius+"px",boxShadow:c+t.container_boxshadow_horizontal+"px "+t.container_boxshadow_vertical+"px "+t.container_boxshadow_blur+"px "+t.container_boxshadow_spread+"px "+window.PUM_Admin.utils.convert_hex(t.container_boxshadow_color,t.container_boxshadow_opacity)}),a.removeAttr("style").css({color:t.title_font_color,lineHeight:t.title_line_height+"px",fontSize:t.title_font_size+"px",fontFamily:t.title_font_family,fontStyle:t.title_font_style,fontWeight:t.title_font_weight,textAlign:t.title_text_align,textShadow:t.title_textshadow_horizontal+"px "+t.title_textshadow_vertical+"px "+t.title_textshadow_blur+"px "+window.PUM_Admin.utils.convert_hex(t.title_textshadow_color,t.title_textshadow_opacity)}),_.removeAttr("style").css({color:t.content_font_color,fontFamily:t.content_font_family,fontStyle:t.content_font_style,fontWeight:t.content_font_weight}),p.removeAttr("style").css({position:t.close_position_outside?"fixed":"absolute",padding:t.close_padding+"px",height:t.close_height>0?t.close_height+"px":"auto",width:t.close_width>0?t.close_width+"px":"auto",backgroundColor:window.PUM_Admin.utils.convert_hex(t.close_background_color,t.close_background_opacity),color:t.close_font_color,lineHeight:t.close_line_height+"px",fontSize:t.close_font_size+"px",fontFamily:t.close_font_family,fontWeight:t.close_font_weight,fontStyle:t.close_font_style,borderStyle:t.close_border_style,borderColor:t.close_border_color,borderWidth:t.close_border_width+"px",borderRadius:t.close_border_radius+"px",boxShadow:d+t.close_boxshadow_horizontal+"px "+t.close_boxshadow_vertical+"px "+t.close_boxshadow_blur+"px "+t.close_boxshadow_spread+"px "+window.PUM_Admin.utils.convert_hex(t.close_boxshadow_color,t.close_boxshadow_opacity),textShadow:t.close_textshadow_horizontal+"px "+t.close_textshadow_vertical+"px "+t.close_textshadow_blur+"px "+window.PUM_Admin.utils.convert_hex(t.close_textshadow_color,t.close_textshadow_opacity)}),t.close_text=t.close_text.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),p.html(t.close_text),o=t.close_position_top+(t.close_position_outside?e("#wpadminbar").outerHeight():0),i=t.close_position_left+(t.close_position_outside?e("#adminmenuwrap").outerWidth():0),n=t.close_position_right,r=t.close_position_bottom,t.close_location){case"topleft":p.css({top:o+"px",left:i+"px"});break;case"topcenter":p.css({top:o+"px",left:"50%",transform:"translateX(-50%)"});break;case"topright":p.css({top:o+"px",right:n+"px"});break;case"middleleft":p.css({top:"50%",left:i+"px",transform:"translateY(-50%)"});break;case"middleright":p.css({top:"50%",right:n+"px",transform:"translateY(-50%)"});break;case"bottomleft":p.css({bottom:r+"px",left:i+"px"});break;case"bottomcenter":p.css({bottom:r+"px",left:"50%",transform:"translateX(-50%)"});break;case"bottomright":p.css({bottom:r+"px",right:n+"px"})}e(document).trigger("popmake-admin-retheme",[t]),e(document).trigger("pumRestylePreview",[t])}},e(document).on("change",'select[id$="_font_family"]',function(){var t=e(this).attr("id").replace("_font_family","");PUM_Admin.themeEditor.update_font_options(t)}).on("click",".pum-popup-overlay, .pum-popup-container, .pum-popup-title, .pum-popup-content, .pum-popup-close",function(t){var o=e(this).attr("class");switch(t.preventDefault(),t.stopPropagation(),o){case"pum-popup-overlay":e('a[href="#pum-theme-settings_overlay"]')[0].click();break;case"pum-popup-container":e('a[href="#pum-theme-settings_container"]')[0].click();break;case"pum-popup-title":e('a[href="#pum-theme-settings_title"]')[0].click();break;case"pum-popup-content":e('a[href="#pum-theme-settings_content"]')[0].click();break;case"pum-popup-close":e('a[href="#pum-theme-settings_close"]')[0].click()}e("html, body").animate({scrollTop:e("#pum_theme_settings").offset().top-40+"px"})}).on("change colorchange input focusout",".pum-field select, .pum-field input",function(){PUM_Admin.themeEditor.refresh_preview()}),e(function(){e(this).trigger("pum_init");var t=e("#pum-theme-settings-container"),o=pum_theme_settings_editor.form_args||{},i=pum_theme_settings_editor.current_values||{};t.length&&(t.find(".pum-no-js").hide(),PUM_Admin.forms.render(o,i,t)),PUM_Admin.themeEditor.preview_fixed_scroll(),PUM_Admin.themeEditor.refresh_preview()})})(); dist/assets/mce-buttons.asset.php 0000644 00000000124 15174671772 0013116 0 ustar 00 <?php return array('dependencies' => array(), 'version' => '32f61709dc3f895bad65'); dist/assets/admin-extensions-page.js 0000644 00000000000 15174671772 0013555 0 ustar 00 dist/assets/admin-shortcode-ui.asset.php 0000644 00000000124 15174671772 0014351 0 ustar 00 <?php return array('dependencies' => array(), 'version' => 'bb3127688501ba548ab2'); dist/assets/site.js 0000644 00000171764 15174671772 0010354 0 ustar 00 (()=>{var e={609:()=>{{const e="wpforms",o=window.jQuery;o(document).on("wpformsAjaxSubmitSuccess",".wpforms-ajax-form",function(t,n){const i=o(this),r=i.data("formid"),s=o("form#"+i.attr("id")).index(i)+1;window.PUM.integrations.formSubmission(i,{formProvider:e,formId:r,formInstanceId:s})})}},824:function(e,o,t){!function(){"use strict";function e(e){var o=this.constructor;return this.then(function(t){return o.resolve(e()).then(function(){return t})},function(t){return o.resolve(e()).then(function(){return o.reject(t)})})}var o=setTimeout;function n(e){return Boolean(e&&void 0!==e.length)}function i(){}function r(e){if(!(this instanceof r))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],l(e,this)}function s(e,o){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,r._immediateFn(function(){var t=1===e._state?o.onFulfilled:o.onRejected;if(null!==t){var n;try{n=t(e._value)}catch(e){return void p(o.promise,e)}a(o.promise,n)}else(1===e._state?a:p)(o.promise,e._value)})):e._deferreds.push(o)}function a(e,o){try{if(o===e)throw new TypeError("A promise cannot be resolved with itself.");if(o&&("object"==typeof o||"function"==typeof o)){var t=o.then;if(o instanceof r)return e._state=3,e._value=o,void u(e);if("function"==typeof t)return void l((n=t,i=o,function(){n.apply(i,arguments)}),e)}e._state=1,e._value=o,u(e)}catch(o){p(e,o)}var n,i}function p(e,o){e._state=2,e._value=o,u(e)}function u(e){2===e._state&&0===e._deferreds.length&&r._immediateFn(function(){e._handled||r._unhandledRejectionFn(e._value)});for(var o=0,t=e._deferreds.length;o<t;o++)s(e,e._deferreds[o]);e._deferreds=null}function c(e,o,t){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof o?o:null,this.promise=t}function l(e,o){var t=!1;try{e(function(e){t||(t=!0,a(o,e))},function(e){t||(t=!0,p(o,e))})}catch(e){if(t)return;t=!0,p(o,e)}}r.prototype.catch=function(e){return this.then(null,e)},r.prototype.then=function(e,o){var t=new this.constructor(i);return s(this,new c(e,o,t)),t},r.prototype.finally=e,r.all=function(e){return new r(function(o,t){if(!n(e))return t(new TypeError("Promise.all accepts an array"));var i=Array.prototype.slice.call(e);if(0===i.length)return o([]);var r=i.length;function s(e,n){try{if(n&&("object"==typeof n||"function"==typeof n)){var a=n.then;if("function"==typeof a)return void a.call(n,function(o){s(e,o)},t)}i[e]=n,0===--r&&o(i)}catch(e){t(e)}}for(var a=0;a<i.length;a++)s(a,i[a])})},r.resolve=function(e){return e&&"object"==typeof e&&e.constructor===r?e:new r(function(o){o(e)})},r.reject=function(e){return new r(function(o,t){t(e)})},r.race=function(e){return new r(function(o,t){if(!n(e))return t(new TypeError("Promise.race accepts an array"));for(var i=0,s=e.length;i<s;i++)r.resolve(e[i]).then(o,t)})},r._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){o(e,0)},r._unhandledRejectionFn=function(e){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)};var d=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==t.g)return t.g;throw new Error("unable to locate global object")}();"Promise"in d?d.Promise.prototype.finally||(d.Promise.prototype.finally=e):d.Promise=r}()},999:()=>{!function(e){"use strict";window.PUM=window.PUM||{},window.PUM_URLTracking={init:function(){this.addPopupOpenTracking()},addPopupOpenTracking:function(){var o=this;e(document).on("pumAfterOpen.url_tracking",".pum",function(){var e=window.PUM.getPopup(this),t=e.popmake("getSettings"),n=parseInt(t.id,10);n>0&&o.processPopupLinks(e,n)})},processPopupLinks:function(o,t){var n=this;o.find("a[href]").each(function(){var i=e(this),r=i.attr("href");if(n.isInternalUrl(r)){var s={pid:t};window.PUM&&window.PUM.hooks&&(s=window.PUM.hooks.applyFilters("popupMaker.popup.linkUrlParams",s,o,i));var a=n.appendParamsToUrl(r,s);i.attr("href",a)}})},isInternalUrl:function(e){if(!e||"#"===e||0===e.indexOf("#"))return!1;if(0===e.indexOf("/")&&0!==e.indexOf("//"))return!0;if(0===e.indexOf("//")&&(e=window.location.protocol+e),0===e.indexOf("http"))try{return new URL(e).hostname===window.location.hostname}catch(e){return!1}return!0},appendParamsToUrl:function(e,o){try{var t=new URL(e,window.location.origin);for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&o[n]&&t.searchParams.set(n,o[n]);return t.toString()}catch(t){var i="";for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&o[r]&&(i.length>0&&(i+="&"),i+=encodeURIComponent(r)+"="+encodeURIComponent(o[r]));if(i.length>0){var s=-1!==e.indexOf("?")?"&":"?";return e+s+i}return e}}},e(function(){window.PUM_URLTracking.init()})}(jQuery)},1154:()=>{{const e="bricksbuilder",o=window.jQuery;o(document).on("bricks/form/success",function(t){const n=t.detail.elementId,i=t.detail.formData,r=o('[data-element-id="'+n+'"]');if(!r.length)return;const s=n,a=r.index('[data-element-id^="'+n.replace(/\d+$/,"")+'"]')+1;window.PUM.integrations.formSubmission(r,{formProvider:e,formId:s,formInstanceId:a,extras:{formData:i,elementId:n,bricksEvent:t.detail}})})}},1531:()=>{!function(e,o,t){"use strict";var n=function(o){e.pm_cookie(o.name,!0,o.session?null:o.time,o.path?pum_vars.home_url||"/":null),pum.hooks.doAction("popmake.setCookie",o)};e.extend(e.fn.popmake.methods,{addCookie:function(o){return pum.hooks.doAction("popmake.addCookie",arguments),e.fn.popmake.cookies[o]?e.fn.popmake.cookies[o].apply(this,Array.prototype.slice.call(arguments,1)):(window.console&&console.warn("Cookie type "+o+" does not exist."),this)},setCookie:n,checkCookies:function(o){var n,i=!1;if(o.cookie_name===t||null===o.cookie_name||""===o.cookie_name)return!1;switch(typeof o.cookie_name){case"object":case"array":for(n=0;o.cookie_name.length>n;n+=1)e.pm_cookie(o.cookie_name[n])!==t&&(i=!0);break;case"string":e.pm_cookie(o.cookie_name)!==t&&(i=!0)}return pum.hooks.doAction("popmake.checkCookies",o,i),i}}),e.fn.popmake.cookies=e.fn.popmake.cookies||{},e.extend(e.fn.popmake.cookies,{on_popup_open:function(e){var o=PUM.getPopup(this);o.on("pumAfterOpen",function(){o.popmake("setCookie",e)})},on_popup_close:function(e){var o=PUM.getPopup(this);o.on("pumBeforeClose",function(){o.popmake("setCookie",e)})},on_popup_conversion:function(e){var o=PUM.getPopup(this);o.on("pumConversion",function(){o.popmake("setCookie",e)})},form_submission:function(o){var t=PUM.getPopup(this);o=e.extend({form:"",formInstanceId:"",only_in_popup:!1},o),PUM.hooks.addAction("pum.integration.form.success",function(e,n){o.form.length&&PUM.integrations.checkFormKeyMatches(o.form,o.formInstanceId,n)&&(o.only_in_popup&&n.popup.length&&n.popup.is(t)||!o.only_in_popup)&&t.popmake("setCookie",o)})},manual:function(e){var o=PUM.getPopup(this);o.on("pumSetCookie",function(){o.popmake("setCookie",e)})},form_success:function(e){var o=PUM.getPopup(this);o.on("pumFormSuccess",function(){o.popmake("setCookie",e)})},pum_sub_form_success:function(e){var o=PUM.getPopup(this);o.find("form.pum-sub-form").on("success",function(){o.popmake("setCookie",e)})},pum_sub_form_already_subscribed:function(e){var o=PUM.getPopup(this);o.find("form.pum-sub-form").on("success",function(){o.popmake("setCookie",e)})},ninja_form_success:function(o){return e.fn.popmake.cookies.form_success.apply(this,arguments)},cf7_form_success:function(o){return e.fn.popmake.cookies.form_success.apply(this,arguments)},gforms_form_success:function(o){return e.fn.popmake.cookies.form_success.apply(this,arguments)}}),e(o).on("pumInit",".pum",function(){var e,o=PUM.getPopup(this),t=o.popmake("getSettings").cookies||[],n=null;if(t.length)for(e=0;t.length>e;e+=1)n=t[e],o.popmake("addCookie",n.event,n.settings)}),e(function(){var o=e(".pum-cookie");o.each(function(){var t=e(this),i=o.index(t),r=t.data("cookie-args");t.data("only-onscreen")?t.isInViewport()&&t.is(":visible")?n(r):e(window).on("scroll.pum-cookie-"+i,e.fn.popmake.utilities.throttle(function(o){t.isInViewport()&&t.is(":visible")&&(n(r),e(window).off("scroll.pum-cookie-"+i))},100)):n(r)})})}(jQuery,document)},1632:()=>{!function(e){"use strict";e.fn.popmake.last_open_trigger=null,e.fn.popmake.last_close_trigger=null,e.fn.popmake.conversion_trigger=null;var o=!(void 0===pum_vars.analytics_api||!pum_vars.analytics_api);window.PUM_Analytics={beacon:function(t,n){var i=o?pum_vars.analytics_api:pum_vars.ajaxurl,r={route:window.pum.hooks.applyFilters("pum.analyticsBeaconRoute","/"+pum_vars.analytics_route+"/"),data:window.pum.hooks.applyFilters("pum.AnalyticsBeaconData",e.extend(!0,{event:"open",pid:null,_cache:+new Date},t)),callback:"function"==typeof n?n:function(){}};if(o?i+=r.route:r.data.action="pum_analytics",i){if("sendBeacon"in navigator)try{var s=new FormData;for(var a in r.data)if(Object.prototype.hasOwnProperty.call(r.data,a)){var p=r.data[a];"object"==typeof p&&null!==p&&(p=JSON.stringify(p)),s.append(a,p)}return void(navigator.sendBeacon(i,s)&&r.callback())}catch(e){console.warn("sendBeacon failed, falling back to image beacon:",e)}var u=new Image;e(u).on("error success load done",r.callback),u.src=i+"?"+e.param(r.data)}}},pum_vars.analytics_enabled&&(e(document).on("pumAfterOpen.core_analytics",".pum",function(){var o=window.PUM.getPopup(this),t={pid:parseInt(o.popmake("getSettings").id,10)||null};t.pid>0&&!e("body").hasClass("single-popup")&&window.PUM_Analytics.beacon(t)}),e(function(){window.PUM.coreFormAnalyticsHandler=function(o,t){if(!1!==t.ajax&&0!==t.popup.length){var n={pid:parseInt(t.popup.popmake("getSettings").id,10)||null,event:"conversion"};n.pid>0&&!e("body").hasClass("single-popup")&&window.PUM_Analytics.beacon(n)}},window.PUM.hooks.addAction("pum.integration.form.success",window.PUM.coreFormAnalyticsHandler)}))}(jQuery)},1868:()=>{var e;!function(o,t){"use strict";var n,i,r="a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]",s=".pum:not(.pum-accessibility-disabled)";e={forceFocus:function(o){i&&i.length&&!i[0].contains(o.target)&&(o.stopPropagation(),e.setFocusToFirstItem())},trapTabKey:function(e){if(9===e.keyCode){var t=i.find(".pum-container *").filter(r).filter(":visible"),n=o(":focus"),s=t.length,a=t.index(n);e.shiftKey?0===a&&(t.get(s-1).focus(),e.preventDefault()):a===s-1&&(t.get(0).focus(),e.preventDefault())}},setFocusToFirstItem:function(){i.find(".pum-container *").filter(r).filter(":visible").first().trigger("focus")},initiateFocusLock:function(){var r=PUM.getPopup(this),s=o(":focus");r.has(s).length||(n=s),i=r.on("keydown.pum_accessibility",e.trapTabKey),o(t).one("focusin.pum_accessibility",e.forceFocus),e.setFocusToFirstItem()}},o(t).on("pumInit",s,function(){PUM.getPopup(this).find("[tabindex]").each(function(){var e=o(this);e.data("tabindex",e.attr("tabindex")).prop("tabindex","0")})}).on("pumBeforeOpen",s,function(){}).on("pumAfterOpen",s,e.initiateFocusLock).on("pumAfterOpen",s,function(){var e=PUM.getPopup(this);i=e.attr("aria-modal","true")}).on("pumBeforeClose",s,function(){}).on("pumAfterClose",s,function(){PUM.getPopup(this).off("keydown.pum_accessibility").attr("aria-modal","false"),void 0!==n&&n.length&&n.trigger("focus"),i=null,o(t).off("focusin.pum_accessibility")}).on("pumSetupClose",s,function(){}).on("pumOpenPrevented",s,function(){}).on("pumClosePrevented",s,function(){}).on("pumBeforeReposition",s,function(){})}(jQuery,document)},1935:()=>{!function(e,o){"use strict";window.PUM.getLastOpenTrigger=function(){return e.fn.popmake.last_open_trigger},window.PUM.setLastOpenTrigger=o=>{e.fn.popmake.last_open_trigger=o},e.extend(e.fn.popmake.methods,{addTrigger:function(n){return function(){if(Object.keys(t).length)return t;t=window.PUM.hooks.applyFilters("popupMaker.triggers",{auto_open:function(o){var t=PUM.getPopup(this);setTimeout(function(){t.popmake("state","isOpen")||!t.popmake("checkCookies",o)&&t.popmake("checkConditions")&&(e.fn.popmake.last_open_trigger="Auto Open - Delay: "+o.delay,t.popmake("open"))},o.delay)},click_open:function(t){var n,i=PUM.getPopup(this),r=i.popmake("getSettings"),s=[".popmake-"+r.id,".popmake-"+decodeURIComponent(r.slug),'a[href$="#popmake-'+r.id+'"]'];t.extra_selectors&&""!==t.extra_selectors&&s.push(t.extra_selectors),n=(s=pum.hooks.applyFilters("pum.trigger.click_open.selectors",s,t,i)).join(", "),e(n).addClass("pum-trigger").css({cursor:"pointer"}),e(o).on("click.pumTrigger",n,function(o){var n=e(this),r=t.do_default||!1;i.has(n).length>0||i.popmake("state","isOpen")||!i.popmake("checkCookies",t)&&i.popmake("checkConditions")&&(n.data("do-default")?r=n.data("do-default"):(n.hasClass("do-default")||n.hasClass("popmake-do-default")||n.hasClass("pum-do-default"))&&(r=!0),o.ctrlKey||pum.hooks.applyFilters("pum.trigger.click_open.do_default",r,i,n)||(o.preventDefault(),o.stopPropagation()),e.fn.popmake.last_open_trigger=n,i.popmake("open"))})},form_submission:function(o){var t=PUM.getPopup(this);o=e.extend({form:"",formInstanceId:"",delay:0},o);PUM.hooks.addAction("pum.integration.form.success",function(n,i){o.form.length&&PUM.integrations.checkFormKeyMatches(o.form,o.formInstanceId,i)&&setTimeout(function(){t.popmake("state","isOpen")||!t.popmake("checkCookies",o)&&t.popmake("checkConditions")&&(e.fn.popmake.last_open_trigger="Form Submission",t.popmake("open"))},o.delay)})},admin_debug:function(){PUM.getPopup(this).popmake("open")}}),t=e.extend(t,e.fn.popmake.triggers),e.fn.popmake.triggers=t}(),e.fn.popmake.triggers[n]?e.fn.popmake.triggers[n].apply(this,Array.prototype.slice.call(arguments,1)):(window.console&&console.warn("Trigger type "+n+" does not exist."),this)}});let t={};e(o).on("pumInit",".pum",function(){var e,o=PUM.getPopup(this),t=o.popmake("getSettings").triggers||[],n=null;if(t.length)for(e=0;t.length>e;e+=1)n=t[e],o.popmake("addTrigger",n.type,n.settings)}),e.fn.popmake=e.fn.popmake||{},e.fn.popmake.triggers=e.fn.popmake.triggers||{}}(jQuery,document)},2900:()=>{{const e="ninjaforms",o=window.jQuery;let t=!1;const n=()=>{"undefined"!=typeof Marionette&&"undefined"!=typeof nfRadio&&!1===t&&(t=Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("forms"),"submit:response",this.popupMaker)},popupMaker:function(t,n,i,r){const s=o("#nf-form-"+r+"-cont"),[a,p=null]=r.split("_"),u={};t.errors&&t.errors.length||(window.PUM.integrations.formSubmission(s,{formProvider:e,formId:a,formInstanceId:p,extras:{response:t}}),t.data&&t.data.actions&&(u.openpopup=void 0!==t.data.actions.openpopup,u.openpopup_id=u.openpopup?parseInt(t.data.actions.openpopup):0,u.closepopup=void 0!==t.data.actions.closepopup,u.closedelay=u.closepopup?parseInt(t.data.actions.closepopup):0,u.closepopup&&t.data.actions.closedelay&&(u.closedelay=parseInt(t.data.actions.closedelay))),window.PUM.forms.success(s,u))}}),new t)};o(n)}},2927:()=>{var e,o=!1;!function(t,n){if(n=window.pum_vars||{debug_mode:!1},(o=void 0!==n.debug_mode&&n.debug_mode)||-1===window.location.href.indexOf("pum_debug")||(o=!0),o){var i=!1,r=!1,s=window.pum_debug_vars||{debug_mode_enabled:"Popup Maker: Debug Mode Enabled",debug_started_at:"Debug started at:",debug_more_info:"For more information on how to use this information visit https://wppopupmaker.com/docs/?utm_medium=js-debug-info&utm_campaign=contextual-help&utm_source=browser-console&utm_content=more-info",global_info:"Global Information",localized_vars:"Localized variables",popups_initializing:"Popups Initializing",popups_initialized:"Popups Initialized",single_popup_label:"Popup: #",theme_id:"Theme ID: ",label_method_call:"Method Call:",label_method_args:"Method Arguments:",label_popup_settings:"Settings",label_triggers:"Triggers",label_cookies:"Cookies",label_delay:"Delay:",label_conditions:"Conditions",label_cookie:"Cookie:",label_settings:"Settings:",label_selector:"Selector:",label_mobile_disabled:"Mobile Disabled:",label_tablet_disabled:"Tablet Disabled:",label_event:"Event: %s",triggers:[],cookies:[]};e={odump:function(e){return t.extend({},e)},logo:function(){console.log(" -------------------------------------------------------------\n| ____ __ __ _ |\n| | _ \\ ___ _ __ _ _ _ __ | \\/ | __ _| | _____ _ __ |\n| | |_) / _ \\| '_ \\| | | | '_ \\ | |\\/| |/ _` | |/ / _ \\ '__| |\n| | __/ (_) | |_) | |_| | |_) | | | | | (_| | < __/ | |\n| |_| \\___/| .__/ \\__,_| .__/ |_| |_|\\__,_|_|\\_\\___|_| |\n| |_| |_| |\n -------------------------------------------------------------")},initialize:function(){i=!0,e.logo(),console.log("init popups ✔"),console.debug(s.debug_mode_enabled),console.log(s.debug_started_at,new Date),console.info(s.debug_more_info),e.divider(s.global_info),console.groupCollapsed(s.localized_vars),console.log("pum_vars:",e.odump(n)),t(document).trigger("pum_debug_initialize_localized_vars"),console.groupEnd(),t(document).trigger("pum_debug_initialize")},popup_event_header:function(o){var t=o.popmake("getSettings");r!==t.id&&(r=t.id,e.divider(s.single_popup_label+t.id+" - "+t.slug))},divider:function(e){try{var o=62,t=0,n=" "+new Array(63).join("-")+" ",i=e;"string"==typeof e?(e.length>62&&(i=i.substring(0,62)),o=62-i.length,(t={left:Math.floor(o/2),right:Math.floor(o/2)}).left+t.right===o-1&&t.right++,t.left=new Array(t.left+1).join(" "),t.right=new Array(t.right+1).join(" "),console.log(n+"\n|"+t.left+i+t.right+"|\n"+n)):console.log(n)}catch(e){console.error("Got a '"+e+"' when printing out the heading divider to the console.")}},click_trigger:function(e,o){var t,n=e.popmake("getSettings"),i=[".popmake-"+n.id,".popmake-"+decodeURIComponent(n.slug),'a[href$="#popmake-'+n.id+'"]'];o.extra_selectors&&""!==o.extra_selectors&&i.push(o.extra_selectors),t=(i=pum.hooks.applyFilters("pum.trigger.click_open.selectors",i,o,e)).join(", "),console.log(s.label_selector,t)},trigger:function(o,n){if("string"==typeof s.triggers[n.type]){switch(console.groupCollapsed(s.triggers[n.type]),n.type){case"auto_open":console.log(s.label_delay,n.settings.delay),console.log(s.label_cookie,n.settings.cookie_name);break;case"click_open":e.click_trigger(o,n.settings),console.log(s.label_cookie,n.settings.cookie_name)}t(document).trigger("pum_debug_render_trigger",o,n),console.groupEnd()}},cookie:function(o,n){if("string"==typeof s.cookies[n.event]){switch(console.groupCollapsed(s.cookies[n.event]),n.event){case"on_popup_open":case"on_popup_close":case"manual":case"ninja_form_success":console.log(s.label_cookie,e.odump(n.settings))}t(document).trigger("pum_debug_render_trigger",o,n),console.groupEnd()}}},t(document).on("pumInit",".pum",function(){var o=PUM.getPopup(t(this)),n=o.popmake("getSettings"),r=n.triggers||[],a=n.cookies||[],p=n.conditions||[],u=0;if(i||(e.initialize(),e.divider(s.popups_initializing)),console.groupCollapsed(s.single_popup_label+n.id+" - "+n.slug),console.log(s.theme_id,n.theme_id),r.length){for(console.groupCollapsed(s.label_triggers),u=0;r.length>u;u++)e.trigger(o,r[u]);console.groupEnd()}if(a.length){for(console.groupCollapsed(s.label_cookies),u=0;a.length>u;u+=1)e.cookie(o,a[u]);console.groupEnd()}p.length&&(console.groupCollapsed(s.label_conditions),console.log(p),console.groupEnd()),console.groupCollapsed(s.label_popup_settings),console.log(s.label_mobile_disabled,!1!==n.disable_on_mobile),console.log(s.label_tablet_disabled,!1!==n.disable_on_tablet),console.log(s.label_display_settings,e.odump(n)),o.trigger("pum_debug_popup_settings"),console.groupEnd(),console.groupEnd()}).on("pumBeforeOpen",".pum",function(){var o=PUM.getPopup(t(this)),n=t.fn.popmake.last_open_trigger;e.popup_event_header(o),console.groupCollapsed(s.label_event.replace("%s","pumBeforeOpen"));try{n=(n=t(t.fn.popmake.last_open_trigger)).length?n:t.fn.popmake.last_open_trigger.toString()}catch(e){n=""}finally{console.log(s.label_triggers,[n])}console.groupEnd()}).on("pumOpenPrevented",".pum",function(){var o=PUM.getPopup(t(this));e.popup_event_header(o),console.groupCollapsed(s.label_event.replace("%s","pumOpenPrevented")),console.groupEnd()}).on("pumAfterOpen",".pum",function(){var o=PUM.getPopup(t(this));e.popup_event_header(o),console.groupCollapsed(s.label_event.replace("%s","pumAfterOpen")),console.groupEnd()}).on("pumSetupClose",".pum",function(){var o=PUM.getPopup(t(this));e.popup_event_header(o),console.groupCollapsed(s.label_event.replace("%s","pumSetupClose")),console.groupEnd()}).on("pumClosePrevented",".pum",function(){var o=PUM.getPopup(t(this));e.popup_event_header(o),console.groupCollapsed(s.label_event.replace("%s","pumClosePrevented")),console.groupEnd()}).on("pumBeforeClose",".pum",function(){var o=PUM.getPopup(t(this));e.popup_event_header(o),console.groupCollapsed(s.label_event.replace("%s","pumBeforeClose")),console.groupEnd()}).on("pumAfterClose",".pum",function(){var o=PUM.getPopup(t(this));e.popup_event_header(o),console.groupCollapsed(s.label_event.replace("%s","pumAfterClose")),console.groupEnd()}).on("pumBeforeReposition",".pum",function(){var o=PUM.getPopup(t(this));e.popup_event_header(o),console.groupCollapsed(s.label_event.replace("%s","pumBeforeReposition")),console.groupEnd()}).on("pumAfterReposition",".pum",function(){var o=PUM.getPopup(t(this));e.popup_event_header(o),console.groupCollapsed(s.label_event.replace("%s","pumAfterReposition")),console.groupEnd()}).on("pumCheckingCondition",".pum",function(o,n,i){var r=PUM.getPopup(t(this));e.popup_event_header(r),console.groupCollapsed(s.label_event.replace("%s","pumCheckingCondition")),console.log((i.not_operand?"(!) ":"")+i.target+": "+n,i),console.groupEnd()})}}(jQuery)},3234:()=>{{const e="fluentforms",o=window.jQuery;o(document).on("fluentform_submission_success",function(t,n){const i=n.form,r=n.config.id,s=i.data("form_instance");console.log(r,n),window.PUM.integrations.formSubmission(o(i),{formProvider:e,formId:r,formInstanceId:s})})}},3524:()=>{!function(e){"use strict";e.fn.popmake.defaults={id:null,slug:"",theme_id:null,cookies:[],triggers:[],conditions:[],mobile_disabled:null,tablet_disabled:null,custom_height_auto:!1,scrollable_content:!1,position_from_trigger:!1,position_fixed:!1,overlay_disabled:!1,stackable:!1,disable_reposition:!1,close_on_overlay_click:!1,close_on_form_submission:!1,close_on_form_submission_delay:0,close_on_esc_press:!1,close_on_f4_press:!1,disable_on_mobile:!1,disable_on_tablet:!1,size:"medium",responsive_min_width:"0%",responsive_max_width:"100%",custom_width:"640px",custom_height:"380px",animation_type:"fade",animation_speed:"350",animation_origin:"center top",location:"center top",position_top:"100",position_bottom:"0",position_left:"0",position_right:"0",zindex:"1999999999",close_button_delay:"0",meta:{display:{stackable:!1,overlay_disabled:!1,size:"medium",responsive_max_width:"100",responsive_max_width_unit:"%",responsive_min_width:"0",responsive_min_width_unit:"%",custom_width:"640",custom_width_unit:"px",custom_height:"380",custom_height_unit:"px",custom_height_auto:!1,location:"center top",position_top:100,position_left:0,position_bottom:0,position_right:0,position_fixed:!1,animation_type:"fade",animation_speed:350,animation_origin:"center top",scrollable_content:!1,disable_reposition:!1,position_from_trigger:!1,overlay_zindex:!1,zindex:"1999999999"},close:{overlay_click:!1,esc_press:!1,f4_press:!1,text:"",button_delay:0},click_open:[]},container:{active_class:"active",attr:{class:"popmake"}},title:{attr:{class:"popmake-title"}},content:{attr:{class:"popmake-content"}},close:{close_speed:0,attr:{class:"popmake-close"}},overlay:{attr:{id:"popmake-overlay",class:"popmake-overlay"}}}}(jQuery,document)},3858:()=>{{const e="wsforms",o=window.jQuery;o(document).on("wsf-submit-success wsf-save-success",function(t,n,i,r,s,a){window.PUM.integrations.formSubmission(o(s),{formProvider:e,formId:i,formInstanceId:r})})}},3880:()=>{!function(e,o){"use strict";e.fn.popmake.version=1.21,e.fn.popmake.last_open_popup=null,window.ajaxurl=window.pum_vars.ajaxurl,window.PUM.init=function(){e(o).trigger("pumBeforeInit"),e(".pum").popmake(),e(o).trigger("pumInitialized"),"object"==typeof pum_vars.form_success&&(pum_vars.form_success=e.extend({popup_id:null,settings:{}}),PUM.forms.success(pum_vars.form_success.popup_id,pum_vars.form_success.settings)),PUM.integrations.init()},e(function(){if(PUM.hooks.applyFilters("pum.shouldInit",!0)){var e=PUM.hooks.applyFilters("pum.initHandler",PUM.init),o=PUM.hooks.applyFilters("pum.initPromises",[]);Promise.all(o).then(e)}}),e(".pum").on("pumInit",function(){var o=PUM.getPopup(this),t=PUM.getSetting(o,"id"),n=o.find("form");if(n.length){var i=e("<input>",{type:"hidden",name:"pum_form_popup_id",value:t});n.append(i)}}).on("pumAfterClose",window.PUM.actions.stopIframeVideosPlaying),e(".pum .pum-cta a, .pum a.pum-cta").on("click",function(){PUM.getPopup(this).trigger("pumConversion")})}(jQuery)},4102:()=>{{const e="gravityforms",o=window.jQuery,t={};o(document).on("gform_confirmation_loaded",function(n,i){const r=o("#gform_confirmation_wrapper_"+i+",#gforms_confirmation_message_"+i)[0];window.PUM.integrations.formSubmission(r,{formProvider:e,formId:i}),window.PUM.forms.success(r,t[i]||{})}),o(function(){o(".gform_wrapper > form").each(function(){const e=o(this),n=e.attr("id").replace("gform_",""),i=e.find("input.gforms-pum"),r=!!i.length&&JSON.parse(i.val());r&&"object"==typeof r&&("object"==typeof r&&void 0!==r.closedelay&&r.closedelay.toString().length>=3&&(r.closedelay=r.closedelay/1e3),t[n]=r)})})}},4885:()=>{!function(e,o,t){"use strict";function n(e){var o=e.popmake("getContainer"),t={display:"",opacity:""};e.css(t),o.css(t)}function i(e){return e.overlay_disabled?0:e.animation_speed/2}function r(e){return e.overlay_disabled?parseInt(e.animation_speed):e.animation_speed/2}e.fn.popmake.methods.animate_overlay=function(o,t,n){return PUM.getPopup(this).popmake("getSettings").overlay_disabled?e.fn.popmake.overlay_animations.none.apply(this,[t,n]):e.fn.popmake.overlay_animations[o]?e.fn.popmake.overlay_animations[o].apply(this,[t,n]):(window.console&&console.warn("Animation style "+o+" does not exist."),this)},e.fn.popmake.methods.animate=function(o){return e.fn.popmake.animations[o]?e.fn.popmake.animations[o].apply(this,Array.prototype.slice.call(arguments,1)):(window.console&&console.warn("Animation style "+o+" does not exist."),this)},e.fn.popmake.animations={none:function(e){var o=PUM.getPopup(this);return o.popmake("getContainer").css({opacity:1,display:"block"}),o.popmake("animate_overlay","none",0,function(){e!==t&&e()}),this},slide:function(e){var o=PUM.getPopup(this),s=o.popmake("getContainer"),a=o.popmake("getSettings"),p=o.popmake("animation_origin",a.animation_origin);return n(o),s.position(p),o.popmake("animate_overlay","fade",i(a),function(){s.popmake("reposition",function(o){s.animate(o,r(a),"swing",function(){e!==t&&e()})})}),this},fade:function(e){var o=PUM.getPopup(this),s=o.popmake("getContainer"),a=o.popmake("getSettings");return n(o),o.css({opacity:0,display:"block"}),s.css({opacity:0,display:"block"}),o.popmake("animate_overlay","fade",i(a),function(){s.animate({opacity:1},r(a),"swing",function(){e!==t&&e()})}),this},fadeAndSlide:function(e){var o=PUM.getPopup(this),s=o.popmake("getContainer"),a=o.popmake("getSettings"),p=o.popmake("animation_origin",a.animation_origin);return n(o),o.css({display:"block",opacity:0}),s.css({display:"block",opacity:0}),s.position(p),o.popmake("animate_overlay","fade",i(a),function(){s.popmake("reposition",function(o){o.opacity=1,s.animate(o,r(a),"swing",function(){e!==t&&e()})})}),this},grow:function(o){return e.fn.popmake.animations.fade.apply(this,arguments)},growAndSlide:function(o){return e.fn.popmake.animations.fadeAndSlide.apply(this,arguments)}},e.fn.popmake.overlay_animations={none:function(e,o){PUM.getPopup(this).css({opacity:1,display:"block"}),"function"==typeof o&&o()},fade:function(e,o){PUM.getPopup(this).css({opacity:0,display:"block"}).animate({opacity:1},e,"swing",o)},slide:function(e,o){PUM.getPopup(this).slideDown(e,o)}}}(jQuery,document)},4907:()=>{!function(e){"use strict";void 0===e.fn.on&&(e.fn.on=function(e,o,t){return this.delegate(o,e,t)}),void 0===e.fn.off&&(e.fn.off=function(e,o,t){return this.undelegate(o,e,t)}),void 0===e.fn.bindFirst&&(e.fn.bindFirst=function(o,t){var n,i,r=e(this);r.unbind(o,t),r.bind(o,t),(i=(n=e._data(r[0]).events)[o]).unshift(i.pop()),n[o]=i}),void 0===e.fn.outerHtml&&(e.fn.outerHtml=function(){var o=e(this).clone();return e("<div/>").append(o).html()}),void 0===e.fn.isInViewport&&(e.fn.isInViewport=function(){var o=e(this).offset().top,t=o+e(this).outerHeight(),n=e(window).scrollTop(),i=n+e(window).height();return t>n&&o<i}),void 0===Date.now&&(Date.now=function(){return(new Date).getTime()})}(jQuery)},5235:()=>{!function(e){"use strict";var o={openpopup:!1,openpopup_id:0,closepopup:!1,closedelay:0,redirect_enabled:!1,redirect:"",cookie:!1};window.PUM=window.PUM||{},window.PUM.forms=window.PUM.forms||{},e.extend(window.PUM.forms,{form:{validation:{errors:[]},responseHandler:function(e,o){var t=o.data;o.success?window.PUM.forms.form.success(e,t):window.PUM.forms.form.errors(e,t)},display_errors:function(e,o){window.PUM.forms.messages.add(e,o||this.validation.errors,"error")},beforeAjax:function(o){var t=o.find('[type="submit"]'),n=t.find(".pum-form__loader");window.PUM.forms.messages.clear_all(o),n.length||(n=e('<span class="pum-form__loader"></span>'),""!==t.attr("value")?n.insertAfter(t):t.append(n)),t.prop("disabled",!0),n.show(),o.addClass("pum-form--loading").removeClass("pum-form--errors")},afterAjax:function(e){var o=e.find('[type="submit"]'),t=o.find(".pum-form__loader");o.prop("disabled",!1),t.hide(),e.removeClass("pum-form--loading")},success:function(e,o){void 0!==o.message&&""!==o.message&&window.PUM.forms.messages.add(e,[{message:o.message}]),e.trigger("success",[o]),!e.data("noredirect")&&void 0!==e.data("redirect_enabled")&&o.redirect&&(""!==o.redirect?window.location=o.redirect:window.location.reload(!0))},errors:function(e,o){void 0!==o.errors&&o.errors.length&&(console.log(o.errors),window.PUM.forms.form.display_errors(e,o.errors),window.PUM.forms.messages.scroll_to_first(e),e.addClass("pum-form--errors").trigger("errors",[o]))},submit:function(o){var t=e(this),n=t.pumSerializeObject();o.preventDefault(),o.stopPropagation(),window.PUM.forms.form.beforeAjax(t),e.ajax({type:"POST",dataType:"json",url:pum_vars.ajaxurl,data:{action:"pum_form",values:n}}).always(function(){window.PUM.forms.form.afterAjax(t)}).done(function(e){window.PUM.forms.form.responseHandler(t,e)}).error(function(e,o,t){console.log("Error: type of "+o+" with message of "+t)})}},messages:{add:function(o,t,n){var i=o.find(".pum-form__messages"),r=0;if(n=n||"success",t=t||[],!i.length)switch(i=e('<div class="pum-form__messages">').hide(),pum_vars.message_position){case"bottom":o.append(i.addClass("pum-form__messages--bottom"));break;case"top":o.prepend(i.addClass("pum-form__messages--top"))}if(["bottom","top"].indexOf(pum_vars.message_position)>=0)for(;t.length>r;r++)this.add_message(i,t[r].message,n);else for(;t.length>r;r++)void 0!==t[r].field?this.add_field_error(o,t[r]):this.add_message(i,t[r].message,n);i.is(":hidden")&&e(".pum-form__message",i).length&&i.slideDown()},add_message:function(o,t,n){var i=e('<p class="pum-form__message">').html(t);n=n||"success",i.addClass("pum-form__message--"+n),o.append(i),o.is(":visible")&&i.hide().slideDown()},add_field_error:function(o,t){var n=e('[name="'+t.field+'"]',o).parents(".pum-form__field").addClass("pum-form__field--error");this.add_message(n,t.message,"error")},clear_all:function(o,t){var n=o.find(".pum-form__messages"),i=n.find(".pum-form__message"),r=o.find(".pum-form__field.pum-form__field--error");t=t||!1,n.length&&i.slideUp("fast",function(){e(this).remove(),t&&n.hide()}),r.length&&r.removeClass("pum-form__field--error").find("p.pum-form__message").remove()},scroll_to_first:function(o){window.PUM.utilities.scrollTo(e(".pum-form__field.pum-form__field--error",o).eq(0))}},success:function(t,n){if(n=e.extend({},o,n)){var i=PUM.getPopup(t),r={},s=function(){n.openpopup&&PUM.getPopup(n.openpopup_id).length?PUM.open(n.openpopup_id):n.redirect_enabled&&(""!==n.redirect?window.location=n.redirect:window.location.reload(!0))};i.length&&(i.trigger("pumFormSuccess"),n.cookie&&(r=e.extend({name:"pum-"+PUM.getSetting(i,"id"),expires:"+1 year"},"object"==typeof n.cookie?n.cookie:{}),PUM.setCookie(i,r))),i.length&&n.closepopup?setTimeout(function(){i.popmake("close",s)},1e3*parseInt(n.closedelay)):s()}}})}(jQuery)},5288:()=>{!function(e){"use strict";e.PUM=e.PUM||{},e.PUM.hooks=e.PUM.hooks||new function(){var e=Array.prototype.slice,o={removeFilter:function(e,t){return"string"==typeof e&&n("filters",e,t),o},applyFilters:function(){var t=e.call(arguments),n=t.shift();return"string"==typeof n?r("filters",n,t):o},addFilter:function(e,t,n,r){return"string"==typeof e&&"function"==typeof t&&i("filters",e,t,n=parseInt(n||10,10),r),o},removeAction:function(e,t){return"string"==typeof e&&n("actions",e,t),o},doAction:function(){var t=e.call(arguments),n=t.shift();return"string"==typeof n&&r("actions",n,t),o},addAction:function(e,t,n,r){return"string"==typeof e&&"function"==typeof t&&i("actions",e,t,n=parseInt(n||10,10),r),o}},t={actions:{},filters:{}};function n(e,o,n,i){var r,s,a;if(t[e][o])if(n)if(r=t[e][o],i)for(a=r.length;a--;)(s=r[a]).callback===n&&s.context===i&&r.splice(a,1);else for(a=r.length;a--;)r[a].callback===n&&r.splice(a,1);else t[e][o]=[]}function i(e,o,n,i,r){var s={callback:n,priority:i,context:r},a=t[e][o];a?(a.push(s),a=function(e){for(var o,t,n,i=1,r=e.length;i<r;i++){for(o=e[i],t=i;(n=e[t-1])&&n.priority>o.priority;)e[t]=e[t-1],--t;e[t]=o}return e}(a)):a=[s],t[e][o]=a}function r(e,o,n){var i,r,s=t[e][o];if(!s)return"filters"===e&&n[0];if(r=s.length,"filters"===e)for(i=0;i<r;i++)n[0]=s[i].callback.apply(s[i].context,n);else for(i=0;i<r;i++)s[i].callback.apply(s[i].context,n);return"filters"!==e||n[0]}return o},e.pum=e.PUM}(window)},5530:()=>{{const e="calderaforms";let o;const t=(e,t)=>o=t.$form;(0,window.jQuery)(document).on("cf.ajax.request",t).on("cf.submission",function(t,n){if("complete"===n.data.status||"success"===n.data.status){const[t,n=null]=o.attr("id").split("_");window.PUM.integrations.formSubmission(o,{formProvider:e,formId:t,formInstanceId:n,extras:{state:window.cfstate.hasOwnProperty(t)?window.cfstate[t]:null}})}})}},5980:()=>{!function(e,o){"use strict";e(o).on("pumInit",".pum",function(){e(this).popmake("getContainer").trigger("popmakeInit")}).on("pumBeforeOpen",".pum",function(){e(this).popmake("getContainer").addClass("active").trigger("popmakeBeforeOpen")}).on("pumAfterOpen",".pum",function(){e(this).popmake("getContainer").trigger("popmakeAfterOpen")}).on("pumBeforeClose",".pum",function(){e(this).popmake("getContainer").trigger("popmakeBeforeClose")}).on("pumAfterClose",".pum",function(){e(this).popmake("getContainer").removeClass("active").trigger("popmakeAfterClose")}).on("pumSetupClose",".pum",function(){e(this).popmake("getContainer").trigger("popmakeSetupClose")}).on("pumOpenPrevented",".pum",function(){e(this).popmake("getContainer").removeClass("preventOpen").removeClass("active")}).on("pumClosePrevented",".pum",function(){e(this).popmake("getContainer").removeClass("preventClose")}).on("pumBeforeReposition",".pum",function(){e(this).popmake("getContainer").trigger("popmakeBeforeReposition")})}(jQuery,document)},6068:()=>{!function(e){"use strict";e.fn.popmake.callbacks={reposition_using:function(o){e(this).css(o)}}}(jQuery,document)},7460:()=>{!function(e){"use strict";var o,t=function(){return void 0===o&&(o="undefined"!=typeof MobileDetect?new MobileDetect(window.navigator.userAgent):{phone:function(){return!1},tablet:function(){return!1}}),o};e.extend(e.fn.popmake.methods,{checkConditions:function(){var o,n,i,r,s,a=PUM.getPopup(this),p=a.popmake("getSettings"),u=!0;if(p.disable_on_mobile&&t().phone())return!1;if(p.disable_on_tablet&&t().tablet())return!1;if(p.conditions.length)for(n=0;p.conditions.length>n;n++){for(r=p.conditions[n],o=!1,i=0;r.length>i;i++)if("boolean"!=typeof r[i]){if((!(s=e.extend({},{not_operand:!1},r[i])).not_operand&&a.popmake("checkCondition",s)||s.not_operand&&!a.popmake("checkCondition",s))&&(o=!0),e(this).trigger("pumCheckingCondition",[o,s]),o)break}else if(r[i]){o=!0;break}o||(u=!1)}return u},checkCondition:function(o){var t=o.target||null,n=o.settings||o;if(!t)return console.warn("Condition type not set."),!1;const r=i(t);return r?r.apply(this,[n,o]):e.fn.popmake.conditions[t]?e.fn.popmake.conditions[t].apply(this,[o]):window.console?(console.warn("Condition "+t+" does not exist."),!0):void 0}});let n={};const i=e=>{var o;return null!==(o=(Object.keys(n).length||(n=window.PUM.hooks.applyFilters("popupMaker.conditionCallbacks",{})),n)[e])&&void 0!==o&&o};e.fn.popmake=e.fn.popmake||{},e.fn.popmake.conditions=e.fn.popmake.conditions||{}}(jQuery,document)},7952:()=>{{const e="contactform7",o=window.jQuery;o(document).on("wpcf7mailsent",function(t,n){const i=t.detail.contactFormId,r=o(t.target),s=(t.detail.id||t.detail.unitTag).split("-").pop().replace("o","");window.PUM.integrations.formSubmission(r,{formProvider:e,formId:i,formInstanceId:s,extras:{details:n}});const a=r.find("input.wpcf7-pum"),p=!!a.length&&JSON.parse(a.val());"object"==typeof p&&void 0!==p.closedelay&&p.closedelay.toString().length>=3&&(p.closedelay=p.closedelay/1e3),window.PUM.forms.success(r,p)})}},9156:()=>{!function(e){"use strict";e.extend(e.fn.popmake,{cookie:function(o){function t(n,i,r){var s,a=new Date;if("undefined"!=typeof document){if(arguments.length>1){switch(typeof(r=e.extend({path:pum_vars.home_url},t.defaults,r)).expires){case"number":a.setMilliseconds(a.getMilliseconds()+864e5*r.expires),r.expires=a;break;case"string":a.setTime(1e3*e.fn.popmake.utilities.strtotime("+"+r.expires)),r.expires=a}try{s=JSON.stringify(i),/^[\{\[]/.test(s)&&(i=s)}catch(e){}return i=o.write?o.write(i,n):encodeURIComponent(String(i)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),n=(n=(n=encodeURIComponent(String(n))).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape),document.cookie=[n,"=",i,r.expires?"; expires="+r.expires.toUTCString():"",r.path?"; path="+r.path:"",r.domain?"; domain="+r.domain:"",r.secure?"; secure":""].join("")}n||(s={});for(var p=document.cookie?document.cookie.split("; "):[],u=/(%[0-9A-Z]{2})+/g,c=0;c<p.length;c++){var l=p[c].split("="),d=l.slice(1).join("=");'"'===d.charAt(0)&&(d=d.slice(1,-1));try{var m=l[0].replace(u,decodeURIComponent);if(d=o.read?o.read(d,m):o(d,m)||d.replace(u,decodeURIComponent),this.json)try{d=JSON.parse(d)}catch(e){}if(n===m){s=d;break}n||(s[m]=d)}catch(e){}}return s}}return void 0===o&&(o=function(){}),t.set=t,t.get=function(e){return t.call(t,e)},t.getJSON=function(){return t.apply({json:!0},[].slice.call(arguments))},t.defaults={domain:pum_vars.cookie_domain?pum_vars.cookie_domain:""},t.remove=function(o,n){t(o,"",e.extend({},n,{expires:-1,path:""})),t(o,"",e.extend({},n,{expires:-1}))},t.process=function(e,o,n,i){return arguments.length>3&&"object"!=typeof arguments[2]&&void 0!==o?t.apply(t,[e,o,{expires:n,path:i}]):t.apply(t,[].slice.call(arguments,[0,2]))},t.withConverter=e.fn.popmake.cookie,t}()}),window.pm_cookie=e.pm_cookie=e.fn.popmake.cookie.process,window.pm_cookie_json=e.pm_cookie_json=e.fn.popmake.cookie.getJSON,window.pm_remove_cookie=e.pm_remove_cookie=e.fn.popmake.cookie.remove}(jQuery)},9381:()=>{!function(e){"use strict";function o(e){return e}window.PUM=window.PUM||{},window.PUM.integrations=window.PUM.integrations||{},e.extend(window.PUM.integrations,{init:function(){if(void 0!==pum_vars.form_submission){var e=pum_vars.form_submission;e.ajax=!1,e.popup=e.popupId>0?PUM.getPopup(e.popupId):null,PUM.integrations.formSubmission(null,e)}},formSubmission:function(t,n){var i=PUM.getPopup(t);(n=e.extend({popup:i,formProvider:null,formId:null,formInstanceId:null,formKey:null,ajax:!0,tracked:!1},n)).formKey=n.formKey||[n.formProvider,n.formId,n.formInstanceId].filter(o).join("_"),n.popup&&n.popup.length&&(n.popupId=PUM.getSetting(i,"id"),i.trigger("pumConversion")),window.PUM.hooks.doAction("pum.integration.form.success",t,n)},checkFormKeyMatches:function(e,o,t){o=""===o&&o;var n=-1!==["any"===e,"pumsubform"===e&&"pumsubform"===t.formProvider,e===t.formProvider+"_any",!o&&new RegExp("^"+e+"(_[d]*)?").test(t.formKey),!!o&&e+"_"+o===t.formKey].indexOf(!0);return window.PUM.hooks.applyFilters("pum.integration.checkFormKeyMatches",n,{formIdentifier:e,formInstanceId:o,submittedFormArgs:t})}})}(window.jQuery)},9472:()=>{{const e="mc4wp",o=window.jQuery;o(()=>{"undefined"!=typeof mc4wp&&mc4wp.forms.on("success",function(t,n){const i=o(t.element),r=t.id,s=o(".mc4wp-form-"+t.id).index(i)+1;window.PUM.integrations.formSubmission(i,{formProvider:e,formId:r,formInstanceId:s,extras:{form:t,data:n}})})})}},9497:()=>{{const e="formidableforms",o=window.jQuery;o(document).on("frmFormComplete",function(t,n,i){const r=o(n),s=r.find('input[name="form_id"]').val(),a=PUM.getPopup(r.find('input[name="pum_form_popup_id"]').val());window.PUM.integrations.formSubmission(r,{popup:a,formProvider:e,formId:s,extras:{response:i}})})}},9508:()=>{!function(e){"use strict";var o="color,date,datetime,datetime-local,email,hidden,month,number,password,range,search,tel,text,time,url,week".split(","),t="select,textarea".split(","),n=/\[([^\]]*)\]/g;function i(e,o,t){var n=o[0];o.length>1?(e[n]||(e[n]=o[1]?{}:[]),i(e[n],o.slice(1),t)):(n||(n=e.length),e[n]=t)}Array.prototype.indexOf||(Array.prototype.indexOf=function(e){if(null==this)throw new TypeError;var o=Object(this),t=o.length>>>0;if(0===t)return-1;var n=0;if(arguments.length>0&&((n=Number(arguments[1]))!=n?n=0:0!==n&&n!==1/0&&n!==-1/0&&(n=(n>0||-1)*Math.floor(Math.abs(n)))),n>=t)return-1;for(var i=n>=0?n:Math.max(t-Math.abs(n),0);i<t;i++)if(i in o&&o[i]===e)return i;return-1}),window.PUM=window.PUM||{},e.fn.popmake.utilities=window.PUM.utilities={scrollTo:function(o,t){var n=e(o)||e();n.length&&e("html, body").animate({scrollTop:n.offset().top-100},1e3,"swing",function(){var e=n.find(':input:not([type="button"]):not([type="hidden"]):not(button)').eq(0);e.hasClass("wp-editor-area")?tinyMCE.execCommand("mceFocus",!1,e.attr("id")):e.focus(),"function"==typeof t&&t()})},inArray:function(e,o){return!!~o.indexOf(e)},convert_hex:function(e,o){return e=e.replace("#",""),"rgba("+parseInt(e.substring(0,2),16)+","+parseInt(e.substring(2,4),16)+","+parseInt(e.substring(4,6),16)+","+o/100+")"},debounce:function(e,o){var t;return function(){var n=this,i=arguments;window.clearTimeout(t),t=window.setTimeout(function(){e.apply(n,i)},o)}},throttle:function(e,o){var t=!1,n=function(){t=!1};return function(){t||(e.apply(this,arguments),window.setTimeout(n,o),t=!0)}},getXPath:function(o){var t,n,i,r,s,a=[];return e.each(e(o).parents(),function(o,p){if(t=e(p),n=t.attr("id")||"",i=t.attr("class")||"",r=t.get(0).tagName.toLowerCase(),s=t.parent().children(r).index(t),"body"===r)return!1;i.length>0&&(i=(i=i.split(" "))[0]),a.push(r+(n.length>0?"#"+n:i.length>0?"."+i.split(" ").join("."):":eq("+s+")"))}),a.reverse().join(" > ")},strtotime:function(e,o){var t,n,i,r,s,a,p,u,c,l,d=!1;if(!e)return d;if((n=(e=e.replace(/^\s+|\s+$/g,"").replace(/\s{2,}/g," ").replace(/[\t\r\n]/g,"").toLowerCase()).match(/^(\d{1,4})([\-\.\/\:])(\d{1,2})([\-\.\/\:])(\d{1,4})(?:\s(\d{1,2}):(\d{2})?:?(\d{2})?)?(?:\s([A-Z]+)?)?$/))&&n[2]===n[4])if(n[1]>1901)switch(n[2]){case"-":case"/":return n[3]>12||n[5]>31?d:new Date(n[1],parseInt(n[3],10)-1,n[5],n[6]||0,n[7]||0,n[8]||0,n[9]||0)/1e3;case".":return d}else if(n[5]>1901)switch(n[2]){case"-":case".":return n[3]>12||n[1]>31?d:new Date(n[5],parseInt(n[3],10)-1,n[1],n[6]||0,n[7]||0,n[8]||0,n[9]||0)/1e3;case"/":return n[1]>12||n[3]>31?d:new Date(n[5],parseInt(n[1],10)-1,n[3],n[6]||0,n[7]||0,n[8]||0,n[9]||0)/1e3}else switch(n[2]){case"-":return n[3]>12||n[5]>31||n[1]<70&&n[1]>38?d:(r=n[1]>=0&&n[1]<=38?+n[1]+2e3:n[1],new Date(r,parseInt(n[3],10)-1,n[5],n[6]||0,n[7]||0,n[8]||0,n[9]||0)/1e3);case".":return n[5]>=70?n[3]>12||n[1]>31?d:new Date(n[5],parseInt(n[3],10)-1,n[1],n[6]||0,n[7]||0,n[8]||0,n[9]||0)/1e3:n[5]<60&&!n[6]?n[1]>23||n[3]>59?d:(i=new Date,new Date(i.getFullYear(),i.getMonth(),i.getDate(),n[1]||0,n[3]||0,n[5]||0,n[9]||0)/1e3):d;case"/":return n[1]>12||n[3]>31||n[5]<70&&n[5]>38?d:(r=n[5]>=0&&n[5]<=38?+n[5]+2e3:n[5],new Date(r,parseInt(n[1],10)-1,n[3],n[6]||0,n[7]||0,n[8]||0,n[9]||0)/1e3);case":":return n[1]>23||n[3]>59||n[5]>59?d:(i=new Date,new Date(i.getFullYear(),i.getMonth(),i.getDate(),n[1]||0,n[3]||0,n[5]||0)/1e3)}if("now"===e)return null===o||isNaN(o)?(new Date).getTime()/1e3||0:o||0;if(t=Date.parse(e),!isNaN(t))return t/1e3||0;function m(e){var o=e.split(" "),t=o[0],n=o[1].substring(0,3),i=/\d+/.test(t),r=("last"===t?-1:1)*("ago"===o[2]?-1:1);if(i&&(r*=parseInt(t,10)),p.hasOwnProperty(n)&&!o[1].match(/^mon(day|\.)?$/i))return s["set"+p[n]](s["get"+p[n]]()+r);if("wee"===n)return s.setDate(s.getDate()+7*r);if("next"===t||"last"===t)!function(e,o,t){var n,i=a[o];void 0!==i&&(0===(n=i-s.getDay())?n=7*t:n>0&&"last"===e?n-=7:n<0&&"next"===e&&(n+=7),s.setDate(s.getDate()+n))}(t,n,r);else if(!i)return!1;return!0}if(s=o?new Date(1e3*o):new Date,a={sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6},p={yea:"FullYear",mon:"Month",day:"Date",hou:"Hours",min:"Minutes",sec:"Seconds"},c="([+-]?\\d+\\s"+"(years?|months?|weeks?|days?|hours?|minutes?|min|seconds?|sec|sunday|sun\\.?|monday|mon\\.?|tuesday|tue\\.?|wednesday|wed\\.?|thursday|thu\\.?|friday|fri\\.?|saturday|sat\\.?)"+"|(last|next)\\s(years?|months?|weeks?|days?|hours?|minutes?|min|seconds?|sec|sunday|sun\\.?|monday|mon\\.?|tuesday|tue\\.?|wednesday|wed\\.?|thursday|thu\\.?|friday|fri\\.?|saturday|sat\\.?))(\\sago)?",!(n=e.match(new RegExp(c,"gi"))))return d;for(l=0,u=n.length;l<u;l+=1)if(!m(n[l]))return d;return s.getTime()/1e3},serializeObject:function(r){e.extend({},r);var s={},a=e.extend(!0,{include:[],exclude:[],includeByClass:""},r);return this.find(":input").each(function(){var r;!this.name||this.disabled||window.PUM.utilities.inArray(this.name,a.exclude)||a.include.length&&!window.PUM.utilities.inArray(this.name,a.include)||-1===this.className.indexOf(a.includeByClass)||(r=this.name.replace(n,"[$1").split("["))[0]&&(this.checked||window.PUM.utilities.inArray(this.type,o)||window.PUM.utilities.inArray(this.nodeName.toLowerCase(),t))&&("checkbox"===this.type&&r.push(""),i(s,r,e(this).val()))}),s}},e.fn.pumSerializeObject=window.PUM.utilities.serializeObject,e.fn.popmake.utilies=e.fn.popmake.utilities}(jQuery,document)},9725:()=>{!function(e){"use strict";pum_vars&&void 0!==pum_vars.core_sub_forms_enabled&&!pum_vars.core_sub_forms_enabled||(window.PUM=window.PUM||{},window.PUM.newsletter=window.PUM.newsletter||{},e.extend(window.PUM.newsletter,{form:e.extend({},window.PUM.forms.form,{submit:function(o){var t=e(this),n=t.pumSerializeObject();o.preventDefault(),o.stopPropagation(),window.PUM.newsletter.form.beforeAjax(t),e.ajax({type:"POST",dataType:"json",url:pum_vars.ajaxurl,data:{action:"pum_sub_form",values:n}}).always(function(){window.PUM.newsletter.form.afterAjax(t)}).done(function(e){window.PUM.newsletter.form.responseHandler(t,e)}).error(function(e,o,t){console.log("Error: type of "+o+" with message of "+t)})}})}),e(document).on("submit","form.pum-sub-form",window.PUM.newsletter.form.submit).on("success","form.pum-sub-form",function(o,t){var n=e(o.target),i=n.data("settings")||{},r=n.pumSerializeObject(),s=PUM.getPopup(n),a=PUM.getSetting(s,"id"),p=e("form.pum-sub-form",s).index(n)+1;window.PUM.integrations.formSubmission(n,{formProvider:"pumsubform",formId:a,formInstanceId:p,extras:{data:t,values:r,settings:i}}),n.trigger("pumNewsletterSuccess",[t]).addClass("pum-newsletter-success"),n[0].reset(),window.PUM.hooks.doAction("pum-sub-form.success",t,n),"string"==typeof i.redirect&&""!==i.redirect&&(i.redirect=atob(i.redirect)),window.PUM.forms.success(n,i)}).on("error","form.pum-sub-form",function(o,t){var n=e(o.target);n.trigger("pumNewsletterError",[t]),window.PUM.hooks.doAction("pum-sub-form.errors",t,n)}))}(jQuery)}},o={};function t(n){var i=o[n];if(void 0!==i)return i.exports;var r=o[n]={exports:{}};return e[n].call(r.exports,r,r.exports,t),r.exports}t.n=e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return t.d(o,{a:o}),o},t.d=(e,o)=>{for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),t.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o),(()=>{"use strict";t(824),t(4907);const e=window.jQuery,o=t.n(e)(),n={validate:/^[a-z_][a-z0-9_]*(?:\[(?:\d*|[a-z0-9_]+)\])*$/i,key:/[a-z0-9_]+|(?=\[\])/gi,push:/^$/,fixed:/^\d+$/,named:/^[a-z0-9_]+$/i};function i(e,t){var i={},r={};function s(e,o,t){return e[o]=t,e}function a(e){return void 0===r[e]&&(r[e]=0),r[e]++}function p(){return i}this.addPair=function(r){if(!n.validate.test(r.name))return this;var p=function(e,o){var t,i=e.match(n.key);try{o=JSON.parse(o)}catch(e){}for(;void 0!==(t=i.pop());)n.push.test(t)?o=s([],a(e.replace(/\[\]$/,"")),o):n.fixed.test(t)?o=s([],t,o):n.named.test(t)&&(o=s({},t,o));return o}(r.name,function(e){return"checkbox"===o('[name="'+e.name+'"]',t).attr("type")&&"1"===e.value||e.value}(r));return i=e.extend(!0,i,p),this},this.addPairs=function(o){if(!e.isArray(o))throw new Error("formSerializer.addPairs expects an Array");for(var t=0,n=o.length;t<n;t++)this.addPair(o[t]);return this},this.serialize=p,this.serializeJSON=function(){return JSON.stringify(p())}}i.patterns=n,i.serializeObject=function(){var e;return e=this.is("form")?this.serializeArray():this.find(":input").serializeArray(),new i(o,this).addPairs(e).serialize()},i.serializeJSON=function(){var e;return e=this.is("form")?this.serializeArray():this.find(":input").serializeArray(),new i(o,this).addPairs(e).serializeJSON()},o.fn.pumSerializeObject=i.serializeObject,o.fn.pumSerializeJSON=i.serializeJSON,function(e,o,t){window.pum_vars=window.pum_vars||{default_theme:"0",home_url:"/",version:1.7,pm_dir_url:"",ajaxurl:"",restapi:!1,analytics_api:!1,rest_nonce:null,debug_mode:!1,disable_tracking:!0,message_position:"top",core_sub_forms_enabled:!0,popups:{}},window.pum_popups=window.pum_popups||{},window.pum_vars.popups=window.pum_popups,window.PUM={get:new function(){var e={},o=function(o,n,i){"boolean"==typeof n&&(i=n,n=!1);var r=n?n.selector+" "+o:o;return(t===e[r]||i)&&(e[r]=n?n.find(o):jQuery(o)),e[r]};return o.elementCache=e,o},getPopup:function(o){var t,n;return n=o,(t=isNaN(n)||parseInt(Number(n))!==parseInt(n)||isNaN(parseInt(n,10))?"current"===o?e(".pum-overlay.pum-active:eq(0)"):"open"===o?e(".pum-overlay.pum-active"):"closed"===o?e(".pum-overlay:not(.pum-active)"):o instanceof jQuery?o:e(o):PUM.get("#pum-"+o)).hasClass("pum-overlay")?t:t.hasClass("popmake")||t.parents(".pum-overlay").length?t.parents(".pum-overlay"):e()},open:function(e,o){PUM.getPopup(e).popmake("open",o)},close:function(e,o){PUM.getPopup(e).popmake("close",o)},preventOpen:function(e){PUM.getPopup(e).addClass("preventOpen")},getSettings:function(e){return PUM.getPopup(e).popmake("getSettings")},getSetting:function(e,o,n){var i=function(e,o){function t(e,o,t){return o?e[o.slice(0,t?-1:o.length)]:e}return o.split(".").reduce(function(e,o){return o?o.split("[").reduce(t,e):e},e)}(PUM.getSettings(e),o);return void 0!==i?i:n!==t?n:null},checkConditions:function(e){return PUM.getPopup(e).popmake("checkConditions")},getCookie:function(o){return e.pm_cookie(o)},getJSONCookie:function(o){return e.pm_cookie_json(o)},setCookie:function(e,o){PUM.getPopup(e).popmake("setCookie",jQuery.extend({name:"pum-"+PUM.getSetting(e,"id"),expires:"+30 days"},o))},setCookieRaw:function(o,t,n){e.pm_cookie(o,t,n)},clearCookie:function(o,t){e.pm_remove_cookie(o),"function"==typeof t&&t()},clearCookies:function(o,n){var i,r=PUM.getPopup(o).popmake("getSettings").cookies;if(r!==t&&r.length)for(i=0;r.length>i;i+=1)e.pm_remove_cookie(r[i].settings.name);"function"==typeof n&&n()},getClickTriggerSelector:function(e,o){var t=PUM.getPopup(e),n=PUM.getSettings(e),i=[".popmake-"+n.id,".popmake-"+decodeURIComponent(n.slug),'a[href$="#popmake-'+n.id+'"]'];return o.extra_selectors&&""!==o.extra_selectors&&i.push(o.extra_selectors),(i=pum.hooks.applyFilters("pum.trigger.click_open.selectors",i,o,t)).join(", ")},disableClickTriggers:function(n,i){if(n!==t)if(i!==t){var r=PUM.getClickTriggerSelector(n,i);e(r).removeClass("pum-trigger"),e(o).off("click.pumTrigger click.popmakeOpen",r)}else{var s=PUM.getSetting(n,"triggers",[]);if(s.length)for(var a=0;s.length>a;a++)-1!==pum.hooks.applyFilters("pum.disableClickTriggers.clickTriggerTypes",["click_open"]).indexOf(s[a].type)&&(r=PUM.getClickTriggerSelector(n,s[a].settings),e(r).removeClass("pum-trigger"),e(o).off("click.pumTrigger click.popmakeOpen",r))}},actions:{stopIframeVideosPlaying:function(){var o=PUM.getPopup(this),t=o.popmake("getContainer");o.hasClass("pum-has-videos")||(t.find("iframe").filter('[src*="youtube"],[src*="vimeo"]').each(function(){var o=e(this),t=o.attr("src"),n=t.replace("autoplay=1","1=1");n!==t&&(t=n),o.prop("src",t)}),t.find("video").each(function(){this.pause()}))}}},e.fn.popmake=function(t){return e.fn.popmake.methods[t]?(e(o).trigger("pumMethodCall",arguments),e.fn.popmake.methods[t].apply(this,Array.prototype.slice.call(arguments,1))):"object"!=typeof t&&t?void(window.console&&console.warn("Method "+t+" does not exist on $.fn.popmake")):e.fn.popmake.methods.init.apply(this,arguments)},e.fn.popmake.methods={init:function(){return this.each(function(){var o=PUM.getPopup(this),n=o.popmake("getSettings");if(n.theme_id<=0&&(n.theme_id=pum_vars.default_theme),n.disable_reposition!==t&&n.disable_reposition||e(window).on("resize",function(){(o.hasClass("pum-active")||o.find(".popmake.active").length)&&e.fn.popmake.utilities.throttle(setTimeout(function(){o.popmake("reposition")},25),500,!1)}),o.find(".pum-container").data("popmake",n),o.data("popmake",n).trigger("pumInit"),n.open_sound&&"none"!==n.open_sound){var i="custom"!==n.open_sound?new Audio(pum_vars.pm_dir_url+"assets/sounds/"+n.open_sound):new Audio(n.custom_sound);i.addEventListener("canplaythrough",function(){o.data("popAudio",i)}),i.addEventListener("error",function(){console.warn("Error occurred when trying to load Popup opening sound.")}),i.load()}return this})},getOverlay:function(){return PUM.getPopup(this)},getContainer:function(){return PUM.getPopup(this).find(".pum-container")},getTitle:function(){return PUM.getPopup(this).find(".pum-title")||null},getContent:function(){return PUM.getPopup(this).find(".pum-content")||null},getClose:function(){return PUM.getPopup(this).find(".pum-content + .pum-close")||null},getSettings:function(){var o=PUM.getPopup(this);return e.extend(!0,{},e.fn.popmake.defaults,o.data("popmake")||{},"object"==typeof pum_popups&&void 0!==pum_popups[o.attr("id")]?pum_popups[o.attr("id")]:{})},state:function(e){var o=PUM.getPopup(this);if(t!==e)switch(e){case"isOpen":return o.hasClass("pum-open")||o.popmake("getContainer").hasClass("active");case"isClosed":return!o.hasClass("pum-open")&&!o.popmake("getContainer").hasClass("active")}},open:function(o){var n=PUM.getPopup(this),i=n.popmake("getContainer"),r=n.popmake("getClose"),s=n.popmake("getSettings"),a=e("html");return n.trigger("pumBeforeOpen"),PUM.hooks.applyFilters("popupMaker.popup.preventOpen",!1,n,s)||n.hasClass("preventOpen")||i.hasClass("preventOpen")?(console.log("prevented"),n.removeClass("preventOpen").removeClass("pum-active").trigger("pumOpenPrevented"),this):(s.stackable||n.popmake("close_all"),n.popmake("initializeState"),n.addClass("pum-active"),s.close_button_delay>0&&r.fadeOut(0),a.addClass("pum-open"),s.overlay_disabled?a.addClass("pum-open-overlay-disabled"):a.addClass("pum-open-overlay"),s.position_fixed?a.addClass("pum-open-fixed"):a.addClass("pum-open-scrollable"),n.popmake("setup_close").popmake("reposition").queue(function(){var o=n.popmake("getContainer");n.css({display:"block",opacity:0}),o.css({display:"block",opacity:0}),e(this).dequeue()}).popmake("animate",s.animation_type,function(){s.close_button_delay>0&&setTimeout(function(){r.fadeIn()},s.close_button_delay),n.trigger("pumAfterOpen"),e(window).trigger("resize"),e.fn.popmake.last_open_popup=n,o!==t&&o()}),void 0!==n.data("popAudio")&&n.data("popAudio").play().catch(function(e){console.warn("Sound was not able to play when popup opened. Reason: "+e)}),this)},initializeState:function(){var e=PUM.getPopup(this),o=e.popmake("getContainer");return e.css({display:"",opacity:"",height:"",width:""}),o.css({display:"",opacity:"",height:"",width:""}),e[0].offsetHeight,o[0].offsetHeight,this},setup_close:function(){var n=PUM.getPopup(this),i=n.popmake("getClose"),r=n.popmake("getSettings");if((i=i.add(e(".popmake-close, .pum-close",n).not(i))).off("click.pum").on("click.pum",function(o){var i=e(this);i.hasClass("pum-do-default")||i.data("do-default")!==t&&i.data("do-default")||o.preventDefault(),e.fn.popmake.last_close_trigger="Close Button",n.popmake("close")}),r.close_on_esc_press||r.close_on_f4_press){const o=`keyup.popmake-${r.id}`;e(window).off(o).on(o,function(o){27===o.keyCode&&r.close_on_esc_press&&(e.fn.popmake.last_close_trigger="ESC Key",n.popmake("close")),115===o.keyCode&&r.close_on_f4_press&&(e.fn.popmake.last_close_trigger="F4 Key",n.popmake("close"))})}return r.close_on_overlay_click&&(n.on("pumAfterOpen",function(){e(o).on(`click.popmake-${r.id}`,function(o){e(o.target).closest(".pum-container").length||(e.fn.popmake.last_close_trigger="Overlay Click",n.popmake("close"))})}),n.on("pumAfterClose",function(){e(o).off(`click.popmake-${r.id}`)})),r.close_on_form_submission&&PUM.hooks.addAction("pum.integration.form.success",function(o,t){t.popup&&t.popup[0]===n[0]&&setTimeout(function(){e.fn.popmake.last_close_trigger="Form Submission",n.popmake("close")},r.close_on_form_submission_delay||0)}),n.trigger("pumSetupClose"),this},close:function(o){return this.each(function(){var n=PUM.getPopup(this),i=n.popmake("getContainer"),r=n.popmake("getClose"),s=n.popmake("getSettings");return r=r.add(e(".popmake-close, .pum-close",n).not(r)),n.trigger("pumBeforeClose"),n.hasClass("preventClose")||i.hasClass("preventClose")?(n.removeClass("preventClose").trigger("pumClosePrevented"),this):(i.fadeOut("fast",function(){n.is(":visible")&&n.fadeOut("fast"),e(window).off(`keyup.popmake-${s.id}`),n.off("click.popmake"),r.off("click.popmake"),1===e(".pum-active").length&&e("html").removeClass("pum-open").removeClass("pum-open-scrollable").removeClass("pum-open-overlay").removeClass("pum-open-overlay-disabled").removeClass("pum-open-fixed"),n.removeClass("pum-active").trigger("pumAfterClose"),o!==t&&o()}),this)})},close_all:function(){return e(".pum-active").popmake("close"),this},reposition:function(o){var t=PUM.getPopup(this).trigger("pumBeforeReposition"),n=t.popmake("getContainer"),i=t.popmake("getSettings"),r=i.location,s={my:"",at:"",of:window,collision:"none",using:"function"==typeof o?o:e.fn.popmake.callbacks.reposition_using},a={overlay:null,container:null},p=null;try{p=e(e.fn.popmake.last_open_trigger)}catch(o){p=e()}return i.position_from_trigger&&p.length?(s.of=p,r.indexOf("left")>=0&&(s.my+=" right",s.at+=" left"+(0!==i.position_left?"-"+i.position_left:"")),r.indexOf("right")>=0&&(s.my+=" left",s.at+=" right"+(0!==i.position_right?"+"+i.position_right:"")),r.indexOf("center")>=0&&(s.my="center"===r?"center":s.my+" center",s.at="center"===r?"center":s.at+" center"),r.indexOf("top")>=0&&(s.my+=" bottom",s.at+=" top"+(0!==i.position_top?"-"+i.position_top:"")),r.indexOf("bottom")>=0&&(s.my+=" top",s.at+=" bottom"+(0!==i.position_bottom?"+"+i.position_bottom:""))):(r.indexOf("left")>=0&&(s.my+=" left"+(0!==i.position_left?"+"+i.position_left:""),s.at+=" left"),r.indexOf("right")>=0&&(s.my+=" right"+(0!==i.position_right?"-"+i.position_right:""),s.at+=" right"),r.indexOf("center")>=0&&(s.my="center"===r?"center":s.my+" center",s.at="center"===r?"center":s.at+" center"),r.indexOf("top")>=0&&(s.my+=" top"+(0!==i.position_top?"+"+(e("body").hasClass("admin-bar")?parseInt(i.position_top,10)+32:i.position_top):""),s.at+=" top"),r.indexOf("bottom")>=0&&(s.my+=" bottom"+(0!==i.position_bottom?"-"+i.position_bottom:""),s.at+=" bottom")),s.my=s.my.trim(),s.at=s.at.trim(),t.is(":hidden")&&(a.overlay=t.css("opacity"),t.css({opacity:0}).show(0)),n.is(":hidden")&&(a.container=n.css("opacity"),n.css({opacity:0}).show(0)),i.position_fixed&&n.addClass("fixed"),"custom"===i.size?n.css({width:i.custom_width,height:i.custom_height_auto?"auto":i.custom_height}):"auto"!==i.size&&n.addClass("responsive").css({minWidth:""!==i.responsive_min_width?i.responsive_min_width:"auto",maxWidth:""!==i.responsive_max_width?i.responsive_max_width:"auto"}),t.trigger("pumAfterReposition"),n.addClass("custom-position").position(s).trigger("popmakeAfterReposition"),"center"===r&&n[0].offsetTop<0&&n.css({top:e("body").hasClass("admin-bar")?42:10}),a.overlay&&t.css({opacity:a.overlay}).hide(0),a.container&&n.css({opacity:a.container}).hide(0),this},animation_origin:function(e){var o=PUM.getPopup(this).popmake("getContainer"),t={my:"",at:""};switch(e){case"top":t={my:"left+"+o.offset().left+" bottom-100",at:"left top"};break;case"bottom":t={my:"left+"+o.offset().left+" top+100",at:"left bottom"};break;case"left":t={my:"right top+"+o.offset().top,at:"left top"};break;case"right":t={my:"left top+"+o.offset().top,at:"right top"};break;default:e.indexOf("left")>=0&&(t={my:t.my+" right",at:t.at+" left"}),e.indexOf("right")>=0&&(t={my:t.my+" left",at:t.at+" right"}),e.indexOf("center")>=0&&(t={my:t.my+" center",at:t.at+" center"}),e.indexOf("top")>=0&&(t={my:t.my+" bottom-100",at:t.at+" top"}),e.indexOf("bottom")>=0&&(t={my:t.my+" top+100",at:t.at+" bottom"}),t.my=t.my.trim(),t.at=t.at.trim()}return t.of=window,t.collision="none",t}}}(jQuery,document),window.PUM,t(6068),t(3524),t(5288),t(9508),t(4885),t(9156),t(1531),t(7460),t(1632),t(1868),t(5235),t(9725),t(9381),t(1935),t(999),t(5980),t(2927),t(1154),t(5530),t(7952),t(3234),t(9497),t(4102),t(9472),t(2900),t(609),t(3858),t(3880)})()})(); dist/assets/admin-extensions-page-rtl.css 0000644 00000003756 15174671772 0014555 0 ustar 00 .upgrade-wrapper{background-color:#fff;margin:1em 0;padding:3em 1em}.upgrade-wrapper .upgrade-wrapper-hero{font-size:16px;margin:0 0 2em}.upgrade-wrapper .upgrade-wrapper-hero p{font-size:16px;margin:0 0 .3em}.upgrade-wrapper .upgrade-wrapper-hero ul{list-style:disc;margin:0;padding-right:20px}.upgrade-wrapper .upgrade-wrapper-hero a{margin:.5em 0 0}.upgrade-wrapper h2{font-size:2em;margin:0 0 .5em}.extensions-available{display:flex;flex-wrap:wrap;justify-content:space-between}.extensions-available img{border-bottom:1px solid #0000;border-top:1px solid #0000;display:block;height:auto;max-width:100%;width:100%}.extensions-available li{background:#fff;border:1px solid #ccc;box-shadow:-1px 1px 4px #00000040;box-sizing:border-box;margin:0 0 20px;vertical-align:top;width:18%}@media only screen and (max-width:360px){.extensions-available li{display:block;width:100%}}@media only screen and (min-width:361px)and (max-width:768px){.extensions-available li{width:49%}}@media only screen and (min-width:769px)and (max-width:980px){.extensions-available li{width:32%}}.extensions-available li>.action-links{border-top:1px solid #ccc;display:block;text-align:center}.extensions-available li>.action-links .button{display:inline-block;font-weight:700;height:auto;margin-bottom:10px;margin-top:10px;padding:7px 30px;position:relative;transition:transform .5s}.extensions-available li>.action-links .button.install{background:#00a651}.extensions-available h3{font-size:16px!important;margin:0;padding:1em 0;text-align:center}.extensions-available h3 a{color:inherit}.extensions-available p{color:#2d2d2d;font-size:14px;font-style:italic;margin:10px;min-height:7.5em;text-align:center}.extensions-available a{display:block;text-align:center;text-decoration:none}.extensions-available .core-extensions-bundle h3{background:#98b727;color:#fff}.extensions-available .core-extensions-bundle p{background-color:#fff;color:#2d2d2d}.extensions-available .core-extensions-bundle .action-links{background:#98b727;border-top:1px solid #a8c53a} dist/assets/admin-editor-styles.js 0000644 00000000000 15174671772 0013253 0 ustar 00 dist/assets/admin-shortcode-ui.js 0000644 00000013214 15174671772 0013064 0 ustar 00 (()=>{var t={31:()=>{!function(t){function e(){var e=t("#pum-shortcode-editor-pum_sub_form #provider"),o=""!==e.val()&&"none"!==e.val()?e.val():pum_admin_vars.default_provider,i=t('.pum-modal-content .tabs .tab a[href^="#pum-shortcode-editor-pum_sub_form_provider_"]'),r=t('[id^="pum-shortcode-editor-pum_sub_form_provider_"]'),n=i.filter('[href="#pum-shortcode-editor-pum_sub_form_provider_'+o+'"]'),s=r.filter('[id="pum-shortcode-editor-pum_sub_form_provider_'+o+'"]');i.each(function(){t(this).parent().hide()}),r.find(":input").attr("disable",!0),n.length&&(n.parent().show(),s.find(":input").attr("disable",!1))}function o(){var e=t("#pum-shortcode-editor-pum_sub_form_provider_mailchimp #list_id").val(),o=t("#pum-mci-list-"+e+",.pum-mci-list-"+e),i=t(".pum-mci-list-options");i.hide(),i.find('input[type="checkbox"]').attr("disabled",!0),o.length&&(o.show(),o.find('input[type="checkbox"]').attr("disabled",!1))}void 0===window.pum_newsletter_initialized&&(window.pum_newsletter_initialized=!0,t(document).on("pum_init","#pum-shortcode-editor-pum_sub_form",e).on("change","#pum-shortcode-editor-pum_sub_form #provider",e),t(document).on("pumInit pum_init","#pum-shortcode-editor-pum_sub_form",o).on("change","#pum-shortcode-editor-pum_sub_form_provider_mailchimp #list_id",o))}(jQuery)}},e={};function o(i){var r=e[i];if(void 0!==r)return r.exports;var n=e[i]={exports:{}};return t[i](n,n.exports,o),n.exports}(()=>{"use strict";o(31),function(t){if(void 0!==window.pum_shortcode_ui_vars){var e=pum_shortcode_ui_vars.I10n||{error_loading_shortcode_preview:"",shortcode_ui_button_tooltip:"",insert:"",update:""},o=pum_shortcode_ui_vars.shortcodes||{},i={version:1,shortcode_args:{},shortcode_data:{},initialize:function(t){},cleanAttrs:function(t){return _.each(t,function(e,o){null!==e&&""!==e||delete t[o],"object"==typeof e&&(t[o]=Object.keys(e))}),t},template:function(e){var o,i="pum-shortcode-view-"+this.type,r={evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"attrs"};return 1===this.version&&(r.variable="attr"),t("#tmpl-"+i).length?(o=_.template(t("#tmpl-"+i).html(),r),e.class&&(e.classes=e.class,delete e.class),o(e=this.cleanAttrs(e))):this.text},getShortcodeValues:function(){if(void 0===this.shortcode||void 0===this.shortcode.attrs)return{};var t={};if(void 0!==this.shortcode.attrs.named&&(t=_.extend(t,this.shortcode.attrs.named||{})),void 0!==this.shortcode.attrs.numeric)for(var e=0;e<this.shortcode.attrs.numeric.length;e++)t[this.shortcode.attrs.numeric[e]]=!0;return t},getShortcodeContent:function(){return void 0===this.shortcode?"":this.shortcode.content||""},getContent:function(){return this.content||this.fetch(),this.content},formatShortcode:function(t){var e=this.shortcode_args.has_content,o=this.getShortcodeContent();return t=t||this.getShortcodeValues(),e&&void 0!==t._inner_content&&(o=t._inner_content,delete t._inner_content),t=this.cleanAttrs(t),PUM_Admin.templates.shortcode({tag:this.type,meta:t,has_content:e,content:o})},fetch:function(){var o=this,i=o.getShortcodeValues(),r={action:"pum_do_shortcode",post_id:t("#post_ID").val(),tag:o.type,shortcode:o.formatShortcode(),nonce:pum_shortcode_ui_vars.nonce};o.fetching||(o.fetching=!0,o.shortcode_args.has_content&&(i._inner_content=o.getShortcodeContent()),o.shortcode_args.ajax_rendering?t.post(ajaxurl,r).done(function(t){o.content=t.data}).fail(function(){o.content='<span class="pum_shortcode_ui_vars_error">'+e.error_loading_shortcode_preview+"</span>"}).always(function(){delete o.fetching,o.render()}):(o.content=o.template(i),delete o.fetching,o.render()))},edit:function(t,e){var o=_.extend({},this.getShortcodeValues());this.shortcode_args.has_content&&(o._inner_content=this.getShortcodeContent()),this.renderForm(o,e)},setLoader:function(){this.setContent('<div class="loading-placeholder"><div class="dashicons dashicons-admin-generic"></div><div class="wpview-loading"><ins></ins></div></div>')},renderForm:function(o,i){var r=this,n=t.extend(!0,{},{tag:this.type,id:"pum-shortcode-editor-"+this.type,label:"",tabs:{},sections:{},fields:{}},r.shortcode_args);o=o||{},PUM_Admin.modals.reload("#"+n.id,PUM_Admin.templates.modal({id:n.id,title:n.label,description:n.description,classes:"tabbed-content pum-shortcode-editor",save_button:void 0===o?e.insert:e.update,content:PUM_Admin.forms.render({id:"pum-shortcode-editor-"+this.type,tabs:n.tabs||{},sections:n.sections||{},fields:n.fields||{}},o||{}),meta:{"data-shortcode_tag":this.type}})),t("#"+n.id+" form").on("submit",function(e){e.preventDefault();var o,s=t(this),d=(s.pumSerializeObject(),PUM_Admin.forms.parseValues(s.pumSerializeObject().attrs,PUM_Admin.forms.flattenFields(n)));o=r.formatShortcode(d),"function"==typeof i&&i(o),PUM_Admin.modals.closeAll()})}};t(document).on("pumFormDependencyMet pumFormDependencyUnmet",".pum-shortcode-editor .pum-field",function(e){var o=t(this).find(":input");"pumFormDependencyUnmet"===e.type.toString()?o.prop("disabled",!0):o.prop("disabled",!1)}),t(function(){window.wp=window.wp||{},window.wp.mce=window.wp.mce||{},window.wp.mce.pum_shortcodes=window.wp.mce.pum_shortcodes||{},_.each(o,function(e,o){wp.mce.pum_shortcodes[o]=_.extend({},i,{version:e.version||1,shortcode_args:e,View:{type:o,template:function(t){return wp.mce.pum_shortcodes[this.type].template(t)},postID:t("#post_ID").val(),initialize:function(t){this.shortcode=t.shortcode,wp.mce.pum_shortcodes[this.type].shortcode_data=this.shortcode},getHtml:function(){var t=this.shortcode.attrs.named;return this.shortcode_args.has_content&&(t._inner_content=this.shortcode.content),this.template(t)}}}),void 0!==wp.mce.views&&"function"==typeof wp.mce.views.register&&wp.mce.views.register(o,wp.mce.pum_shortcodes[o])})})}}(jQuery)})()})(); dist/assets/admin-batch.asset.php 0000644 00000000124 15174671772 0013025 0 ustar 00 <?php return array('dependencies' => array(), 'version' => '851a4f74b5c8d47d202d'); dist/assets/admin-shortcode-ui.css 0000644 00000006663 15174671772 0013252 0 ustar 00 i.mce-i-pum_shortcodes{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTc5IiBoZWlnaHQ9IjE3OSIgdmlld0JveD0iMCAwIDE3OSAxNzkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMjMuNzkxIDExOS4wMzFDMTI2LjA1IDExNi40MjYgMTI3LjQ4NSAxMTMuMjA5IDEyNy45MTYgMTA5Ljc4OEMxMjguMzQ3IDEwNi4zNjYgMTI3Ljc1MyAxMDIuODk0IDEyNi4yMSA5OS44MUwxMDYuNTk1IDYwLjU4M0MxMDUuMTQ3IDU3LjY4NzUgMTAyLjkyMSA1NS4yNTI1IDEwMC4xNjcgNTMuNTUwNkM5Ny40MTMgNTEuODQ4OCA5NC4yMzk0IDUwLjk0NzQgOTEuMDAxOCA1MC45NDc0Qzg3Ljc2NDMgNTAuOTQ3NCA4NC41OTA3IDUxLjg0ODggODEuODM2NSA1My41NTA2Qzc5LjA4MjQgNTUuMjUyNSA3Ni44NTY1IDU3LjY4NzUgNzUuNDA4MyA2MC41ODNMNTUuNzkzNyA5OS44MUM1NC4yNDgyIDEwMi44OTUgNTMuNjUzIDEwNi4zNyA1NC4wODM1IDEwOS43OTRDNTQuNTE0MSAxMTMuMjE3IDU1Ljk1MSAxMTYuNDM2IDU4LjIxMjMgMTE5LjA0M0M2MC40NzM3IDEyMS42NDkgNjMuNDU3NyAxMjMuNTI2IDY2Ljc4NjYgMTI0LjQzNkM3MC4xMTU0IDEyNS4zNDYgNzMuNjM5MyAxMjUuMjQ3IDc2LjkxMjEgMTI0LjE1M0w5MS4wOTk5IDExOS40NDVMMTA1LjIwMSAxMjQuMTMxQzEwOC40NTcgMTI1LjIwMyAxMTEuOTU4IDEyNS4yOTEgMTE1LjI2NSAxMjQuMzg0QzExOC41NzEgMTIzLjQ3NyAxMjEuNTM3IDEyMS42MTUgMTIzLjc5MSAxMTkuMDMxVjExOS4wMzFaTTkxLjA5OTkgNjguMzg0OEwxMTAuNzE0IDEwNy42MTJMOTUuOTE2NCAxMDIuNjg3QzkyLjc4OTcgMTAxLjY0NiA4OS40MTAyIDEwMS42NDYgODYuMjgzNSAxMDIuNjg3TDcxLjQ4NTQgMTA3LjYxMkw5MS4wOTk5IDY4LjM4NDhaIiBmaWxsPSIjMUExOTFCIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNTguNTc2OSAyNS40NzM3QzM5LjM5MjIgMjUuNDczNyAyMy44NCA0MS4wMjYgMjMuODQgNjAuMjEwNlY2NC44NDIyQzIzLjg0IDcxLjIzNyAxOC42NTYgNzYuNDIxMSAxMi4yNjExIDc2LjQyMTFDNS44NjYyIDc2LjQyMTEgMC42ODIxMjkgNzEuMjM3IDAuNjgyMTI5IDY0Ljg0MjJMMC42ODIxMjkgNjAuMjEwNkMwLjY4MjEyOSAyOC4yMzYyIDI2LjYwMjUgMi4zMTU4NCA1OC41NzY5IDIuMzE1ODRMNjUuNTI0MiAyLjMxNTg0QzcxLjkxOTEgMi4zMTU4NCA3Ny4xMDMyIDcuNDk5OTEgNzcuMTAzMiAxMy44OTQ4Qzc3LjEwMzIgMjAuMjg5NyA3MS45MTkxIDI1LjQ3MzcgNjUuNTI0MiAyNS40NzM3SDU4LjU3NjlaIiBmaWxsPSIjMURCRTYxIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNTguNTc2OSAxNTUuMTU4QzM5LjM5MjIgMTU1LjE1OCAyMy44NCAxMzkuNjA2IDIzLjg0IDEyMC40MjFWMTE1Ljc5QzIzLjg0IDEwOS4zOTUgMTguNjU2IDEwNC4yMTEgMTIuMjYxMSAxMDQuMjExQzUuODY2MiAxMDQuMjExIDAuNjgyMTI5IDEwOS4zOTUgMC42ODIxMjkgMTE1Ljc5TDAuNjgyMTI5IDEyMC40MjFDMC42ODIxMjkgMTUyLjM5NSAyNi42MDI1IDE3OC4zMTYgNTguNTc2OSAxNzguMzE2SDY1LjUyNDJDNzEuOTE5MSAxNzguMzE2IDc3LjEwMzIgMTczLjEzMiA3Ny4xMDMyIDE2Ni43MzdDNzcuMTAzMiAxNjAuMzQyIDcxLjkxOTEgMTU1LjE1OCA2NS41MjQyIDE1NS4xNThINTguNTc2OVoiIGZpbGw9IiMxREJFNjEiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMjEuMTAzIDI1LjQ3MzdDMTQwLjI4OCAyNS40NzM3IDE1NS44NCA0MS4wMjYgMTU1Ljg0IDYwLjIxMDZWNjQuODQyMkMxNTUuODQgNzEuMjM3IDE2MS4wMjQgNzYuNDIxMSAxNjcuNDE5IDc2LjQyMTFDMTczLjgxNCA3Ni40MjExIDE3OC45OTggNzEuMjM3IDE3OC45OTggNjQuODQyMlY2MC4yMTA2QzE3OC45OTggMjguMjM2MiAxNTMuMDc4IDIuMzE1ODQgMTIxLjEwMyAyLjMxNTg0TDExNC4xNTYgMi4zMTU4NEMxMDcuNzYxIDIuMzE1ODQgMTAyLjU3NyA3LjQ5OTkxIDEwMi41NzcgMTMuODk0OEMxMDIuNTc3IDIwLjI4OTcgMTA3Ljc2MSAyNS40NzM3IDExNC4xNTYgMjUuNDczN0gxMjEuMTAzWiIgZmlsbD0iIzFEQkU2MSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEyMS4xMDMgMTU1LjE1OEMxNDAuMjg4IDE1NS4xNTggMTU1Ljg0IDEzOS42MDYgMTU1Ljg0IDEyMC40MjFWMTE1Ljc5QzE1NS44NCAxMDkuMzk1IDE2MS4wMjQgMTA0LjIxMSAxNjcuNDE5IDEwNC4yMTFDMTczLjgxNCAxMDQuMjExIDE3OC45OTggMTA5LjM5NSAxNzguOTk4IDExNS43OVYxMjAuNDIxQzE3OC45OTggMTUyLjM5NSAxNTMuMDc4IDE3OC4zMTYgMTIxLjEwMyAxNzguMzE2SDExNC4xNTZDMTA3Ljc2MSAxNzguMzE2IDEwMi41NzcgMTczLjEzMiAxMDIuNTc3IDE2Ni43MzdDMTAyLjU3NyAxNjAuMzQyIDEwNy43NjEgMTU1LjE1OCAxMTQuMTU2IDE1NS4xNThIMTIxLjEwM1oiIGZpbGw9IiMxREJFNjEiLz4KPC9zdmc+Cg==) no-repeat 50% #0000;background-size:contain} dist/assets/admin-popup-editor.css 0000644 00000006676 15174671772 0013300 0 ustar 00 #pum-popup-settings-container .popup-types{display:flex;flex-direction:column;justify-content:space-between;width:100%}@media screen and (min-width:600px){#pum-popup-settings-container .popup-types{flex-direction:row;flex-wrap:wrap}}#pum-popup-settings-container .popup-types .popup-type{cursor:pointer;margin:0 1.5% 20px;transition:transform .1s ease 0s}@media screen and (min-width:600px)and (max-width:1279px){#pum-popup-settings-container .popup-types .popup-type{width:47%}#pum-popup-settings-container .popup-types .popup-type:nth-child(odd){margin-left:0}#pum-popup-settings-container .popup-types .popup-type:nth-child(2n+2){margin-right:0}}@media screen and (min-width:1280px)and (max-width:1365px){#pum-popup-settings-container .popup-types .popup-type{width:30%}#pum-popup-settings-container .popup-types .popup-type:nth-child(3n+1){margin-left:0}#pum-popup-settings-container .popup-types .popup-type:nth-child(3n+3){margin-right:0}}@media screen and (min-width:1366px){#pum-popup-settings-container .popup-types .popup-type{width:22.75%}#pum-popup-settings-container .popup-types .popup-type:nth-child(4n+1){margin-left:0}#pum-popup-settings-container .popup-types .popup-type:nth-child(4n+4){margin-right:0}}#pum-popup-settings-container .popup-types .popup-type:hover{transform:scale(1.1)}#pum-popup-settings-container .popup-types .popup-type img{height:auto;max-width:100%}#pum-popup-settings-container .popup-types .popup-type button{width:100%}#wp-admin-bar-view{display:none}#popup-titlediv{margin-top:10px;position:relative}#popup-titlediv #popup-titlewrap{border:0;padding:0}#popup-titlediv #popup-title-prompt-text{color:#777;font-size:1.7em;padding:11px 10px;position:absolute}#popup-titlediv label{cursor:text}#popup-titlediv #popup-title{background-color:#fff;font-size:1.7em;height:1.7em;line-height:1.125;margin:0 0 3px;outline:none;padding:3px 8px;width:100%}.post-type-popup #edit-slug-box{margin-bottom:5px}#major-publishing-actions{text-align:right}#trigger-popmake-preview{padding:5px}#pum_popup_settings>.inside{margin:0;padding:0}#popup_cookie_add_event,#popup_trigger_add_type{display:block;font-size:1.4em;height:auto;margin:1.5em 0;padding:.25em;width:100%}#pum_cookie_add_event_modal .pum-modal-wrap,#pum_trigger_add_type_modal .pum-modal-wrap{margin-left:-220px;width:440px}.pum-click-selector-presets{bottom:2px;position:absolute;right:2px}.pum-click-selector-presets>span{background-color:#00000080;border:1px solid;border-radius:2px;color:#fff;cursor:pointer;font-size:21px;height:1em;text-align:center;width:1em}.pum-click-selector-presets.open>span,.pum-click-selector-presets>span:hover{background-color:#0085ba}.pum-click-selector-presets ul{background-color:#fff;border:1px solid #00000040;box-shadow:1px 1px 5px -1px;display:none;left:20px;margin:0;min-width:125px;padding:0;position:absolute;top:1px;width:auto;z-index:999}.pum-click-selector-presets ul li{border-bottom:1px dashed #00000040;display:block;margin:0;padding:.5em;text-wrap:none}.pum-click-selector-presets ul li span{cursor:pointer;display:block;line-height:1}.pum-click-selector-presets ul li:last-child{border-bottom:0}.pum-click-selector-presets ul li:hover{color:#0085ba}.pum-click-selector-presets.open ul{display:block}pre.manual-cookie-shortcode{margin:0;max-height:1.7em;max-width:20vw;overflow:hidden}pre.manual-cookie-shortcode code{display:block;margin:0 -17px;overflow-x:scroll;padding:2px 16px 1px}pre.manual-cookie-shortcode code:after,pre.manual-cookie-shortcode code:before{content:" "} dist/assets/admin-deprecated.asset.php 0000644 00000000124 15174671772 0014044 0 ustar 00 <?php return array('dependencies' => array(), 'version' => '8710c89bb015792c4510'); dist/assets/admin-editor-styles.css 0000644 00000000111 15174671772 0013432 0 ustar 00 .wpview-wrap[data-wpview-text^="%5Bpopup_trigger"]{display:inline-block} dist/assets/admin-general-rtl.css 0000644 00000146262 15174671772 0013061 0 ustar 00 .no-button{background:none;border:0;cursor:pointer;padding:0}.no-button.link-button{color:#0073aa}.no-button.link-button:hover{color:#00a0d2}.no-button.delete-button{color:#a00}.no-button.delete-button:hover{color:red}.pum-half{display:inline-block;margin-left:5%;max-width:47.5%;width:47.5%}.pum-half.pum-dependencies-met{display:inline-block!important}.pum-half>*{max-width:100%}.pum-half input,.pum-half select,.pum-half textarea{max-width:100%;width:auto}.pum-last{margin-left:0!important}.pum-desc{margin-bottom:0;margin-top:4px}[data-pum-dependencies]{display:none}.pum-field{margin-bottom:1em;position:relative}.pum-field>label{display:block;font-weight:700}.pum-field .pum-doclink{font-size:16px;line-height:20px}.pum-field-heading .pum-desc,.pum-field-heading label,.pum-field-separator .pum-desc,.pum-field-separator label{display:none!important}.pum-field-editor #insert-media-button,.pum-field-hidden{display:none}.pum-field-select option.bold{font-size:1.125em;font-weight:700}.pum-field-select2 .pumselect2-container.pumselect2-container--below.pumselect2-container--open+.pumselect2-container--open{top:36px!important}.pum-field-select2 .pumselect2-container .pumselect2-selection--multiple .pumselect2-search--inline .pumselect2-search__field{margin-top:0}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--single .pumselect2-selection__arrow{height:30px!important}.pum-field-checkbox{position:relative}.pum-field-checkbox label{margin-right:1.5em}.pum-field-checkbox label.pum-desc{display:inline;font-size:inherit;font-weight:inherit;margin:0 0 1em}.pum-field-checkbox input[type=checkbox]{position:absolute;top:5px}.pum-field-multicheck input,.pum-field-multicheck label,.pum-field-radio input,.pum-field-radio label{line-height:1em}.pum-field-multicheck label,.pum-field-radio label{margin-bottom:4px}.pum-field-multicheck input[type=radio],.pum-field-radio input[type=radio]{display:inline-block;margin-left:.25em}.pum-field-multicheck input+label,.pum-field-radio input+label{display:inline-block!important;font-weight:400}.pum-field-multicheck label:first-child,.pum-field-radio label:first-child{font-weight:700;margin:0 0 10px}.pum-field-multicheck>p.pum-desc,.pum-field-radio>p.pum-desc{margin:0 0 .5em}.pum-field-multicheck .pum-field-mulitcheck-list,.pum-field-multicheck .pum-field-radio-list,.pum-field-radio .pum-field-mulitcheck-list,.pum-field-radio .pum-field-radio-list{margin:0}.pum-field-range input[type=range],.pum-field-rangeslider input[type=range]{vertical-align:middle}.pum-field-range .pum-range-manual,.pum-field-rangeslider .pum-range-manual{padding-left:25px;text-align:left;vertical-align:middle;width:80px}.pum-field-range .pum-range-minus,.pum-field-range .pum-range-plus,.pum-field-rangeslider .pum-range-minus,.pum-field-rangeslider .pum-range-plus{font-size:18px;height:30px;text-align:center;vertical-align:middle;width:30px}.pum-field-range .pum-range-plus,.pum-field-rangeslider .pum-range-plus{margin-right:5px}.pum-field-range .pum-range-value-unit,.pum-field-range .range-value-unit,.pum-field-rangeslider .pum-range-value-unit,.pum-field-rangeslider .range-value-unit{display:inline-block;margin-right:-30px;margin-left:10px;position:relative;text-align:right;top:.125em;width:20px}.pum-field-color .wp-color-result-text{line-height:23px}.pum-field-image .pum-image-field .pum-image-select,.pum-field-image .pum-image-field.pum-image-empty .pum-image-preview{display:none}.pum-field-image .pum-image-field.pum-image-empty .pum-image-select{display:block}.pum-field-image .pum-image-preview-img{float:right;line-height:0;margin:5px 0}.pum-field-image .pum-image-preview-img img{height:auto;max-width:60px;width:auto}.pum-field-image select.pum-image-field__size{margin:8px 10px 8px 0;width:200px}.pum-field-image .pum-image-edit{margin:0 11px 0 0}.pum-field-image .pum-image-remove,.pum-field-image .pum-image-replace{margin:0 8px 0 0}.pum-field-conditions .facet-builder p{margin:0 0 1em}.pum-field-conditions .facet-builder a{text-decoration:none}.pum-field-conditions .facet-builder .facet-groups{display:none}.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap .facet-group{background:#f7f7f7;border:1px solid #ccc;box-shadow:0 1px 0 #ccc;color:#555}.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap .add-or a,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap .add-or button,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap .add-or em,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap:last-child .and a,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap:last-child .and button,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap:last-child .and em{color:#0073aa;cursor:pointer}.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap .add-or a:before,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap .add-or button:before,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap .add-or em:before,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap:last-child .and a:before,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap:last-child .and button:before,.pum-field-conditions .facet-builder .facet-groups .facet-group-wrap:last-child .and em:before{content:"+ "}.pum-field-conditions .facet-builder .facet{border-bottom:1px solid #e1e1e1;border-top:1px solid #fff;padding:12px 10px 6px 30px;position:relative}.pum-field-conditions .facet-builder .facet:first-child{border-top:0}.pum-field-conditions .facet-builder .facet:first-child .or{display:none}.pum-field-conditions .facet-builder .facet:after,.pum-field-conditions .facet-builder .facet:before{content:"";display:table;line-height:0}.pum-field-conditions .facet-builder .facet:after{clear:both}.pum-field-conditions .facet-builder .pum-field{margin-bottom:.5em}.pum-field-conditions .facet-builder .facet-col{float:right;margin-left:20px;min-width:175px;padding-bottom:6px;position:relative}.pum-field-conditions .facet-builder .facet-col input,.pum-field-conditions .facet-builder .facet-col select{margin:0;max-width:100%}.pum-field-conditions .facet-builder .facet-target{max-width:240px;position:relative}.pum-field-conditions .facet-builder .facet-target *{box-sizing:border-box}.pum-field-conditions .facet-builder .facet-target .pumselect2-container .pumselect2-selection,.pum-field-conditions .facet-builder .facet-target select{padding-right:28px}.pum-field-conditions .facet-builder .facet-target .pumselect2-container .pumselect2-selection .pumselect2-selection__rendered,.pum-field-conditions .facet-builder .facet-target select .pumselect2-selection__rendered{padding-right:3px}.pum-field-conditions .facet-builder .facet-target .pum-not-operand{background:#f7f7f7;border:1px solid #0000;border-radius:0 2px 2px 0;border-left-color:#ddd;cursor:pointer;height:28px;right:2px;line-height:24px;position:absolute;text-align:center;top:2px;z-index:10}.pum-field-conditions .facet-builder .facet-target .pum-not-operand span{font-size:1.25em}.pum-field-conditions .facet-builder .facet-target .pum-not-operand:before{color:#555;font-size:16px;line-height:24px}.pum-field-conditions .facet-builder .facet-target .pum-not-operand input[type=checkbox]{display:none}.pum-field-conditions .facet-builder .facet-target .pum-not-operand:focus{border:1px solid #5b9dd9;box-shadow:0 0 2px #1e8cbecc;outline:none}.pum-field-conditions .facet-builder .facet-target.not-operand-checked .pum-not-operand span,.pum-field-conditions .facet-builder .facet-target.not-operand-checked .pum-not-operand:before{color:#a00}.pum-field-conditions .facet-builder .facet-target .pumselect2-container-active .pumselect2-choices,.pum-field-conditions .facet-builder .facet-target .pumselect2-container-active .pumselect2-single{border-color:#5b9dd9;box-shadow:0 0 2px #1e8cbecc}.pum-field-conditions .facet-builder .facet-actions{position:absolute;left:6px;top:18px}.pum-field-conditions .facet-builder .facet-actions button{background:none;border:0;margin-right:5px;padding:0}.pum-field-conditions .facet-builder .dashicons-dismiss,.pum-field-conditions .facet-builder .dashicons-plus-alt{color:#999}.pum-field-conditions .facet-builder .or{color:#484848;font-style:normal;font-weight:500;right:50%;line-height:10px;margin-right:-21px;position:absolute;text-transform:uppercase;top:-6px}.pum-field-conditions .facet-builder .add-or{border-top:1px solid #fff;text-align:center}.pum-field-conditions .facet-builder .add-or>.add{right:-6.5px;position:relative;top:-9px}.pum-field-conditions .facet-builder .and{border-bottom:1px dashed #e1e1e1;margin:.5em 0 1.7em;text-align:center}.pum-field-conditions .facet-builder .add-or>.add,.pum-field-conditions .facet-builder .or{background:#f7f7f7;font-size:1.1em;padding:0 10px}.pum-field-conditions .facet-builder .add-or a,.pum-field-conditions .facet-builder .add-or button,.pum-field-conditions .facet-builder .add-or em,.pum-field-conditions .facet-builder .add-or label,.pum-field-conditions .facet-builder .and a,.pum-field-conditions .facet-builder .and button,.pum-field-conditions .facet-builder .and em,.pum-field-conditions .facet-builder .and label{background:#fff;border:0;box-shadow:none;color:#484848;cursor:default;font-size:1.1em;font-style:normal;margin:0 10px;padding:0 10px;position:relative;text-transform:uppercase;top:9px}.pum-field-conditions .facet-builder .add-or em,.pum-field-conditions .facet-builder .and em{color:#484848}.pum-field-conditions .no-facet-groups{display:block}.pum-field-conditions .no-facet-groups .facet-target{max-width:100%}.pum-field-conditions .has-conditions .facet-groups{display:block}.pum-field-conditions .has-conditions .no-facet-groups{display:none}.pum-field-conditions .pum-field-select2 select{width:100%!important}.pum-field-license_key{background:#fafafa;border-bottom:2px solid #999;border-top:2px solid #999;margin:0 -14px 14px;padding:14px}.pum-field-license_key p{font-size:13px;margin-top:0}.pum-field-license_key a{color:#444}.pum-field-license_key a:hover{text-decoration:none}.pum-field-license_key span.pum-license-status{margin-right:5px;margin-left:5px}.pum-field-license_key .pum-license-messages p:last-child{margin-bottom:0}.pum-field-license_key.pum-license-expires-soon-notice{border-color:#dc3232}.pum-field-license_key.pum-license-valid-notice{border-color:#46b450}.pum-field-license_key.pum-license-valid-notice .pum-license-status{color:#46b450}.pum-field-license_key.pum-license-deactivated-notice{border-color:#ffc107}.pum-field-license_key.pum-license-deactivated-notice .pum-license-status{color:#856404}.pum-field-license_key.pum-license-inactive-notice{border-color:#0073aa}.pum-field-license_key.pum-license-expired-notice{background-color:#e24e4e;border-color:#dc3232;color:#fff}.pum-field-license_key.pum-license-error-notice,.pum-field-license_key.pum-license-invalid-notice,.pum-field-license_key.pum-license-item_name_mismatch-notice,.pum-field-license_key.pum-license-missing-notice,.pum-field-license_key.pum-license-site_inactive-notice{background-color:#ffebcd;border-color:#dc3232}.pum-field-license_key.pum-license-expired-notice a{color:#fff}.pum-field-license_key.pum-license-expired-notice a:hover{text-decoration:none}.pum-field-link input{display:block;margin-left:24px}.pum-field-link button.dashicons{box-shadow:0 0 0 #ccc;float:left;font-size:16px;height:1.5em;line-height:1;margin-top:1px;padding:0;vertical-align:sub;width:1.5em}.pum-field-select2{position:relative}.pum-field-select2 .pumselect2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.pum-field-select2 .pumselect2-container .pumselect2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.pum-field-select2 .pumselect2-container .pumselect2-selection--single .pumselect2-selection__rendered{display:block;overflow:hidden;padding-right:8px;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.pum-field-select2 .pumselect2-container .pumselect2-selection--single .pumselect2-selection__clear{position:relative}.pum-field-select2 .pumselect2-container[dir=rtl] .pumselect2-selection--single .pumselect2-selection__rendered{padding-right:20px;padding-left:8px}.pum-field-select2 .pumselect2-container .pumselect2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.pum-field-select2 .pumselect2-container .pumselect2-selection--multiple .pumselect2-selection__rendered{display:inline-block;overflow:hidden;padding-right:8px;text-overflow:ellipsis;white-space:nowrap}.pum-field-select2 .pumselect2-container .pumselect2-search--inline{float:right}.pum-field-select2 .pumselect2-container .pumselect2-search--inline .pumselect2-search__field{border:none;box-sizing:border-box;font-size:100%;margin-top:5px;padding:0}.pum-field-select2 .pumselect2-container .pumselect2-search--inline .pumselect2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.pum-field-select2 .pumselect2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;right:-100000px;position:absolute;width:100%;z-index:1051}.pum-field-select2 .pumselect2-results{display:block}.pum-field-select2 .pumselect2-results__options{list-style:none;margin:0;padding:0}.pum-field-select2 .pumselect2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.pum-field-select2 .pumselect2-results__option[aria-selected]{cursor:pointer}.pum-field-select2 .pumselect2-container--open .pumselect2-dropdown{right:0}.pum-field-select2 .pumselect2-container--open .pumselect2-dropdown--above{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.pum-field-select2 .pumselect2-container--open .pumselect2-dropdown--below{border-top:none;border-top-right-radius:0;border-top-left-radius:0}.pum-field-select2 .pumselect2-search--dropdown{display:block;padding:4px}.pum-field-select2 .pumselect2-search--dropdown .pumselect2-search__field{box-sizing:border-box;padding:4px;width:100%}.pum-field-select2 .pumselect2-search--dropdown .pumselect2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.pum-field-select2 .pumselect2-search--dropdown.pumselect2-search--hide{display:none}.pum-field-select2 .pumselect2-close-mask{background-color:#fff;border:0;display:block;filter:alpha(opacity=0);height:auto;right:0;margin:0;min-height:100%;min-width:100%;opacity:0;padding:0;position:fixed;top:0;width:auto;z-index:99}.pum-field-select2 .pumselect2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--single .pumselect2-selection__rendered{color:#444;line-height:28px}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--single .pumselect2-selection__clear{cursor:pointer;float:left;font-weight:700}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--single .pumselect2-selection__placeholder{color:#999}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--single .pumselect2-selection__arrow{height:26px;position:absolute;left:1px;top:1px;width:20px}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--single .pumselect2-selection__arrow b{border-color:#888 #0000 #0000;border-style:solid;border-width:5px 4px 0;height:0;right:50%;margin-right:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.pum-field-select2 .pumselect2-container--default[dir=rtl] .pumselect2-selection--single .pumselect2-selection__clear{float:right}.pum-field-select2 .pumselect2-container--default[dir=rtl] .pumselect2-selection--single .pumselect2-selection__arrow{right:1px;left:auto}.pum-field-select2 .pumselect2-container--default.pumselect2-container--disabled .pumselect2-selection--single{background-color:#eee;cursor:default}.pum-field-select2 .pumselect2-container--default.pumselect2-container--disabled .pumselect2-selection--single .pumselect2-selection__clear{display:none}.pum-field-select2 .pumselect2-container--default.pumselect2-container--open .pumselect2-selection--single .pumselect2-selection__arrow b{border-color:#0000 #0000 #888;border-width:0 4px 5px}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--multiple .pumselect2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--multiple .pumselect2-selection__rendered li{list-style:none}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--multiple .pumselect2-selection__placeholder{color:#999;float:right;margin-top:5px}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--multiple .pumselect2-selection__clear{cursor:pointer;float:left;font-weight:700;margin-left:10px;margin-top:5px}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--multiple .pumselect2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:right;margin-left:5px;margin-top:5px;padding:0 5px}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--multiple .pumselect2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-left:2px}.pum-field-select2 .pumselect2-container--default .pumselect2-selection--multiple .pumselect2-selection__choice__remove:hover{color:#333}.pum-field-select2 .pumselect2-container--default[dir=rtl] .pumselect2-selection--multiple .pumselect2-search--inline,.pum-field-select2 .pumselect2-container--default[dir=rtl] .pumselect2-selection--multiple .pumselect2-selection__choice,.pum-field-select2 .pumselect2-container--default[dir=rtl] .pumselect2-selection--multiple .pumselect2-selection__placeholder{float:left}.pum-field-select2 .pumselect2-container--default[dir=rtl] .pumselect2-selection--multiple .pumselect2-selection__choice{margin-right:5px;margin-left:auto}.pum-field-select2 .pumselect2-container--default[dir=rtl] .pumselect2-selection--multiple .pumselect2-selection__choice__remove{margin-right:2px;margin-left:auto}.pum-field-select2 .pumselect2-container--default.pumselect2-container--focus .pumselect2-selection--multiple{border:1px solid #000;outline:0}.pum-field-select2 .pumselect2-container--default.pumselect2-container--disabled .pumselect2-selection--multiple{background-color:#eee;cursor:default}.pum-field-select2 .pumselect2-container--default.pumselect2-container--disabled .pumselect2-selection__choice__remove{display:none}.pum-field-select2 .pumselect2-container--default.pumselect2-container--open.pumselect2-container--above .pumselect2-selection--multiple,.pum-field-select2 .pumselect2-container--default.pumselect2-container--open.pumselect2-container--above .pumselect2-selection--single{border-top-right-radius:0;border-top-left-radius:0}.pum-field-select2 .pumselect2-container--default.pumselect2-container--open.pumselect2-container--below .pumselect2-selection--multiple,.pum-field-select2 .pumselect2-container--default.pumselect2-container--open.pumselect2-container--below .pumselect2-selection--single{border-bottom-right-radius:0;border-bottom-left-radius:0}.pum-field-select2 .pumselect2-container--default .pumselect2-search--dropdown .pumselect2-search__field{border:1px solid #aaa}.pum-field-select2 .pumselect2-container--default .pumselect2-search--inline .pumselect2-search__field{-webkit-appearance:textfield;background:#0000;border:none;box-shadow:none;outline:0}.pum-field-select2 .pumselect2-container--default .pumselect2-results>.pumselect2-results__options{max-height:200px;overflow-y:auto}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option[role=group]{padding:0}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option[aria-disabled=true]{color:#999}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option[aria-selected=true]{background-color:#ddd}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option .pumselect2-results__option{padding-right:1em}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option .pumselect2-results__option .pumselect2-results__group{padding-right:0}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option{margin-right:-1em;padding-right:2em}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option{margin-right:-2em;padding-right:3em}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option{margin-right:-3em;padding-right:4em}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option{margin-right:-4em;padding-right:5em}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option .pumselect2-results__option{margin-right:-5em;padding-right:6em}.pum-field-select2 .pumselect2-container--default .pumselect2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.pum-field-select2 .pumselect2-container--default .pumselect2-results__group{cursor:default;display:block;padding:6px}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--single{background-color:#f7f7f7;background-image:linear-gradient(-180deg,#fff 50%,#eee);background-repeat:repeat-x;border:1px solid #aaa;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF",endColorstr="#FFEEEEEE",GradientType=0);outline:0}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--single:focus{border:1px solid #5897fb}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--single .pumselect2-selection__rendered{color:#444;line-height:28px}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--single .pumselect2-selection__clear{cursor:pointer;float:left;font-weight:700;margin-left:10px}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--single .pumselect2-selection__placeholder{color:#999}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--single .pumselect2-selection__arrow{background-color:#ddd;background-image:linear-gradient(-180deg,#eee 50%,#ccc);background-repeat:repeat-x;border:none;border-bottom-left-radius:4px;border-right:1px solid #aaa;border-top-left-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE",endColorstr="#FFCCCCCC",GradientType=0);height:26px;position:absolute;left:1px;top:1px;width:20px}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--single .pumselect2-selection__arrow b{border-color:#888 #0000 #0000;border-style:solid;border-width:5px 4px 0;height:0;right:50%;margin-right:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.pum-field-select2 .pumselect2-container--classic[dir=rtl] .pumselect2-selection--single .pumselect2-selection__clear{float:right}.pum-field-select2 .pumselect2-container--classic[dir=rtl] .pumselect2-selection--single .pumselect2-selection__arrow{border:none;border-radius:0;border-bottom-right-radius:4px;border-left:1px solid #aaa;border-top-right-radius:4px;right:1px;left:auto}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open .pumselect2-selection--single{border:1px solid #5897fb}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open .pumselect2-selection--single .pumselect2-selection__arrow{background:#0000;border:none}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open .pumselect2-selection--single .pumselect2-selection__arrow b{border-color:#0000 #0000 #888;border-width:0 4px 5px}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open.pumselect2-container--above .pumselect2-selection--single{background-image:linear-gradient(-180deg,#fff 0,#eee 50%);background-repeat:repeat-x;border-top:none;border-top-right-radius:0;border-top-left-radius:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF",endColorstr="#FFEEEEEE",GradientType=0)}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open.pumselect2-container--below .pumselect2-selection--single{background-image:linear-gradient(-180deg,#eee 50%,#fff);background-repeat:repeat-x;border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE",endColorstr="#FFFFFFFF",GradientType=0)}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--multiple:focus{border:1px solid #5897fb}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--multiple .pumselect2-selection__rendered{list-style:none;margin:0;padding:0 5px}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--multiple .pumselect2-selection__clear{display:none}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--multiple .pumselect2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:right;margin-left:5px;margin-top:5px;padding:0 5px}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--multiple .pumselect2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-left:2px}.pum-field-select2 .pumselect2-container--classic .pumselect2-selection--multiple .pumselect2-selection__choice__remove:hover{color:#555}.pum-field-select2 .pumselect2-container--classic[dir=rtl] .pumselect2-selection--multiple .pumselect2-selection__choice{float:left;margin-right:5px;margin-left:auto}.pum-field-select2 .pumselect2-container--classic[dir=rtl] .pumselect2-selection--multiple .pumselect2-selection__choice__remove{margin-right:2px;margin-left:auto}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open .pumselect2-selection--multiple{border:1px solid #5897fb}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open.pumselect2-container--above .pumselect2-selection--multiple{border-top:none;border-top-right-radius:0;border-top-left-radius:0}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open.pumselect2-container--below .pumselect2-selection--multiple{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.pum-field-select2 .pumselect2-container--classic .pumselect2-search--dropdown .pumselect2-search__field{border:1px solid #aaa;outline:0}.pum-field-select2 .pumselect2-container--classic .pumselect2-search--inline .pumselect2-search__field{box-shadow:none;outline:0}.pum-field-select2 .pumselect2-container--classic .pumselect2-dropdown{background-color:#fff;border:1px solid #0000}.pum-field-select2 .pumselect2-container--classic .pumselect2-dropdown--above{border-bottom:none}.pum-field-select2 .pumselect2-container--classic .pumselect2-dropdown--below{border-top:none}.pum-field-select2 .pumselect2-container--classic .pumselect2-results>.pumselect2-results__options{max-height:200px;overflow-y:auto}.pum-field-select2 .pumselect2-container--classic .pumselect2-results__option[role=group]{padding:0}.pum-field-select2 .pumselect2-container--classic .pumselect2-results__option[aria-disabled=true]{color:gray}.pum-field-select2 .pumselect2-container--classic .pumselect2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.pum-field-select2 .pumselect2-container--classic .pumselect2-results__group{cursor:default;display:block;padding:6px}.pum-field-select2 .pumselect2-container--classic.pumselect2-container--open .pumselect2-dropdown{border-color:#5897fb}.pum-field-select2>.pumselect2-container--below.pumselect2-container--open+.pum-desc+.pumselect2-container--open,.pum-field-select2>.pumselect2-container--below.pumselect2-container--open+.pumselect2-container--open{position:absolute!important}.pum-field-select2 .pumselect2-container .pumselect2-selection{border-color:#ddd;border-radius:0;box-shadow:inset 0 1px 2px #00000012;font-size:14px;margin:1px;min-height:30px;transition:border-color .05s ease-in-out}.pum-field-select2 .pumselect2-container.pumselect2-container--focus .pumselect2-selection{border-color:#5b9dd9;box-shadow:0 0 2px #1e8cbecc;outline:none}.pum-field-select2 .pumselect2-container .pumselect2-selection--multiple{font-size:12px;line-height:16px;max-height:150px;min-height:28px;overflow-y:auto}.pum-field-select2 .pumselect2-container .pumselect2-selection--multiple .pumselect2-selection__clear{margin-left:3px}.pum-field-select2 .pumselect2-container .pumselect2-selection--multiple .pumselect2-search--inline{margin:0}.pum-field-select2 .pumselect2-container .pumselect2-selection--multiple .pumselect2-search--inline .pumselect2-search__field{border-color:#ddd;min-width:5em;width:100%!important}.pum-field-select2 .pumselect2-container .pumselect2-selection--multiple .pumselect2-selection__choice{margin-bottom:0;margin-top:4px}.pum-field-select2 .pumselect2-container .pumselect2-dropdown{border-color:#ddd;box-shadow:0 1px 2px #00000012;margin:0 1px;max-width:calc(100% - 4px);position:relative}.pum-field-select2 .pumselect2-container .pumselect2-dropdown .pumselect2-search__field{border-color:#ddd;min-width:5em}.pum-field-select2 .pumselect2-container .pumselect2-dropdown .pumselect2-results .pumselect2-results__option{margin:0;padding:3px 6px}.pum-field-select2 .pumselect2-container .pumselect2-dropdown .pumselect2-results .pumselect2-results__option[role=group]{padding:3px 0 0}.pum-field-select2 .pumselect2-container .pumselect2-dropdown .pumselect2-results .pumselect2-results__option[role=group] .pumselect2-results__group{padding:0 6px}.pum-field-select2 .pumselect2-container .pumselect2-dropdown .pumselect2-results .pumselect2-results__options--nested{padding:3px 6px 0}.pum-field-select2 .pumselect2-container .pumselect2-dropdown .pumselect2-results .pumselect2-results__option--highlighted{background:#3e86d0}.pum-field-select2 .pumselect2-container+.pumselect2-container--open{top:inherit!important}.pum-tabs-container{position:relative}.pum-tabs-container,.pum-tabs-container>*{box-sizing:border-box}.pum-tabs-container>ul.tabs{margin:0}.pum-tabs-container>ul.tabs .tab{font-size:1.2em}.pum-tabs-container>ul.tabs .tab a{border:0;display:block;padding:8px 16px;text-decoration:none}.pum-tabs-container>ul.tabs .tab a:focus{box-shadow:none}.pum-tabs-container>.tab-content{display:none;padding:16px}.pum-tabs-container>.tab-content .form-table,.pum-tabs-container>.tab-content.active{display:block}.pum-tabs-container>.tab-content .form-table:first-child{margin-top:0}.pum-tabs-container.horizontal-tabs{display:block}.pum-tabs-container.horizontal-tabs>ul.tabs>li.tab{display:inline-block;margin:0;padding:0}.pum-tabs-container.horizontal-tabs>ul.tabs>li.tab a{padding:.5em 1em}.pum-tabs-container.horizontal-tabs>.tab-content{padding-top:16px}.pum-tabs-container.vertical-tabs{min-height:100px;padding-right:140px;width:100%}.pum-tabs-container.vertical-tabs>ul.tabs{border-left:1px solid #dfdfdf;border-top:0;display:block;right:0;margin:0;min-height:100%;position:absolute;top:0;width:140px}.pum-tabs-container.vertical-tabs>ul.tabs>.tab{border-bottom:1px solid #eee;display:block;margin:0}.pum-tabs-container.vertical-tabs>ul.tabs>.tab a{background:#fcfcfc;color:#000;display:block}.pum-tabs-container.vertical-tabs>ul.tabs>.tab a:focus,.pum-tabs-container.vertical-tabs>ul.tabs>.tab:hover a{background-color:#0073aa}.pum-tabs-container.vertical-tabs>ul.tabs>.tab.active a{background-color:#32373c;color:#fff}.pum-tabs-container.vertical-tabs>ul.tabs>.tab:first-child{margin-top:8px}.pum-tabs-container.link-tabs>ul.tabs{display:block}.pum-tabs-container.link-tabs>ul.tabs>li.tab{display:inline-block}.pum-tabs-container.link-tabs>ul.tabs>li.tab a{color:#0073aa;display:inline;padding:0 .25em}.pum-tabs-container.link-tabs>ul.tabs>li.tab a:active,.pum-tabs-container.link-tabs>ul.tabs>li.tab.active a{color:#000}.pum-tabs-container.link-tabs>ul.tabs>li.tab a:active,.pum-tabs-container.link-tabs>ul.tabs>li.tab.active a,.pum-tabs-container.link-tabs>ul.tabs>li.tab:hover a{text-decoration:underline}.pum-tabs-container.link-tabs>ul.tabs>li.tab:after{content:"|";display:inline-block;margin:0 .25em}.pum-tabs-container.link-tabs>ul.tabs>li.tab:last-child:after{content:""}.pum-tabs-container.sub-tabs>.tab-content{padding:16px 0 0}.pum-tabs-container.sub-tabs>.tab-content .pum-field:first-child h3{margin-top:0}.pum-tabs-container[data-tab-count="0"].horizontal-tabs>ul.tabs,.pum-tabs-container[data-tab-count="1"].horizontal-tabs>ul.tabs{display:none}.pum-tabs-container[data-tab-count="0"].sub-tabs>.tab-content,.pum-tabs-container[data-tab-count="1"].sub-tabs>.tab-content{padding-top:0}#pum-settings_extensions .pum-tabs-container[data-tab-count="1"].horizontal-tabs>ul.tabs{display:block!important}#pum-settings_extensions .pum-tabs-container[data-tab-count="1"].sub-tabs>.tab-content{padding-top:16px!important}.pum-tab-panel{position:relative}.pum-tab-panel,.pum-tab-panel>*{box-sizing:border-box}.pum-tab-panel>.components-tab-panel__tabs{margin:0}.pum-tab-panel>.components-tab-panel__tabs .components-tab-panel__tab{border:0;display:block;font-size:1.2em;padding:8px 16px;text-decoration:none}.pum-tab-panel>.components-tab-panel__tabs .components-tab-panel__tab:focus{box-shadow:none}.pum-tab-panel>.components-tab-panel__tab-content{padding:16px}.pum-tab-panel>.components-tab-panel__tab-content .form-table{display:block}.pum-tab-panel>.components-tab-panel__tab-content .form-table:first-child{margin-top:0}.pum-tab-panel.pum-horizontal-tabs{display:block}.pum-tab-panel.pum-horizontal-tabs>.components-tab-panel__tabs>.components-tab-panel__tab{display:inline-block;margin:0;padding:0}.pum-tab-panel.pum-horizontal-tabs>.components-tab-panel__tabs>.components-tab-panel__tab a{padding:.5em 1em}.pum-tab-panel.pum-horizontal-tabs>.components-tab-panel__tab-content{padding-top:16px}.pum-tab-panel.pum-vertical-tabs{min-height:100px;padding-right:140px;width:100%}.pum-tab-panel.pum-vertical-tabs>.components-tab-panel__tabs{border-left:1px solid #dfdfdf;border-top:0;display:block;right:0;margin:0;min-height:100%;position:absolute;top:0;width:140px}.pum-tab-panel.pum-vertical-tabs>.components-tab-panel__tabs>.components-tab-panel__tab{border-bottom:1px solid #eee;display:block;margin:0}.pum-tab-panel.pum-vertical-tabs>.components-tab-panel__tabs>.components-tab-panel__tab a{background:#fcfcfc;color:#000;display:block}.pum-tab-panel.pum-vertical-tabs>.components-tab-panel__tabs>.components-tab-panel__tab a:focus,.pum-tab-panel.pum-vertical-tabs>.components-tab-panel__tabs>.components-tab-panel__tab:hover a{background-color:#0073aa}.pum-tab-panel.pum-vertical-tabs>.components-tab-panel__tabs>.components-tab-panel__tab.is-active a{background-color:#32373c;color:#fff}.pum-tab-panel.pum-vertical-tabs>.components-tab-panel__tabs>.components-tab-panel__tab:first-child{margin-top:8px}.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs{display:block}.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab{display:inline-block}.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab a{color:#0073aa;display:inline;padding:0 .25em}.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab a:active,.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab.is-active a{color:#000}.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab a:active,.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab.is-active a,.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab:hover a{text-decoration:underline}.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab:after{content:"|";display:inline-block;margin:0 .25em}.pum-tab-panel.pum-link-tabs>.components-tab-panel__tabs>.components-tab-panel__tab:last-child:after{content:""}.pum-tab-panel.pum-sub-tabs>.components-tab-panel__tab-content{padding:16px 0 0}.pum-tab-panel.pum-sub-tabs>.components-tab-panel__tab-content .pum-field:first-child h3{margin-top:0}.pum-tab-panel[data-tab-count="0"].pum-horizontal-tabs>.components-tab-panel__tabs,.pum-tab-panel[data-tab-count="1"].pum-horizontal-tabs>.components-tab-panel__tabs{display:none}.pum-tab-panel[data-tab-count="0"].pum-sub-tabs>.components-tab-panel__tab-content,.pum-tab-panel[data-tab-count="1"].pum-sub-tabs>.components-tab-panel__tab-content{padding-top:0}.pum-modal-background{background:#000000b3;bottom:0;display:none;height:100%;right:0;overflow-y:scroll;position:fixed;left:0;top:0;width:100%;z-index:100100}.pum-modal-background,.pum-modal-background *,.pum-modal-background :after,.pum-modal-background :before,.pum-modal-background:after,.pum-modal-background:before{box-sizing:border-box}.pum-modal-background .pum-modal-wrap{background-color:#fff;box-shadow:0 3px 6px #0000004d;right:50%;margin-bottom:60px;margin-right:-300px;position:absolute;top:60px;transition:height .2s,margin-top .2s;width:550px;z-index:100105}@media screen and (max-width:520px){.pum-modal-background .pum-modal-wrap{bottom:10px;right:10px;margin-right:0;left:10px;top:10px;width:auto}}.pum-modal-background .pum-modal-header{background:#fcfcfc;border-bottom:1px solid #dfdfdf;font-size:18px;font-weight:600;height:36px;right:0;line-height:36px;padding:0 16px 0 36px;position:absolute;left:0;top:0}.pum-modal-background .pum-modal-header .pum-modal-close{background:100% 0;border:none;color:#666;cursor:pointer;height:36px;padding:0;position:absolute;left:0;text-align:center;top:0;width:36px}.pum-modal-background .pum-modal-header .pum-modal-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";height:36px;width:36px}.pum-modal-background .pum-modal-content{padding:52px 16px 60px}.pum-modal-background .pum-modal-content div.error{margin:0 0 10px}.pum-modal-background .pum-modal-content p{margin-top:0}.pum-modal-background .pum-modal-content textarea{width:100%}@media screen and (max-width:782px){.pum-modal-background .pum-modal-content{padding:50px 16px 60px}}.pum-modal-background .pum-modal-footer{background:#fcfcfc;border-top:1px solid #dfdfdf;bottom:0;right:0;padding:8px 16px;position:absolute;left:0}.pum-modal-background .pum-modal-footer .cancel{float:right;line-height:25px}.pum-modal-background .pum-modal-footer .cancel .no-button{background:none;border:0;cursor:pointer;padding:0}.pum-modal-background .pum-modal-footer .cancel .no-button.link-button{color:#0073aa;text-decoration:underline}.pum-modal-background .pum-modal-footer .cancel .submitdelete{padding:1px 2px;text-decoration:none}@media screen and (max-width:782px){.pum-modal-background .pum-modal-footer .cancel{line-height:32px}}.pum-modal-background .pum-modal-footer .pum-submit{float:left;line-height:23px}.pum-modal-background .pum-modal-footer .pum-submit button{float:left;margin-bottom:0}.pum-modal-background .pum-modal-footer .pum-submit .spinner{float:right;vertical-align:middle}.pum-modal-background.tabbed-content .pum-modal-content{padding:36px 0 44px}.pum-alert{background:#fff;border-right:4px solid #ccc;box-shadow:0 1px 2px #0003;padding:0 12px;position:relative;width:100%}.pum-alert.pum-alert__success{border-right-color:#46b450}.pum-alert.pum-alert__info{border-right-color:#00a0d2}.pum-alert.pum-alert__warning{border-right-color:#ffb900}.pum-alert.pum-alert__error{border-right-color:#dc3232}.pum-alert-holder{display:flex;margin-bottom:.8em}.pum-alerts{background-color:#fdfdfd;border:1px solid #e5e5e5;box-shadow:0 1px 1px #0000000a;clear:both;margin:20px 0 1px;margin-left:20px!important;max-width:1280px;padding:20px 20px 0;position:relative;top:10px}.pum-alerts>h2:first-child{font-size:23px;font-weight:400;line-height:29px;margin:0;padding:9px 0 4px}.pum-alerts h3{background-color:#fdfdfd;border-bottom:1px solid #ccc;font-size:1.4em;margin:-20px -20px 0;padding:1em}.pum-alerts img.logo{height:2em;margin:0 0 0 5px;vertical-align:middle}.pum-alerts .pum-alert{width:100%}.pum-alerts .button.dismiss,.pum-alerts .button.restore{align-items:center;cursor:pointer;display:flex;flex:0 0 45px;height:45px;justify-content:center;line-height:inherit;margin-right:10px;outline:0;padding:0;width:45px}.pum-alerts .button.dismiss .dashicons,.pum-alerts .button.restore .dashicons{font-size:24px;height:24px;width:24px}.pum-alerts .button.dismiss:focus,.pum-alerts .button.dismiss:hover,.pum-alerts .button.restore:focus,.pum-alerts .button.restore:hover{background:100% 0}.popup_page_pum-extensions .pum-alerts{top:0}.pum-alerts .screen-reader-text{overflow:hidden;clip:rect(1px,1px,1px,1px);border:0;height:1px;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;clip-path:inset(50%)}.pum-bottom-spacing{margin-bottom:20px}.pum-container-disabled{background-color:#e8e8e8b3;border-radius:4px;bottom:0;display:table-cell;right:0;position:absolute;left:0;top:0}.pum-muted-title{font-style:italic;font-weight:600;overflow:hidden}.pum-muted-title:after{border-top:1px solid #ddd;content:"";display:inline-block;height:.5em;margin-right:10px;margin-left:-100%;vertical-align:bottom;width:100%}.pum-field-triggers .pum-popup-trigger-editor .add-new,.pum-field-triggers .pum-popup-trigger-editor .pum-add-new{float:left}.pum-field-triggers .pum-popup-trigger-editor .list-table{display:none!important}.pum-field-triggers .pum-popup-trigger-editor .list-table tbody td,.pum-field-triggers .pum-popup-trigger-editor .list-table tbody th,.pum-field-triggers .pum-popup-trigger-editor .list-table thead td,.pum-field-triggers .pum-popup-trigger-editor .list-table thead th{text-align:center}.pum-field-triggers .pum-popup-trigger-editor .list-table tbody td:first-child,.pum-field-triggers .pum-popup-trigger-editor .list-table tbody th:first-child,.pum-field-triggers .pum-popup-trigger-editor .list-table thead td:first-child,.pum-field-triggers .pum-popup-trigger-editor .list-table thead th:first-child{text-align:right}.pum-field-triggers .pum-popup-trigger-editor .list-table tbody td:last-child,.pum-field-triggers .pum-popup-trigger-editor .list-table tbody th:last-child,.pum-field-triggers .pum-popup-trigger-editor .list-table thead td:last-child,.pum-field-triggers .pum-popup-trigger-editor .list-table thead th:last-child{text-align:left}.pum-field-triggers .pum-popup-trigger-editor .list-table tbody td:first-child,.pum-field-triggers .pum-popup-trigger-editor .list-table tbody th:first-child{padding-right:0}.pum-field-triggers .pum-popup-trigger-editor .list-table tbody td:last-child,.pum-field-triggers .pum-popup-trigger-editor .list-table tbody th:last-child{padding-left:0}.pum-field-triggers .pum-popup-trigger-editor span.edit{color:#0073aa;cursor:pointer;text-decoration:underline}.pum-field-triggers .pum-popup-trigger-editor .list-item-actions i{cursor:pointer}.pum-field-triggers .pum-popup-trigger-editor .no-list-items{display:block}.pum-field-triggers .pum-popup-trigger-editor .no-list-items select{max-width:100%}.pum-field-triggers .pum-popup-trigger-editor.has-list-items .list-table{display:block!important}.pum-field-triggers .pum-popup-trigger-editor.has-list-items .no-list-items{display:none!important}.pum-field-cookies .pum-popup-cookie-editor .add-new,.pum-field-cookies .pum-popup-cookie-editor .pum-add-new{float:left}.pum-field-cookies .pum-popup-cookie-editor .list-table{display:none!important}.pum-field-cookies .pum-popup-cookie-editor .list-table tbody td,.pum-field-cookies .pum-popup-cookie-editor .list-table tbody th,.pum-field-cookies .pum-popup-cookie-editor .list-table thead td,.pum-field-cookies .pum-popup-cookie-editor .list-table thead th{text-align:center}.pum-field-cookies .pum-popup-cookie-editor .list-table tbody td:first-child,.pum-field-cookies .pum-popup-cookie-editor .list-table tbody th:first-child,.pum-field-cookies .pum-popup-cookie-editor .list-table thead td:first-child,.pum-field-cookies .pum-popup-cookie-editor .list-table thead th:first-child{text-align:right}.pum-field-cookies .pum-popup-cookie-editor .list-table tbody td:last-child,.pum-field-cookies .pum-popup-cookie-editor .list-table tbody th:last-child,.pum-field-cookies .pum-popup-cookie-editor .list-table thead td:last-child,.pum-field-cookies .pum-popup-cookie-editor .list-table thead th:last-child{text-align:left}.pum-field-cookies .pum-popup-cookie-editor .list-table tbody td:first-child,.pum-field-cookies .pum-popup-cookie-editor .list-table tbody th:first-child{padding-right:0}.pum-field-cookies .pum-popup-cookie-editor .list-table tbody td:last-child,.pum-field-cookies .pum-popup-cookie-editor .list-table tbody th:last-child{padding-left:0}.pum-field-cookies .pum-popup-cookie-editor span.edit{color:#0073aa;cursor:pointer;text-decoration:underline}.pum-field-cookies .pum-popup-cookie-editor .list-item-actions i{cursor:pointer}.pum-field-cookies .pum-popup-cookie-editor .no-list-items{display:block}.pum-field-cookies .pum-popup-cookie-editor .no-list-items select{max-width:100%}.pum-field-cookies .pum-popup-cookie-editor.has-list-items .list-table{display:block!important}.pum-field-cookies .pum-popup-cookie-editor.has-list-items .no-list-items{display:none!important}.pum-field-cookie_key .cookie-key{display:inline-block;position:relative}.pum-field-cookie_key .cookie-key button.reset{bottom:0;height:100%;position:absolute;left:0;top:0}.pum-upgrade-tip{color:#333;line-height:2em!important}.pum-upgrade-tipdiv{display:block;font-weight:700;margin-bottom:15px}.pum-upgrade-tip img{aspect-ratio:1/1;float:right;height:2em;margin-left:15px;max-width:none;width:auto}.title-divider th{border-top:1px solid #ccc;padding:0}.title-divider .title{font-size:1.125em;padding-bottom:0!important;padding-right:0!important;padding-top:20px!important}.form-table td,.form-table tr{padding-top:10px}.posttypediv,.taxonomydiv{clear:both;margin-bottom:10px;overflow:auto}@media screen and (max-width:1023px){.pum-notice-bar{display:none!important}}:has(>.pum-notice-bar-wrapper){padding-top:1.5em}.pum-notice-bar-wrapper{right:0;margin:0 auto;position:absolute;left:0;top:0;visibility:hidden;width:fit-content;z-index:10}.pum-notice-bar-wrapper .pum-notice-bar{background:linear-gradient(-135deg,#ebe7fe,#f6f6f7);border:1px solid #d6ccff;border-radius:0 0 6px 6px;border-top:3px solid #8267f6;box-shadow:0 1px 3px #00000014;color:#270aa9;display:flex;justify-content:center;max-height:100px;padding:7px;visibility:visible}.pum-notice-bar-wrapper .pum-notice-bar a{color:#7356f5;font-weight:600;text-decoration:none}.pum-notice-bar-wrapper .pum-notice-bar a:hover{color:#8267f6;text-decoration:underline}#log-viewer{background-color:#fff;border:1px solid #e5e5e5;box-shadow:0 1px 1px #0000000a;margin:20px 0;padding:5px 20px}#log-viewer pre{font-family:monospace;white-space:pre-wrap}.pum-welcome-wrapper{background-color:#fff;margin:0;padding:10px}@media only screen and (min-width:600px){.pum-welcome-wrapper{margin:40px auto 0;max-width:500px;padding:40px 30px}}.pum-welcome-wrapper ul{list-style:disc;padding-right:20px}.pum-welcome-wrapper .pum-welcome-signature{align-items:center;display:flex;font-style:italic;margin-top:20px}.pum-welcome-wrapper .pum-welcome-signature img{border-radius:100px;margin-left:10px;width:60px}.pum-welcome-wrapper .pum-welcome-cta{margin-top:30px}.pum-toggle-button{height:18px;position:relative;width:36px}.pum-toggle-button label{background-color:#fff;border:1px solid #1e1e1e;border-radius:9px;bottom:0;cursor:pointer;right:0;position:absolute;left:0;top:0;transition:background-color .2s ease}.pum-toggle-button label:before{background-color:#1e1e1e;border-radius:50%;bottom:1px;content:"";height:14px;right:2px;position:absolute;transition:.2s ease;width:14px}.pum-toggle-button input{height:0;opacity:0;width:0}.pum-toggle-button input:focus+label{box-shadow:-2px 2px 7px #2196f3}.pum-toggle-button input:checked+label{background-color:#9ab927}.pum-toggle-button input:checked+label:before{background-color:#fff;transform:translateX(-15px)}.wp-core-ui .button-with-icon{align-items:center;display:inline-flex}.wp-list-table .type-popup .row-actions{color:#999}.pum-flex-row{display:flex}.pum-flex-row .pum-flex-column{flex:1;padding:1%}.pum-flex-row .pum-flex-column.pum-flex-quarter{max-width:25%!important}.pum-flex-row .pum-flex-column.pum-flex-quarter:nth-child(4n+1){padding-right:0}.pum-flex-row .pum-flex-column.pum-flex-quarter:nth-child(4n+4){padding-left:0}.pum-flex-row .pum-flex-column.pum-flex-third{max-width:33.333%!important}.pum-flex-row .pum-flex-column.pum-flex-third:nth-child(3n+1){padding-right:0}.pum-flex-row .pum-flex-column.pum-flex-third:nth-child(3n+3){padding-left:0}.pum-flex-row .pum-flex-column.pum-flex-half{max-width:50%!important}.pum-flex-row .pum-flex-column.pum-flex-half:nth-child(odd){padding-right:0}.pum-flex-row .pum-flex-column.pum-flex-half:nth-child(2n+2){padding-left:0}.pum-flex-row .pum-flex-column.pum-flex-three-quarter{max-width:75%!important}.pum-flex-row .pum-flex-column input,.pum-flex-row .pum-flex-column label{display:block;width:100%}.pum-tabbed-form .pum-field{margin:0 0 24px;position:relative}.pum-tabbed-form .pum-field .pum-desc,.pum-tabbed-form .pum-field label{display:block}.pum-tabbed-form .pum-field label{margin-bottom:4px}.pum-tabbed-form .pum-field .pum-desc{margin-bottom:0;margin-top:4px}.pum-tabbed-form .pumselect2-container--default{width:100%!important}.pum-tabbed-form .pum-field-select2 select{width:100%}.pum-tabbed-form label{display:block;font-size:1.1em;font-weight:700}.pum-tabbed-form .pum-field.checkbox label.pum-desc{display:inline;font-size:inherit;font-weight:inherit;margin:0 0 1em}.pum-tabbed-form .pum-required label:after{color:#a00;content:"*";margin-right:5px}.edit-php.post-type-popup .wrap .nav-tab-wrapper .page-title-action,.edit-php.post-type-popup_theme .wrap .nav-tab-wrapper .page-title-action,.popup_page_pum-extensions .wrap .nav-tab-wrapper .page-title-action{margin-right:5px;top:7px}@media only screen and (min-width:0px)and (max-width:783px){.edit-php.post-type-popup .wrap .nav-tab-wrapper .page-title-action,.edit-php.post-type-popup_theme .wrap .nav-tab-wrapper .page-title-action,.popup_page_pum-extensions .wrap .nav-tab-wrapper .page-title-action{display:none!important}}.nav-tab.pum-upgrade-tab-pro{background:#1dbe61100%d;border:1px solid #bcf5d4;border-bottom:2px solid #0000;color:#1dbe61!important;font-weight:500!important}.nav-tab.pum-upgrade-tab-pro:hover{background:#1dbe6114;border-color:#1dbe61;color:#179b4e!important}.nav-tab.pum-upgrade-tab-pro.nav-tab-active{background:#1dbe611a;border-color:#1dbe61;color:#179b4e!important}.nav-tab.pum-upgrade-tab-pro-plus{background:#8267f6100%d;border:1px solid #d6ccff;border-bottom:2px solid #0000;color:#8267f6!important;font-weight:500!important}.nav-tab.pum-upgrade-tab-pro-plus:hover{background:#8267f614;border-color:#8267f6;color:#7356f5!important}.nav-tab.pum-upgrade-tab-pro-plus.nav-tab-active{background:#8267f61a;border-color:#8267f6;color:#7356f5!important} dist/assets/admin-support-page-rtl.css 0000644 00000000540 15174671772 0014056 0 ustar 00 .popmake-support-links{list-style:none}.popmake-support-links li{margin-bottom:10px}.popmake-support-links a{color:#20252b;font-size:1.25em;text-decoration:none;text-transform:uppercase}.popmake-support-links a span{margin-right:10px}.popmake-support-links a img{max-height:24px;max-width:24px;min-height:24px;min-width:24px;position:relative;top:6px} dist/assets/admin-settings-page.asset.php 0000644 00000000124 15174671772 0014516 0 ustar 00 <?php return array('dependencies' => array(), 'version' => 'f2380939507a9fbdc253'); dist/assets/admin-support-page.js 0000644 00000000000 15174671772 0013072 0 ustar 00 dist/assets/admin-editor-styles-rtl.css 0000644 00000000111 15174671772 0014231 0 ustar 00 .wpview-wrap[data-wpview-text^="%5Bpopup_trigger"]{display:inline-block} dist/assets/admin-general.js 0000644 00000320233 15174671772 0012076 0 ustar 00 (()=>{var e={428:e=>{"use strict";e.exports=window.jQuery},450:()=>{!function(e){"use strict";var t={init:function(){e(".pum-color-picker").filter(":not(.pum-color-picker-initialized)").addClass("pum-color-picker-initialized").wpColorPicker({change:function(t,n){e(t.target).trigger("colorchange",n)},clear:function(t){e(t.target).prev().trigger("colorchange").wpColorPicker("close")},hide:!0})}};window.PUM_Admin=window.PUM_Admin||{},window.PUM_Admin.colorpicker=t,e(document).on("click",".iris-palette",function(){e(this).parents(".wp-picker-active").find("input.pum-color-picker").trigger("change")}).on("colorchange",function(t,n){var i=e(t.target),r="";void 0!==n&&void 0!==n.color&&(r=n.color.toString()),i.val(r).trigger("change"),"popup_theme"===e("form#post input#post_type").val()&&PUM_Admin.utils.debounce(PUM_Admin.themeEditor.refresh_preview,100)}).on("pum_init",t.init)}(jQuery)},478:function(e,t,n){var i,r;i=[t,n(428)],r=function(e,t){return function(e,t){var n={validate:/^[a-z_][a-z0-9_]*(?:\[(?:\d*|[a-z0-9_]+)\])*$/i,key:/[a-z0-9_]+|(?=\[\])/gi,push:/^$/,fixed:/^\d+$/,named:/^[a-z0-9_]+$/i};function i(e,i){var r={},s={};function o(e,t,n){return e[t]=n,e}function a(e){return void 0===s[e]&&(s[e]=0),s[e]++}function l(){return r}this.addPair=function(s){if(!n.validate.test(s.name))return this;var l=function(e,t){var i,r=e.match(n.key),s=document.querySelector('[name="'+e+'"]'),l=!1;if("INPUT"===s.tagName?l=s.type:"SELECT"===s.tagName?l="select":"TEXTAREA"===s.tagName&&(l="textarea"),["textarea","text"].indexOf(l)>=0)try{t=JSON.parse(t)}catch(e){}for(;void 0!==(i=r.pop());)n.push.test(i)?t=o([],a(e.replace(/\[\]$/,"")),t):n.fixed.test(i)?t=o([],i,t):n.named.test(i)&&(t=o({},i,t));return t}(s.name,function(e){return"checkbox"===t('[name="'+e.name+'"]',i).attr("type")&&"1"===e.value||e.value}(s));return r=e.extend(!0,r,l),this},this.addPairs=function(t){if(!e.isArray(t))throw new Error("formSerializer.addPairs expects an Array");for(var n=0,i=t.length;n<i;n++)this.addPair(t[n]);return this},this.serialize=l,this.serializeJSON=function(){return JSON.stringify(l())}}return i.patterns=n,i.serializeObject=function(){var e;return e=this.is("form")?this.serializeArray():this.find(":input").serializeArray(),new i(t,this).addPairs(e).serialize()},i.serializeJSON=function(){var e;return e=this.is("form")?this.serializeArray():this.find(":input").serializeArray(),new i(t,this).addPairs(e).serializeJSON()},void 0!==t.fn&&(t.fn.pumSerializeObject=i.serializeObject,t.fn.pumSerializeJSON=i.serializeJSON),e.FormSerializer=i,i}(e,t)}.apply(t,i),void 0===r||(e.exports=r)},729:()=>{!function(e){"use strict";var t=pum_admin_vars.I10n,n={render:function(e,t){var n=wp.template(e);return void 0!==(t=t||{}).classes&&Array.isArray(t.classes)&&(t.classes=t.classes.join(" ")),n(t=PUM_Admin.templates.prepareMeta(t))},renderInline:function(e,t){return _.template(e,null,{evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"data"})(t)},shortcode:function(t){var n=e.extend(!0,{},{tag:"",meta:{},has_content:!1,content:""},t),i=n.has_content?"pum-shortcode-w-content":"pum-shortcode";return PUM_Admin.templates.render(i,n)},modal:function(n){var i=e.extend(!0,{},{id:"",title:"",description:"",classes:"",save_button:t.save,cancel_button:t.cancel,content:""},n);return PUM_Admin.templates.render("pum-modal",i)},tabs:function(t){return"string"==typeof(t=e.extend(!0,{},{id:"",vertical:!1,form:!1,classes:[],tabs:{},meta:{}},t)).classes&&(t.classes=[t.classes]),t.form&&t.classes.push("pum-tabbed-form"),t.meta["data-tab-count"]=Object.keys(t.tabs).length,t.classes.push(t.vertical?"vertical-tabs":"horizontal-tabs"),t.classes=t.classes.join(" "),PUM_Admin.templates.render("pum-tabs",t)},section:function(t){var n=e.extend(!0,{},{classes:[],fields:[]},t);return PUM_Admin.templates.render("pum-field-section",n)},fieldArgs:function(t){var n=[],i=e.extend(!0,{},PUM_Admin.models.field(t));switch(void 0===t.std||"checkbox"===t.type||null!==i.value&&!1!==i.value||(i.value=t.std),"string"==typeof i.classes&&(i.classes=i.classes.split(" ")),void 0!==t.class&&i.classes.push(t.class),void 0!==t.dependencies&&"object"==typeof t.dependencies&&(i.dependencies=JSON.stringify(t.dependencies)),i.required&&(i.meta.required=!0,i.classes.push("pum-required")),"string"==typeof i.dynamic_desc&&i.dynamic_desc.length&&(i.classes.push("pum-field-dynamic-desc"),i.desc=PUM_Admin.templates.renderInline(i.dynamic_desc,i)),i.allow_html&&(i.classes.push("pum-field-"+i.type+"--html"),"string"==typeof i.value&&""!==i.value&&PUM_Admin.utils.htmlencoder.hasEncoded(i.value)&&(i.value=PUM_Admin.utils.htmlencoder.htmlDecode(i.value))),t.type){case"select":case"objectselect":case"postselect":case"taxonomyselect":void 0!==i.options&&(_.each(i.options,function(e,t){var r,s,o=!1;"object"!=typeof e?(null!==i.value&&(i.multiple&&("string"==typeof i.value&&i.value==t||Array.isArray(i.value)&&-1!==i.value.indexOf(t)||!Array.isArray(i.value)&&"object"==typeof i.value&&Object.keys(i.value).length&&void 0!==i.value[t])?o="selected":i.multiple||i.value!=t||(o="selected")),n.push(PUM_Admin.templates.prepareMeta({label:e,value:t,meta:{selected:o}}))):(r=t,s=[],_.each(e,function(e,t){var n=!1;null!==i.value&&(i.multiple&&("string"==typeof i.value&&i.value==t||Array.isArray(i.value)&&-1!==i.value.indexOf(t)||!Array.isArray(i.value)&&"object"==typeof i.value&&Object.keys(i.value).length&&void 0!==i.value[t])?n="selected":i.multiple||i.value!=t||(n="selected")),s.push(PUM_Admin.templates.prepareMeta({label:e,value:t,meta:{selected:n}}))}),n.push({label:r,options:s}))}),i.options=n),i.multiple&&(i.meta.multiple=!0,i.as_array&&(i.name+="[]"),i.value&&i.value.length||(i.value=[]),"string"==typeof i.value&&(i.value=[i.value])),"select"!==t.type&&(i.select2=!0,i.classes.push("pum-field-objectselect"),i.classes.push("postselect"===t.type?"pum-field-postselect":"pum-field-taxonomyselect"),i.meta["data-objecttype"]="postselect"===t.type?"post_type":"taxonomy",i.meta["data-objectkey"]="postselect"===t.type?t.post_type:t.taxonomy,i.meta["data-current"]="object"==typeof i.value||Array.isArray(i.value)?JSON.stringify(i.value):i.value),i.select2&&(i.classes.push("pum-field-select2"),i.placeholder&&(i.meta["data-placeholder"]=i.placeholder));break;case"radio":void 0!==i.options&&(_.each(i.options,function(e,t){n.push(PUM_Admin.templates.prepareMeta({label:e,value:t,meta:{checked:i.value===t}}))}),i.options=n);break;case"multicheck":void 0!==i.options&&(!1!==i.value&&null!==i.value||(i.value=[]),"string"==typeof i.value&&i.value.indexOf(",")&&(i.value=i.value.split(",")),i.as_array&&(i.name+="[]"),_.each(i.options,function(e,t){n.push(PUM_Admin.templates.prepareMeta({label:e,value:t,meta:{checked:Array.isArray(i.value)&&-1!==i.value.indexOf(t)||!Array.isArray(i.value)&&"object"==typeof i.value&&Object.keys(i.value).length&&void 0!==i.value[t]}}))}),i.options=n);break;case"checkbox":switch(typeof i.value){case"object":Array.isArray(i.value)&&1===i.value.length&&"1"===i.value[0].toString()&&(i.value=!0,i.meta.checked=!0);break;case"boolean":i.value&&(i.meta.checked=!0);break;case"string":"true"!==i.value&&"yes"!==i.value&&"1"!==i.value||(i.meta.checked=!0);break;case"number":(1===parseInt(i.value,10)||parseInt(i.value,10)>0)&&(i.meta.checked=!0)}break;case"rangeslider":i.meta.step=i.step,i.meta.min=i.min,i.meta.max=i.max,i.meta["data-force-minmax"]=i.force_minmax.toString();break;case"textarea":i.meta.cols=i.cols,i.meta.rows=i.rows;break;case"measure":"string"==typeof i.value&&""!==i.value?(i.number=parseInt(i.value),i.unitValue=i.value.replace(i.number,""),i.value=i.number):i.unitValue=null,void 0!==i.units&&(_.each(i.units,function(e,t){var r=!1;i.unitValue==t&&(r="selected"),n.push(PUM_Admin.templates.prepareMeta({label:e,value:t,meta:{selected:r}}))}),i.units=n);break;case"color":"string"==typeof i.value&&""!==i.value&&(i.meta["data-default-color"]=i.value);break;case"license_key":i.value=e.extend({key:"",license:{},messages:[],status:"empty",expires:!1,classes:!1},i.value),i.classes.push("pum-license-"+i.value.status+"-notice"),i.value.classes&&i.classes.push(i.value.classes)}return i},field:function(t){var n,i=PUM_Admin.templates.fieldArgs(t);return n="pum-field-"+i.type,"objectselfect"!==i.type&&"postselect"!==i.type&&"taxonomyselect"!==i.type||(n="pum-field-select"),e("#tmpl-"+n).length?(i.field=PUM_Admin.templates.render(n,i),PUM_Admin.templates.render("pum-field-wrapper",i)):(console.warn("No field template found for type:"+i.type+" fieldID: "+i.id),"")},prepareMeta:function(e){var t,n=[];for(t in e.meta)e.meta.hasOwnProperty(t)&&("boolean"==typeof e.meta[t]?e.meta[t]&&n.push(_.escape(t)):n.push(_.escape(t)+'="'+_.escape(e.meta[t])+'"'));return e.meta=n.join(" "),e}};window.PUM_Admin=window.PUM_Admin||{},window.PUM_Admin.templates=n}(window.jQuery)},1376:()=>{!function(e){"use strict";var t={init:function(){e(".pum-field-select2 select").filter(":not(.pumselect2-initialized)").each(function(){var t=e(this),n=t.data("current")||t.val(),i=t.data("objecttype"),r=t.data("objectkey"),s=t.data("objectexcludes")||null,o={width:"100%",multiple:!1,dropdownParent:t.parent()};t.attr("multiple")&&(o.multiple=!0),i&&r&&(o=e.extend(o,{ajax:{url:ajaxurl,dataType:"json",delay:250,data:function(e){return{action:"pum_object_search",nonce:pum_admin_vars.object_search_nonce,s:e.term,paged:e.page,object_type:i,object_key:r,exclude:s}},processResults:function(e,t){return t.page=t.page||1,{results:e.items,pagination:{more:10*t.page<e.total_count}}},cache:!0},cache:!0,escapeMarkup:function(e){return e},maximumInputLength:20,closeOnSelect:!o.multiple,templateResult:PUM_Admin.select2.formatObject,templateSelection:PUM_Admin.select2.formatObjectSelection})),t.addClass("pumselect2-initialized").pumselect2(o),null!=n?o.multiple&&"object"!=typeof n&&""!==n?n=[n]:o.multiple||""!==n||(n=null):n=null,i&&r&&null!==n&&("number"==typeof n||n.length)?e.ajax({url:ajaxurl,data:{action:"pum_object_search",nonce:pum_admin_vars.object_search_nonce,object_type:i,object_key:r,exclude:s,include:n&&n.length?"string"==typeof n||"number"==typeof n?[n]:n:null},dataType:"json",success:function(i){e.each(i.items,function(e,n){t.find('option[value="'+n.id+'"]').length||t.prepend('<option value="'+n.id+'">'+n.text+"</option>")}),t.val(n).trigger("change")}}):(n&&(o.multiple&&n.length||!o.multiple&&""!==n)||null===n)&&t.val(n).trigger("change")})},formatObject:function(e){return e.text},formatObjectSelection:function(e){return e.text||e.text}};window.PUM_Admin=window.PUM_Admin||{},window.PUM_Admin.select2=t,e(document).on("pum_init",function(){PUM_Admin.select2.init()})}(jQuery)},2433:()=>{!function(e){"use strict";var t={init:function(){t.checkDependencies()},checkDependencies:function(t){var n=e(t);(t=n.length?n:e("[data-pum-dependencies]:not([data-pum-processed-dependencies])")).each(function(){var t,n=e(this),i=n.data("id"),r=n.data("pum-processed-dependencies")||{},s=Object.keys(r).length,o=0,a=n.data("pum-dependent-fields");if(!n.data("pum-processed-dependencies")){for(t in"string"==typeof(r=n.data("pum-dependencies"))&&(r=JSON.parse(r)),r)r.hasOwnProperty(t)&&("string"==typeof r[t]?-1!==r[t].indexOf(",")?r[t]=r[t].split(","):r[t]=[r[t]]:"number"==typeof r[t]&&(r[t]=[r[t]]));s=Object.keys(r).length,n.data("pum-processed-dependencies",r).attr("data-pum-processed-dependencies",r)}a||(a=e.map(r,function(t,n){var i=e('.pum-field[data-id="'+n+'"]');return i.length?i.eq(0):null}),n.data("pum-dependent-fields",a)),e(a).each(function(){var t,a=e(this),l=a.find(":input:first"),u=a.data("id"),c=l.val(),p=r[u],d=a.data("pum-field-dependents")||[];if(-1===d.indexOf(i)&&(d.push(i),a.data("pum-field-dependents",d)),null==p)return n.removeClass("pum-dependencies-met").hide(0).trigger("pumFormDependencyUnmet"),!1;if(a.hasClass("pum-field-radio")&&(c=a.find(":input:checked").val()),a.hasClass("pum-field-multicheck")&&(c=[],a.find(":checkbox:checked").each(function(t){c[t]=e(this).val(),"string"!=typeof c[t]||isNaN(parseInt(c[t]))||(c[t]=parseInt(c[t]))})),a.hasClass("pum-field-select")||a.hasClass("pum-field-radio"))t=p&&-1!==p.indexOf(c);else if(a.hasClass("pum-field-checkbox"))t=p===l.is(":checked");else if(a.hasClass("pum-field-multicheck"))if(Array.isArray(p)){t=!1;for(var h=0;h<p.length;h++)-1!==c.indexOf(p[h])&&(t=!0)}else t=-1!==c.indexOf(p);else t=Array.isArray(p)?-1!==p.indexOf(c):p==c;if(!t)return n.removeClass("pum-dependencies-met").hide(0).trigger("pumFormDependencyUnmet"),!1;++o===s&&n.addClass("pum-dependencies-met").show(0).trigger("pumFormDependencyMet")})})},form_check:function(){e(document).trigger("pum_form_check")},is_field:function(e){return"object"==typeof e&&[void 0===e.type&&(void 0!==e.label||void 0!==e.desc),void 0!==e.type&&"string"==typeof e.type].indexOf(!0)>=0},flattenFields:function(e){var n={},i=e.tabs||{},r=e.sections||{},s=e.fields||{};return Object.keys(i).length&&Object.keys(r).length?_.each(s,function(e,i){"object"==typeof e&&Object.keys(e).length&&_.each(e,function(e,i){if("object"==typeof e&&Object.keys(e).length){if(t.is_field(e)){var r={};r[i]=e,i="main",e=r}_.each(e,function(e){n[e.id]=e})}})}):Object.keys(i).length?_.each(s,function(e,t){"object"==typeof e&&Object.keys(e).length&&_.each(e,function(e){n[e.id]=e})}):Object.keys(r).length?_.each(s,function(e,t){_.each(e,function(e){n[e.id]=e})}):(s=t.parseFields(s,values),_.each(s,function(e){n[e.id]=e})),n},parseFields:function(e,t){return t=t||{},_.each(e,function(n,i){e[i]=PUM_Admin.models.field(n),"object"!=typeof e[i].meta&&(e[i].meta={}),void 0!==t[i]&&(e[i].value=t[i]),""===e[i].id&&(e[i].id=i)}),e},renderTab:function(){},renderSection:function(){},render:function(n,i,r){var s,o=[],a={},l=e.extend(!0,{id:"",tabs:{},sections:{},fields:{},maintabs:{},subtabs:{}},n),u=e.extend({id:l.id,classes:[],tabs:{},vertical:!0,form:!0,meta:{"data-min-height":250}},l.maintabs),c=e.extend({classes:["link-tabs","sub-tabs"],tabs:{}},l.subtabs),p=["pum-dynamic-form"];return i=i||{},Object.keys(l.tabs).length&&Object.keys(l.sections).length?(p.push("tabbed-content"),_.each(l.fields,function(n,r){"object"==typeof n&&Object.keys(n).length&&(void 0===u.tabs[r]&&(u.tabs[r]={label:l.tabs[r],content:""}),c=e.extend(c,{id:l.id+"-"+r+"-subtabs",tabs:{}}),_.each(n,function(e,n){if("object"==typeof e&&Object.keys(e).length){if(t.is_field(e)){var s={};s[n]=e,n="main",e=s}void 0===c.tabs[n]&&(c.tabs[n]={label:l.sections[r][n],content:""}),e=t.parseFields(e,i),_.each(e,function(e){a[e.id]=e,c.tabs[n].content+=PUM_Admin.templates.field(e)}),""===c.tabs[n].content&&delete c.tabs[n]}}),Object.keys(c.tabs).length?u.tabs[r].content=PUM_Admin.templates.tabs(c):delete u.tabs[r])}),Object.keys(u.tabs).length&&(s=PUM_Admin.templates.tabs(u))):Object.keys(l.tabs).length?(p.push("tabbed-content"),_.each(l.fields,function(e,n){"object"==typeof e&&Object.keys(e).length&&(void 0===u.tabs[n]&&(u.tabs[n]={label:l.tabs[n],content:""}),o=[],e=t.parseFields(e,i),_.each(e,function(e){a[e.id]=e,o.push(PUM_Admin.templates.field(e))}),o.length?u.tabs[n].content=PUM_Admin.templates.section({fields:o}):delete u.tabs[n])}),Object.keys(u.tabs).length&&(s=PUM_Admin.templates.tabs(u))):Object.keys(l.sections).length?_.each(l.fields,function(e,n){(o=[]).push(PUM_Admin.templates.field({type:"heading",desc:l.sections[n]||""})),e=t.parseFields(e,i),_.each(e,function(e){a[e.id]=e,o.push(PUM_Admin.templates.field(e))}),s+=PUM_Admin.templates.section({fields:o})}):(l.fields=t.parseFields(l.fields,i),_.each(l.fields,function(e){a[e.id]=e,o.push(PUM_Admin.templates.field(e))}),s=PUM_Admin.templates.section({fields:o})),void 0!==r&&r.length&&r.addClass(p.join(" ")).data("form_fields",a).html(s).trigger("pum_init"),s},parseValues:function(e,t){if(!(t=t||!1))return e;for(var n in t)t.hasOwnProperty(n)&&(e.hasOwnProperty(n+"_unit")&&(e[n]+=e[n+"_unit"],delete e[n+"_unit"]),void 0!==e[n]?t[n].allow_html&&!PUM_Admin.utils.htmlencoder.hasEncoded(e[n])&&(e[n]=PUM_Admin.utils.htmlencoder.htmlEncode(e[n])):"checkbox"===t[n].type&&(e[n]=!1));return e}};window.PUM_Admin=window.PUM_Admin||{},window.PUM_Admin.forms=t,e(document).on("pum_init pum_form_check",function(){PUM_Admin.forms.init()}).on("pumFieldChanged",".pum-field",function(){var t,n=e(this).data("pum-field-dependents")||[],i=e();if(n&&!(n.length<=0)){for(t=0;t<n.length;t++)i=i.add('.pum-field[data-id="'+n[t]+'"]');PUM_Admin.forms.checkDependencies(i)}}).on("pumFieldChanged",".pum-field-dynamic-desc",function(){var t=e(this),n=t.find(":input"),i=t.parents(".pum-dynamic-form:first"),r=n.val(),s=(i.data("form_fields")||{})[t.data("id")]||{},o=t.find(".pum-desc"),a=t.data("pum-dynamic-desc");"radio"===s.type&&(r=t.find(":input:checked").val()),s.value=r,a&&a.length&&o.html(PUM_Admin.templates.renderInline(a,s))}).on("change",".pum-field-select select",function(){e(this).parents(".pum-field").trigger("pumFieldChanged")}).on("click",".pum-field-checkbox input",function(){e(this).parents(".pum-field").trigger("pumFieldChanged")}).on("click",".pum-field-multicheck input",function(){e(this).parents(".pum-field").trigger("pumFieldChanged")}).on("click",".pum-field-radio input",function(t){var n=e(this),i=n.parents("li"),r=n.parents(".pum-field");r.trigger("pumFieldChanged"),r.find("li.pum-selected").removeClass("pum-selected"),i.addClass("pum-selected")})}(jQuery)},2998:()=>{!function(e){"use strict";var t,n=e("html"),i=e(document),r="a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]",s={_current:null,forceFocus:function(e){PUM_Admin.modals._current&&!PUM_Admin.modals._current.contains(e.target)&&(e.stopPropagation(),PUM_Admin.modals._current.focus())},trapEscapeKey:function(e){27===e.keyCode&&(PUM_Admin.modals.closeAll(),e.preventDefault())},trapTabKey:function(t){if(9===t.keyCode){var n=PUM_Admin.modals._current.find("*").filter(r).filter(":visible"),i=e(":focus"),s=n.length,o=n.index(i);t.shiftKey?0===o&&(n.get(s-1).focus(),t.preventDefault()):o===s-1&&(n.get(0).focus(),t.preventDefault())}},setFocusToFirstItem:function(){PUM_Admin.modals._current.find(".pum-modal-content *").filter(r).filter(":visible").first().focus()},closeAll:function(n){e(".pum-modal-background").off("keydown.pum_modal").hide(0,function(){e("html").css({overflow:"visible",width:"auto"}),t.length&&t.focus(),PUM_Admin.modals._current=null,i.off("focus.pum_modal"),void 0!==n&&n()}).attr("aria-modal","false")},show:function(i,r){e(".pum-modal-background").off("keydown.pum_modal").hide(0).attr("aria-modal","true"),n.data("origwidth",n.innerWidth()).css({overflow:"hidden",width:n.innerWidth()});var s=e(":focus");s.parents(".pum-modal-wrap").length||(t=s),PUM_Admin.modals._current=e(i),PUM_Admin.modals._current.on("keydown.pum_modal",function(e){PUM_Admin.modals.trapEscapeKey(e),PUM_Admin.modals.trapTabKey(e)}).show(0,function(){PUM_Admin.modals._current.trigger("pum_init").on("focus.pum_modal",PUM_Admin.modals.forceFocus),PUM_Admin.modals.setFocusToFirstItem(),void 0!==r&&r()})},remove:function(t){e(t).remove()},replace:function(t,n){PUM_Admin.modals.remove(e.trim(t)),e("body").append(e.trim(n))},reload:function(t,n,i){PUM_Admin.modals.replace(t,n),PUM_Admin.modals.show(t,i),e(t).trigger("pum_init")}};window.PUM_Admin=window.PUM_Admin||{},window.PUM_Admin.modals=s,e(document).on("click",".pum-modal-background, .pum-modal-wrap .cancel, .pum-modal-wrap .pum-modal-close",function(t){var n=e(t.target);(n.hasClass("cancel")||n.hasClass("pum-modal-close")||n.hasClass("submitdelete"))&&(PUM_Admin.modals.closeAll(),t.preventDefault(),t.stopPropagation())})}(jQuery)},3720:()=>{!function(e,t){if("function"!=typeof window.$$){var n,i,r={},s={};window.$$=function(o,a){return a?((n=a.selector)&&(a=n),(i=s[a])===t&&(i=s[a]={}),(n=i[o])!==t?n:i[o]=e(o,$$(a))):(n=r[o])!==t?n:r[o]=e(o)},window.$$clear=function(e,i){i?((n=i.selector)&&(i=n),e&&(n=s[i])&&(n[e]=t),s[i]=t):e?(r[e]=t,s[e]=t):(r={},s={})},window.$$fresh=function(e,t){return $$clear(e,t),$$(e,t)}}}(jQuery)},3896:()=>{!function(e){"use strict";let t=JSON.parse(sessionStorage.getItem("pum_tabs"));null===t&&(t={});var n={init:function(){e(".pum-tabs-container").filter(":not(.pum-tabs-initialized)").each(function(){var n=e(this).addClass("pum-tabs-initialized"),i=n.find("> ul.tabs"),r=i.find("> li:first"),s=n.data("min-height"),o=n.attr("id")?n.attr("id"):n.parents("[id]").attr("id");if(void 0!==t[o]&&(r=i.find('a[href="'+t[o]+'"]').parent()),n.hasClass("vertical-tabs")){var a=s&&s>0?s:i.eq(0).outerHeight(!0);n.css({minHeight:a+"px"}),n.parent().innerHeight<a&&n.parent().css({minHeight:a+"px"})}r.trigger("click")})}};window.PUM_Admin=window.PUM_Admin||{},window.PUM_Admin.tabs=n,e(document).on("pum_init",PUM_Admin.tabs.init).on("click",".pum-tabs-initialized li.tab",function(n){var i,r,s=e(this),o=s.parents(".pum-tabs-container:first"),a=o.find("> ul.tabs > li.tab"),l=o.find("> div.tab-content"),u=s.find("a").attr("href");i=s.attr("id")?s.attr("id"):s.parents("[id]").attr("id"),r=u,t[i]=r,sessionStorage.setItem("pum_tabs",JSON.stringify(t)),a.removeClass("active"),l.removeClass("active"),s.addClass("active"),o.find("> div.tab-content"+u).addClass("active"),n.preventDefault()})}(jQuery)},3899:()=>{!function(e){"use strict";var t=e(".pum-alerts"),n=e(".pum-alert-count"),i=parseInt(n.eq(0).text());function r(){0===t.find(".pum-alert-holder").length&&(t.slideUp(100,function(){t.remove()}),e("#menu-posts-popup .wp-menu-name .update-plugins").fadeOut())}e(document).on("pumDismissAlert",r).on("click",".pum-alert-holder .pum-dismiss",function(t){var s=e(this),o=s.parents(".pum-alert-holder"),a=s.data("reason")||"maybe_later",l=e(this).data("action")||"dismiss";t.preventDefault(),"review_request"!==o.data("code")?function(t,n){var i,r=t.data("dismissible");i=void 0!==t.data("expires")?t.data("expires"):"1"===r||1===r||!0===r?null:r+" days",e.ajax({method:"POST",dataType:"json",url:window.ajaxurl,data:{action:"pum_alerts_action",nonce:window.pum_alerts_nonce,code:t.data("code"),expires:i,pum_dismiss_alert:n}})}(o,l):function(t){e.ajax({method:"POST",dataType:"json",url:window.ajaxurl,data:{action:"pum_review_action",nonce:window.pum_review_nonce,group:window.pum_review_trigger.group,code:window.pum_review_trigger.code,pri:window.pum_review_trigger.pri,reason:t}}),void 0!==window.pum_review_api_url&&e.ajax({method:"POST",dataType:"json",url:window.pum_review_api_url,data:{trigger_group:window.pum_review_trigger.group,trigger_code:window.pum_review_trigger.code,reason:t,uuid:window.pum_review_uuid||null}})}(a),function(e){i--,n.text(i),e.fadeTo(100,0,function(){e.slideUp(100,function(){e.remove(),r()})})}(o)})}(jQuery)},5437:()=>{!function(e){"use strict";var t={cloneables:{slider:e('<input type="range" class="pum-range-slider" />'),plus:e('<button type="button" class="pum-range-plus">+</button>'),minus:e('<button type="button" class="pum-range-minus">-</button>')},init:function(){e(".pum-field-rangeslider:not(.pum-rangeslider-initialized)").each(function(){var n=e(this).addClass("pum-rangeslider-initialized").find("input.pum-range-manual"),i=t.cloneables.slider.clone(),r=t.cloneables.plus.clone(),s=t.cloneables.minus.clone(),o={force:n.data("force-minmax"),min:parseInt(n.attr("min"),10)||0,max:parseInt(n.attr("max"),10)||100,step:parseInt(n.attr("step"),10)||1,value:parseInt(n.attr("value"),10)||0};o.force&&o.value>o.max&&(o.value=o.max,n.val(o.value)),i.prop({min:o.min||0,max:o.force||o.max&&o.max>o.value?o.max:1.5*o.value,step:o.step||1.5*o.value/100,value:o.value}).on("change input",function(){n.trigger("input")}),n.next().after(s,r),n.before(i)})}};window.PUM_Admin=window.PUM_Admin||{},window.PUM_Admin.rangesliders=t,e(document).on("pum_init",PUM_Admin.rangesliders.init).on("input",".pum-field-rangeslider.pum-rangeslider-initialized .pum-range-slider",function(){var t=e(this);t.siblings(".pum-range-manual").val(t.val())}).on("change",".pum-range-manual",function(){var t=e(this),n=parseInt(t.prop("max"),0),i=parseInt(t.prop("min"),0),r=parseInt(t.prop("step"),0),s=t.data("force-minmax"),o=parseInt(t.val(),0),a=t.prev();isNaN(o)&&(o=a.val()),s&&o>n?o=n:s&&o<i&&(o=i),t.val(o).trigger("input"),a.prop({max:s||n&&n>o?n:1.5*o,step:r||1.5*o/100,value:o})}).on("click",".pum-range-plus",function(t){var n=e(this).siblings(".pum-range-manual"),i=parseInt(n.prop("max"),0),r=parseInt(n.prop("step"),0),s=n.data("force-minmax"),o=parseInt(n.val(),0),a=n.prev();t.preventDefault(),o+=r,isNaN(o)&&(o=a.val()),s&&o>i&&(o=i),n.val(o).trigger("input"),a.val(o)}).on("click",".pum-range-minus",function(t){var n=e(this).siblings(".pum-range-manual"),i=parseInt(n.prop("min"),0),r=parseInt(n.prop("step"),0),s=n.data("force-minmax"),o=parseInt(n.val(),0),a=n.prev();t.preventDefault(),o-=r,isNaN(o)&&(o=a.val()),s&&o<i&&(o=i),n.val(o).trigger("input"),a.val(o)})}(jQuery)},5766:(e,t,n)=>{var i,r,s;r=[n(428)],void 0===(s="function"==typeof(i=function(t){var n=function(){if(t&&t.fn&&t.fn.pumselect2&&t.fn.pumselect2.amd)var n=t.fn.pumselect2.amd;var i,r,s,o;return n&&n.requirejs||(n?r=n:n={},function(e){var t,n,o,a,l={},u={},c={},p={},d=Object.prototype.hasOwnProperty,h=[].slice,m=/\.js$/;function f(e,t){return d.call(e,t)}function g(e,t){var n,i,r,s,o,a,l,u,p,d,h,f=t&&t.split("/"),g=c.map,v=g&&g["*"]||{};if(e&&"."===e.charAt(0))if(t){for(o=(e=e.split("/")).length-1,c.nodeIdCompat&&m.test(e[o])&&(e[o]=e[o].replace(m,"")),e=f.slice(0,f.length-1).concat(e),p=0;p<e.length;p+=1)if("."===(h=e[p]))e.splice(p,1),p-=1;else if(".."===h){if(1===p&&(".."===e[2]||".."===e[0]))break;p>0&&(e.splice(p-1,2),p-=2)}e=e.join("/")}else 0===e.indexOf("./")&&(e=e.substring(2));if((f||v)&&g){for(p=(n=e.split("/")).length;p>0;p-=1){if(i=n.slice(0,p).join("/"),f)for(d=f.length;d>0;d-=1)if((r=g[f.slice(0,d).join("/")])&&(r=r[i])){s=r,a=p;break}if(s)break;!l&&v&&v[i]&&(l=v[i],u=p)}!s&&l&&(s=l,a=u),s&&(n.splice(0,a,s),e=n.join("/"))}return e}function v(t,i){return function(){var r=h.call(arguments,0);return"string"!=typeof r[0]&&1===r.length&&r.push(null),n.apply(e,r.concat([t,i]))}}function y(e){return function(t){l[e]=t}}function _(n){if(f(u,n)){var i=u[n];delete u[n],p[n]=!0,t.apply(e,i)}if(!f(l,n)&&!f(p,n))throw new Error("No "+n);return l[n]}function b(e){var t,n=e?e.indexOf("!"):-1;return n>-1&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function w(e){return function(){return c&&c.config&&c.config[e]||{}}}o=function(e,t){var n,i=b(e),r=i[0];return e=i[1],r&&(n=_(r=g(r,t))),r?e=n&&n.normalize?n.normalize(e,function(e){return function(t){return g(t,e)}}(t)):g(e,t):(r=(i=b(e=g(e,t)))[0],e=i[1],r&&(n=_(r))),{f:r?r+"!"+e:e,n:e,pr:r,p:n}},a={require:function(e){return v(e)},exports:function(e){var t=l[e];return void 0!==t?t:l[e]={}},module:function(e){return{id:e,uri:"",exports:l[e],config:w(e)}}},t=function(t,n,i,r){var s,c,d,h,m,g,b=[],w=typeof i;if(r=r||t,"undefined"===w||"function"===w){for(n=!n.length&&i.length?["require","exports","module"]:n,m=0;m<n.length;m+=1)if("require"===(c=(h=o(n[m],r)).f))b[m]=a.require(t);else if("exports"===c)b[m]=a.exports(t),g=!0;else if("module"===c)s=b[m]=a.module(t);else if(f(l,c)||f(u,c)||f(p,c))b[m]=_(c);else{if(!h.p)throw new Error(t+" missing "+c);h.p.load(h.n,v(r,!0),y(c),{}),b[m]=l[c]}d=i?i.apply(l[t],b):void 0,t&&(s&&s.exports!==e&&s.exports!==l[t]?l[t]=s.exports:d===e&&g||(l[t]=d))}else t&&(l[t]=i)},i=r=n=function(i,r,s,l,u){if("string"==typeof i)return a[i]?a[i](r):_(o(i,r).f);if(!i.splice){if((c=i).deps&&n(c.deps,c.callback),!r)return;r.splice?(i=r,r=s,s=null):i=e}return r=r||function(){},"function"==typeof s&&(s=l,l=u),l?t(e,i,r,s):setTimeout(function(){t(e,i,r,s)},4),n},n.config=function(e){return n(e)},i._defined=l,(s=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),f(l,e)||f(u,e)||(u[e]=[e,t,n])}).amd={jQuery:!0}}(),n.requirejs=i,n.require=r,n.define=s),n.define("almond",function(){}),n.define("jquery",[],function(){var e=t||$;return null==e&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),e}),n.define("pumselect2/utils",["jquery"],function(e){var t={};function n(e){var t=e.prototype,n=[];for(var i in t)"function"==typeof t[i]&&"constructor"!==i&&n.push(i);return n}t.Extend=function(e,t){var n={}.hasOwnProperty;function i(){this.constructor=e}for(var r in t)n.call(t,r)&&(e[r]=t[r]);return i.prototype=t.prototype,e.prototype=new i,e.__super__=t.prototype,e},t.Decorate=function(e,t){var i=n(t),r=n(e);function s(){var n=Array.prototype.unshift,i=t.prototype.constructor.length,r=e.prototype.constructor;i>0&&(n.call(arguments,e.prototype.constructor),r=t.prototype.constructor),r.apply(this,arguments)}t.displayName=e.displayName,s.prototype=new function(){this.constructor=s};for(var o=0;o<r.length;o++){var a=r[o];s.prototype[a]=e.prototype[a]}for(var l=function(e){var n=function(){};e in s.prototype&&(n=s.prototype[e]);var i=t.prototype[e];return function(){return Array.prototype.unshift.call(arguments,n),i.apply(this,arguments)}},u=0;u<i.length;u++){var c=i[u];s.prototype[c]=l(c)}return s};var i=function(){this.listeners={}};return i.prototype.on=function(e,t){this.listeners=this.listeners||{},e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t]},i.prototype.trigger=function(e){var t=Array.prototype.slice;this.listeners=this.listeners||{},e in this.listeners&&this.invoke(this.listeners[e],t.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},i.prototype.invoke=function(e,t){for(var n=0,i=e.length;n<i;n++)e[n].apply(this,t)},t.Observable=i,t.generateChars=function(e){for(var t="",n=0;n<e;n++)t+=Math.floor(36*Math.random()).toString(36);return t},t.bind=function(e,t){return function(){e.apply(t,arguments)}},t._convertData=function(e){for(var t in e){var n=t.split("-"),i=e;if(1!==n.length){for(var r=0;r<n.length;r++){var s=n[r];(s=s.substring(0,1).toLowerCase()+s.substring(1))in i||(i[s]={}),r==n.length-1&&(i[s]=e[t]),i=i[s]}delete e[t]}}return e},t.hasScroll=function(t,n){var i=e(n),r=n.style.overflowX,s=n.style.overflowY;return(r!==s||"hidden"!==s&&"visible"!==s)&&("scroll"===r||"scroll"===s||i.innerHeight()<n.scrollHeight||i.innerWidth()<n.scrollWidth)},t.escapeMarkup=function(e){var t={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},t.appendMany=function(t,n){if("1.7"===e.fn.jquery.substr(0,3)){var i=e();e.map(n,function(e){i=i.add(e)}),n=i}t.append(n)},t}),n.define("pumselect2/results",["jquery","./utils"],function(e,t){function n(e,t,i){this.$element=e,this.data=i,this.options=t,n.__super__.constructor.call(this)}return t.Extend(n,t.Observable),n.prototype.render=function(){var t=e('<ul class="pumselect2-results__options" role="tree"></ul>');return this.options.get("multiple")&&t.attr("aria-multiselectable","true"),this.$results=t,t},n.prototype.clear=function(){this.$results.empty()},n.prototype.displayMessage=function(t){var n=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var i=e('<li role="treeitem" aria-live="assertive" class="pumselect2-results__option"></li>'),r=this.options.get("translations").get(t.message);i.append(n(r(t.args))),i[0].className+=" pumselect2-results__message",this.$results.append(i)},n.prototype.hideMessages=function(){this.$results.find(".pumselect2-results__message").remove()},n.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n<e.results.length;n++){var i=e.results[n],r=this.option(i);t.push(r)}this.$results.append(t)}else 0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"})},n.prototype.position=function(e,t){t.find(".pumselect2-results").append(e)},n.prototype.sort=function(e){return this.options.get("sorter")(e)},n.prototype.setClasses=function(){var t=this;this.data.current(function(n){var i=e.map(n,function(e){return e.id.toString()}),r=t.$results.find(".pumselect2-results__option[aria-selected]");r.each(function(){var t=e(this),n=e.data(this,"data"),r=""+n.id;null!=n.element&&n.element.selected||null==n.element&&e.inArray(r,i)>-1?t.attr("aria-selected","true"):t.attr("aria-selected","false")});var s=r.filter("[aria-selected=true]");s.length>0?s.first().trigger("mouseenter"):r.first().trigger("mouseenter")})},n.prototype.showLoading=function(e){this.hideLoading();var t={disabled:!0,loading:!0,text:this.options.get("translations").get("searching")(e)},n=this.option(t);n.className+=" loading-results",this.$results.prepend(n)},n.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},n.prototype.option=function(t){var n=document.createElement("li");n.className="pumselect2-results__option";var i={role:"treeitem","aria-selected":"false"};for(var r in t.disabled&&(delete i["aria-selected"],i["aria-disabled"]="true"),null==t.id&&delete i["aria-selected"],null!=t._resultId&&(n.id=t._resultId),t.title&&(n.title=t.title),t.children&&(i.role="group",i["aria-label"]=t.text,delete i["aria-selected"]),i){var s=i[r];n.setAttribute(r,s)}if(t.children){var o=e(n),a=document.createElement("strong");a.className="pumselect2-results__group",e(a),this.template(t,a);for(var l=[],u=0;u<t.children.length;u++){var c=t.children[u],p=this.option(c);l.push(p)}var d=e("<ul></ul>",{class:"pumselect2-results__options pumselect2-results__options--nested"});d.append(l),o.append(a),o.append(d)}else this.template(t,n);return e.data(n,"data",t),n},n.prototype.bind=function(t,n){var i=this,r=t.id+"-results";this.$results.attr("id",r),t.on("results:all",function(e){i.clear(),i.append(e.data),t.isOpen()&&i.setClasses()}),t.on("results:append",function(e){i.append(e.data),t.isOpen()&&i.setClasses()}),t.on("query",function(e){i.hideMessages(),i.showLoading(e)}),t.on("select",function(){t.isOpen()&&i.setClasses()}),t.on("unselect",function(){t.isOpen()&&i.setClasses()}),t.on("open",function(){i.$results.attr("aria-expanded","true"),i.$results.attr("aria-hidden","false"),i.setClasses(),i.ensureHighlightVisible()}),t.on("close",function(){i.$results.attr("aria-expanded","false"),i.$results.attr("aria-hidden","true"),i.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=i.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=i.getHighlightedResults();if(0!==e.length){var t=e.data("data");"true"==e.attr("aria-selected")?i.trigger("close",{}):i.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=i.getHighlightedResults(),t=i.$results.find("[aria-selected]"),n=t.index(e);if(0!==n){var r=n-1;0===e.length&&(r=0);var s=t.eq(r);s.trigger("mouseenter");var o=i.$results.offset().top,a=s.offset().top,l=i.$results.scrollTop()+(a-o);0===r?i.$results.scrollTop(0):a-o<0&&i.$results.scrollTop(l)}}),t.on("results:next",function(){var e=i.getHighlightedResults(),t=i.$results.find("[aria-selected]"),n=t.index(e)+1;if(!(n>=t.length)){var r=t.eq(n);r.trigger("mouseenter");var s=i.$results.offset().top+i.$results.outerHeight(!1),o=r.offset().top+r.outerHeight(!1),a=i.$results.scrollTop()+o-s;0===n?i.$results.scrollTop(0):o>s&&i.$results.scrollTop(a)}}),t.on("results:focus",function(e){e.element.addClass("pumselect2-results__option--highlighted")}),t.on("results:message",function(e){i.displayMessage(e)}),e.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=i.$results.scrollTop(),n=i.$results.get(0).scrollHeight-t+e.deltaY,r=e.deltaY>0&&t-e.deltaY<=0,s=e.deltaY<0&&n<=i.$results.height();r?(i.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):s&&(i.$results.scrollTop(i.$results.get(0).scrollHeight-i.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".pumselect2-results__option[aria-selected]",function(t){var n=e(this),r=n.data("data");"true"!==n.attr("aria-selected")?i.trigger("select",{originalEvent:t,data:r}):i.options.get("multiple")?i.trigger("unselect",{originalEvent:t,data:r}):i.trigger("close",{})}),this.$results.on("mouseenter",".pumselect2-results__option[aria-selected]",function(t){var n=e(this).data("data");i.getHighlightedResults().removeClass("pumselect2-results__option--highlighted"),i.trigger("results:focus",{data:n,element:e(this)})})},n.prototype.getHighlightedResults=function(){return this.$results.find(".pumselect2-results__option--highlighted")},n.prototype.destroy=function(){this.$results.remove()},n.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]").index(e),n=this.$results.offset().top,i=e.offset().top,r=this.$results.scrollTop()+(i-n),s=i-n;r-=2*e.outerHeight(!1),t<=2?this.$results.scrollTop(0):(s>this.$results.outerHeight()||s<0)&&this.$results.scrollTop(r)}},n.prototype.template=function(t,n){var i=this.options.get("templateResult"),r=this.options.get("escapeMarkup"),s=i(t,n);null==s?n.style.display="none":"string"==typeof s?n.innerHTML=r(s):e(n).append(s)},n}),n.define("pumselect2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),n.define("pumselect2/selection/base",["jquery","../utils","../keys"],function(e,t,n){function i(e,t){this.$element=e,this.options=t,i.__super__.constructor.call(this)}return t.Extend(i,t.Observable),i.prototype.render=function(){var t=e('<span class="pumselect2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),t.attr("title",this.$element.attr("title")),t.attr("tabindex",this._tabindex),this.$selection=t,t},i.prototype.bind=function(e,t){var i=this,r=(e.id,e.id+"-results");this.container=e,this.$selection.on("focus",function(e){i.trigger("focus",e)}),this.$selection.on("blur",function(e){i._handleBlur(e)}),this.$selection.on("keydown",function(e){i.trigger("keypress",e),e.which===n.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){i.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){i.update(e.data)}),e.on("open",function(){i.$selection.attr("aria-expanded","true"),i.$selection.attr("aria-owns",r),i._attachCloseHandler(e)}),e.on("close",function(){i.$selection.attr("aria-expanded","false"),i.$selection.removeAttr("aria-activedescendant"),i.$selection.removeAttr("aria-owns"),i.$selection.focus(),i._detachCloseHandler(e)}),e.on("enable",function(){i.$selection.attr("tabindex",i._tabindex)}),e.on("disable",function(){i.$selection.attr("tabindex","-1")})},i.prototype._handleBlur=function(t){var n=this;window.setTimeout(function(){document.activeElement==n.$selection[0]||e.contains(n.$selection[0],document.activeElement)||n.trigger("blur",t)},1)},i.prototype._attachCloseHandler=function(t){e(document.body).on("mousedown.pumselect2."+t.id,function(t){var n=e(t.target).closest(".pumselect2");e(".pumselect2.pumselect2-container--open").each(function(){var t=e(this);this!=n[0]&&t.data("element").pumselect2("close")})})},i.prototype._detachCloseHandler=function(t){e(document.body).off("mousedown.pumselect2."+t.id)},i.prototype.position=function(e,t){t.find(".selection").append(e)},i.prototype.destroy=function(){this._detachCloseHandler(this.container)},i.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},i}),n.define("pumselect2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,i){function r(){r.__super__.constructor.apply(this,arguments)}return n.Extend(r,t),r.prototype.render=function(){var e=r.__super__.render.call(this);return e.addClass("pumselect2-selection--single"),e.html('<span class="pumselect2-selection__rendered"></span><span class="pumselect2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),e},r.prototype.bind=function(e,t){var n=this;r.__super__.bind.apply(this,arguments);var i=e.id+"-container";this.$selection.find(".pumselect2-selection__rendered").attr("id",i),this.$selection.attr("aria-labelledby",i),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),e.on("selection:update",function(e){n.update(e.data)})},r.prototype.clear=function(){this.$selection.find(".pumselect2-selection__rendered").empty()},r.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},r.prototype.selectionContainer=function(){return e("<span></span>")},r.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".pumselect2-selection__rendered"),i=this.display(t,n);n.empty().append(i),n.prop("title",t.title||t.text)}else this.clear()},r}),n.define("pumselect2/selection/multiple",["jquery","./base","../utils"],function(e,t,n){function i(e,t){i.__super__.constructor.apply(this,arguments)}return n.Extend(i,t),i.prototype.render=function(){var e=i.__super__.render.call(this);return e.addClass("pumselect2-selection--multiple"),e.html('<ul class="pumselect2-selection__rendered"></ul>'),e},i.prototype.bind=function(t,n){var r=this;i.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){r.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".pumselect2-selection__choice__remove",function(t){if(!r.options.get("disabled")){var n=e(this).parent().data("data");r.trigger("unselect",{originalEvent:t,data:n})}})},i.prototype.clear=function(){this.$selection.find(".pumselect2-selection__rendered").empty()},i.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},i.prototype.selectionContainer=function(){return e('<li class="pumselect2-selection__choice"><span class="pumselect2-selection__choice__remove" role="presentation">×</span></li>')},i.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],i=0;i<e.length;i++){var r=e[i],s=this.selectionContainer(),o=this.display(r,s);s.append(o),s.prop("title",r.title||r.text),s.data("data",r),t.push(s)}var a=this.$selection.find(".pumselect2-selection__rendered");n.appendMany(a,t)}},i}),n.define("pumselect2/selection/placeholder",["../utils"],function(e){function t(e,t,n){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n)}return t.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},t.prototype.createPlaceholder=function(e,t){var n=this.selectionContainer();return n.html(this.display(t)),n.addClass("pumselect2-selection__placeholder").removeClass("pumselect2-selection__choice"),n},t.prototype.update=function(e,t){var n=1==t.length&&t[0].id!=this.placeholder.id;if(t.length>1||n)return e.call(this,t);this.clear();var i=this.createPlaceholder(this.placeholder);this.$selection.find(".pumselect2-selection__rendered").append(i)},t}),n.define("pumselect2/selection/allowClear",["jquery","../keys"],function(e,t){function n(){}return n.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".pumselect2-selection__clear",function(e){i._handleClear(e)}),t.on("keypress",function(e){i._handleKeyboardClear(e,t)})},n.prototype._handleClear=function(e,t){if(!this.options.get("disabled")){var n=this.$selection.find(".pumselect2-selection__clear");if(0!==n.length){t.stopPropagation();for(var i=n.data("data"),r=0;r<i.length;r++){var s={data:i[r]};if(this.trigger("unselect",s),s.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},n.prototype._handleKeyboardClear=function(e,n,i){i.isOpen()||n.which!=t.DELETE&&n.which!=t.BACKSPACE||this._handleClear(n)},n.prototype.update=function(t,n){if(t.call(this,n),!(this.$selection.find(".pumselect2-selection__placeholder").length>0||0===n.length)){var i=e('<span class="pumselect2-selection__clear">×</span>');i.data("data",n),this.$selection.find(".pumselect2-selection__rendered").prepend(i)}},n}),n.define("pumselect2/selection/search",["jquery","../utils","../keys"],function(e,t,n){function i(e,t,n){e.call(this,t,n)}return i.prototype.render=function(t){var n=e('<li class="pumselect2-search pumselect2-search--inline"><input class="pumselect2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=n,this.$search=n.find("input");var i=t.call(this);return this._transferTabIndex(),i},i.prototype.bind=function(e,t,i){var r=this;e.call(this,t,i),t.on("open",function(){r.$search.trigger("focus")}),t.on("close",function(){r.$search.val(""),r.$search.removeAttr("aria-activedescendant"),r.$search.trigger("focus")}),t.on("enable",function(){r.$search.prop("disabled",!1),r._transferTabIndex()}),t.on("disable",function(){r.$search.prop("disabled",!0)}),t.on("focus",function(e){r.$search.trigger("focus")}),t.on("results:focus",function(e){r.$search.attr("aria-activedescendant",e.id)}),this.$selection.on("focusin",".pumselect2-search--inline",function(e){r.trigger("focus",e)}),this.$selection.on("focusout",".pumselect2-search--inline",function(e){r._handleBlur(e)}),this.$selection.on("keydown",".pumselect2-search--inline",function(e){if(e.stopPropagation(),r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented(),e.which===n.BACKSPACE&&""===r.$search.val()){var t=r.$searchContainer.prev(".pumselect2-selection__choice");if(t.length>0){var i=t.data("data");r.searchRemoveChoice(i),e.preventDefault()}}});var s=document.documentMode,o=s&&s<=11;this.$selection.on("input.searchcheck",".pumselect2-search--inline",function(e){o?r.$selection.off("input.search input.searchcheck"):r.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".pumselect2-search--inline",function(e){if(o&&"input"===e.type)r.$selection.off("input.search input.searchcheck");else{var t=e.which;t!=n.SHIFT&&t!=n.CTRL&&t!=n.ALT&&t!=n.TAB&&r.handleSearch(e)}})},i.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},i.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},i.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".pumselect2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.focus()},i.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},i.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},i.prototype.resizeSearch=function(){this.$search.css("width","25px");var e;e=""!==this.$search.attr("placeholder")?this.$selection.find(".pumselect2-selection__rendered").innerWidth():.75*(this.$search.val().length+1)+"em",this.$search.css("width",e)},i}),n.define("pumselect2/selection/eventRelay",["jquery"],function(e){function t(){}return t.prototype.bind=function(t,n,i){var r=this,s=["open","opening","close","closing","select","selecting","unselect","unselecting"],o=["opening","closing","selecting","unselecting"];t.call(this,n,i),n.on("*",function(t,n){if(-1!==e.inArray(t,s)){n=n||{};var i=e.Event("pumselect2:"+t,{params:n});r.$element.trigger(i),-1!==e.inArray(t,o)&&(n.prevented=i.isDefaultPrevented())}})},t}),n.define("pumselect2/translation",["jquery","require"],function(e,t){function n(e){this.dict=e||{}}return n.prototype.all=function(){return this.dict},n.prototype.get=function(e){return this.dict[e]},n.prototype.extend=function(t){this.dict=e.extend({},t.all(),this.dict)},n._cache={},n.loadPath=function(e){if(!(e in n._cache)){var i=t(e);n._cache[e]=i}return new n(n._cache[e])},n}),n.define("pumselect2/diacritics",[],function(){return{"Ⓐ":"A",A:"A",À:"A",Á:"A",Â:"A",Ầ:"A",Ấ:"A",Ẫ:"A",Ẩ:"A",Ã:"A",Ā:"A",Ă:"A",Ằ:"A",Ắ:"A",Ẵ:"A",Ẳ:"A",Ȧ:"A",Ǡ:"A",Ä:"A",Ǟ:"A",Ả:"A",Å:"A",Ǻ:"A",Ǎ:"A",Ȁ:"A",Ȃ:"A",Ạ:"A",Ậ:"A",Ặ:"A",Ḁ:"A",Ą:"A",Ⱥ:"A",Ɐ:"A",Ꜳ:"AA",Æ:"AE",Ǽ:"AE",Ǣ:"AE",Ꜵ:"AO",Ꜷ:"AU",Ꜹ:"AV",Ꜻ:"AV",Ꜽ:"AY","Ⓑ":"B",B:"B",Ḃ:"B",Ḅ:"B",Ḇ:"B",Ƀ:"B",Ƃ:"B",Ɓ:"B","Ⓒ":"C",C:"C",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",Ç:"C",Ḉ:"C",Ƈ:"C",Ȼ:"C",Ꜿ:"C","Ⓓ":"D",D:"D",Ḋ:"D",Ď:"D",Ḍ:"D",Ḑ:"D",Ḓ:"D",Ḏ:"D",Đ:"D",Ƌ:"D",Ɗ:"D",Ɖ:"D",Ꝺ:"D",DZ:"DZ",DŽ:"DZ",Dz:"Dz",Dž:"Dz","Ⓔ":"E",E:"E",È:"E",É:"E",Ê:"E",Ề:"E",Ế:"E",Ễ:"E",Ể:"E",Ẽ:"E",Ē:"E",Ḕ:"E",Ḗ:"E",Ĕ:"E",Ė:"E",Ë:"E",Ẻ:"E",Ě:"E",Ȅ:"E",Ȇ:"E",Ẹ:"E",Ệ:"E",Ȩ:"E",Ḝ:"E",Ę:"E",Ḙ:"E",Ḛ:"E",Ɛ:"E",Ǝ:"E","Ⓕ":"F",F:"F",Ḟ:"F",Ƒ:"F",Ꝼ:"F","Ⓖ":"G",G:"G",Ǵ:"G",Ĝ:"G",Ḡ:"G",Ğ:"G",Ġ:"G",Ǧ:"G",Ģ:"G",Ǥ:"G",Ɠ:"G",Ꞡ:"G",Ᵹ:"G",Ꝿ:"G","Ⓗ":"H",H:"H",Ĥ:"H",Ḣ:"H",Ḧ:"H",Ȟ:"H",Ḥ:"H",Ḩ:"H",Ḫ:"H",Ħ:"H",Ⱨ:"H",Ⱶ:"H",Ɥ:"H","Ⓘ":"I",I:"I",Ì:"I",Í:"I",Î:"I",Ĩ:"I",Ī:"I",Ĭ:"I",İ:"I",Ï:"I",Ḯ:"I",Ỉ:"I",Ǐ:"I",Ȉ:"I",Ȋ:"I",Ị:"I",Į:"I",Ḭ:"I",Ɨ:"I","Ⓙ":"J",J:"J",Ĵ:"J",Ɉ:"J","Ⓚ":"K",K:"K",Ḱ:"K",Ǩ:"K",Ḳ:"K",Ķ:"K",Ḵ:"K",Ƙ:"K",Ⱪ:"K",Ꝁ:"K",Ꝃ:"K",Ꝅ:"K",Ꞣ:"K","Ⓛ":"L",L:"L",Ŀ:"L",Ĺ:"L",Ľ:"L",Ḷ:"L",Ḹ:"L",Ļ:"L",Ḽ:"L",Ḻ:"L",Ł:"L",Ƚ:"L",Ɫ:"L",Ⱡ:"L",Ꝉ:"L",Ꝇ:"L",Ꞁ:"L",LJ:"LJ",Lj:"Lj","Ⓜ":"M",M:"M",Ḿ:"M",Ṁ:"M",Ṃ:"M",Ɱ:"M",Ɯ:"M","Ⓝ":"N",N:"N",Ǹ:"N",Ń:"N",Ñ:"N",Ṅ:"N",Ň:"N",Ṇ:"N",Ņ:"N",Ṋ:"N",Ṉ:"N",Ƞ:"N",Ɲ:"N",Ꞑ:"N",Ꞥ:"N",NJ:"NJ",Nj:"Nj","Ⓞ":"O",O:"O",Ò:"O",Ó:"O",Ô:"O",Ồ:"O",Ố:"O",Ỗ:"O",Ổ:"O",Õ:"O",Ṍ:"O",Ȭ:"O",Ṏ:"O",Ō:"O",Ṑ:"O",Ṓ:"O",Ŏ:"O",Ȯ:"O",Ȱ:"O",Ö:"O",Ȫ:"O",Ỏ:"O",Ő:"O",Ǒ:"O",Ȍ:"O",Ȏ:"O",Ơ:"O",Ờ:"O",Ớ:"O",Ỡ:"O",Ở:"O",Ợ:"O",Ọ:"O",Ộ:"O",Ǫ:"O",Ǭ:"O",Ø:"O",Ǿ:"O",Ɔ:"O",Ɵ:"O",Ꝋ:"O",Ꝍ:"O",Ƣ:"OI",Ꝏ:"OO",Ȣ:"OU","Ⓟ":"P",P:"P",Ṕ:"P",Ṗ:"P",Ƥ:"P",Ᵽ:"P",Ꝑ:"P",Ꝓ:"P",Ꝕ:"P","Ⓠ":"Q",Q:"Q",Ꝗ:"Q",Ꝙ:"Q",Ɋ:"Q","Ⓡ":"R",R:"R",Ŕ:"R",Ṙ:"R",Ř:"R",Ȑ:"R",Ȓ:"R",Ṛ:"R",Ṝ:"R",Ŗ:"R",Ṟ:"R",Ɍ:"R",Ɽ:"R",Ꝛ:"R",Ꞧ:"R",Ꞃ:"R","Ⓢ":"S",S:"S",ẞ:"S",Ś:"S",Ṥ:"S",Ŝ:"S",Ṡ:"S",Š:"S",Ṧ:"S",Ṣ:"S",Ṩ:"S",Ș:"S",Ş:"S",Ȿ:"S",Ꞩ:"S",Ꞅ:"S","Ⓣ":"T",T:"T",Ṫ:"T",Ť:"T",Ṭ:"T",Ț:"T",Ţ:"T",Ṱ:"T",Ṯ:"T",Ŧ:"T",Ƭ:"T",Ʈ:"T",Ⱦ:"T",Ꞇ:"T",Ꜩ:"TZ","Ⓤ":"U",U:"U",Ù:"U",Ú:"U",Û:"U",Ũ:"U",Ṹ:"U",Ū:"U",Ṻ:"U",Ŭ:"U",Ü:"U",Ǜ:"U",Ǘ:"U",Ǖ:"U",Ǚ:"U",Ủ:"U",Ů:"U",Ű:"U",Ǔ:"U",Ȕ:"U",Ȗ:"U",Ư:"U",Ừ:"U",Ứ:"U",Ữ:"U",Ử:"U",Ự:"U",Ụ:"U",Ṳ:"U",Ų:"U",Ṷ:"U",Ṵ:"U",Ʉ:"U","Ⓥ":"V",V:"V",Ṽ:"V",Ṿ:"V",Ʋ:"V",Ꝟ:"V",Ʌ:"V",Ꝡ:"VY","Ⓦ":"W",W:"W",Ẁ:"W",Ẃ:"W",Ŵ:"W",Ẇ:"W",Ẅ:"W",Ẉ:"W",Ⱳ:"W","Ⓧ":"X",X:"X",Ẋ:"X",Ẍ:"X","Ⓨ":"Y",Y:"Y",Ỳ:"Y",Ý:"Y",Ŷ:"Y",Ỹ:"Y",Ȳ:"Y",Ẏ:"Y",Ÿ:"Y",Ỷ:"Y",Ỵ:"Y",Ƴ:"Y",Ɏ:"Y",Ỿ:"Y","Ⓩ":"Z",Z:"Z",Ź:"Z",Ẑ:"Z",Ż:"Z",Ž:"Z",Ẓ:"Z",Ẕ:"Z",Ƶ:"Z",Ȥ:"Z",Ɀ:"Z",Ⱬ:"Z",Ꝣ:"Z","ⓐ":"a",a:"a",ẚ:"a",à:"a",á:"a",â:"a",ầ:"a",ấ:"a",ẫ:"a",ẩ:"a",ã:"a",ā:"a",ă:"a",ằ:"a",ắ:"a",ẵ:"a",ẳ:"a",ȧ:"a",ǡ:"a",ä:"a",ǟ:"a",ả:"a",å:"a",ǻ:"a",ǎ:"a",ȁ:"a",ȃ:"a",ạ:"a",ậ:"a",ặ:"a",ḁ:"a",ą:"a",ⱥ:"a",ɐ:"a",ꜳ:"aa",æ:"ae",ǽ:"ae",ǣ:"ae",ꜵ:"ao",ꜷ:"au",ꜹ:"av",ꜻ:"av",ꜽ:"ay","ⓑ":"b",b:"b",ḃ:"b",ḅ:"b",ḇ:"b",ƀ:"b",ƃ:"b",ɓ:"b","ⓒ":"c",c:"c",ć:"c",ĉ:"c",ċ:"c",č:"c",ç:"c",ḉ:"c",ƈ:"c",ȼ:"c",ꜿ:"c",ↄ:"c","ⓓ":"d",d:"d",ḋ:"d",ď:"d",ḍ:"d",ḑ:"d",ḓ:"d",ḏ:"d",đ:"d",ƌ:"d",ɖ:"d",ɗ:"d",ꝺ:"d",dz:"dz",dž:"dz","ⓔ":"e",e:"e",è:"e",é:"e",ê:"e",ề:"e",ế:"e",ễ:"e",ể:"e",ẽ:"e",ē:"e",ḕ:"e",ḗ:"e",ĕ:"e",ė:"e",ë:"e",ẻ:"e",ě:"e",ȅ:"e",ȇ:"e",ẹ:"e",ệ:"e",ȩ:"e",ḝ:"e",ę:"e",ḙ:"e",ḛ:"e",ɇ:"e",ɛ:"e",ǝ:"e","ⓕ":"f",f:"f",ḟ:"f",ƒ:"f",ꝼ:"f","ⓖ":"g",g:"g",ǵ:"g",ĝ:"g",ḡ:"g",ğ:"g",ġ:"g",ǧ:"g",ģ:"g",ǥ:"g",ɠ:"g",ꞡ:"g",ᵹ:"g",ꝿ:"g","ⓗ":"h",h:"h",ĥ:"h",ḣ:"h",ḧ:"h",ȟ:"h",ḥ:"h",ḩ:"h",ḫ:"h",ẖ:"h",ħ:"h",ⱨ:"h",ⱶ:"h",ɥ:"h",ƕ:"hv","ⓘ":"i",i:"i",ì:"i",í:"i",î:"i",ĩ:"i",ī:"i",ĭ:"i",ï:"i",ḯ:"i",ỉ:"i",ǐ:"i",ȉ:"i",ȋ:"i",ị:"i",į:"i",ḭ:"i",ɨ:"i",ı:"i","ⓙ":"j",j:"j",ĵ:"j",ǰ:"j",ɉ:"j","ⓚ":"k",k:"k",ḱ:"k",ǩ:"k",ḳ:"k",ķ:"k",ḵ:"k",ƙ:"k",ⱪ:"k",ꝁ:"k",ꝃ:"k",ꝅ:"k",ꞣ:"k","ⓛ":"l",l:"l",ŀ:"l",ĺ:"l",ľ:"l",ḷ:"l",ḹ:"l",ļ:"l",ḽ:"l",ḻ:"l",ſ:"l",ł:"l",ƚ:"l",ɫ:"l",ⱡ:"l",ꝉ:"l",ꞁ:"l",ꝇ:"l",lj:"lj","ⓜ":"m",m:"m",ḿ:"m",ṁ:"m",ṃ:"m",ɱ:"m",ɯ:"m","ⓝ":"n",n:"n",ǹ:"n",ń:"n",ñ:"n",ṅ:"n",ň:"n",ṇ:"n",ņ:"n",ṋ:"n",ṉ:"n",ƞ:"n",ɲ:"n",ʼn:"n",ꞑ:"n",ꞥ:"n",nj:"nj","ⓞ":"o",o:"o",ò:"o",ó:"o",ô:"o",ồ:"o",ố:"o",ỗ:"o",ổ:"o",õ:"o",ṍ:"o",ȭ:"o",ṏ:"o",ō:"o",ṑ:"o",ṓ:"o",ŏ:"o",ȯ:"o",ȱ:"o",ö:"o",ȫ:"o",ỏ:"o",ő:"o",ǒ:"o",ȍ:"o",ȏ:"o",ơ:"o",ờ:"o",ớ:"o",ỡ:"o",ở:"o",ợ:"o",ọ:"o",ộ:"o",ǫ:"o",ǭ:"o",ø:"o",ǿ:"o",ɔ:"o",ꝋ:"o",ꝍ:"o",ɵ:"o",ƣ:"oi",ȣ:"ou",ꝏ:"oo","ⓟ":"p",p:"p",ṕ:"p",ṗ:"p",ƥ:"p",ᵽ:"p",ꝑ:"p",ꝓ:"p",ꝕ:"p","ⓠ":"q",q:"q",ɋ:"q",ꝗ:"q",ꝙ:"q","ⓡ":"r",r:"r",ŕ:"r",ṙ:"r",ř:"r",ȑ:"r",ȓ:"r",ṛ:"r",ṝ:"r",ŗ:"r",ṟ:"r",ɍ:"r",ɽ:"r",ꝛ:"r",ꞧ:"r",ꞃ:"r","ⓢ":"s",s:"s",ß:"s",ś:"s",ṥ:"s",ŝ:"s",ṡ:"s",š:"s",ṧ:"s",ṣ:"s",ṩ:"s",ș:"s",ş:"s",ȿ:"s",ꞩ:"s",ꞅ:"s",ẛ:"s","ⓣ":"t",t:"t",ṫ:"t",ẗ:"t",ť:"t",ṭ:"t",ț:"t",ţ:"t",ṱ:"t",ṯ:"t",ŧ:"t",ƭ:"t",ʈ:"t",ⱦ:"t",ꞇ:"t",ꜩ:"tz","ⓤ":"u",u:"u",ù:"u",ú:"u",û:"u",ũ:"u",ṹ:"u",ū:"u",ṻ:"u",ŭ:"u",ü:"u",ǜ:"u",ǘ:"u",ǖ:"u",ǚ:"u",ủ:"u",ů:"u",ű:"u",ǔ:"u",ȕ:"u",ȗ:"u",ư:"u",ừ:"u",ứ:"u",ữ:"u",ử:"u",ự:"u",ụ:"u",ṳ:"u",ų:"u",ṷ:"u",ṵ:"u",ʉ:"u","ⓥ":"v",v:"v",ṽ:"v",ṿ:"v",ʋ:"v",ꝟ:"v",ʌ:"v",ꝡ:"vy","ⓦ":"w",w:"w",ẁ:"w",ẃ:"w",ŵ:"w",ẇ:"w",ẅ:"w",ẘ:"w",ẉ:"w",ⱳ:"w","ⓧ":"x",x:"x",ẋ:"x",ẍ:"x","ⓨ":"y",y:"y",ỳ:"y",ý:"y",ŷ:"y",ỹ:"y",ȳ:"y",ẏ:"y",ÿ:"y",ỷ:"y",ẙ:"y",ỵ:"y",ƴ:"y",ɏ:"y",ỿ:"y","ⓩ":"z",z:"z",ź:"z",ẑ:"z",ż:"z",ž:"z",ẓ:"z",ẕ:"z",ƶ:"z",ȥ:"z",ɀ:"z",ⱬ:"z",ꝣ:"z",Ά:"Α",Έ:"Ε",Ή:"Η",Ί:"Ι",Ϊ:"Ι",Ό:"Ο",Ύ:"Υ",Ϋ:"Υ",Ώ:"Ω",ά:"α",έ:"ε",ή:"η",ί:"ι",ϊ:"ι",ΐ:"ι",ό:"ο",ύ:"υ",ϋ:"υ",ΰ:"υ",ω:"ω",ς:"σ"}}),n.define("pumselect2/data/base",["../utils"],function(e){function t(e,n){t.__super__.constructor.call(this)}return e.Extend(t,e.Observable),t.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},t.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},t.prototype.bind=function(e,t){},t.prototype.destroy=function(){},t.prototype.generateResultId=function(t,n){var i=t.id+"-result-";return i+=e.generateChars(4),null!=n.id?i+="-"+n.id.toString():i+="-"+e.generateChars(4),i},t}),n.define("pumselect2/data/select",["./base","../utils","jquery"],function(e,t,n){function i(e,t){this.$element=e,this.options=t,i.__super__.constructor.call(this)}return t.Extend(i,e),i.prototype.current=function(e){var t=[],i=this;this.$element.find(":selected").each(function(){var e=n(this),r=i.item(e);t.push(r)}),e(t)},i.prototype.select=function(e){var t=this;if(e.selected=!0,n(e.element).is("option"))return e.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(i){var r=[];(e=[e]).push.apply(e,i);for(var s=0;s<e.length;s++){var o=e[s].id;-1===n.inArray(o,r)&&r.push(o)}t.$element.val(r),t.$element.trigger("change")});else{var i=e.id;this.$element.val(i),this.$element.trigger("change")}},i.prototype.unselect=function(e){var t=this;if(this.$element.prop("multiple")){if(e.selected=!1,n(e.element).is("option"))return e.element.selected=!1,void this.$element.trigger("change");this.current(function(i){for(var r=[],s=0;s<i.length;s++){var o=i[s].id;o!==e.id&&-1===n.inArray(o,r)&&r.push(o)}t.$element.val(r),t.$element.trigger("change")})}},i.prototype.bind=function(e,t){var n=this;this.container=e,e.on("select",function(e){n.select(e.data)}),e.on("unselect",function(e){n.unselect(e.data)})},i.prototype.destroy=function(){this.$element.find("*").each(function(){n.removeData(this,"data")})},i.prototype.query=function(e,t){var i=[],r=this;this.$element.children().each(function(){var t=n(this);if(t.is("option")||t.is("optgroup")){var s=r.item(t),o=r.matches(e,s);null!==o&&i.push(o)}}),t({results:i})},i.prototype.addOptions=function(e){t.appendMany(this.$element,e)},i.prototype.option=function(e){var t;e.children?(t=document.createElement("optgroup")).label=e.text:void 0!==(t=document.createElement("option")).textContent?t.textContent=e.text:t.innerText=e.text,e.id&&(t.value=e.id),e.disabled&&(t.disabled=!0),e.selected&&(t.selected=!0),e.title&&(t.title=e.title);var i=n(t),r=this._normalizeItem(e);return r.element=t,n.data(t,"data",r),i},i.prototype.item=function(e){var t={};if(null!=(t=n.data(e[0],"data")))return t;if(e.is("option"))t={id:e.val(),text:e.text(),disabled:e.prop("disabled"),selected:e.prop("selected"),title:e.prop("title")};else if(e.is("optgroup")){t={text:e.prop("label"),children:[],title:e.prop("title")};for(var i=e.children("option"),r=[],s=0;s<i.length;s++){var o=n(i[s]),a=this.item(o);r.push(a)}t.children=r}return(t=this._normalizeItem(t)).element=e[0],n.data(e[0],"data",t),t},i.prototype._normalizeItem=function(e){n.isPlainObject(e)||(e={id:e,text:e});return null!=(e=n.extend({},{text:""},e)).id&&(e.id=e.id.toString()),null!=e.text&&(e.text=e.text.toString()),null==e._resultId&&e.id&&null!=this.container&&(e._resultId=this.generateResultId(this.container,e)),n.extend({},{selected:!1,disabled:!1},e)},i.prototype.matches=function(e,t){return this.options.get("matcher")(e,t)},i}),n.define("pumselect2/data/array",["./select","../utils","jquery"],function(e,t,n){function i(e,t){var n=t.get("data")||[];i.__super__.constructor.call(this,e,t),this.addOptions(this.convertToOptions(n))}return t.Extend(i,e),i.prototype.select=function(e){var t=this.$element.find("option").filter(function(t,n){return n.value==e.id.toString()});0===t.length&&(t=this.option(e),this.addOptions(t)),i.__super__.select.call(this,e)},i.prototype.convertToOptions=function(e){var i=this,r=this.$element.find("option"),s=r.map(function(){return i.item(n(this)).id}).get(),o=[];function a(e){return function(){return n(this).val()==e.id}}for(var l=0;l<e.length;l++){var u=this._normalizeItem(e[l]);if(n.inArray(u.id,s)>=0){var c=r.filter(a(u)),p=this.item(c),d=n.extend(!0,{},u,p),h=this.option(d);c.replaceWith(h)}else{var m=this.option(u);if(u.children){var f=this.convertToOptions(u.children);t.appendMany(m,f)}o.push(m)}}return o},i}),n.define("pumselect2/data/ajax",["./array","../utils","jquery"],function(e,t,n){function i(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),i.__super__.constructor.call(this,e,t)}return t.Extend(i,e),i.prototype._applyDefaults=function(e){var t={data:function(e){return n.extend({},e,{q:e.term})},transport:function(e,t,i){var r=n.ajax(e);return r.then(t),r.fail(i),r}};return n.extend({},t,e,!0)},i.prototype.processResults=function(e){return e},i.prototype.query=function(e,t){var i=this;null!=this._request&&(n.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var r=n.extend({type:"GET"},this.ajaxOptions);function s(){var n=r.transport(r,function(n){var r=i.processResults(n,e);i.options.get("debug")&&window.console&&console.error&&(r&&r.results&&Array.isArray(r.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),t(r)},function(){i.trigger("results:message",{message:"errorLoading"})});i._request=n}"function"==typeof r.url&&(r.url=r.url.call(this.$element,e)),"function"==typeof r.data&&(r.data=r.data.call(this.$element,e)),this.ajaxOptions.delay&&""!==e.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(s,this.ajaxOptions.delay)):s()},i}),n.define("pumselect2/data/tags",["jquery"],function(e){function t(e,t,n){var i=n.get("tags"),r=n.get("createTag");void 0!==r&&(this.createTag=r);var s=n.get("insertTag");if(void 0!==s&&(this.insertTag=s),e.call(this,t,n),Array.isArray(i))for(var o=0;o<i.length;o++){var a=i[o],l=this._normalizeItem(a),u=this.option(l);this.$element.append(u)}}return t.prototype.query=function(e,t,n){var i=this;this._removeOldTags(),null!=t.term&&null==t.page?e.call(this,t,function e(r,s){for(var o=r.results,a=0;a<o.length;a++){var l=o[a],u=null!=l.children&&!e({results:l.children},!0);if(l.text===t.term||u)return!s&&(r.data=o,void n(r))}if(s)return!0;var c=i.createTag(t);if(null!=c){var p=i.option(c);p.attr("data-pumselect2-tag",!0),i.addOptions([p]),i.insertTag(o,c)}r.results=o,n(r)}):e.call(this,t,n)},t.prototype.createTag=function(t,n){var i=e.trim(n.term);return""===i?null:{id:i,text:i}},t.prototype.insertTag=function(e,t,n){t.unshift(n)},t.prototype._removeOldTags=function(t){this._lastTag,this.$element.find("option[data-pumselect2-tag]").each(function(){this.selected||e(this).remove()})},t}),n.define("pumselect2/data/tokenizer",["jquery"],function(e){function t(e,t,n){var i=n.get("tokenizer");void 0!==i&&(this.tokenizer=i),e.call(this,t,n)}return t.prototype.bind=function(e,t,n){e.call(this,t,n),this.$search=t.dropdown.$search||t.selection.$search||n.find(".pumselect2-search__field")},t.prototype.query=function(e,t,n){var i=this;t.term=t.term||"";var r=this.tokenizer(t,this.options,function(e){i.trigger("select",{data:e})});r.term!==t.term&&(this.$search.length&&(this.$search.val(r.term),this.$search.focus()),t.term=r.term),e.call(this,t,n)},t.prototype.tokenizer=function(t,n,i,r){for(var s=i.get("tokenSeparators")||[],o=n.term,a=0,l=this.createTag||function(e){return{id:e.term,text:e.term}};a<o.length;){var u=o[a];if(-1!==e.inArray(u,s)){var c=o.substr(0,a),p=l(e.extend({},n,{term:c}));null!=p?(r(p),o=o.substr(a+1)||"",a=0):a++}else a++}return{term:o}},t}),n.define("pumselect2/data/minimumInputLength",[],function(){function e(e,t,n){this.minimumInputLength=n.get("minimumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",t.term.length<this.minimumInputLength?this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),n.define("pumselect2/data/maximumInputLength",[],function(){function e(e,t,n){this.maximumInputLength=n.get("maximumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",this.maximumInputLength>0&&t.term.length>this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),n.define("pumselect2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){var i=this;this.current(function(r){var s=null!=r?r.length:0;i.maximumSelectionLength>0&&s>=i.maximumSelectionLength?i.trigger("results:message",{message:"maximumSelected",args:{maximum:i.maximumSelectionLength}}):e.call(i,t,n)})},e}),n.define("pumselect2/dropdown",["jquery","./utils"],function(e,t){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return t.Extend(n,t.Observable),n.prototype.render=function(){var t=e('<span class="pumselect2-dropdown"><span class="pumselect2-results"></span></span>');return t.attr("dir",this.options.get("dir")),this.$dropdown=t,t},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),n.define("pumselect2/dropdown/search",["jquery","../utils"],function(e,t){function n(){}return n.prototype.render=function(t){var n=t.call(this),i=e('<span class="pumselect2-search pumselect2-search--dropdown"><input class="pumselect2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=i,this.$search=i.find("input"),n.prepend(i),n},n.prototype.bind=function(t,n,i){var r=this;t.call(this,n,i),this.$search.on("keydown",function(e){r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(t){e(this).off("keyup")}),this.$search.on("keyup input",function(e){r.handleSearch(e)}),n.on("open",function(){r.$search.attr("tabindex",0),r.$search.focus(),window.setTimeout(function(){r.$search.focus()},0)}),n.on("close",function(){r.$search.attr("tabindex",-1),r.$search.val("")}),n.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(r.showSearch(e)?r.$searchContainer.removeClass("pumselect2-search--hide"):r.$searchContainer.addClass("pumselect2-search--hide"))})},n.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},n.prototype.showSearch=function(e,t){return!0},n}),n.define("pumselect2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,i){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,i)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),i=t.length-1;i>=0;i--){var r=t[i];this.placeholder.id===r.id&&n.splice(i,1)}return n},e}),n.define("pumselect2/dropdown/infiniteScroll",["jquery"],function(e){function t(e,t,n,i){this.lastParams={},e.call(this,t,n,i),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return t.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&this.$results.append(this.$loadingMore)},t.prototype.bind=function(t,n,i){var r=this;t.call(this,n,i),n.on("query",function(e){r.lastParams=e,r.loading=!0}),n.on("query:append",function(e){r.lastParams=e,r.loading=!0}),this.$results.on("scroll",function(){var t=e.contains(document.documentElement,r.$loadingMore[0]);!r.loading&&t&&r.$results.offset().top+r.$results.outerHeight(!1)+50>=r.$loadingMore.offset().top+r.$loadingMore.outerHeight(!1)&&r.loadMore()})},t.prototype.loadMore=function(){this.loading=!0;var t=e.extend({},{page:1},this.lastParams);t.page++,this.trigger("query:append",t)},t.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},t.prototype.createLoadingMore=function(){var t=e('<li class="pumselect2-results__option pumselect2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),n=this.options.get("translations").get("loadingMore");return t.html(n(this.lastParams)),t},t}),n.define("pumselect2/dropdown/attachBody",["jquery","../utils"],function(e,t){function n(t,n,i){this.$dropdownParent=i.get("dropdownParent")||e(document.body),t.call(this,n,i)}return n.prototype.bind=function(e,t,n){var i=this,r=!1;e.call(this,t,n),t.on("open",function(){i._showDropdown(),i._attachPositioningHandler(t),r||(r=!0,t.on("results:all",function(){i._positionDropdown(),i._resizeDropdown()}),t.on("results:append",function(){i._positionDropdown(),i._resizeDropdown()}))}),t.on("close",function(){i._hideDropdown(),i._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},n.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},n.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("pumselect2"),t.addClass("pumselect2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},n.prototype.render=function(t){var n=e("<span></span>"),i=t.call(this);return n.append(i),this.$dropdownContainer=n,n},n.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},n.prototype._attachPositioningHandler=function(n,i){var r=this,s="scroll.pumselect2."+i.id,o="resize.pumselect2."+i.id,a="orientationchange.pumselect2."+i.id,l=this.$container.parents().filter(t.hasScroll);l.each(function(){e(this).data("pumselect2-scroll-position",{x:e(this).scrollLeft(),y:e(this).scrollTop()})}),l.on(s,function(t){var n=e(this).data("pumselect2-scroll-position");e(this).scrollTop(n.y)}),e(window).on(s+" "+o+" "+a,function(e){r._positionDropdown(),r._resizeDropdown()})},n.prototype._detachPositioningHandler=function(n,i){var r="scroll.pumselect2."+i.id,s="resize.pumselect2."+i.id,o="orientationchange.pumselect2."+i.id;this.$container.parents().filter(t.hasScroll).off(r),e(window).off(r+" "+s+" "+o)},n.prototype._positionDropdown=function(){var t=e(window),n=this.$dropdown.hasClass("pumselect2-dropdown--above"),i=this.$dropdown.hasClass("pumselect2-dropdown--below"),r=null,s=this.$container.offset();s.bottom=s.top+this.$container.outerHeight(!1);var o={height:this.$container.outerHeight(!1)};o.top=s.top,o.bottom=s.top+o.height;var a=this.$dropdown.outerHeight(!1),l=t.scrollTop(),u=t.scrollTop()+t.height(),c=l<s.top-a,p=u>s.bottom+a,d={left:s.left,top:o.bottom},h=this.$dropdownParent;"static"===h.css("position")&&(h=h.offsetParent());var m=h.offset();d.top-=m.top,d.left-=m.left,n||i||(r="below"),p||!c||n?!c&&p&&n&&(r="below"):r="above",("above"==r||n&&"below"!==r)&&(d.top=o.top-a),null!=r&&(this.$dropdown.removeClass("pumselect2-dropdown--below pumselect2-dropdown--above").addClass("pumselect2-dropdown--"+r),this.$container.removeClass("pumselect2-container--below pumselect2-container--above").addClass("pumselect2-container--"+r)),this.$dropdownContainer.css(d)},n.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.width="auto"),this.$dropdown.css(e)},n.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},n}),n.define("pumselect2/dropdown/minimumResultsForSearch",[],function(){function e(t){for(var n=0,i=0;i<t.length;i++){var r=t[i];r.children?n+=e(r.children):n++}return n}function t(e,t,n,i){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,i)}return t.prototype.showSearch=function(t,n){return!(e(n.data.results)<this.minimumResultsForSearch)&&t.call(this,n)},t}),n.define("pumselect2/dropdown/selectOnClose",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("close",function(){i._handleSelectOnClose()})},e.prototype._handleSelectOnClose=function(){var e=this.getHighlightedResults();if(!(e.length<1)){var t=e.data("data");null!=t.element&&t.element.selected||null==t.element&&t.selected||this.trigger("select",{data:t})}},e}),n.define("pumselect2/dropdown/closeOnSelect",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("select",function(e){i._selectTriggered(e)}),t.on("unselect",function(e){i._selectTriggered(e)})},e.prototype._selectTriggered=function(e,t){var n=t.originalEvent;n&&n.ctrlKey||this.trigger("close",{})},e}),n.define("pumselect2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return 1!=t&&(n+="s"),n},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return 1!=e.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),n.define("pumselect2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(e,t,n,i,r,s,o,a,l,u,c,p,d,h,m,f,g,v,y,_,b,w,A,x,$,j,O,P,C){function k(){this.reset()}return k.prototype.apply=function(p){if(null==(p=e.extend(!0,{},this.defaults,p)).dataAdapter){if(null!=p.ajax?p.dataAdapter=m:null!=p.data?p.dataAdapter=h:p.dataAdapter=d,p.minimumInputLength>0&&(p.dataAdapter=u.Decorate(p.dataAdapter,v)),p.maximumInputLength>0&&(p.dataAdapter=u.Decorate(p.dataAdapter,y)),p.maximumSelectionLength>0&&(p.dataAdapter=u.Decorate(p.dataAdapter,_)),p.tags&&(p.dataAdapter=u.Decorate(p.dataAdapter,f)),null==p.tokenSeparators&&null==p.tokenizer||(p.dataAdapter=u.Decorate(p.dataAdapter,g)),null!=p.query){var C=t(p.amdBase+"compat/query");p.dataAdapter=u.Decorate(p.dataAdapter,C)}if(null!=p.initSelection){var k=t(p.amdBase+"compat/initSelection");p.dataAdapter=u.Decorate(p.dataAdapter,k)}}if(null==p.resultsAdapter&&(p.resultsAdapter=n,null!=p.ajax&&(p.resultsAdapter=u.Decorate(p.resultsAdapter,x)),null!=p.placeholder&&(p.resultsAdapter=u.Decorate(p.resultsAdapter,A)),p.selectOnClose&&(p.resultsAdapter=u.Decorate(p.resultsAdapter,O))),null==p.dropdownAdapter){if(p.multiple)p.dropdownAdapter=b;else{var S=u.Decorate(b,w);p.dropdownAdapter=S}if(0!==p.minimumResultsForSearch&&(p.dropdownAdapter=u.Decorate(p.dropdownAdapter,j)),p.closeOnSelect&&(p.dropdownAdapter=u.Decorate(p.dropdownAdapter,P)),null!=p.dropdownCssClass||null!=p.dropdownCss||null!=p.adaptDropdownCssClass){var M=t(p.amdBase+"compat/dropdownCss");p.dropdownAdapter=u.Decorate(p.dropdownAdapter,M)}p.dropdownAdapter=u.Decorate(p.dropdownAdapter,$)}if(null==p.selectionAdapter){if(p.multiple?p.selectionAdapter=r:p.selectionAdapter=i,null!=p.placeholder&&(p.selectionAdapter=u.Decorate(p.selectionAdapter,s)),p.allowClear&&(p.selectionAdapter=u.Decorate(p.selectionAdapter,o)),p.multiple&&(p.selectionAdapter=u.Decorate(p.selectionAdapter,a)),null!=p.containerCssClass||null!=p.containerCss||null!=p.adaptContainerCssClass){var E=t(p.amdBase+"compat/containerCss");p.selectionAdapter=u.Decorate(p.selectionAdapter,E)}p.selectionAdapter=u.Decorate(p.selectionAdapter,l)}if("string"==typeof p.language)if(p.language.indexOf("-")>0){var U=p.language.split("-")[0];p.language=[p.language,U]}else p.language=[p.language];if(Array.isArray(p.language)){var T=new c;p.language.push("en");for(var D=p.language,q=0;q<D.length;q++){var I=D[q],z={};try{z=c.loadPath(I)}catch(e){try{I=this.defaults.amdLanguageBase+I,z=c.loadPath(I)}catch(e){p.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+I+'" could not be automatically loaded. A fallback will be used instead.');continue}}T.extend(z)}p.translations=T}else{var L=c.loadPath(this.defaults.amdLanguageBase+"en"),H=new c(p.language);H.extend(L),p.translations=H}return p},k.prototype.reset=function(){function t(e){return e.replace(/[^\u0000-\u007E]/g,function(e){return p[e]||e})}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:u.escapeMarkup,language:C,matcher:function n(i,r){if(""===e.trim(i.term))return r;if(r.children&&r.children.length>0){for(var s=e.extend(!0,{},r),o=r.children.length-1;o>=0;o--)null==n(i,r.children[o])&&s.children.splice(o,1);return s.children.length>0?s:n(i,s)}var a=t(r.text).toUpperCase(),l=t(i.term).toUpperCase();return a.indexOf(l)>-1?r:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},k.prototype.set=function(t,n){var i={};i[e.camelCase(t)]=n;var r=u._convertData(i);e.extend(this.defaults,r)},new k}),n.define("pumselect2/options",["require","jquery","./defaults","./utils"],function(e,t,n,i){function r(t,r){if(this.options=t,null!=r&&this.fromElement(r),this.options=n.apply(this.options),r&&r.is("input")){var s=e(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=i.Decorate(this.options.dataAdapter,s)}}return r.prototype.fromElement=function(e){var n=["pumselect2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.language&&(e.prop("lang")?this.options.language=e.prop("lang").toLowerCase():e.closest("[lang]").prop("lang")&&(this.options.language=e.closest("[lang]").prop("lang"))),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),e.data("pumselect2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-pumselect2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),e.data("data",e.data("pumselect2Tags")),e.data("tags",!0)),e.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",e.data("ajaxUrl")),e.data("ajax--url",e.data("ajaxUrl")));var r;r=t.fn.jquery&&"1."==t.fn.jquery.substr(0,2)&&e[0].dataset?t.extend(!0,{},e[0].dataset,e.data()):e.data();var s=t.extend(!0,{},r);for(var o in s=i._convertData(s))t.inArray(o,n)>-1||(t.isPlainObject(this.options[o])?t.extend(this.options[o],s[o]):this.options[o]=s[o]);return this},r.prototype.get=function(e){return this.options[e]},r.prototype.set=function(e,t){this.options[e]=t},r}),n.define("pumselect2/core",["jquery","./options","./utils","./keys"],function(e,t,n,i){var r=function(e,n){null!=e.data("pumselect2")&&e.data("pumselect2").destroy(),this.$element=e,this.id=this._generateId(e),n=n||{},this.options=new t(n,e),r.__super__.constructor.call(this);var i=e.attr("tabindex")||0;e.data("old-tabindex",i),e.attr("tabindex","-1");var s=this.options.get("dataAdapter");this.dataAdapter=new s(e,this.options);var o=this.render();this._placeContainer(o);var a=this.options.get("selectionAdapter");this.selection=new a(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,o);var l=this.options.get("dropdownAdapter");this.dropdown=new l(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,o);var u=this.options.get("resultsAdapter");this.results=new u(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var c=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){c.trigger("selection:update",{data:e})}),e.addClass("pumselect2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),e.data("pumselect2",this)};return n.Extend(r,n.Observable),r.prototype._generateId=function(e){return"pumselect2-"+(null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+n.generateChars(2):n.generateChars(4)).replace(/(:|\.|\[|\]|,)/g,"")},r.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},r.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var i=this._resolveWidth(e,"style");return null!=i?i:this._resolveWidth(e,"element")}if("element"==t){var r=e.outerWidth(!1);return r<=0?"auto":r+"px"}if("style"==t){var s=e.attr("style");if("string"!=typeof s)return null;for(var o=s.split(";"),a=0,l=o.length;a<l;a+=1){var u=o[a].replace(/\s/g,"").match(n);if(null!==u&&u.length>=1)return u[1]}return null}return t},r.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},r.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.pumselect2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this._sync=n.bind(this._syncAttributes,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._sync);var i=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=i?(this._observer=new i(function(n){e.each(n,t._sync)}),this._observer.observe(this.$element[0],{attributes:!0,subtree:!1})):this.$element[0].addEventListener&&this.$element[0].addEventListener("DOMAttrModified",t._sync,!1)},r.prototype._registerDataEvents=function(){var e=this;this.dataAdapter.on("*",function(t,n){e.trigger(t,n)})},r.prototype._registerSelectionEvents=function(){var t=this,n=["toggle","focus"];this.selection.on("toggle",function(){t.toggleDropdown()}),this.selection.on("focus",function(e){t.focus(e)}),this.selection.on("*",function(i,r){-1===e.inArray(i,n)&&t.trigger(i,r)})},r.prototype._registerDropdownEvents=function(){var e=this;this.dropdown.on("*",function(t,n){e.trigger(t,n)})},r.prototype._registerResultsEvents=function(){var e=this;this.results.on("*",function(t,n){e.trigger(t,n)})},r.prototype._registerEvents=function(){var e=this;this.on("open",function(){e.$container.addClass("pumselect2-container--open")}),this.on("close",function(){e.$container.removeClass("pumselect2-container--open")}),this.on("enable",function(){e.$container.removeClass("pumselect2-container--disabled")}),this.on("disable",function(){e.$container.addClass("pumselect2-container--disabled")}),this.on("blur",function(){e.$container.removeClass("pumselect2-container--focus")}),this.on("query",function(t){e.isOpen()||e.trigger("open",{}),this.dataAdapter.query(t,function(n){e.trigger("results:all",{data:n,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(n){e.trigger("results:append",{data:n,query:t})})}),this.on("keypress",function(t){var n=t.which;e.isOpen()?n===i.ESC||n===i.TAB||n===i.UP&&t.altKey?(e.close(),t.preventDefault()):n===i.ENTER?(e.trigger("results:select",{}),t.preventDefault()):n===i.SPACE&&t.ctrlKey?(e.trigger("results:toggle",{}),t.preventDefault()):n===i.UP?(e.trigger("results:previous",{}),t.preventDefault()):n===i.DOWN&&(e.trigger("results:next",{}),t.preventDefault()):(n===i.ENTER||n===i.SPACE||n===i.DOWN&&t.altKey)&&(e.open(),t.preventDefault())})},r.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},r.prototype.trigger=function(e,t){var n=r.__super__.trigger,i={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===t&&(t={}),e in i){var s=i[e],o={prevented:!1,name:e,args:t};if(n.call(this,s,o),o.prevented)return void(t.prevented=!0)}n.call(this,e,t)},r.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},r.prototype.open=function(){this.isOpen()||this.trigger("query",{})},r.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},r.prototype.isOpen=function(){return this.$container.hasClass("pumselect2-container--open")},r.prototype.hasFocus=function(){return this.$container.hasClass("pumselect2-container--focus")},r.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("pumselect2-container--focus"),this.trigger("focus",{}))},r.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `pumselect2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},r.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `pumselect2("data")`. You should consider setting the value instead using `$element.val()`.');var e=[];return this.dataAdapter.current(function(t){e=t}),e},r.prototype.val=function(t){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `pumselect2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==t||0===t.length)return this.$element.val();var n=t[0];Array.isArray(n)&&(n=e.map(n,function(e){return e.toString()})),this.$element.val(n).trigger("change")},r.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._sync),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&this.$element[0].removeEventListener("DOMAttrModified",this._sync,!1),this._sync=null,this.$element.off(".pumselect2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("pumselect2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("pumselect2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},r.prototype.render=function(){var t=e('<span class="pumselect2 pumselect2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return t.attr("dir",this.options.get("dir")),this.$container=t,this.$container.addClass("pumselect2-container--"+this.options.get("theme")),t.data("element",this.$element),t},r}),n.define("pumselect2/compat/utils",["jquery"],function(e){return{syncCssClasses:function(t,n,i){var r,s,o=[];(r=e.trim(t.attr("class")))&&e((r=""+r).split(/\s+/)).each(function(){0===this.indexOf("pumselect2-")&&o.push(this)}),(r=e.trim(n.attr("class")))&&e((r=""+r).split(/\s+/)).each(function(){0!==this.indexOf("pumselect2-")&&null!=(s=i(this))&&o.push(s)}),t.attr("class",o.join(" "))}}}),n.define("pumselect2/compat/containerCss",["jquery","./utils"],function(e,t){function n(e){return null}function i(){}return i.prototype.render=function(i){var r=i.call(this),s=this.options.get("containerCssClass")||"";e.isFunction(s)&&(s=s(this.$element));var o=this.options.get("adaptContainerCssClass");if(o=o||n,-1!==s.indexOf(":all:")){s=s.replace(":all:","");var a=o;o=function(e){var t=a(e);return null!=t?t+" "+e:e}}var l=this.options.get("containerCss")||{};return e.isFunction(l)&&(l=l(this.$element)),t.syncCssClasses(r,this.$element,o),r.css(l),r.addClass(s),r},i}),n.define("pumselect2/compat/dropdownCss",["jquery","./utils"],function(e,t){function n(e){return null}function i(){}return i.prototype.render=function(i){var r=i.call(this),s=this.options.get("dropdownCssClass")||"";e.isFunction(s)&&(s=s(this.$element));var o=this.options.get("adaptDropdownCssClass");if(o=o||n,-1!==s.indexOf(":all:")){s=s.replace(":all:","");var a=o;o=function(e){var t=a(e);return null!=t?t+" "+e:e}}var l=this.options.get("dropdownCss")||{};return e.isFunction(l)&&(l=l(this.$element)),t.syncCssClasses(r,this.$element,o),r.css(l),r.addClass(s),r},i}),n.define("pumselect2/compat/initSelection",["jquery"],function(e){function t(e,t,n){n.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=n.get("initSelection"),this._isInitialized=!1,e.call(this,t,n)}return t.prototype.current=function(e,t){var n=this;this._isInitialized?e.call(this,t):this.initSelection.call(null,this.$element,function(e){n._isInitialized=!0,Array.isArray(e)||(e=[e]),t(e)})},t}),n.define("pumselect2/compat/inputData",["jquery"],function(e){function t(e,t,n){this._currentData=[],this._valueSeparator=n.get("valueSeparator")||",","hidden"===t.prop("type")&&n.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."),e.call(this,t,n)}return t.prototype.current=function(t,n){function i(t,n){var r=[];return t.selected||-1!==e.inArray(t.id,n)?(t.selected=!0,r.push(t)):t.selected=!1,t.children&&r.push.apply(r,i(t.children,n)),r}for(var r=[],s=0;s<this._currentData.length;s++){var o=this._currentData[s];r.push.apply(r,i(o,this.$element.val().split(this._valueSeparator)))}n(r)},t.prototype.select=function(t,n){if(this.options.get("multiple")){var i=this.$element.val();i+=this._valueSeparator+n.id,this.$element.val(i),this.$element.trigger("change")}else this.current(function(t){e.map(t,function(e){e.selected=!1})}),this.$element.val(n.id),this.$element.trigger("change")},t.prototype.unselect=function(e,t){var n=this;t.selected=!1,this.current(function(e){for(var i=[],r=0;r<e.length;r++){var s=e[r];t.id!=s.id&&i.push(s.id)}n.$element.val(i.join(n._valueSeparator)),n.$element.trigger("change")})},t.prototype.query=function(e,t,n){for(var i=[],r=0;r<this._currentData.length;r++){var s=this._currentData[r],o=this.matches(t,s);null!==o&&i.push(o)}n({results:i})},t.prototype.addOptions=function(t,n){var i=e.map(n,function(t){return e.data(t[0],"data")});this._currentData.push.apply(this._currentData,i)},t}),n.define("pumselect2/compat/matcher",["jquery"],function(e){return function(t){return function(n,i){var r=e.extend(!0,{},i);if(null==n.term||""===e.trim(n.term))return r;if(i.children){for(var s=i.children.length-1;s>=0;s--){var o=i.children[s];t(n.term,o.text,o)||r.children.splice(s,1)}if(r.children.length>0)return r}return t(n.term,i.text,i)?r:null}}}),n.define("pumselect2/compat/query",[],function(){function e(e,t,n){n.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.callback=n,this.options.get("query").call(null,t)},e}),n.define("pumselect2/dropdown/attachContainer",[],function(){function e(e,t,n){e.call(this,t,n)}return e.prototype.position=function(e,t,n){n.find(".dropdown-wrapper").append(t),t.addClass("pumselect2-dropdown--below"),n.addClass("pumselect2-container--below")},e}),n.define("pumselect2/dropdown/stopPropagation",[],function(){function e(){}return e.prototype.bind=function(e,t,n){e.call(this,t,n);this.$dropdown.on(["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"].join(" "),function(e){e.stopPropagation()})},e}),n.define("pumselect2/selection/stopPropagation",[],function(){function e(){}return e.prototype.bind=function(e,t,n){e.call(this,t,n);this.$selection.on(["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"].join(" "),function(e){e.stopPropagation()})},e}),o=function(e){var t,n,i=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],r="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],s=Array.prototype.slice;if(e.event.fixHooks)for(var o=i.length;o;)e.event.fixHooks[i[--o]]=e.event.mouseHooks;var a=e.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var t=r.length;t;){var n="wheel"===r[--t]&&{passive:!0};this.addEventListener(r[t],l,n)}else this.onmousewheel=l;e.data(this,"mousewheel-line-height",a.getLineHeight(this)),e.data(this,"mousewheel-page-height",a.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var t=r.length;t;)this.removeEventListener(r[--t],l,!1);else this.onmousewheel=null;e.removeData(this,"mousewheel-line-height"),e.removeData(this,"mousewheel-page-height")},getLineHeight:function(t){var n=e(t),i=n["offsetParent"in e.fn?"offsetParent":"parent"]();return i.length||(i=e("body")),parseInt(i.css("fontSize"),10)||parseInt(n.css("fontSize"),10)||16},getPageHeight:function(t){return e(t).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};function l(i){var r=i||window.event,o=s.call(arguments,1),l=0,p=0,d=0,h=0,m=0,f=0;if((i=e.event.fix(r)).type="mousewheel","detail"in r&&(d=-1*r.detail),"wheelDelta"in r&&(d=r.wheelDelta),"wheelDeltaY"in r&&(d=r.wheelDeltaY),"wheelDeltaX"in r&&(p=-1*r.wheelDeltaX),"axis"in r&&r.axis===r.HORIZONTAL_AXIS&&(p=-1*d,d=0),l=0===d?p:d,"deltaY"in r&&(l=d=-1*r.deltaY),"deltaX"in r&&(p=r.deltaX,0===d&&(l=-1*p)),0!==d||0!==p){if(1===r.deltaMode){var g=e.data(this,"mousewheel-line-height");l*=g,d*=g,p*=g}else if(2===r.deltaMode){var v=e.data(this,"mousewheel-page-height");l*=v,d*=v,p*=v}if(h=Math.max(Math.abs(d),Math.abs(p)),(!n||h<n)&&(n=h,c(r,h)&&(n/=40)),c(r,h)&&(l/=40,p/=40,d/=40),l=Math[l>=1?"floor":"ceil"](l/n),p=Math[p>=1?"floor":"ceil"](p/n),d=Math[d>=1?"floor":"ceil"](d/n),a.settings.normalizeOffset&&this.getBoundingClientRect){var y=this.getBoundingClientRect();m=i.clientX-y.left,f=i.clientY-y.top}return i.deltaX=p,i.deltaY=d,i.deltaFactor=n,i.offsetX=m,i.offsetY=f,i.deltaMode=0,o.unshift(i,l,p,d),t&&clearTimeout(t),t=setTimeout(u,200),(e.event.dispatch||e.event.handle).apply(this,o)}}function u(){n=null}function c(e,t){return a.settings.adjustOldDeltas&&"mousewheel"===e.type&&t%120==0}e.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}})},"function"==typeof n.define&&n.define.amd?n.define("jquery-mousewheel",["jquery"],o):e.exports=o,n.define("jquery.pumselect2",["jquery","jquery-mousewheel","./pumselect2/core","./pumselect2/defaults"],function(e,t,n,i){if(null==e.fn.pumselect2){var r=["open","close","destroy"];e.fn.pumselect2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var i=e.extend(!0,{},t);new n(e(this),i)}),this;var i;if("string"==typeof t)return this.each(function(){var n=e(this).data("pumselect2");null==n&&window.console&&console.error&&console.error("The pumselect2('"+t+"') method was called on an element that is not using Select2.");var r=Array.prototype.slice.call(arguments,1);i=n[t].apply(n,r)}),e.inArray(t,r)>-1?this:i;throw new Error("Invalid arguments for Select2: "+t)}}return null==e.fn.pumselect2.defaults&&(e.fn.pumselect2.defaults=i),n}),{define:n.define,require:n.require}}(),i=n.require("jquery.pumselect2");return t.fn.pumselect2.amd=n,i})?i.apply(t,r):i)||(e.exports=s)},6202:()=>{!function(e){"use strict";var t={field:function(t){return e.extend(!0,{},{type:"text",id:"",id_prefix:"",name:"",label:null,placeholder:"",desc:null,dynamic_desc:null,size:"regular",classes:[],dependencies:"",value:null,select2:!1,allow_html:!1,multiple:!1,as_array:!1,options:[],object_type:null,object_key:null,std:null,min:0,max:50,force_minmax:!1,step:1,unit:"px",units:{},required:!1,desc_position:"bottom",meta:{}},t)}};window.PUM_Admin=window.PUM_Admin||{},window.PUM_Admin.models=t}(jQuery)},7831:()=>{},8515:()=>{!function(e){"use strict";String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)};var t="color,date,datetime,datetime-local,email,hidden,month,number,password,range,search,tel,text,time,url,week".split(","),n="select,textarea".split(","),i=/\[([^\]]*)\]/g;function r(t,n){return-1!==e.inArray(n,t)}function s(e,t,n){var i=t[0];t.length>1?(e[i]||(e[i]=t[1]?{}:[]),s(e[i],t.slice(1),n)):(i||(i=e.length),e[i]=n)}var o={htmlencoder:{EncodeType:"entity",isEmpty:function(e){return!e||null===e||0==e.length||/^\s+$/.test(e)},arr1:[" ","¡","¢","£","¤","¥","¦","§","¨","©","ª","«","¬","­","®","¯","°","±","²","³","´","µ","¶","·","¸","¹","º","»","¼","½","¾","¿","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","×","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ý","þ","ÿ",""","&","<",">","Œ","œ","Š","š","Ÿ","ˆ","˜"," "," "," ","‌","‍","‎","‏","–","—","‘","’","‚","“","”","„","†","‡","‰","‹","›","€","ƒ","Α","Β","Γ","Δ","Ε","Ζ","Η","Θ","Ι","Κ","Λ","Μ","Ν","Ξ","Ο","Π","Ρ","Σ","Τ","Υ","Φ","Χ","Ψ","Ω","α","β","γ","δ","ε","ζ","η","θ","ι","κ","λ","μ","ν","ξ","ο","π","ρ","ς","σ","τ","υ","φ","χ","ψ","ω","ϑ","ϒ","ϖ","•","…","′","″","‾","⁄","℘","ℑ","ℜ","™","ℵ","←","↑","→","↓","↔","↵","⇐","⇑","⇒","⇓","⇔","∀","∂","∃","∅","∇","∈","∉","∋","∏","∑","−","∗","√","∝","∞","∠","∧","∨","∩","∪","∫","∴","∼","≅","≈","≠","≡","≤","≥","⊂","⊃","⊄","⊆","⊇","⊕","⊗","⊥","⋅","⌈","⌉","⌊","⌋","⟨","⟩","◊","♠","♣","♥","♦"],arr2:[" ","¡","¢","£","¤","¥","¦","§","¨","©","ª","«","¬","­","®","¯","°","±","²","³","´","µ","¶","·","¸","¹","º","»","¼","½","¾","¿","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","×","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ý","þ","ÿ",""","&","<",">","Œ","œ","Š","š","Ÿ","ˆ","˜"," "," "," ","‌","‍","‎","‏","–","—","‘","’","‚","“","”","„","†","‡","‰","‹","›","€","ƒ","Α","Β","Γ","Δ","Ε","Ζ","Η","Θ","Ι","Κ","Λ","Μ","Ν","Ξ","Ο","Π","Ρ","Σ","Τ","Υ","Φ","Χ","Ψ","Ω","α","β","γ","δ","ε","ζ","η","θ","ι","κ","λ","μ","ν","ξ","ο","π","ρ","ς","σ","τ","υ","φ","χ","ψ","ω","ϑ","ϒ","ϖ","•","…","′","″","‾","⁄","℘","ℑ","ℜ","™","ℵ","←","↑","→","↓","↔","↵","⇐","⇑","⇒","⇓","⇔","∀","∂","∃","∅","∇","∈","∉","∋","∏","∑","−","∗","√","∝","∞","∠","∧","∨","∩","∪","∫","∴","∼","≅","≈","≠","≡","≤","≥","⊂","⊃","⊄","⊆","⊇","⊕","⊗","⊥","⋅","⌈","⌉","⌊","⌋","〈","〉","◊","♠","♣","♥","♦"],HTML2Numerical:function(e){return this.swapArrayVals(e,this.arr1,this.arr2)},NumericalToHTML:function(e){return this.swapArrayVals(e,this.arr2,this.arr1)},numEncode:function(e){if(this.isEmpty(e))return"";for(var t=[],n=e.length,i=0;i<n;i++){var r=e.charAt(i);r<" "||r>"~"?(t.push("&#"),t.push(r.charCodeAt()),t.push(";")):t.push(r)}return t.join("")},htmlDecode:function(e){var t,n,i=e;if(this.isEmpty(i))return"";var r=(i=this.HTML2Numerical(i)).match(/&#[0-9]{1,5};/g);if(null!=r)for(var s=0;s<r.length;s++)i=(t=(n=r[s]).substring(2,n.length-1))>=-32768&&t<=65535?i.replace(n,String.fromCharCode(t)):i.replace(n,"");return i},htmlEncode:function(e,t){return this.isEmpty(e)?"":((t=t||!1)&&(e="numerical"==this.EncodeType?e.replace(/&/g,"&"):e.replace(/&/g,"&")),e=this.XSSEncode(e,!1),"numerical"!=this.EncodeType&&t||(e=this.HTML2Numerical(e)),e=this.numEncode(e),t||(e=e.replace(/&#/g,"##AMPHASH##"),e=(e="numerical"==this.EncodeType?e.replace(/&/g,"&"):e.replace(/&/g,"&")).replace(/##AMPHASH##/g,"&#")),e=e.replace(/&#\d*([^\d;]|$)/g,"$1"),t||(e=this.correctEncoding(e)),"entity"==this.EncodeType&&(e=this.NumericalToHTML(e)),e)},XSSEncode:function(e,t){return this.isEmpty(e)?"":e=(t=t||!0)?(e=(e=(e=e.replace(/\'/g,"'")).replace(/\"/g,""")).replace(/</g,"<")).replace(/>/g,">"):(e=(e=(e=e.replace(/\'/g,"'")).replace(/\"/g,""")).replace(/</g,"<")).replace(/>/g,">")},hasEncoded:function(e){return!!/&#[0-9]{1,5};/g.test(e)||!!/&[A-Z]{2,6};/gi.test(e)},stripUnicode:function(e){return e.replace(/[^\x20-\x7E]/g,"")},correctEncoding:function(e){return e.replace(/(&)(amp;)+/,"$1")},swapArrayVals:function(e,t,n){if(this.isEmpty(e))return"";var i;if(t&&n&&t.length==n.length)for(var r=0,s=t.length;r<s;r++)i=new RegExp(t[r],"g"),e=e.replace(i,n[r]);return e},inArray:function(e,t){for(var n=0,i=t.length;n<i;n++)if(t[n]===e)return n;return-1}},convert_meta_to_object:function(e){var t,n,i,r={};for(i in e)e.hasOwnProperty(i)&&(t=i.split(/_(.+)?/)[0],n=i.split(/_(.+)?/)[1],void 0===r[t]&&(r[t]={}),r[t][n]=e[i]);return r},object_to_array:function(e){var t,n=[];if("object"==typeof e){for(t in e)n.push(e[t]);e=n}return e},checked:function(e,t,n){var i=!1;return("object"==typeof e&&"string"==typeof t&&-1!==jQuery.inArray(t,e)||"object"==typeof t&&"string"==typeof e&&-1!==jQuery.inArray(e,t)||e===t||e==t)&&(i=!0),void 0!==n&&n?i?' checked="checked"':"":i},selected:function(e,t,n){var i=!1;return("object"==typeof e&&"string"==typeof t&&-1!==jQuery.inArray(t,e)||"object"==typeof t&&"string"==typeof e&&-1!==jQuery.inArray(e,t)||e===t)&&(i=!0),void 0!==n&&n?i?' selected="selected"':"":i},convert_hex:function(e,t){return void 0===e?"":(void 0===t&&(t=100),e=e.toString().replace("#",""),"rgba("+parseInt(e.substring(0,2),16)+","+parseInt(e.substring(2,4),16)+","+parseInt(e.substring(4,6),16)+","+t/100+")")},debounce:function(e,t){var n;return function(){var i=this,r=arguments;window.clearTimeout(n),n=window.setTimeout(function(){e.apply(i,r)},t)}},throttle:function(e,t){var n=!1,i=function(){n=!1};return function(){n||(e(),window.setTimeout(i,t),n=!0)}},serializeForm:function(o){e.extend({},o);var a={},l=e.extend(!0,{include:[],exclude:[],includeByClass:""},o);return this.find(":input").each(function(){var o;!this.name||this.disabled||r(l.exclude,this.name)||l.include.length&&!r(l.include,this.name)||-1===this.className.indexOf(l.includeByClass)||(o=this.name.replace(i,"[$1").split("["))[0]&&(this.checked||r(t,this.type)||r(n,this.nodeName.toLowerCase()))&&("checkbox"===this.type&&o.push(""),s(a,o,e(this).val()))}),a}};window.PUM_Admin=window.PUM_Admin||{},window.PUM_Admin.utils=o,window.PUMUtils=o,e.fn.pumSerializeForm=o.serializeForm}(jQuery)}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var s=t[i]={exports:{}};return e[i].call(s.exports,s,s.exports,n),s.exports}(()=>{"use strict";n(5766),n(3899),n(450),n(2433),n(7831),n(2998),n(6202),n(5437),n(1376),n(3720),n(478),n(3896),n(729),n(8515),function(e){e(function(){e(".pum-enabled-toggle-button").on("change",function(t){t.preventDefault();var n,i,r,s=e(this),o=0;!0===t.target.checked&&(o=1),n=s.data("popup-id"),i=o,r=s.data("nonce"),e.ajax({type:"POST",dataType:"json",url:ajaxurl,data:{action:"pum_save_enabled_state",nonce:r,popupID:n,enabled:i}})})})}(jQuery)})()})(); dist/assets/admin-popup-editor-rtl.css 0000644 00000006677 15174671772 0014100 0 ustar 00 #pum-popup-settings-container .popup-types{display:flex;flex-direction:column;justify-content:space-between;width:100%}@media screen and (min-width:600px){#pum-popup-settings-container .popup-types{flex-direction:row;flex-wrap:wrap}}#pum-popup-settings-container .popup-types .popup-type{cursor:pointer;margin:0 1.5% 20px;transition:transform .1s ease 0s}@media screen and (min-width:600px)and (max-width:1279px){#pum-popup-settings-container .popup-types .popup-type{width:47%}#pum-popup-settings-container .popup-types .popup-type:nth-child(odd){margin-right:0}#pum-popup-settings-container .popup-types .popup-type:nth-child(2n+2){margin-left:0}}@media screen and (min-width:1280px)and (max-width:1365px){#pum-popup-settings-container .popup-types .popup-type{width:30%}#pum-popup-settings-container .popup-types .popup-type:nth-child(3n+1){margin-right:0}#pum-popup-settings-container .popup-types .popup-type:nth-child(3n+3){margin-left:0}}@media screen and (min-width:1366px){#pum-popup-settings-container .popup-types .popup-type{width:22.75%}#pum-popup-settings-container .popup-types .popup-type:nth-child(4n+1){margin-right:0}#pum-popup-settings-container .popup-types .popup-type:nth-child(4n+4){margin-left:0}}#pum-popup-settings-container .popup-types .popup-type:hover{transform:scale(1.1)}#pum-popup-settings-container .popup-types .popup-type img{height:auto;max-width:100%}#pum-popup-settings-container .popup-types .popup-type button{width:100%}#wp-admin-bar-view{display:none}#popup-titlediv{margin-top:10px;position:relative}#popup-titlediv #popup-titlewrap{border:0;padding:0}#popup-titlediv #popup-title-prompt-text{color:#777;font-size:1.7em;padding:11px 10px;position:absolute}#popup-titlediv label{cursor:text}#popup-titlediv #popup-title{background-color:#fff;font-size:1.7em;height:1.7em;line-height:1.125;margin:0 0 3px;outline:none;padding:3px 8px;width:100%}.post-type-popup #edit-slug-box{margin-bottom:5px}#major-publishing-actions{text-align:left}#trigger-popmake-preview{padding:5px}#pum_popup_settings>.inside{margin:0;padding:0}#popup_cookie_add_event,#popup_trigger_add_type{display:block;font-size:1.4em;height:auto;margin:1.5em 0;padding:.25em;width:100%}#pum_cookie_add_event_modal .pum-modal-wrap,#pum_trigger_add_type_modal .pum-modal-wrap{margin-right:-220px;width:440px}.pum-click-selector-presets{bottom:2px;position:absolute;left:2px}.pum-click-selector-presets>span{background-color:#00000080;border:1px solid;border-radius:2px;color:#fff;cursor:pointer;font-size:21px;height:1em;text-align:center;width:1em}.pum-click-selector-presets.open>span,.pum-click-selector-presets>span:hover{background-color:#0085ba}.pum-click-selector-presets ul{background-color:#fff;border:1px solid #00000040;box-shadow:-1px 1px 5px -1px;display:none;right:20px;margin:0;min-width:125px;padding:0;position:absolute;top:1px;width:auto;z-index:999}.pum-click-selector-presets ul li{border-bottom:1px dashed #00000040;display:block;margin:0;padding:.5em;text-wrap:none}.pum-click-selector-presets ul li span{cursor:pointer;display:block;line-height:1}.pum-click-selector-presets ul li:last-child{border-bottom:0}.pum-click-selector-presets ul li:hover{color:#0085ba}.pum-click-selector-presets.open ul{display:block}pre.manual-cookie-shortcode{margin:0;max-height:1.7em;max-width:20vw;overflow:hidden}pre.manual-cookie-shortcode code{display:block;margin:0 -17px;overflow-x:scroll;padding:2px 16px 1px}pre.manual-cookie-shortcode code:after,pre.manual-cookie-shortcode code:before{content:" "} dist/assets/admin-popup-editor.js 0000644 00000061075 15174671772 0013116 0 ustar 00 (()=>{var e={887:()=>{!function(e,t,i){"use strict";var n=pum_admin_vars.I10n,o={current_editor:null,new_cookie:!1,get_triggers:function(){return window.pum_popup_settings_editor.triggers},get_trigger:function(e){var t=this.get_triggers(),i="undefined"!==t[e]&&t[e];return!!i&&(i&&"object"==typeof i&&"object"==typeof i.fields&&Object.keys(i.fields).length&&(i=this.parseFields(i)),i)},parseFields:function(e){return _.each(e.fields,function(t,i){_.each(t,function(t,n){e.fields[i][n].name="trigger_settings["+n+"]",""===e.fields[i][n].id&&(e.fields[i][n].id="trigger_settings_"+n)})}),e},parseValues:function(e,t){for(var i in e)e.hasOwnProperty(i)&&e.hasOwnProperty(i+"_unit")&&(e[i]+=e[i+"_unit"],delete e[i+"_unit"]);return e},select_list:function(){var e,t=PUM_Admin.utils.object_to_array(o.get_triggers()),i={};for(e=0;e<t.length;e++)i[t[e].id]=t[e].name;return i},rows:{add:function(t,i){var n=e(t),r={index:null!==i.index&&i.index>=0?i.index:n.find("table.list-table tbody tr").length,type:i.type,name:n.data("field_name"),settings:i.settings||{}},s=n.find("tbody tr").eq(r.index),a=PUM_Admin.templates.render("pum-trigger-row",r);s.length?s.replaceWith(a):n.find("tbody").append(a),n.addClass("has-list-items"),o.renumber(),o.refreshDescriptions()},remove:function(t){var i=t.parents(".pum-popup-trigger-editor");t.remove(),o.renumber(),0===i.find("table.list-table tbody tr").length&&(i.removeClass("has-list-items"),e("#pum-first-trigger").val(null).trigger("change"))}},template:{form:function(t,i,r){var s=o.get_trigger(t),a="pum_trigger_settings",d=Object.keys(s.fields)[0],p=e(".pum-field-cookies .list-table tbody tr");(i=i||{}).type=t,i.index=i.index>=0?i.index:null,s.fields[d]=e.extend(!0,s.fields[d],{index:{type:"hidden",name:"index"},type:{type:"hidden",name:"type"}}),p.each(function(){var t=JSON.parse(e(this).find(".popup_cookies_field_settings:first").val());void 0===s.fields[d].cookie_name.options[t.name]&&(s.fields[d].cookie_name.options[t.name]=t.name)}),PUM_Admin.modals.reload("#"+a,PUM_Admin.templates.modal({id:a,title:s.modal_title||s.name,classes:"tabbed-content",save_button:null!==i.index?n.update:n.add,content:PUM_Admin.forms.render({id:"pum_trigger_settings_form",tabs:s.tabs||{},fields:s.fields||{}},i||{})})),e("#"+a+" form").on("submit",r||function(e){e.preventDefault(),PUM_Admin.modals.closeAll()})},editor:function(t){var i=e.extend(!0,{},{triggers:[],name:""},t);return i.triggers=PUM_Admin.utils.object_to_array(i.triggers),PUM_Admin.templates.render("pum-trigger-editor",i)},row:function(t){var i=e.extend(!0,{},{index:"",type:"",name:"",settings:{cookie_name:""}},t);return PUM_Admin.templates.render("pum-trigger-row",i)},selectbox:function(t){var i=e.extend(!0,{},{id:null,name:null,type:"select",group:"",index:"",value:null,select2:!0,classes:[],options:o.select_list()},t);return null===i.id&&(i.id="popup_settings_triggers_"+i.index+"_type"),null===i.name&&(i.name="popup_settings[triggers]["+i.index+"][type]"),PUM_Admin.templates.field(i)}},getLabel:function(e){var t=o.get_trigger(e);return!!t&&t.name},getSettingsDesc:function(e,t){var i=o.get_trigger(e);return!!i&&PUM_Admin.templates.renderInline(i.settings_column,t)},renumber:function(){e(".pum-popup-trigger-editor table.list-table tbody tr").each(function(){var t=e(this),i=t.parent().children().index(t);t.attr("data-index",i).data("index",i),t.find(":input, [name]").each(function(){this.name&&""!==this.name&&(this.name=this.name.replace(/\[\d*?\]/,"["+i+"]"))})})},refreshDescriptions:function(){e(".pum-popup-trigger-editor table.list-table tbody tr").each(function(){var t=e(this),i=t.find(".popup_triggers_field_type").val(),n=JSON.parse(t.find(".popup_triggers_field_settings:first").val()),o=PUM_Admin.triggers.cookie_column_value(n.cookie_name);t.find("td.settings-column").html(PUM_Admin.triggers.getSettingsDesc(i,n)),t.find("td.cookie-column code").text(o)})},cookie_column_value:function(e){var t=n.no_cookie;return e instanceof Array?t=e.join(", "):null!==e&&e!==i&&""!==e&&(t=e),t},append_click_selector_presets:function(){var t,i,n=e("#extra_selectors");n.length&&!n.hasClass("pum-click-selector-presets-initialized")&&(t=PUM_Admin.templates.render("pum-click-selector-presets"),(i=n.parents(".pum-field").find(".pum-click-selector-presets")).length||(n.before(t),n.addClass("pum-click-selector-presets-initialized"),i=n.parents(".pum-field").find(".pum-click-selector-presets")),i.position({my:"right center",at:"right center",of:n}))},toggle_click_selector_presets:function(){e(this).parent().toggleClass("open")},reset_click_selector_presets:function(t){t!==i&&e(t.target).parents(".pum-click-selector-presets").length||e(".pum-click-selector-presets").removeClass("open")},insert_click_selector_preset:function(){var t=e(this),i=e("#extra_selectors"),n=i.val();""!==n&&(n+=", "),i.val(n+t.data("preset")),PUM_Admin.triggers.reset_click_selector_presets()}};window.PUM_Admin=window.PUM_Admin||{},window.PUM_Admin.triggers=o,e(t).on("pum_init",function(){PUM_Admin.triggers.append_click_selector_presets(),PUM_Admin.triggers.refreshDescriptions()}).on("click",".pum-click-selector-presets > span",PUM_Admin.triggers.toggle_click_selector_presets).on("click",".pum-click-selector-presets li",PUM_Admin.triggers.insert_click_selector_preset).on("click",PUM_Admin.triggers.reset_click_selector_presets).on("select2:select pumselect2:select","#pum-first-trigger",function(){var t=e(this),n=t.parents(".pum-popup-trigger-editor"),r=t.val(),s={};PUM_Admin.triggers.current_editor=n,"click_open"!==r&&(s.cookie_name="pum-"+e("#post_ID").val()),o.template.form(r,s,function(t){var r=e(this),s=r.find("input#type").val(),a=r.pumSerializeObject(),d=o.parseValues(a.trigger_settings||{}),p=parseInt(a.index);t.preventDefault(),(!1===p||p<0)&&(p=n.find("tbody tr").length),o.rows.add(n,{index:p,type:s,settings:d}),PUM_Admin.modals.closeAll(),d.cookie_name!==i&&null!==d.cookie_name&&("add_new"===d.cookie_name||d.cookie_name.indexOf("add_new")>=0)&&(PUM_Admin.triggers.new_cookie=a.index,e("#pum-popup-settings-container .pum-popup-cookie-editor button.pum-add-new").trigger("click"))}),t.val(null).trigger("change")}).on("click",".pum-popup-trigger-editor .pum-add-new",function(){PUM_Admin.triggers.current_editor=e(this).parents(".pum-popup-trigger-editor");var t=wp.template("pum-trigger-add-type");PUM_Admin.modals.reload("#pum_trigger_add_type_modal",t({I10n:n}))}).on("click",".pum-popup-trigger-editor .edit",function(t){var n=e(this),r=n.parents(".pum-popup-trigger-editor"),s=n.parents("tr:first"),a=s.find(".popup_triggers_field_type").val(),d=_.extend({},JSON.parse(s.find(".popup_triggers_field_settings:first").val()),{index:s.parent().children().index(s),type:a});t.preventDefault(),o.template.form(a,d,function(t){var n=e(this),s=n.find("input#type").val(),a=n.find("input#index").val(),d=n.pumSerializeObject(),p=o.parseValues(d.trigger_settings||{});PUM_Admin.triggers.current_editor=r,t.preventDefault(),(!1===a||a<0)&&(a=r.find("tbody tr").length),o.rows.add(r,{index:a,type:s,settings:p}),PUM_Admin.modals.closeAll(),p.cookie_name!==i&&null!==p.cookie_name&&("add_new"===p.cookie_name||p.cookie_name.indexOf("add_new")>=0)&&(PUM_Admin.triggers.new_cookie=d.index,e("#pum-popup-settings-container .pum-popup-cookie-editor button.pum-add-new").trigger("click"))})}).on("click",".pum-popup-trigger-editor .remove",function(t){var i=e(this),r=i.parents(".pum-popup-trigger-editor"),s=i.parents("tr:first");PUM_Admin.triggers.current_editor=r,t.preventDefault(),window.confirm(n.confirm_delete_trigger)&&o.rows.remove(s)}).on("submit","#pum_trigger_add_type_modal .pum-form",function(t){var n=PUM_Admin.triggers.current_editor,r=n.parents("#pum-popup-settings-triggers-subtabs_main").find(".pum-field-cookies .pum-popup-cookie-editor"),s=e("#popup_trigger_add_type").val(),a=e("#popup_trigger_add_cookie").is(":checked"),d=e("#popup_trigger_add_cookie_event").val(),p={};t.preventDefault(),a&&(p.cookie_name="pum-"+e("#post_ID").val(),PUM_Admin.cookies.insertCookie(r,{event:d,settings:{time:"1 month",path:"1",name:p.cookie_name}})),o.template.form(s,p,function(t){var r=e(this),s=r.find("input#type").val(),a=r.pumSerializeObject(),d=o.parseValues(a.trigger_settings||{}),p=parseInt(a.index);PUM_Admin.triggers.current_editor=n,t.preventDefault(),(!p||p<0)&&(p=n.find("tbody tr").length),o.rows.add(n,{index:p,type:s,settings:d}),PUM_Admin.modals.closeAll(),d.cookie_name!==i&&null!==d.cookie_name&&("add_new"===d.cookie_name||d.cookie_name.indexOf("add_new")>=0)&&(PUM_Admin.triggers.new_cookie=a.index,e("#pum-popup-settings-container .pum-popup-cookie-editor button.pum-add-new").trigger("click"))})})}(jQuery,document)},1836:()=>{!function(e){"use strict";var t={get_conditions:function(){return window.pum_popup_settings_editor.conditions_selectlist},not_operand_checkbox:function(i){return(i=i||e(".pum-not-operand")).each(function(){var i=e(this),n=i.find("input");n.prop("checked",!n.is(":checked")),t.toggle_not_operand(i)})},toggle_not_operand:function(t){return(t=t||e(".pum-not-operand")).each(function(){var t=e(this),i=t.find("input"),n=t.parents(".facet-target");i.is(":checked")?n.addClass("not-operand-checked"):n.removeClass("not-operand-checked")})},template:{editor:function(t){var i=e.extend(!0,{},{groups:[]},t);return i.groups=PUM_Admin.utils.object_to_array(i.groups),PUM_Admin.templates.render("pum-condition-editor",i)},group:function(t){var i,n=e.extend(!0,{},{index:"",facets:[]},t);for(n.facets=PUM_Admin.utils.object_to_array(n.facets),i=0;n.facets.length>i;i++)n.facets[i].index=i,n.facets[i].group=n.index;return PUM_Admin.templates.render("pum-condition-group",n)},facet:function(t){var i=e.extend(!0,{},{group:"",index:"",target:"",not_operand:!1,settings:{}},t);return PUM_Admin.templates.render("pum-condition-facet",i)},settings:function(t,i){var n=[],o=e.extend(!0,{},{index:"",group:"",target:null,fields:[]},t);return o.fields.length||void 0===pum_popup_settings_editor.conditions[t.target]||(o.fields=pum_popup_settings_editor.conditions[t.target].fields),void 0===i&&(i={}),_.each(o.fields,function(e,t){"object"!=typeof(e=PUM_Admin.models.field(e)).meta&&(e.meta={}),void 0!==i[t]&&(e.value=i[t]),e.name="popup_settings[conditions]["+o.group+"]["+o.index+"][settings]["+t+"]",""===e.id&&(e.id="popup_settings_conditions_"+o.group+"_"+o.index+"_settings_"+t),n.push(PUM_Admin.templates.field(e))}),PUM_Admin.templates.section({fields:n})},selectbox:function(i){var n=e.extend(!0,{},{id:null,name:null,type:"select",group:"",index:"",value:null,select2:!0,classes:[],options:t.get_conditions()},i);return null===n.id&&(n.id="popup_settings_conditions_"+n.group+"_"+n.index+"_target"),null===n.name&&(n.name="popup_settings[conditions]["+n.group+"]["+n.index+"][target]"),PUM_Admin.templates.field(n)}},groups:{add:function(i,n,o){var r=e(i),s={index:r.find(".facet-group-wrap").length,facets:[{target:n||null,not_operand:o||!1,settings:{}}]};r.find(".facet-groups").append(t.template.group(s)),r.addClass("has-conditions")},remove:function(i){var n=i.parents(".facet-builder");i.prev(".facet-group-wrap").find(".and .add-facet").removeClass("disabled"),i.remove(),t.renumber(),0===n.find(".facet-group-wrap").length&&(n.removeClass("has-conditions"),e("#pum-first-condition").val(null).trigger("change"))}},facets:{add:function(e,i,n){var o={group:e.data("index"),index:e.find(".facet").length,target:i||null,not_operand:n||!1,settings:{}};e.find(".facet-list").append(t.template.facet(o))},remove:function(e){var i=e.parents(".facet-group-wrap");e.remove(),0===i.find(".facet").length?t.groups.remove(i):t.renumber()}},renumber:function(){e(".facet-builder .facet-group-wrap").each(function(){var t=e(this),i=t.parent().children().index(t);t.data("index",i).find(".facet").each(function(){var t=e(this),n=t.parent().children().index(t);t.data("index",n).find("[name]").each(function(){this.name=this.name.replace(/popup_settings\[conditions\]\[\d*?\]\[\d*?\]/,"popup_settings[conditions]["+i+"]["+n+"]"),this.id=this.id.replace(/popup_settings_conditions_\d*?_\d*?_/,"popup_settings_conditions_"+i+"_"+n+"_")})})})}};window.PUM_Admin=window.PUM_Admin||{},window.PUM_Admin.conditions=t,e(document).on("pum_init",function(){t.renumber(),t.toggle_not_operand()}).on("select2:select pumselect2:select","#pum-first-condition",function(i){var n=e(this),o=n.parents(".facet-builder").eq(0),r=n.val(),s=o.find("#pum-first-facet-operand"),a=s.is(":checked");t.groups.add(o,r,a),n.val(null).trigger("change"),s.prop("checked",!1).parents(".facet-target").removeClass("not-operand-checked"),e(document).trigger("pum_init")}).on("click",".facet-builder .pum-not-operand",function(){t.not_operand_checkbox(e(this))}).on("change",".facet-builder .facet-target select",function(i){var n=e(this),o=n.parents(".facet"),r=n.val(),s={target:r};""!==r&&r!==o.data("target")&&(o.data("target",r).find(".facet-settings").html(t.template.settings(s)),e(document).trigger("pum_init"))}).on("click",".facet-builder .facet-group-wrap:last-child .and .add-facet",function(){t.groups.add(e(this).parents(".facet-builder").eq(0)),e(document).trigger("pum_init")}).on("click",".facet-builder .add-or .add-facet:not(.disabled)",function(){t.facets.add(e(this).parents(".facet-group-wrap").eq(0)),e(document).trigger("pum_init")}).on("click",".facet-builder .remove-facet",function(){t.facets.remove(e(this).parents(".facet").eq(0)),e(document).trigger("pum_init")})}(jQuery)},3304:()=>{!function(e,t){"use strict";e(t).on("click","#popup_reset_open_count",function(){var t=e(this);t.is(":checked")&&!confirm(pum_admin_vars.I10n.confirm_count_reset)&&t.prop("checked",!1)})}(jQuery,document)},5747:()=>{!function(e,t){"use strict";var i,n=pum_admin_vars.I10n,o={get_cookies:function(){return window.pum_popup_settings_editor.cookies},get_cookie:function(e){var t=this.get_cookies(),i="undefined"!==t[e]&&t[e];return!!i&&(i&&"object"==typeof i&&"object"==typeof i.fields&&Object.keys(i.fields).length&&(i=this.parseFields(i)),i)},getCookieDefaults:function(t){var i=o.get_cookie(t),n={};for(var r in i.fields)if(i.fields.hasOwnProperty(r))for(var s in i.fields[r])i.fields[r].hasOwnProperty(s)&&(n[s]=i.fields[r][s].std);return n.name="pum-"+e("#post_ID").val(),n},parseFields:function(e){return _.each(e.fields,function(t,i){_.each(t,function(t,n){e.fields[i][n].name="cookie_settings["+n+"]",""===e.fields[i][n].id&&(e.fields[i][n].id="cookie_settings_"+n)})}),e},parseValues:function(e,t){return e},select_list:function(){var e,t=PUM_Admin.utils.object_to_array(o.get_cookies()),i={};for(e=0;e<t.length;e++)i[t[e].id]=t[e].name;return i},getLabel:function(e){var t=o.get_cookie(e);return!!t&&t.name},getSettingsDesc:function(e,t){var i=o.get_cookie(e);return!!i&&PUM_Admin.templates.renderInline(i.settings_column,t)},refreshDescriptions:function(){e(".pum-popup-cookie-editor table.list-table tbody tr").each(function(){var t=e(this),i=t.find(".popup_cookies_field_event").val(),n=JSON.parse(t.find(".popup_cookies_field_settings:first").val());t.find("td.settings-column").html(o.getSettingsDesc(i,n))})},insertCookie:function(t,i){var n=o.getCookieDefaults(i.event);i=e.extend(!0,{},{event:"on_popup_close",settings:n},i),o.rows.add(t,i)},template:{form:function(t,i,r){var s=o.get_cookie(t),a="pum_cookie_settings",d=Object.keys(s.fields)[0];(i=i||{}).event=t,i.index=i.index>=0?i.index:null,s.fields[d]=e.extend(!0,s.fields[d],{index:{type:"hidden",name:"index"},event:{type:"hidden",name:"event"}}),"string"==typeof i.key&&""!==i.key||delete s.fields.advanced.key,PUM_Admin.modals.reload("#"+a,PUM_Admin.templates.modal({id:a,title:s.modal_title||s.name,classes:"tabbed-content",save_button:null!==i.index?n.update:n.add,content:PUM_Admin.forms.render({id:"pum_cookie_settings_form",tabs:s.tabs||{},fields:s.fields||{}},i||{})})),e("#"+a+" form").on("submit",r||function(e){e.preventDefault(),PUM_Admin.modals.closeAll()})},editor:function(t){var i=e.extend(!0,{},{cookies:[],name:""},t);return i.cookies=PUM_Admin.utils.object_to_array(i.cookies),PUM_Admin.templates.render("pum-cookie-editor",i)},row:function(t){var i=e.extend(!0,{},{index:"",event:"",name:"",settings:{name:"",key:"",session:null,path:null,time:"30 days"}},t);return PUM_Admin.templates.render("pum-cookie-row",i)},selectbox:function(t){var i=e.extend(!0,{},{id:null,name:null,type:"select",group:"",index:"",value:null,select2:!0,classes:[],options:o.select_list()},t);return null===i.id&&(i.id="popup_settings_cookies_"+i.index+"_event"),null===i.name&&(i.name="popup_settings[cookies]["+i.index+"][event]"),PUM_Admin.templates.field(i)}},rows:{add:function(t,i){var n=e(t),r={index:null!==i.index&&i.index>=0?i.index:n.find("table.list-table tbody tr").length,event:i.event,name:n.data("field_name"),settings:i.settings||{}},s=n.find("tbody tr").eq(r.index),a=PUM_Admin.templates.render("pum-cookie-row",r);s.length?s.replaceWith(a):n.find("tbody").append(a),n.addClass("has-list-items"),o.rows.renumber(),o.refreshDescriptions()},remove:function(t){var i=t.parents(".pum-popup-cookie-editor");t.remove(),o.rows.renumber(),0===i.find("table.list-table tbody tr").length&&(i.removeClass("has-list-items"),e("#pum-first-cookie").val(null).trigger("change"))},renumber:function(){e(".pum-popup-cookie-editor table.list-table tbody tr").each(function(){var t=e(this),i=t.parent().children().index(t);t.attr("data-index",i).data("index",i),t.find(":input, [name]").each(function(){this.name&&""!==this.name&&(this.name=this.name.replace(/\[\d*?\]/,"["+i+"]"))})})}}};window.PUM_Admin=window.PUM_Admin||{},window.PUM_Admin.cookies=o,e(t).on("pum_init",function(){o.refreshDescriptions()}).on("select2:select pumselect2:select","#pum-first-cookie",function(){var t=e(this),i=t.parents(".pum-popup-cookie-editor"),n=t.val(),r={indes:i.find("table.list-table tbody tr").length,name:"pum-"+e("#post_ID").val()};t.val(null).trigger("change"),o.template.form(n,r,function(t){var n=e(this),r=n.find("input#event").val(),s=n.find("input#index").val(),a=n.pumSerializeObject();t.preventDefault(),(!s||s<0)&&(s=i.find("tbody tr").length),o.rows.add(i,{index:s,event:r,settings:a.cookie_settings}),PUM_Admin.modals.closeAll()})}).on("click",".pum-popup-cookie-editor .pum-add-new",function(){i=e(this).parents(".pum-popup-cookie-editor");var t=wp.template("pum-cookie-add-event");PUM_Admin.modals.reload("#pum_cookie_add_event_modal",t({I10n:n}))}).on("click",".pum-popup-cookie-editor .edit",function(t){var i=e(this),n=i.parents(".pum-popup-cookie-editor"),r=i.parents("tr:first"),s=r.find(".popup_cookies_field_event").val(),a=_.extend({},JSON.parse(r.find(".popup_cookies_field_settings:first").val()),{index:r.parent().children().index(r),event:s});t.preventDefault(),o.template.form(s,a,function(t){var i=e(this),r=i.find("input#event").val(),s=i.find("input#index").val(),a=i.pumSerializeObject();t.preventDefault(),(!1===s||s<0)&&(s=n.find("tbody tr").length),o.rows.add(n,{index:s,event:r,settings:a.cookie_settings}),PUM_Admin.modals.closeAll()})}).on("click",".pum-popup-cookie-editor .remove",function(t){var i=e(this).parents("tr:first");t.preventDefault(),window.confirm(n.confirm_delete_cookie)&&o.rows.remove(i)}).on("click",".pum-field-cookie_key button.reset",function(t){var i=e(this),n=(new Date).getTime().toString(16);i.siblings('input[type="text"]:first').val(n)}).on("submit","#pum_cookie_add_event_modal .pum-form",function(t){var n=i,r=e("#popup_cookie_add_event").val(),s={index:n.find("table.list-table tbody tr").length,name:"pum-"+e("#post_ID").val(),path:"1"};t.preventDefault(),o.template.form(r,s,function(t){var i=e(this),r=i.find("input#event").val(),s=i.find("input#index").val(),a=i.pumSerializeObject();if(t.preventDefault(),(!1===s||s<0)&&(s=n.find("tbody tr").length),o.rows.add(n,{index:s,event:r,settings:a.cookie_settings}),PUM_Admin.modals.closeAll(),void 0!==PUM_Admin.triggers&&!1!==PUM_Admin.triggers.new_cookie&&PUM_Admin.triggers.new_cookie>=0){var d=PUM_Admin.triggers.current_editor.find("tbody tr").eq(PUM_Admin.triggers.new_cookie).find(".popup_triggers_field_settings:first"),p=JSON.parse(d.val());"string"==typeof p.cookie_name?p.cookie_name=p.cookie_name.replace("add_new",a.cookie_settings.name):(p.cookie_name[p.cookie_name.indexOf("add_new")]=a.cookie_settings.name,p.cookie_name=p.cookie_name.filter(function(e,t,i){return!(e in this)&&(this[e]=!0)},{})),d.val(JSON.stringify(p)),PUM_Admin.triggers.new_cookie=!1,PUM_Admin.triggers.refreshDescriptions()}})})}(jQuery,document)}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,i),r.exports}(()=>{"use strict";var e;i(3304),i(1836),i(5747),i(887),e=jQuery,window.PUM_Admin=window.PUM_Admin||{},window.pum_popup_settings_editor=window.pum_popup_settings_editor||{form_args:{},current_values:{},preview_nonce:null},e(document).on("keydown","#popup-title",function(t){9===(t.keyCode||t.which)&&(t.preventDefault(),e("#title").focus())}).on("keydown","#title, #popup-title",function(t){var i,n=t.keyCode||t.which;t.shiftKey||9!==n||(t.preventDefault(),i="title"===e(this).attr("id")?"#popup-title":"#insert-media-button",e(i).focus())}).on("keydown","#popup-title, #insert-media-button",function(t){var i,n=t.keyCode||t.which;t.shiftKey&&9===n&&(t.preventDefault(),i="popup-title"===e(this).attr("id")?"#title":"#popup-title",e(i).focus())}),e(function(){e(this).trigger("pum_init"),e("#title").prop("required",!0);var t=e("#pum-popup-settings-container"),i=pum_popup_settings_editor.form_args||{},n=pum_popup_settings_editor.current_values||{};t.length&&(t.find(".pum-no-js").hide(),PUM_Admin.forms.render(i,n,t)),e("a.page-title-action").clone().attr("target","_blank").attr("href",pum_admin_vars.homeurl+"?popup_preview="+pum_popup_settings_editor.preview_nonce+"&popup="+e("#post_ID").val()).text(pum_admin_vars.I10n.preview_popup).insertAfter("a.page-title-action"),e("#pum-first-condition, #pum-first-trigger, #pum-first-cookie").val(null).trigger("change"),document.querySelector("#pum-popup-settings-container").addEventListener("change",function(e){if("open_sound"===e.target.id&&-1===["none","custom"].indexOf(e.target.value)){var t=new Audio(pum_admin_vars.pm_dir_url+"assets/sounds/"+e.target.value);t.addEventListener("canplaythrough",function(){this.play().catch(function(e){console.warn("Sound was not able to play when selected. Reason: "+e)})}),t.addEventListener("error",function(){console.warn("Error occurred when trying to load popup opening sound.")})}}),e(document).on("pum_init",function(){e("#pum-default-click-trigger-class:not(.pum-click-trigger-initialized)").each(function(){e(this).addClass("pum-click-trigger-initialized").text(e("#popup-id").data("popup-id"))})}),document.querySelector("#pum-popup-settings-container").addEventListener("click",function(e){if(Array.from(e.target.classList).includes("popup-type")||Array.from(e.target.parentElement.classList).includes("popup-type")){var t=jQuery("#pum-popup-settings-container");if(1===t.length){var i={"center-popup":{size:"medium",responsive_min_width:"0%",responsive_max_width:"100%",animation_type:"fade",animation_speed:350,location:"center",position_fixed:!1,position_from_trigger:!1,overlay_disabled:!1,stackable:!1,disable_reposition:!1},"left-bottom-notice":{size:"tiny",responsive_min_width:"0%",responsive_max_width:"100%",animation_type:"fade",animation_speed:350,animation_origin:"left bottom",location:"left bottom",position_bottom:10,position_left:10,position_from_trigger:!1,position_fixed:!0,overlay_disabled:!0,stackable:!0,disable_reposition:!1},"top-bar":{size:"custom",custom_width:"100%",custom_height_auto:!0,animation_type:"fadeAndSlide",animation_speed:300,animation_origin:"top",location:"center top",position_top:0,position_from_trigger:!1,position_fixed:!0,overlay_disabled:!0,stackable:!0,disable_reposition:!1},"right-bottom-slidein":{size:"custom",custom_width:"300px",custom_height_auto:!0,animation_type:"slide",animation_speed:350,animation_origin:"bottom",location:"right bottom",position_bottom:10,position_right:10,position_from_trigger:!1,position_fixed:!0,overlay_disabled:!0,stackable:!0,disable_reposition:!1}},n=e.target.dataset.popupType||e.target.parentElement.dataset.popupType||"",o=i.hasOwnProperty(n)?i[n]:{},r=pum_popup_settings_editor.form_args||{},s=pum_popup_settings_editor.current_values||{},a=t.pumSerializeObject();if(a.popup_settings.triggers)for(var d=0;d<a.popup_settings.triggers.length;d++)a.popup_settings.triggers[d].settings=JSON.parse(a.popup_settings.triggers[d].settings);if(a.popup_settings.cookies)for(var p=0;p<a.popup_settings.cookies.length;p++)a.popup_settings.cookies[p].settings=JSON.parse(a.popup_settings.cookies[p].settings);var c=Object.assign({},s,a.popup_settings,o);PUM_Admin.forms.render(r,c,t),document.querySelector('a[href="#pum-popup-settings_display"]').click();var l=document.createElement("div");l.classList.add("notice","updated"),l.insertBefore(document.createElement("p"),l.firstChild),l.firstChild.innerText="Display settings have been updated with the "+n+" preset";var u=document.querySelector("#pum-popup-settings-display-subtabs_preset");u.insertBefore(l,u.firstChild)}}})})})()})(); dist/assets/admin-batch-rtl.css 0000644 00000014503 15174671772 0012515 0 ustar 00 .pum-batch-form .spinner{float:none;margin:4px 10px 8px;position:relative}.pum-batch-form .pum-upgrade-messages{margin-bottom:10px;max-height:200px;overflow:auto;padding-left:10px}.pum-batch-progress progress{background-clip:padding-box;background-color:#ddd;border-radius:0;display:block;height:20px;margin:0 auto;overflow:hidden;position:relative;width:100%}.pum-batch-progress progress::-moz-progress-bar,.pum-batch-progress progress::-ms-progress-bar,.pum-batch-progress progress::progress-bar{background-color:#ddd}.pum-batch-progress progress::-webkit-progress-bar{background-color:#ddd}.pum-batch-progress progress[value]{-webkit-appearance:none;background-color:#4169e1;border:none;color:#4169e1;margin:0 0 10px}.pum-batch-progress progress[value]::-moz-progress-value,.pum-batch-progress progress[value]::-ms-progress-value,.pum-batch-progress progress[value]::progress-value{background-color:#4169e1;border-radius:3px;-moz-transition:width .15s cubic-bezier(0,0,1,-.12);-ms-transition:width .15s cubic-bezier(0,0,1,-.12);transition:width .15s cubic-bezier(0,0,1,-.12)}.pum-batch-progress progress[value]::-webkit-progress-value{animation:animate-stripes 5s linear infinite;background-color:#4169e1;border-radius:3px;-webkit-transition:width .15s cubic-bezier(0,0,1,-.12);transition:width .15s cubic-bezier(0,0,1,-.12)}.pum-batch-progress progress:not([value]){background-color:#4169e1;position:relative}.pum-batch-progress progress:not([value]):before{animation:indeterminate .15s cubic-bezier(.65,.815,.735,.395) infinite}.pum-batch-progress progress:not([value]):after,.pum-batch-progress progress:not([value]):before{background-color:inherit;bottom:0;content:"";right:0;position:absolute;top:0;will-change:left,right}.pum-batch-progress progress:not([value]):after{animation:indeterminate-short .15s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}@keyframes indeterminate{0%{right:-35%;left:100%}60%{right:100%;left:-90%}to{right:100%;left:-90%}}@keyframes indeterminate-short{0%{right:-200%;left:100%}60%{right:107%;left:-8%}to{right:107%;left:-8%}}@keyframes animate-stripes{to{background-position:-100px 0}}.pum-batch-progress .progress-bar{background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 2px 3px #00000080;height:20px;width:100%}.pum-batch-progress .progress-bar span{background-color:#4169e1;border-radius:3px;display:block;text-indent:-9999px}.admin-color-fresh .pum-batch-progress progress[value]{background-color:#0073aa;color:#0073aa}.admin-color-fresh .pum-batch-progress progress[value]::-moz-progress-value,.admin-color-fresh .pum-batch-progress progress[value]::-ms-progress-value,.admin-color-fresh .pum-batch-progress progress[value]::progress-value{background-color:#0073aa}.admin-color-fresh .pum-batch-progress progress[value]::-webkit-progress-value{background-color:#0073aa}.admin-color-fresh .pum-batch-progress progress:not([value]){background-color:#0073aa}.admin-color-light .pum-batch-progress progress[value]{background-color:#888;color:#888}.admin-color-light .pum-batch-progress progress[value]::-moz-progress-value,.admin-color-light .pum-batch-progress progress[value]::-ms-progress-value,.admin-color-light .pum-batch-progress progress[value]::progress-value{background-color:#888}.admin-color-light .pum-batch-progress progress[value]::-webkit-progress-value{background-color:#888}.admin-color-light .pum-batch-progress progress:not([value]){background-color:#888}.admin-color-blue .pum-batch-progress progress[value]{background-color:#096484;color:#096484}.admin-color-blue .pum-batch-progress progress[value]::-moz-progress-value,.admin-color-blue .pum-batch-progress progress[value]::-ms-progress-value,.admin-color-blue .pum-batch-progress progress[value]::progress-value{background-color:#096484}.admin-color-blue .pum-batch-progress progress[value]::-webkit-progress-value{background-color:#096484}.admin-color-blue .pum-batch-progress progress:not([value]){background-color:#096484}.admin-color-coffee .pum-batch-progress progress[value]{background-color:#c7a589;color:#c7a589}.admin-color-coffee .pum-batch-progress progress[value]::-moz-progress-value,.admin-color-coffee .pum-batch-progress progress[value]::-ms-progress-value,.admin-color-coffee .pum-batch-progress progress[value]::progress-value{background-color:#c7a589}.admin-color-coffee .pum-batch-progress progress[value]::-webkit-progress-value{background-color:#c7a589}.admin-color-coffee .pum-batch-progress progress:not([value]){background-color:#c7a589}.admin-color-ectoplasm .pum-batch-progress progress[value]{background-color:#a3b745;color:#a3b745}.admin-color-ectoplasm .pum-batch-progress progress[value]::-moz-progress-value,.admin-color-ectoplasm .pum-batch-progress progress[value]::-ms-progress-value,.admin-color-ectoplasm .pum-batch-progress progress[value]::progress-value{background-color:#a3b745}.admin-color-ectoplasm .pum-batch-progress progress[value]::-webkit-progress-value{background-color:#a3b745}.admin-color-ectoplasm .pum-batch-progress progress:not([value]){background-color:#a3b745}.admin-color-midnight .pum-batch-progress progress[value]{background-color:#e14d43;color:#e14d43}.admin-color-midnight .pum-batch-progress progress[value]::-moz-progress-value,.admin-color-midnight .pum-batch-progress progress[value]::-ms-progress-value,.admin-color-midnight .pum-batch-progress progress[value]::progress-value{background-color:#e14d43}.admin-color-midnight .pum-batch-progress progress[value]::-webkit-progress-value{background-color:#e14d43}.admin-color-midnight .pum-batch-progress progress:not([value]){background-color:#e14d43}.admin-color-sunrise .pum-batch-progress progress[value]{background-color:#dd823b;color:#dd823b}.admin-color-sunrise .pum-batch-progress progress[value]::-moz-progress-value,.admin-color-sunrise .pum-batch-progress progress[value]::-ms-progress-value,.admin-color-sunrise .pum-batch-progress progress[value]::progress-value{background-color:#dd823b}.admin-color-sunrise .pum-batch-progress progress[value]::-webkit-progress-value{background-color:#dd823b}.admin-color-sunrise .pum-batch-progress progress:not([value]){background-color:#dd823b}.pum-batch-progress,.pum-batch-progress .pum-upgrade-message-textarea,.pum-batch-progress progress{display:none}.pum-batch-progress.pum-batch-progress--active,.pum-batch-progress.pum-batch-progress--active .pum-upgrade-message-textarea--active,.pum-batch-progress.pum-batch-progress--active progress.active{display:block} dist/assets/site-rtl.css 0000644 00000016626 15174671772 0011322 0 ustar 00 @keyframes rotate-forever{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}@keyframes spinner-loader{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}.pum-container,.pum-content,.pum-content+.pum-close,.pum-content+.pum-close:active,.pum-content+.pum-close:focus,.pum-content+.pum-close:hover,.pum-overlay,.pum-title{background:none;border:none;bottom:auto;clear:none;cursor:default;float:none;font-family:inherit;font-size:medium;font-style:normal;font-weight:400;height:auto;right:auto;letter-spacing:normal;line-height:normal;max-height:none;max-width:none;min-height:0;min-width:0;overflow:visible;position:static;left:auto;text-align:right;text-decoration:none;text-indent:0;text-transform:none;top:auto;visibility:visible;white-space:normal;width:auto;z-index:auto}.pum-content,.pum-title{position:relative;z-index:1}.pum-overlay{bottom:0;display:none;height:100%;right:0;overflow:auto;overflow:initial;position:fixed;left:0;top:0;transition:all .15s ease-in-out;width:100%;z-index:1999999999}.pum-overlay.pum-form-submission-detected,.pum-overlay.pum-preview{display:block}.pum-overlay,.pum-overlay *,.pum-overlay :after,.pum-overlay :before,.pum-overlay:after,.pum-overlay:before{box-sizing:border-box}.pum-container{margin-bottom:3em;position:absolute;top:100px;z-index:1999999999}.pum-container.pum-responsive{height:auto;right:50%;margin-right:-47.5%;overflow:visible;width:95%}.pum-container.pum-responsive img{height:auto;max-width:100%}@media only screen and (min-width:1024px){.pum-container.pum-responsive.pum-responsive-nano{margin-right:-5%;width:10%}.pum-container.pum-responsive.pum-responsive-micro{margin-right:-10%;width:20%}.pum-container.pum-responsive.pum-responsive-tiny{margin-right:-15%;width:30%}.pum-container.pum-responsive.pum-responsive-small{margin-right:-20%;width:40%}.pum-container.pum-responsive.pum-responsive-medium{margin-right:-30%;width:60%}.pum-container.pum-responsive.pum-responsive-normal{margin-right:-30%;width:70%}.pum-container.pum-responsive.pum-responsive-large{margin-right:-35%;width:80%}.pum-container.pum-responsive.pum-responsive-xlarge{margin-right:-47.5%;width:95%}.pum-container.pum-responsive.pum-position-fixed{position:fixed}}@media only screen and (max-width:1024px){.pum-container.pum-responsive.pum-position-fixed{position:absolute}}.pum-container.custom-position{right:auto;margin-right:inherit;top:auto}.pum-container .pum-title{margin-bottom:.5em}.pum-container .pum-content:focus{outline:none}.pum-container .pum-content>:first-child{margin-top:0}.pum-container .pum-content>:last-child{margin-bottom:0}.pum-container .pum-content+.pum-close{background-color:#0000;cursor:pointer;line-height:1;min-width:1em;position:absolute;text-align:center;text-decoration:none;z-index:2}.pum-container .pum-content+.pum-close>span{position:relative;z-index:1}.pum-container.pum-scrollable .pum-content{max-height:95%;overflow:auto;overflow-y:scroll}.pum-overlay.pum-overlay-disabled{visibility:hidden}.pum-overlay.pum-overlay-disabled::-webkit-scrollbar{display:block}.pum-overlay.pum-overlay-disabled .pum-container{visibility:visible}.pum-overlay.pum-click-to-close{cursor:pointer}html.pum-open.pum-open-overlay,html.pum-open.pum-open-overlay.pum-open-fixed .pum-overlay{overflow:hidden}html.pum-open.pum-open-overlay.pum-open-fixed .pum-container{position:fixed}html.pum-open.pum-open-overlay.pum-open-scrollable body>:not([aria-modal=true]){padding-left:15px}html.pum-open.pum-open-overlay.pum-open-scrollable .pum-overlay.pum-active{overflow-y:scroll;-webkit-overflow-scrolling:touch}html.pum-open.pum-open-overlay-disabled.pum-open-fixed .pum-container{position:fixed}html.pum-open.pum-open-overlay-disabled.pum-open-scrollable .pum-overlay.pum-active{height:auto;position:static;width:auto}.pum-form{margin:0 auto 16px}.pum-form__field{margin-bottom:1em}.pum-form__field label{font-weight:700}.pum-form__field input[type=date],.pum-form__field select{font-size:18px;line-height:26px;margin:0 auto;padding:3px;text-align:center;vertical-align:middle}.pum-form__field select{padding:5px 3px}.pum-form__loader{animation-duration:.75s;animation-iteration-count:infinite;animation-name:rotate-forever;animation-timing-function:linear;border:.25em solid #00000080;border-radius:50%;border-left-color:#0000;display:inline-block;font-size:2em;height:.75em;width:.75em}.pum-form__submit{position:relative}.pum-form__submit .pum-form__loader{border:.25em solid #ffffff80;border-left-color:#0000;margin-right:.5em}.pum-form__messages{border:1px solid #00000040;display:none;margin-bottom:.5em;padding:1em;position:relative}.pum-form__message{margin-bottom:.5em}.pum-form__message:last-child{margin-bottom:0}.pum-form__message--error{border-color:red;color:red!important}.pum-form__message--success{border-color:green;color:green!important}.pum-form--loading{opacity:.5}.pum-alignment-left{text-align:right}.pum-alignment-center{text-align:center}.pum-alignment-right{text-align:left}.pum-form--alignment-left{text-align:right}.pum-form--alignment-center{text-align:center}.pum-form--alignment-right{text-align:left}.pum-form--layout-standard .pum-form__field>label{display:block;margin-bottom:.25em}.pum-form--layout-inline .pum-form__field{display:inline-block}.pum-form--layout-block .pum-form__field,.pum-form--layout-block button,.pum-form--layout-block div,.pum-form--layout-block input{display:block;width:100%}.pum-form--style-default label{font-size:14px;font-weight:700}.pum-form--style-default input[type=email],.pum-form--style-default input[type=text]{background-color:#f8f7f7;font-size:14px;margin-bottom:5px;padding:10px 8px}.pum-form--style-default button{cursor:pointer;font-size:18px;margin:10px 0 0;padding:10px 5px}.pum-sub-form .pum-sub-form-loading{opacity:.5}.pum-sub-form p.pum-newsletter-error-msg{margin:0}.pum-sub-form .spinner-loader{bottom:40%;position:absolute;left:50%}.pum-sub-form .spinner-loader:not(:required){animation:spinner-loader 1.5s linear infinite;border-radius:.5em;box-shadow:-1.5em 0 0 0 #0000334d,-1.1em 1.1em 0 0 #0000334d,0 1.5em 0 0 #0000334d,1.1em 1.1em 0 0 #0000334d,1.5em 0 0 0 #0000334d,1.1em -1.1em 0 0 #0000334d,0 -1.5em 0 0 #0000334d,-1.1em -1.1em 0 0 #0000334d;display:inline-block;font-size:10px;height:1em;margin:1.5em;overflow:hidden;text-indent:100%;width:1em}.pum-form__field--consent{text-align:right}.pum-form__field--consent.pum-form__field--checkbox label{display:inline-block;vertical-align:middle}.pum-form__field--consent.pum-form__field--checkbox label input{display:inline-block;margin:0;vertical-align:middle;width:inherit}.pum-form__field--consent.pum-form__field--radio .pum-form__consent-radios.pum-form__consent-radios--inline label{display:inline-block;vertical-align:middle}.pum-form__field--consent.pum-form__field--radio .pum-form__consent-radios.pum-form__consent-radios--inline label input{display:inline-block;margin:0;vertical-align:middle;width:inherit}.pum-form__field--consent.pum-form__field--radio .pum-form__consent-radios.pum-form__consent-radios--inline label+label{margin-right:1em}.pum-form__field--consent.pum-form__field--radio .pum-form__consent-radios.pum-form__consent-radios--stacked label{display:block;vertical-align:middle}.pum-form__field--consent.pum-form__field--radio .pum-form__consent-radios.pum-form__consent-radios--stacked label input{display:inline-block;margin:0;vertical-align:middle;width:inherit}.popmake-close{cursor:pointer}.pum-container iframe.formidable{overflow:visible;width:100%}.flatpickr-calendar.open,.pika-single,body div#ui-datepicker-div[style]{z-index:9999999999!important} dist/assets/admin-shortcode-ui-rtl.css 0000644 00000006663 15174671772 0014051 0 ustar 00 i.mce-i-pum_shortcodes{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTc5IiBoZWlnaHQ9IjE3OSIgdmlld0JveD0iMCAwIDE3OSAxNzkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMjMuNzkxIDExOS4wMzFDMTI2LjA1IDExNi40MjYgMTI3LjQ4NSAxMTMuMjA5IDEyNy45MTYgMTA5Ljc4OEMxMjguMzQ3IDEwNi4zNjYgMTI3Ljc1MyAxMDIuODk0IDEyNi4yMSA5OS44MUwxMDYuNTk1IDYwLjU4M0MxMDUuMTQ3IDU3LjY4NzUgMTAyLjkyMSA1NS4yNTI1IDEwMC4xNjcgNTMuNTUwNkM5Ny40MTMgNTEuODQ4OCA5NC4yMzk0IDUwLjk0NzQgOTEuMDAxOCA1MC45NDc0Qzg3Ljc2NDMgNTAuOTQ3NCA4NC41OTA3IDUxLjg0ODggODEuODM2NSA1My41NTA2Qzc5LjA4MjQgNTUuMjUyNSA3Ni44NTY1IDU3LjY4NzUgNzUuNDA4MyA2MC41ODNMNTUuNzkzNyA5OS44MUM1NC4yNDgyIDEwMi44OTUgNTMuNjUzIDEwNi4zNyA1NC4wODM1IDEwOS43OTRDNTQuNTE0MSAxMTMuMjE3IDU1Ljk1MSAxMTYuNDM2IDU4LjIxMjMgMTE5LjA0M0M2MC40NzM3IDEyMS42NDkgNjMuNDU3NyAxMjMuNTI2IDY2Ljc4NjYgMTI0LjQzNkM3MC4xMTU0IDEyNS4zNDYgNzMuNjM5MyAxMjUuMjQ3IDc2LjkxMjEgMTI0LjE1M0w5MS4wOTk5IDExOS40NDVMMTA1LjIwMSAxMjQuMTMxQzEwOC40NTcgMTI1LjIwMyAxMTEuOTU4IDEyNS4yOTEgMTE1LjI2NSAxMjQuMzg0QzExOC41NzEgMTIzLjQ3NyAxMjEuNTM3IDEyMS42MTUgMTIzLjc5MSAxMTkuMDMxVjExOS4wMzFaTTkxLjA5OTkgNjguMzg0OEwxMTAuNzE0IDEwNy42MTJMOTUuOTE2NCAxMDIuNjg3QzkyLjc4OTcgMTAxLjY0NiA4OS40MTAyIDEwMS42NDYgODYuMjgzNSAxMDIuNjg3TDcxLjQ4NTQgMTA3LjYxMkw5MS4wOTk5IDY4LjM4NDhaIiBmaWxsPSIjMUExOTFCIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNTguNTc2OSAyNS40NzM3QzM5LjM5MjIgMjUuNDczNyAyMy44NCA0MS4wMjYgMjMuODQgNjAuMjEwNlY2NC44NDIyQzIzLjg0IDcxLjIzNyAxOC42NTYgNzYuNDIxMSAxMi4yNjExIDc2LjQyMTFDNS44NjYyIDc2LjQyMTEgMC42ODIxMjkgNzEuMjM3IDAuNjgyMTI5IDY0Ljg0MjJMMC42ODIxMjkgNjAuMjEwNkMwLjY4MjEyOSAyOC4yMzYyIDI2LjYwMjUgMi4zMTU4NCA1OC41NzY5IDIuMzE1ODRMNjUuNTI0MiAyLjMxNTg0QzcxLjkxOTEgMi4zMTU4NCA3Ny4xMDMyIDcuNDk5OTEgNzcuMTAzMiAxMy44OTQ4Qzc3LjEwMzIgMjAuMjg5NyA3MS45MTkxIDI1LjQ3MzcgNjUuNTI0MiAyNS40NzM3SDU4LjU3NjlaIiBmaWxsPSIjMURCRTYxIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNTguNTc2OSAxNTUuMTU4QzM5LjM5MjIgMTU1LjE1OCAyMy44NCAxMzkuNjA2IDIzLjg0IDEyMC40MjFWMTE1Ljc5QzIzLjg0IDEwOS4zOTUgMTguNjU2IDEwNC4yMTEgMTIuMjYxMSAxMDQuMjExQzUuODY2MiAxMDQuMjExIDAuNjgyMTI5IDEwOS4zOTUgMC42ODIxMjkgMTE1Ljc5TDAuNjgyMTI5IDEyMC40MjFDMC42ODIxMjkgMTUyLjM5NSAyNi42MDI1IDE3OC4zMTYgNTguNTc2OSAxNzguMzE2SDY1LjUyNDJDNzEuOTE5MSAxNzguMzE2IDc3LjEwMzIgMTczLjEzMiA3Ny4xMDMyIDE2Ni43MzdDNzcuMTAzMiAxNjAuMzQyIDcxLjkxOTEgMTU1LjE1OCA2NS41MjQyIDE1NS4xNThINTguNTc2OVoiIGZpbGw9IiMxREJFNjEiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMjEuMTAzIDI1LjQ3MzdDMTQwLjI4OCAyNS40NzM3IDE1NS44NCA0MS4wMjYgMTU1Ljg0IDYwLjIxMDZWNjQuODQyMkMxNTUuODQgNzEuMjM3IDE2MS4wMjQgNzYuNDIxMSAxNjcuNDE5IDc2LjQyMTFDMTczLjgxNCA3Ni40MjExIDE3OC45OTggNzEuMjM3IDE3OC45OTggNjQuODQyMlY2MC4yMTA2QzE3OC45OTggMjguMjM2MiAxNTMuMDc4IDIuMzE1ODQgMTIxLjEwMyAyLjMxNTg0TDExNC4xNTYgMi4zMTU4NEMxMDcuNzYxIDIuMzE1ODQgMTAyLjU3NyA3LjQ5OTkxIDEwMi41NzcgMTMuODk0OEMxMDIuNTc3IDIwLjI4OTcgMTA3Ljc2MSAyNS40NzM3IDExNC4xNTYgMjUuNDczN0gxMjEuMTAzWiIgZmlsbD0iIzFEQkU2MSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEyMS4xMDMgMTU1LjE1OEMxNDAuMjg4IDE1NS4xNTggMTU1Ljg0IDEzOS42MDYgMTU1Ljg0IDEyMC40MjFWMTE1Ljc5QzE1NS44NCAxMDkuMzk1IDE2MS4wMjQgMTA0LjIxMSAxNjcuNDE5IDEwNC4yMTFDMTczLjgxNCAxMDQuMjExIDE3OC45OTggMTA5LjM5NSAxNzguOTk4IDExNS43OVYxMjAuNDIxQzE3OC45OTggMTUyLjM5NSAxNTMuMDc4IDE3OC4zMTYgMTIxLjEwMyAxNzguMzE2SDExNC4xNTZDMTA3Ljc2MSAxNzguMzE2IDEwMi41NzcgMTczLjEzMiAxMDIuNTc3IDE2Ni43MzdDMTAyLjU3NyAxNjAuMzQyIDEwNy43NjEgMTU1LjE1OCAxMTQuMTU2IDE1NS4xNThIMTIxLjEwM1oiIGZpbGw9IiMxREJFNjEiLz4KPC9zdmc+Cg==) no-repeat 50% #0000;background-size:contain} dist/assets/admin-popup-editor.asset.php 0000644 00000000124 15174671772 0014373 0 ustar 00 <?php return array('dependencies' => array(), 'version' => '8b31dfe88a476eb7c0a2'); dist/assets/admin-batch.css 0000644 00000014503 15174671772 0011716 0 ustar 00 .pum-batch-form .spinner{float:none;margin:4px 10px 8px;position:relative}.pum-batch-form .pum-upgrade-messages{margin-bottom:10px;max-height:200px;overflow:auto;padding-right:10px}.pum-batch-progress progress{background-clip:padding-box;background-color:#ddd;border-radius:0;display:block;height:20px;margin:0 auto;overflow:hidden;position:relative;width:100%}.pum-batch-progress progress::-moz-progress-bar,.pum-batch-progress progress::-ms-progress-bar,.pum-batch-progress progress::progress-bar{background-color:#ddd}.pum-batch-progress progress::-webkit-progress-bar{background-color:#ddd}.pum-batch-progress progress[value]{-webkit-appearance:none;background-color:#4169e1;border:none;color:#4169e1;margin:0 0 10px}.pum-batch-progress progress[value]::-moz-progress-value,.pum-batch-progress progress[value]::-ms-progress-value,.pum-batch-progress progress[value]::progress-value{background-color:#4169e1;border-radius:3px;-moz-transition:width .15s cubic-bezier(0,0,1,-.12);-ms-transition:width .15s cubic-bezier(0,0,1,-.12);transition:width .15s cubic-bezier(0,0,1,-.12)}.pum-batch-progress progress[value]::-webkit-progress-value{animation:animate-stripes 5s linear infinite;background-color:#4169e1;border-radius:3px;-webkit-transition:width .15s cubic-bezier(0,0,1,-.12);transition:width .15s cubic-bezier(0,0,1,-.12)}.pum-batch-progress progress:not([value]){background-color:#4169e1;position:relative}.pum-batch-progress progress:not([value]):before{animation:indeterminate .15s cubic-bezier(.65,.815,.735,.395) infinite}.pum-batch-progress progress:not([value]):after,.pum-batch-progress progress:not([value]):before{background-color:inherit;bottom:0;content:"";left:0;position:absolute;top:0;will-change:left,right}.pum-batch-progress progress:not([value]):after{animation:indeterminate-short .15s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes animate-stripes{to{background-position:-100px 0}}.pum-batch-progress .progress-bar{background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 2px 3px #00000080;height:20px;width:100%}.pum-batch-progress .progress-bar span{background-color:#4169e1;border-radius:3px;display:block;text-indent:-9999px}.admin-color-fresh .pum-batch-progress progress[value]{background-color:#0073aa;color:#0073aa}.admin-color-fresh .pum-batch-progress progress[value]::-moz-progress-value,.admin-color-fresh .pum-batch-progress progress[value]::-ms-progress-value,.admin-color-fresh .pum-batch-progress progress[value]::progress-value{background-color:#0073aa}.admin-color-fresh .pum-batch-progress progress[value]::-webkit-progress-value{background-color:#0073aa}.admin-color-fresh .pum-batch-progress progress:not([value]){background-color:#0073aa}.admin-color-light .pum-batch-progress progress[value]{background-color:#888;color:#888}.admin-color-light .pum-batch-progress progress[value]::-moz-progress-value,.admin-color-light .pum-batch-progress progress[value]::-ms-progress-value,.admin-color-light .pum-batch-progress progress[value]::progress-value{background-color:#888}.admin-color-light .pum-batch-progress progress[value]::-webkit-progress-value{background-color:#888}.admin-color-light .pum-batch-progress progress:not([value]){background-color:#888}.admin-color-blue .pum-batch-progress progress[value]{background-color:#096484;color:#096484}.admin-color-blue .pum-batch-progress progress[value]::-moz-progress-value,.admin-color-blue .pum-batch-progress progress[value]::-ms-progress-value,.admin-color-blue .pum-batch-progress progress[value]::progress-value{background-color:#096484}.admin-color-blue .pum-batch-progress progress[value]::-webkit-progress-value{background-color:#096484}.admin-color-blue .pum-batch-progress progress:not([value]){background-color:#096484}.admin-color-coffee .pum-batch-progress progress[value]{background-color:#c7a589;color:#c7a589}.admin-color-coffee .pum-batch-progress progress[value]::-moz-progress-value,.admin-color-coffee .pum-batch-progress progress[value]::-ms-progress-value,.admin-color-coffee .pum-batch-progress progress[value]::progress-value{background-color:#c7a589}.admin-color-coffee .pum-batch-progress progress[value]::-webkit-progress-value{background-color:#c7a589}.admin-color-coffee .pum-batch-progress progress:not([value]){background-color:#c7a589}.admin-color-ectoplasm .pum-batch-progress progress[value]{background-color:#a3b745;color:#a3b745}.admin-color-ectoplasm .pum-batch-progress progress[value]::-moz-progress-value,.admin-color-ectoplasm .pum-batch-progress progress[value]::-ms-progress-value,.admin-color-ectoplasm .pum-batch-progress progress[value]::progress-value{background-color:#a3b745}.admin-color-ectoplasm .pum-batch-progress progress[value]::-webkit-progress-value{background-color:#a3b745}.admin-color-ectoplasm .pum-batch-progress progress:not([value]){background-color:#a3b745}.admin-color-midnight .pum-batch-progress progress[value]{background-color:#e14d43;color:#e14d43}.admin-color-midnight .pum-batch-progress progress[value]::-moz-progress-value,.admin-color-midnight .pum-batch-progress progress[value]::-ms-progress-value,.admin-color-midnight .pum-batch-progress progress[value]::progress-value{background-color:#e14d43}.admin-color-midnight .pum-batch-progress progress[value]::-webkit-progress-value{background-color:#e14d43}.admin-color-midnight .pum-batch-progress progress:not([value]){background-color:#e14d43}.admin-color-sunrise .pum-batch-progress progress[value]{background-color:#dd823b;color:#dd823b}.admin-color-sunrise .pum-batch-progress progress[value]::-moz-progress-value,.admin-color-sunrise .pum-batch-progress progress[value]::-ms-progress-value,.admin-color-sunrise .pum-batch-progress progress[value]::progress-value{background-color:#dd823b}.admin-color-sunrise .pum-batch-progress progress[value]::-webkit-progress-value{background-color:#dd823b}.admin-color-sunrise .pum-batch-progress progress:not([value]){background-color:#dd823b}.pum-batch-progress,.pum-batch-progress .pum-upgrade-message-textarea,.pum-batch-progress progress{display:none}.pum-batch-progress.pum-batch-progress--active,.pum-batch-progress.pum-batch-progress--active .pum-upgrade-message-textarea--active,.pum-batch-progress.pum-batch-progress--active progress.active{display:block} dist/packages/block-library-style-rtl.css 0000644 00000015332 15174671772 0014515 0 ustar 00 .wp-block-popup-maker-cta-button__link{align-content:center;box-sizing:border-box;cursor:pointer;display:inline-block;height:100%;text-align:center;width:100%;word-break:break-word}.wp-block-popup-maker-cta-button__link.aligncenter,.wp-block-popup-maker-cta-button__link.has-text-align-center{text-align:center}.wp-block-popup-maker-cta-button__link.alignright,.wp-block-popup-maker-cta-button__link.has-text-align-right{text-align:left}.wp-block-popup-maker-cta-button__link.alignleft,.wp-block-popup-maker-cta-button__link.has-text-align-left{text-align:right}:where(.wp-block-popup-maker-cta-button__link){border-radius:9999px;box-shadow:none;padding:1rem 2.25rem;text-decoration:none}.wp-block-popup-maker-cta-button[style*=text-decoration] .wp-block-popup-maker-cta-button__link{text-decoration:inherit}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.has-custom-width{max-width:none}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.has-custom-width .wp-block-popup-maker-cta-button__link{width:100%}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.has-custom-font-size .wp-block-popup-maker-cta-button__link{font-size:inherit}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-100{flex-basis:100%;width:100%}.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-25{width:25%}.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-50{width:50%}.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-75{width:75%}.wp-block-popup-maker-cta-button.is-style-squared,.wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button.is-style-squared{border-radius:0}.wp-block-popup-maker-cta-button.no-border-radius,.wp-block-popup-maker-cta-button__link.no-border-radius{border-radius:0!important}:root :where(.wp-block-popup-maker-cta-button){font-family:inherit;font-size:var(--wp--preset--font-size--medium);font-style:normal;line-height:inherit}:root :where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline){background-color:var(--wp--preset--color--contrast);border-color:var(--wp--preset--color--contrast);color:var(--wp--preset--color--base)}:root :where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline):hover{background-color:color-mix(in srgb,var(--wp--preset--color--contrast) 85%,#0000);border-color:#0000;color:var(--wp--preset--color--base)}:root :where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline),:root :where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link){border:1px solid;padding:calc(1rem - 1px) calc(2.25rem - 1px)}:root :where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline:not(.has-text-color)),:root :where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link:not(.has-text-color)){color:currentColor}:root :where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline:not(.has-background)),:root :where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link:not(.has-background)){background-color:#0000;background-image:none}:root :where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button__link:not(.has-background):hover){background-color:color-mix(in srgb,var(--wp--preset--color--contrast) 5%,#0000)}.wp-block-popup-maker-cta-button__link:hover.has-background:not(.is-style-outline):hover,.wp-block-popup-maker-cta-button__link:hover[style*=background-color]:not(.is-style-outline){filter:brightness(.85)}.wp-block-popup-maker-cta-button__link:hover.is-style-outline:hover{filter:brightness(1.05)}@supports not (background-color:color-mix(in srgb,red 50%,blue)){:where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline):hover{filter:brightness(.85)}:where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button__link:not(.has-background):hover){filter:brightness(1.05)}}.wp-block-popup-maker-cta-button{cursor:text;position:relative} .wp-block-popup-maker-cta-buttons{box-sizing:border-box}.wp-block-popup-maker-cta-buttons.is-vertical{flex-direction:column}.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button:last-child{margin-bottom:0}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button{display:inline-block;margin:0}.wp-block-popup-maker-cta-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-popup-maker-cta-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-popup-maker-cta-buttons.is-content-justification-center{justify-content:center}.wp-block-popup-maker-cta-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-popup-maker-cta-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-popup-maker-cta-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-popup-maker-cta-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-popup-maker-cta-buttons.aligncenter{text-align:center}.wp-block-popup-maker-cta-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-popup-maker-cta-button.aligncenter{margin-right:auto;margin-left:auto;width:100%}.wp-block-popup-maker-cta-buttons[style*=text-decoration] .wp-block-popup-maker-cta-button,.wp-block-popup-maker-cta-buttons[style*=text-decoration] .wp-block-popup-maker-cta-button__link{text-decoration:inherit}.wp-block-popup-maker-cta-buttons.has-custom-font-size .wp-block-popup-maker-cta-button__link{font-size:inherit}.wp-block-popup-maker-cta-button.aligncenter{text-align:center}:root .wp-block-popup-maker-cta-buttons.is-layout-flex:not([class*=wp-container-popup-maker-cta-buttons-is-layout-]){gap:16px} dist/packages/admin-bar.js 0000644 00000020050 15174671772 0011473 0 ustar 00 (()=>{"use strict";var t={n:e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return t.d(n,{a:n}),n},d:(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};const e=window.jQuery;var n=t.n(e);const o=window.popupMaker.i18n;let a,c,r;function i(t,e){if(r=new Date,t.nodeType!==Node.ELEMENT_NODE)throw new Error("Can't generate CSS selector for non-element node type.");if("html"===t.tagName.toLowerCase())return"html";const n={root:document.body,idName:t=>!0,className:t=>!0,tagName:t=>!0,attr:(t,e)=>!1,seedMinLength:1,optimizedMinLength:2,threshold:1e3,maxNumberOfTries:1e4,timeoutMs:void 0};a={...n,...e},c=function(t,e){return t.nodeType===Node.DOCUMENT_NODE?t:t===e.root?t.ownerDocument:t}(a.root,n);let o=l(t,"all",()=>l(t,"two",()=>l(t,"one",()=>l(t,"none"))));if(o){const e=T(x(o,t));return e.length>0&&(o=e[0]),p(o)}throw new Error("Selector was not found.")}function l(t,e,n){let o=null,c=[],i=t,l=0;for(;i;){const t=(new Date).getTime()-r.getTime();if(void 0!==a.timeoutMs&&t>a.timeoutMs)throw new Error(`Timeout: Can't find a unique selector after ${t}ms`);let p=v(m(i))||v(...f(i))||v(...h(i))||v(y(i))||[k()];const u=b(i);if("all"==e)u&&(p=p.concat(p.filter(C).map(t=>w(t,u))));else if("two"==e)p=p.slice(0,1),u&&(p=p.concat(p.filter(C).map(t=>w(t,u))));else if("one"==e){const[t]=p=p.slice(0,1);u&&C(t)&&(p=[w(t,u)])}else"none"==e&&(p=[k()],u&&(p=[w(p[0],u)]));for(let t of p)t.level=l;if(c.push(p),c.length>=a.seedMinLength&&(o=s(c,n),o))break;i=i.parentElement,l++}return o||(o=s(c,n)),!o&&n?n():o}function s(t,e){const n=T(_(t));if(n.length>a.threshold)return e?e():null;for(let t of n)if(d(t))return t;return null}function p(t){let e=t[0],n=e.name;for(let o=1;o<t.length;o++){const a=t[o].level||0;n=e.level===a-1?`${t[o].name} > ${n}`:`${t[o].name} ${n}`,e=t[o]}return n}function u(t){return t.map(t=>t.penalty).reduce((t,e)=>t+e,0)}function d(t){const e=p(t);switch(c.querySelectorAll(e).length){case 0:throw new Error(`Can't select any node with this selector: ${e}`);case 1:return!0;default:return!1}}function m(t){const e=t.getAttribute("id");return e&&a.idName(e)?{name:"#"+CSS.escape(e),penalty:0}:null}function f(t){const e=Array.from(t.attributes).filter(t=>a.attr(t.name,t.value));return e.map(t=>({name:`[${CSS.escape(t.name)}="${CSS.escape(t.value)}"]`,penalty:.5}))}function h(t){return Array.from(t.classList).filter(a.className).map(t=>({name:"."+CSS.escape(t),penalty:1}))}function y(t){const e=t.tagName.toLowerCase();return a.tagName(e)?{name:e,penalty:2}:null}function k(){return{name:"*",penalty:3}}function b(t){const e=t.parentNode;if(!e)return null;let n=e.firstChild;if(!n)return null;let o=0;for(;n&&(n.nodeType===Node.ELEMENT_NODE&&o++,n!==t);)n=n.nextSibling;return o}function w(t,e){return{name:t.name+`:nth-child(${e})`,penalty:t.penalty+1}}function C(t){return"html"!==t.name&&!t.name.startsWith("#")}function v(...t){const e=t.filter(g);return e.length>0?e:null}function g(t){return null!=t}function*_(t,e=[]){if(t.length>0)for(let n of t[0])yield*_(t.slice(1,t.length),e.concat(n));else yield e}function T(t){return[...t].sort((t,e)=>u(t)-u(e))}function*x(t,e,n={counter:0,visited:new Map}){if(t.length>2&&t.length>a.optimizedMinLength)for(let o=1;o<t.length-1;o++){if(n.counter>a.maxNumberOfTries)return;n.counter+=1;const c=[...t];c.splice(o,1);const r=p(c);if(n.visited.has(r))return;d(c)&&N(c,e)&&(yield c,n.visited.set(r,!0),yield*x(c,e,n))}}function N(t,e){return c.querySelector(p(t))===e}function S(t){const e=document.createElement("div"),a=t.actions?`\n\t\t<div class="pum-modal-actions">\n\t\t\t${t.actions.primary?`\n\t\t\t\t<button class="button button-primary pum-modal-proceed">\n\t\t\t\t\t${t.actions.primary.text}\n\t\t\t\t</button>\n\t\t\t`:""}\n\t\t\t${t.actions.secondary?`\n\t\t\t\t<button class="button button-secondary pum-modal-cancel">\n\t\t\t\t\t${t.actions.secondary.text}\n\t\t\t\t</button>\n\t\t\t`:""}\n\t\t</div>\n\t`:"";e.innerHTML=`<div class="pum-modal pum-modal-overlay">\n\t\t<div class="pum-modal-content">\n\t\t\t<div class="pum-modal-header">\n\t\t\t\t<div class="pum-logo"></div>\n\t\t\t\t<h4>${t.title}</h4>\n\t\t\t\t<button class="pum-modal-close">\n\t\t\t\t\t<span class="dashicons dashicons-no-alt"></span>\n\t\t\t\t\t<span class="screen-reader-text">${t.closeText||(0,o.__)("Close","popup-maker")}</span>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div class="pum-modal-body">\n\t\t\t\t${t.content}\n\t\t\t\t${a}\n\t\t\t</div>\n\t\t</div>\n\t</div>`,document.body.appendChild(e);const c=()=>{n()(document).off("keydown",r),n()(document).off("mousedown",i),n()(".pum-modal-close, .pum-modal-cancel",e).off("click",c),n()(".pum-modal-proceed",e).off("click",l),n()(".pum-modal-cancel",e).off("click",s),n()(e).fadeOut(200,()=>{e.remove()})},r=t=>{"Escape"===t.key&&c()},i=t=>{n()(t.target).hasClass("pum-modal-overlay")&&c()},l=()=>{t.actions?.primary?.onClick&&t.actions.primary.onClick(),c()},s=()=>{t.actions?.secondary?.onClick&&t.actions.secondary.onClick(),c()};return n()(document).on("keydown",r),n()(document).on("mousedown",i),n()(".pum-modal-close, .pum-modal-cancel",e).on("click",c),t.actions?.primary&&n()(".pum-modal-proceed",e).on("click",l),t.actions?.secondary&&n()(".pum-modal-cancel",e).on("click",s),e}class E{defaultText={instructions:(0,o.__)("After clicking ok, click the element you want a selector for.","popup-maker"),results:(0,o.__)("Selector","popup-maker"),copy:(0,o.__)("Copy","popup-maker"),close:(0,o.__)("Close","popup-maker"),copied:(0,o.__)("Copied to clipboard","popup-maker")};constructor(){this.text=popupMakerAdminBar?.i18n||this.defaultText,this.initialize()}async copyToClipboard(t){try{return navigator.clipboard&&window.isSecureContext?(await navigator.clipboard.writeText(t),!0):this.fallbackCopyToClipboard(t)}catch(e){return console.error("Failed to copy text:",e),this.fallbackCopyToClipboard(t)}}fallbackCopyToClipboard(t){const e=document.createElement("textarea");try{return e.value=t,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select(),document.execCommand("copy")}catch(t){return console.error("Fallback copy failed:",t),!1}finally{document.body.removeChild(e)}}showCopiedNotice(t){const e=document.createElement("div");e.classList.add("notice","notice-success"),e.innerHTML=`<p>${this.text.copied}</p>`,t.append(e),setTimeout(()=>{n()(e).fadeOut(200,()=>{n()(e).remove()})},3e3)}handleSelectorClick=async t=>{t.preventDefault(),t.stopPropagation();const e=i(t.target,{seedMinLength:3}),o=S({title:this.text.results,content:`\n\t\t\t\t<div class="pum-modal-copy">\n\t\t\t\t\t<p>${e}</p>\n\t\t\t\t\t<button class="copy-clipboard button button-secondary">\n\t\t\t\t\t\t<span class="dashicons dashicons-clipboard"></span>\n\t\t\t\t\t\t<span class="screen-reader-text">${this.text.copy}</span>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t`,closeText:this.text.close});n()(".copy-clipboard",o).on("click",async()=>{await this.copyToClipboard(e)&&this.showCopiedNotice(n()(".pum-modal-body",o))})};initialize(){const{PUM:t}=window;n()(document).on("click","#wp-admin-bar-pum-get-selector",t=>{t.preventDefault(),t.stopPropagation(),S({title:(0,o.__)("Get Element Selector","popup-maker"),content:this.text.instructions,closeText:this.text.close,actions:{primary:{text:(0,o.__)("Start Selection","popup-maker"),onClick:()=>{setTimeout(()=>{n()(document).one("click",this.handleSelectorClick)},250)}},secondary:{text:(0,o.__)("Cancel","popup-maker"),onClick:()=>{}}}})}),n()(document).on("click",".pum-toolbar-action",e=>{e.preventDefault(),e.stopPropagation();const a=n()(e.target).attr("href");if(!a)return;const[c,r]=a.split("__")[1].split("--");switch(c){case"open":t.open(r);break;case"close":t.close(r);break;case"check-conditions":S({title:(0,o.__)("Conditions Check","popup-maker"),content:t.checkConditions(r)?(0,o.__)("The conditions were met.","popup-maker"):(0,o.__)("The conditions were not met.","popup-maker")});break;case"reset-cookies":t.clearCookies(r),S({title:(0,o.__)("Cookies Reset","popup-maker"),content:(0,o.__)("The cookies were reset successfully.","popup-maker")})}})}}n()(()=>{new E}),(window.popupMaker=window.popupMaker||{}).adminBar={}})(); dist/packages/block-library-style.css.map 0000644 00000023443 15174671772 0014474 0 ustar 00 {"version":3,"file":"block-library-style.css","mappings":";;;AAIA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHD;AAKC;EAEC;AAJF;AAOC;EAEC;EACA;AANF;AASC;EAEC;EACA;AARF;;AAaA;EACC;EACA;EACA;EACA;AAVD;;AAcA;EACC;AAXD;;AAgBC;EACC;AAbF;AAeE;EACC;AAbH;AAkBE;EACC;AAhBH;AAoBC;EACC;AAlBF;AAqBC;EACC;AAnBF;AAsBC;EACC;AApBF;AAuBC;EACC;EACA;AArBF;;AA2BC;EACC;AAxBF;AA2BC;EACC;AAzBF;AA4BC;EACC;AA1BF;;AA+BA;;EAEC;AA5BD;;AA+BA;;EAEC;AA5BD;;AAgCA;EASC;EAOA;EAwBA;AAlED;AA4BC;EACC;EACA;EACA;EACA;AA1BF;AA8BC;EACC;EACA;EACA;AA5BF;AAgCC;EACC;EACA;EACA;AA9BF;AAiCC;;EAEC;EACA;AA/BF;AAkCC;;EAEC;AAhCF;AAmCC;;EAEC;EACA;AAjCF;AAqCC;EACC;AAnCF;;AA0CC;EACC;AAvCF;AA2CC;EACC;AAzCF;AA6CC;EACC;AA3CF;;AAgDA;EACC;IACC;EA7CA;EAgDD;IACC;EA9CA;AACF;AAiDA;EACC;EACA;AA/CD,C;;;;ACxIA;;EAAA;AAKA;EACC;;IAAA;EAGA;EAYA;;IAAA;EAoCA;;IAAA;EAOA;;;;;;;IAAA;EAQA;AAjDD;AAZC;EACC;AAcF;AAXG;EACC;AAaJ;AALC;EACC;EACA;AAOF;AAJC;EACC;AAMF;AAJE;EACC;AAMH;AAFC;EACC;AAIF;AAFE;EACC;AAIH;AAAC;EACC;AAEF;AAAE;EACC;AAEH;AAEC;EACC;AAAF;AAMC;EACC;AAJF;AAoBE;;;;EACC;EACA;EACA;EACA;AAfH;AAqBE;;EAEC;AAnBH;AAwBE;EACC;AAtBH;;AA2BA;AACA;EACC;AAxBD;;AA4BC;EACC;AAzBF,C","sources":["webpack://popup-maker/core/./packages/block-library/src/lib/cta-button/style.scss?","webpack://popup-maker/core/./packages/block-library/src/lib/cta-buttons/style.scss?"],"sourcesContent":["// This variable is repeated across Button, Buttons, and Buttons editor styles.\n$blocks-block__margin: 0.5em;\n\n// Use our CTA button class but maintain the same styling structure\n.wp-block-popup-maker-cta-button__link {\n\talign-content: center;\n\tbox-sizing: border-box;\n\tcursor: pointer;\n\tdisplay: inline-block;\n\theight: 100%;\n\ttext-align: center;\n\twidth: 100%;\n\tword-break: break-word;\n\n\t&.aligncenter,\n\t&.has-text-align-center {\n\t\ttext-align: center;\n\t}\n\n\t&.alignright,\n\t&.has-text-align-right {\n\t\t/*rtl:ignore*/\n\t\ttext-align: right;\n\t}\n\n\t&.alignleft,\n\t&.has-text-align-left {\n\t\t/*rtl:ignore*/\n\t\ttext-align: left;\n\t}\n}\n\n// Keep low specificity for theme.json compatibility\n:where(.wp-block-popup-maker-cta-button__link) {\n\tborder-radius: 9999px;\n\tbox-shadow: none;\n\tpadding: 1rem 2.25rem;\n\ttext-decoration: none;\n}\n\n// Inherit text decoration\n.wp-block-popup-maker-cta-button[style*=\"text-decoration\"] .wp-block-popup-maker-cta-button__link {\n\ttext-decoration: inherit;\n}\n\n// Width controls - updated for our namespace\n.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button {\n\t&.has-custom-width {\n\t\tmax-width: none;\n\n\t\t.wp-block-popup-maker-cta-button__link {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t&.has-custom-font-size {\n\t\t.wp-block-popup-maker-cta-button__link {\n\t\t\tfont-size: inherit;\n\t\t}\n\t}\n\n\t&.wp-block-popup-maker-cta-button__width-25 {\n\t\twidth: calc(25% - (var(--wp--style--block-gap, #{$blocks-block__margin}) * 0.75));\n\t}\n\n\t&.wp-block-popup-maker-cta-button__width-50 {\n\t\twidth: calc(50% - (var(--wp--style--block-gap, #{$blocks-block__margin}) * 0.5));\n\t}\n\n\t&.wp-block-popup-maker-cta-button__width-75 {\n\t\twidth: calc(75% - (var(--wp--style--block-gap, #{$blocks-block__margin}) * 0.25));\n\t}\n\n\t&.wp-block-popup-maker-cta-button__width-100 {\n\t\twidth: 100%;\n\t\tflex-basis: 100%;\n\t}\n}\n\n// Vertical buttons layout\n.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button {\n\t&.wp-block-popup-maker-cta-button__width-25 {\n\t\twidth: 25%;\n\t}\n\n\t&.wp-block-popup-maker-cta-button__width-50 {\n\t\twidth: 50%;\n\t}\n\n\t&.wp-block-popup-maker-cta-button__width-75 {\n\t\twidth: 75%;\n\t}\n}\n\n// Style variations\n.wp-block-popup-maker-cta-button.is-style-squared,\n.wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button.is-style-squared {\n\tborder-radius: 0;\n}\n\n.wp-block-popup-maker-cta-button.no-border-radius,\n.wp-block-popup-maker-cta-button__link.no-border-radius {\n\tborder-radius: 0 !important;\n}\n\n// Outline style variation with global styles compatibility\n:root {\n\n\t:where(.wp-block-popup-maker-cta-button) {\n\t\tfont-family: inherit;\n\t\tfont-size: var(--wp--preset--font-size--medium);\n\t\tfont-style: normal;\n\t\tline-height: inherit;\n\t}\n\n\t/* Default button styles where not another style is applied */\n\t:where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline) {\n\t\tbackground-color: var(--wp--preset--color--contrast);\n\t\tcolor: var(--wp--preset--color--base);\n\t\tborder-color: var(--wp--preset--color--contrast);\n\t}\n\n\t/* Hover styles for default (fill) button - works with theme colors */\n\t:where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline):hover {\n\t\tbackground-color: color-mix(in srgb, var(--wp--preset--color--contrast) 85%, transparent);\n\t\tborder-color: transparent;\n\t\tcolor: var(--wp--preset--color--base);\n\t}\n\n\t:where(.wp-block-popup-maker-cta-button.is-style-outline > .wp-block-popup-maker-cta-button__link),\n\t:where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline) {\n\t\tborder: 1px solid currentColor;\n\t\tpadding: calc(1rem - 1px) calc(2.25rem - 1px);\n\t}\n\n\t:where(.wp-block-popup-maker-cta-button.is-style-outline > .wp-block-popup-maker-cta-button__link:not(.has-text-color)),\n\t:where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline:not(.has-text-color)) {\n\t\tcolor: currentColor;\n\t}\n\n\t:where(.wp-block-popup-maker-cta-button.is-style-outline > .wp-block-popup-maker-cta-button__link:not(.has-background)),\n\t:where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline:not(.has-background)) {\n\t\tbackground-color: transparent;\n\t\tbackground-image: none;\n\t}\n\n\t/* Hover styles for outline button - works with theme colors */\n\t:where(.wp-block-popup-maker-cta-button.is-style-outline > .wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button__link:not(.has-background):hover) {\n\t\tbackground-color: color-mix(in srgb, var(--wp--preset--color--contrast) 5%, transparent);\n\t}\n}\n\n// Universal hover styles that work with custom colors set by users\n.wp-block-popup-maker-cta-button__link:hover {\n\t// For buttons with custom background colors (inline styles)\n\t&[style*=\"background-color\"]:not(.is-style-outline) {\n\t\tfilter: brightness(0.85);\n\t}\n\n\t// For buttons with custom background colors using CSS classes\n\t&.has-background:not(.is-style-outline):hover {\n\t\tfilter: brightness(0.85);\n\t}\n\n\t// For outline buttons with custom colors\n\t&.is-style-outline:hover {\n\t\tfilter: brightness(1.05);\n\t}\n}\n\n// Fallback hover styles for browsers that don't support color-mix\n@supports not (background-color: color-mix(in srgb, red 50%, blue)) {\n\t:where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline):hover {\n\t\tfilter: brightness(0.85);\n\t}\n\n\t:where(.wp-block-popup-maker-cta-button.is-style-outline > .wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button__link:not(.has-background):hover) {\n\t\tfilter: brightness(1.05);\n\t}\n}\n\n.wp-block-popup-maker-cta-button {\n\tcursor: text;\n\tposition: relative;\n}\n","/**\n * This variable is repeated across Button, Buttons, and Buttons editor styles.\n */\n$blocks-block__margin: 0.5em;\n\n.wp-block-popup-maker-cta-buttons {\n\t/**\n\t * This block has customizable padding, border-box makes that more predictable.\n\t */\n\tbox-sizing: border-box;\n\n\t&.is-vertical {\n\t\tflex-direction: column;\n\n\t\t>.wp-block-popup-maker-cta-button {\n\t\t\t&:last-child {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Increased specificity to override blocks default margin.\n\t */\n\t>.wp-block-popup-maker-cta-button {\n\t\tdisplay: inline-block;\n\t\tmargin: 0;\n\t}\n\n\t&.is-content-justification-left {\n\t\tjustify-content: flex-start;\n\n\t\t&.is-vertical {\n\t\t\talign-items: flex-start;\n\t\t}\n\t}\n\n\t&.is-content-justification-center {\n\t\tjustify-content: center;\n\n\t\t&.is-vertical {\n\t\t\talign-items: center;\n\t\t}\n\t}\n\n\t&.is-content-justification-right {\n\t\tjustify-content: flex-end;\n\n\t\t&.is-vertical {\n\t\t\talign-items: flex-end;\n\t\t}\n\t}\n\n\t&.is-content-justification-space-between {\n\t\tjustify-content: space-between;\n\t}\n\n\t/**\n\t * Kept for backward compatibility.\n\t */\n\t&.aligncenter {\n\t\ttext-align: center;\n\t}\n\n\t/**\n\t * Back compat: Inner button blocks previously had their own alignment\n\t * options. Forcing them to 100% width in the flex container replicates\n\t * that these were block level elements that took up the full width.\n\t *\n\t * This back compat rule is ignored if the user decides to use the\n\t * newer justification options on the button block, hence the :not.\n\t */\n\t/* stylelint-disable @stylistic/indentation -- Disable the stylelint rule, otherwise this selector is ugly! */\n\t&:not(.is-content-justification-space-between,\n\t\t.is-content-justification-right,\n\t\t.is-content-justification-left,\n\t\t.is-content-justification-center) {\n\t\t.wp-block-popup-maker-cta-button.aligncenter {\n\t\t\t/* stylelint-enable @stylistic/indentation */\n\t\t\tmargin-left: auto;\n\t\t\tmargin-right: auto;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t&[style*=\"text-decoration\"] {\n\n\t\t.wp-block-popup-maker-cta-button,\n\t\t.wp-block-popup-maker-cta-button__link {\n\t\t\ttext-decoration: inherit;\n\t\t}\n\t}\n\n\t&.has-custom-font-size {\n\t\t.wp-block-popup-maker-cta-button__link {\n\t\t\tfont-size: inherit;\n\t\t}\n\t}\n}\n\n/* Legacy buttons that did not come in a wrapping container. */\n.wp-block-popup-maker-cta-button.aligncenter {\n\ttext-align: center;\n}\n\n:root {\n\t.wp-block-popup-maker-cta-buttons.is-layout-flex:not([class*=\"wp-container-popup-maker-cta-buttons-is-layout-\"]) {\n\t\tgap: 16px;\n\t}\n}"],"names":[],"sourceRoot":""} dist/packages/block-library-rtl.css 0000644 00000020506 15174671772 0013356 0 ustar 00 .wp-block[data-align=center]>.wp-block-popup-maker-cta-button{margin-right:auto;margin-left:auto;text-align:center}.wp-block[data-align=right]>.wp-block-popup-maker-cta-button{text-align:left}.wp-block-popup-maker-cta-button{cursor:text;position:relative}.wp-block-popup-maker-cta-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color);outline:2px solid #0000;outline-offset:-2px}.wp-block-popup-maker-cta-button[data-rich-text-placeholder]:after{opacity:.8}div[data-type="popup-maker/cta-button"]{display:table}.pum-cta-error-notice{margin-bottom:10px} .wp-block-popup-maker-cta-button__link{align-content:center;box-sizing:border-box;cursor:pointer;display:inline-block;height:100%;text-align:center;width:100%;word-break:break-word}.wp-block-popup-maker-cta-button__link.aligncenter,.wp-block-popup-maker-cta-button__link.has-text-align-center{text-align:center}.wp-block-popup-maker-cta-button__link.alignright,.wp-block-popup-maker-cta-button__link.has-text-align-right{text-align:left}.wp-block-popup-maker-cta-button__link.alignleft,.wp-block-popup-maker-cta-button__link.has-text-align-left{text-align:right}:where(.wp-block-popup-maker-cta-button__link){border-radius:9999px;box-shadow:none;padding:1rem 2.25rem;text-decoration:none}.wp-block-popup-maker-cta-button[style*=text-decoration] .wp-block-popup-maker-cta-button__link{text-decoration:inherit}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.has-custom-width{max-width:none}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.has-custom-width .wp-block-popup-maker-cta-button__link{width:100%}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.has-custom-font-size .wp-block-popup-maker-cta-button__link{font-size:inherit}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-100{flex-basis:100%;width:100%}.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-25{width:25%}.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-50{width:50%}.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-75{width:75%}.wp-block-popup-maker-cta-button.is-style-squared,.wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button.is-style-squared{border-radius:0}.wp-block-popup-maker-cta-button.no-border-radius,.wp-block-popup-maker-cta-button__link.no-border-radius{border-radius:0!important}:root :where(.wp-block-popup-maker-cta-button){font-family:inherit;font-size:var(--wp--preset--font-size--medium);font-style:normal;line-height:inherit}:root :where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline){background-color:var(--wp--preset--color--contrast);border-color:var(--wp--preset--color--contrast);color:var(--wp--preset--color--base)}:root :where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline):hover{background-color:color-mix(in srgb,var(--wp--preset--color--contrast) 85%,#0000);border-color:#0000;color:var(--wp--preset--color--base)}:root :where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline),:root :where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link){border:1px solid;padding:calc(1rem - 1px) calc(2.25rem - 1px)}:root :where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline:not(.has-text-color)),:root :where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link:not(.has-text-color)){color:currentColor}:root :where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline:not(.has-background)),:root :where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link:not(.has-background)){background-color:#0000;background-image:none}:root :where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button__link:not(.has-background):hover){background-color:color-mix(in srgb,var(--wp--preset--color--contrast) 5%,#0000)}.wp-block-popup-maker-cta-button__link:hover.has-background:not(.is-style-outline):hover,.wp-block-popup-maker-cta-button__link:hover[style*=background-color]:not(.is-style-outline){filter:brightness(.85)}.wp-block-popup-maker-cta-button__link:hover.is-style-outline:hover{filter:brightness(1.05)}@supports not (background-color:color-mix(in srgb,red 50%,blue)){:where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline):hover{filter:brightness(.85)}:where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button__link:not(.has-background):hover){filter:brightness(1.05)}}.wp-block-popup-maker-cta-button{cursor:text;position:relative} .wp-block-popup-maker-cta-buttons>.wp-block{margin:0}.wp-block-popup-maker-cta-buttons>.block-list-appender{align-items:center;display:inline-flex}.wp-block-popup-maker-cta-buttons.is-vertical>.block-list-appender .block-list-appender__toggle{justify-content:flex-start}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button:focus{box-shadow:none}.wp-block-popup-maker-cta-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center]{margin-right:auto;margin-left:auto;margin-top:0;width:100%}.wp-block-popup-maker-cta-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center] .wp-block-popup-maker-cta-button{margin-bottom:0}.wp-block[data-align=center]>.wp-block-popup-maker-cta-buttons{align-items:center;justify-content:center}.wp-block[data-align=right]>.wp-block-popup-maker-cta-buttons{justify-content:flex-end} .wp-block-popup-maker-cta-buttons{box-sizing:border-box}.wp-block-popup-maker-cta-buttons.is-vertical{flex-direction:column}.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button:last-child{margin-bottom:0}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button{display:inline-block;margin:0}.wp-block-popup-maker-cta-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-popup-maker-cta-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-popup-maker-cta-buttons.is-content-justification-center{justify-content:center}.wp-block-popup-maker-cta-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-popup-maker-cta-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-popup-maker-cta-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-popup-maker-cta-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-popup-maker-cta-buttons.aligncenter{text-align:center}.wp-block-popup-maker-cta-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-popup-maker-cta-button.aligncenter{margin-right:auto;margin-left:auto;width:100%}.wp-block-popup-maker-cta-buttons[style*=text-decoration] .wp-block-popup-maker-cta-button,.wp-block-popup-maker-cta-buttons[style*=text-decoration] .wp-block-popup-maker-cta-button__link{text-decoration:inherit}.wp-block-popup-maker-cta-buttons.has-custom-font-size .wp-block-popup-maker-cta-button__link{font-size:inherit}.wp-block-popup-maker-cta-button.aligncenter{text-align:center}:root .wp-block-popup-maker-cta-buttons.is-layout-flex:not([class*=wp-container-popup-maker-cta-buttons-is-layout-]){gap:16px} dist/packages/data.js 0000644 00000001520 15174671772 0010553 0 ustar 00 (()=>{"use strict";var e={d:(r,t)=>{for(var o in t)e.o(t,o)&&!e.o(r,o)&&Object.defineProperty(r,o,{enumerable:!0,get:t[o]})},o:(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},r={};e.r(r),e.d(r,{registry:()=>p});const t=window.wp.hooks,o=window.wp.data,i=window.wp.coreData,a=window.wp.notices,n=window.popupMaker.coreData,p=(0,o.createRegistry)({});p.register(i.store),p.register(a.store),p.register(n.callToActionStore),p.register(n.licenseStore),p.register(n.settingsStore),p.register(n.popupStore),p.register(n.urlSearchStore),document.addEventListener("DOMContentLoaded",()=>{(0,t.doAction)("popup-maker.data.registry",p)}),(window.popupMaker=window.popupMaker||{}).data=r})(); dist/packages/cta-editor.js 0000644 00000063517 15174671772 0011713 0 ustar 00 (()=>{"use strict";var t={n:e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return t.d(a,{a}),a},d:(e,a)=>{for(var r in a)t.o(a,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{BaseEditor:()=>ct,DEBUG_MODE:()=>Gt,Editor:()=>Vt,EditorHeaderActionsRegistry:()=>d,EditorHeaderOptionsRegistry:()=>P,getEditorHeaderActions:()=>p,getEditorHeaderOptions:()=>g,registerEditorHeaderAction:()=>u,registerEditorHeaderActionGroup:()=>S,registerEditorHeaderOption:()=>G,registerEditorHeaderOptionGroup:()=>m,useAllFieldErrors:()=>q,useEditor:()=>$,useEditorHeaderActions:()=>h,useEditorHeaderOptions:()=>V,useFieldError:()=>L,useFields:()=>X,useTabErrors:()=>U,useTabHasError:()=>Z,withDataStore:()=>dt,withModal:()=>pt,withQueryParams:()=>Pt});var a={};t.r(a),t.d(a,{historyEditorHeaderAction:()=>w,statusEditorHeaderAction:()=>j});var r={};t.r(r),t.d(r,{deleteBulkAction:()=>D});var o={};t.r(o),t.d(o,{Component:()=>ot,default:()=>it,getCallToActionTypeOptions:()=>rt,name:()=>et,title:()=>at});var i={};t.r(i),t.d(i,{generalTab:()=>o});const s=window.wp.domReady;var n=t.n(s);const l=window.wp.hooks,c=window.popupMaker.registry,d=(0,c.createRegistry)({name:"cta-editor/editor-header-actions",groups:{general:{priority:10}},defaultGroup:"general"}),h=()=>d.useItems(),u=d.register,S=d.registerGroup,p=()=>d.getItems(),P=(0,c.createRegistry)({name:"cta-editor/editor-header-options",groups:{general:{priority:10}}}),V=()=>P.useItems(),G=P.register,m=P.registerGroup,g=()=>P.getItems(),v=window.popupMaker.i18n,f=window.popupMaker.coreData,E=window.wp.components,b=window.wp.data,x=window.ReactJSXRuntime,w={id:"history",priority:99,render:({values:t})=>{const e=(0,b.useSelect)(t=>t(f.callToActionStore).isResolving("updateCallToAction"),[]),{hasUndo:a,hasRedo:r,hasEdits:o}=(0,b.useSelect)(e=>{if(!t.id)return{hasUndo:!1,hasRedo:!1,hasEdits:!1};const a=e(f.callToActionStore);return{hasUndo:a.hasUndo(t.id),hasRedo:a.hasRedo(t.id),hasEdits:a.hasEdits(t.id)}},[t,e]),{undo:i,redo:s}=(0,b.useDispatch)(f.callToActionStore);return(0,x.jsx)(x.Fragment,{children:o&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(E.Button,{disabled:e||!a,variant:"tertiary",icon:"undo","aria-label":(0,v.__)("Undo","popup-maker"),onClick:()=>i(t.id)}),(0,x.jsx)(E.Button,{disabled:e||!r,variant:"tertiary",icon:"redo","aria-label":(0,v.__)("Redo","popup-maker"),onClick:()=>s(t.id)})]})})}};function C(t){var e,a,r="";if("string"==typeof t||"number"==typeof t)r+=t;else if("object"==typeof t)if(Array.isArray(t)){var o=t.length;for(e=0;e<o;e++)t[e]&&(a=C(t[e]))&&(r&&(r+=" "),r+=a)}else for(a in t)t[a]&&(r&&(r+=" "),r+=a);return r}const T=function(){for(var t,e,a=0,r="",o=arguments.length;a<o;a++)(t=arguments[a])&&(e=C(t))&&(r&&(r+=" "),r+=e);return r},j={id:"status",priority:100,render:({values:t})=>{const e=(0,b.useSelect)(t=>t(f.callToActionStore).isResolving("updateCallToAction"),[]),{updateEditorValues:a}=(0,b.useDispatch)(f.callToActionStore);return(0,x.jsx)("div",{className:T(["call-to-action-enabled-toggle","publish"===t?.status?"enabled":"disabled"]),style:{minWidth:"11.5ch"},children:(0,x.jsx)(E.ToggleControl,{disabled:e,label:"publish"===t?.status?(0,v.__)("Enabled","popup-maker"):(0,v.__)("Disabled","popup-maker"),checked:"publish"===t?.status,onChange:e=>a({id:t.id,status:e?"publish":"draft"}),__nextHasNoMarginBottom:!0})})}},_=window.popupMaker.components,k=window.wp.element,y=((0,k.forwardRef)(({icon:t,size:e=24,...a},r)=>(0,k.cloneElement)(t,{width:e,height:e,...a,ref:r})),window.wp.primitives),A=(y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.Circle,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,(0,x.jsx)(y.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,x.jsx)(y.Path,{d:"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm3.8 10.7-1.1 1.1-2.7-2.7-2.7 2.7-1.1-1.1 2.7-2.7-2.7-2.7 1.1-1.1 2.7 2.7 2.7-2.7 1.1 1.1-2.7 2.7 2.7 2.7Z"})})),N=(y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,(0,x.jsx)(y.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,x.jsx)(y.Path,{d:"m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z"})})),O=(y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.Path,y.Circle,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.G,y.Path,y.Path,y.SVG,y.G,y.Path,y.Path,y.SVG,y.G,y.Path,y.Path,y.SVG,y.G,y.Path,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,(0,x.jsx)(y.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,x.jsx)(y.Path,{d:"M10 17.389H8.444A5.194 5.194 0 1 1 8.444 7H10v1.5H8.444a3.694 3.694 0 0 0 0 7.389H10v1.5ZM14 7h1.556a5.194 5.194 0 0 1 0 10.39H14v-1.5h1.556a3.694 3.694 0 0 0 0-7.39H14V7Zm-4.5 6h5v-1.5h-5V13Z"})})),M=(y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,(0,x.jsx)(y.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,x.jsx)(y.Path,{d:"M11 13h2v-2h-2v2zm-6 0h2v-2H5v2zm12-2v2h2v-2h-2z"})})),F=(0,x.jsx)(y.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,x.jsx)(y.Path,{d:"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z"})}),D=(y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.Path,y.SVG,y.Path,y.Path,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.Path,y.SVG,y.Path,y.Path,y.Path,y.SVG,y.Path,y.Path,y.SVG,y.Path,y.Path,y.SVG,y.Path,y.Path,y.SVG,y.Path,y.Path,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,y.SVG,y.Path,{id:"delete",group:"trash",priority:6,render:({values:t,closeModal:e})=>{const[a,r]=(0,k.useState)(!1),o=(0,k.useRef)(a),[i,s]=(0,k.useState)();(0,k.useEffect)(()=>{o.current=a},[a]);const{deleteCallToAction:n}=(0,b.useDispatch)(f.callToActionStore),l=(0,k.useCallback)(()=>{n(t.id,o.current),e()},[n,t.id,e]);return(0,x.jsxs)(x.Fragment,{children:[i&&(0,x.jsxs)(_.ConfirmDialogue,{...i,onClose:()=>{s(void 0)},children:[(0,x.jsx)("p",{children:(0,v.__)("Are you sure you want to delete this call to action?","popup-maker")}),(0,x.jsx)(E.ToggleControl,{label:(0,v.__)("Permanently delete all associated content","popup-maker"),checked:a,onChange:r})]}),(0,x.jsx)(E.Button,{text:(0,v.__)("Delete","popup-maker"),icon:A,isDestructive:!0,onClick:()=>{s({isDestructive:!0,callback:l})}})]})}}),R=window.popupMaker.utils,I=window.wp.url,H=window.popupMaker.useQueryParams;let B=!1;const $=()=>{const{isEditorActive:t,editorId:e}=(0,b.useSelect)(t=>{const e=t(f.callToActionStore);return{editorId:e.getEditorId(),isEditorActive:e.isEditorActive()}},[]),{changeEditorId:a}=(0,b.useDispatch)(f.callToActionStore),[r,o]=(0,H.useQueryParams)({edit:H.NumberParam,add:H.BooleanParam,tab:H.StringParam}),{edit:i,tab:s}=r;return(0,k.useEffect)(()=>{if(B)return;B=!0;const t=i&&i>0?i:void 0;t&&!e&&a(t)},[]),{tab:null===s?void 0:s,setTab:t=>o({tab:t}),setEditorId:(0,k.useCallback)(t=>{a(t),o({edit:t})},[a,o]),clearEditorParams:()=>{a(void 0),o({add:void 0,edit:void 0,tab:void 0})},editorId:e,isEditorActive:t}},X=()=>{const{updateEditorValues:t}=(0,b.useDispatch)(f.callToActionStore),{values:e}=(0,b.useSelect)(t=>{const e=t(f.callToActionStore);return{values:e.getCurrentEditorValues(),isEditorActive:e.isEditorActive()}},[]),a=(0,k.useMemo)(()=>null!=e?e:f.defaultCtaValues,[e]),{settings:r}=a,o=(0,k.useCallback)(e=>{t({...a,settings:{...a.settings,...e}})},[t,a]),i=(t,e)=>{const a=(0,l.applyFilters)("popupMaker.callToActionEditor.fieldIsVisible",void 0,t,r,e);return void 0===a||a},s=(0,k.useMemo)(()=>(0,l.applyFilters)("popupMaker.callToActionEditor.tabFields",{},r,o),[r,o]);return{values:e,fieldIsVisible:i,getTabFields:t=>{var e;return(0,l.applyFilters)(`popupMaker.callToActionEditor.tabFields.${t}`,null!==(e=s[t])&&void 0!==e?e:[],r,o).sort((t,e)=>t.priority-e.priority).filter(e=>i(e.id,t)).map(e=>{const a=(0,l.applyFilters)("popupMaker.callToActionEditor.renderField",e.component,e.id,t);return{...e,component:a}})},updateSettings:o,updateField:(t,e)=>{o({[t]:e})}}},z=window.wp.notices,L=t=>{const e=(0,b.useSelect)(t=>t(f.callToActionStore).getEditorId(),[]),{removeNotice:a}=(0,b.useDispatch)(z.store);return{error:(0,b.useSelect)(a=>{const r=a(z.store).getNotices(f.NOTICE_CONTEXT).find(a=>a.id===`field-error-${e||"new"}-${t}`);return r?.content||null},[e,t]),clearError:(0,k.useCallback)(()=>{void 0!==e&&a(`field-error-${e||"new"}-${t}`,f.NOTICE_CONTEXT)},[e,t,a])}},U=t=>{const e=(0,b.useSelect)(t=>t(f.callToActionStore).getEditorId(),[]),{removeNotice:a}=(0,b.useDispatch)(z.store),{getTabFields:r}=X(),o=(0,b.useSelect)(a=>{const o=a(z.store).getNotices(f.NOTICE_CONTEXT),i=r(t),s=new Set(i.map(t=>t.id));return o.filter(t=>{if(!t.id?.startsWith(`field-error-${e||"new"}-`))return!1;const a=t.id.match(/field-error-(?:\d+|new)-(.+)$/),r=a?.[1];return r&&s.has(r)})},[e,t]),i=o.length>0,s=o.length,n=o.map(t=>t.id);return{hasErrors:i,errorCount:s,clearTabErrors:(0,k.useCallback)(()=>{n.forEach(t=>a(t,f.NOTICE_CONTEXT))},[n,a])}},Z=t=>{const{hasErrors:e}=U(t);return e},q=()=>{const t=(0,b.useSelect)(t=>t(f.callToActionStore).getEditorId(),[]),{removeNotice:e}=(0,b.useDispatch)(z.store),a=(0,b.useSelect)(e=>{const a=e(z.store).getNotices(f.NOTICE_CONTEXT),r={};return a.forEach(e=>{const a=e.id?.match(new RegExp(`^field-error-${t||"new"}-(.+)$`));a&&(r[a[1]]=e.content)}),r},[t]),r=(0,b.useSelect)(e=>{const a=e(z.store).getNotices(f.NOTICE_CONTEXT),r=[];return a.forEach(e=>{const a=e.id?.match(new RegExp(`^field-error-${t||"new"}-(.+)$`));a&&r.push(e.id)}),r},[t]),o=(0,k.useCallback)(()=>{r.forEach(t=>e(t,f.NOTICE_CONTEXT))},[r,e]),i=(0,k.useCallback)(a=>{void 0!==t&&e(`field-error-${t||"new"}-${a}`,f.NOTICE_CONTEXT)},[t,e]);return{errors:a,hasAnyError:Object.keys(a).length>0,clearAllErrors:o,clearFieldError:i}},Q=window.React,W=({fieldId:t,title:e,error:a,className:r,children:o})=>{const i=null!=a&&""!==a;return(0,x.jsx)(E.Panel,{header:e,className:T("components-field-panel","cta-field-wrapper",`cta-field-wrapper--${t}`,{"cta-field-wrapper--has-error":i},r),children:(0,x.jsxs)(E.PanelBody,{opened:!0,children:[o,i&&(0,x.jsx)("div",{className:"cta-field-error",children:a})]})})},J=()=>{const t=(0,b.useSelect)(t=>t(z.store).getNotices(f.NOTICE_CONTEXT),[]);return Gt?0===t.length?(0,x.jsx)("div",{style:{padding:"10px",background:"#f0f0f0",margin:"10px 0",fontSize:"12px",fontFamily:"monospace"},children:(0,x.jsx)("strong",{children:`Debug: No notices found in context "${f.NOTICE_CONTEXT}"`})}):(0,x.jsxs)("div",{style:{padding:"10px",background:"#ffeeee",margin:"10px 0",fontSize:"12px",fontFamily:"monospace",border:"1px solid #cc1818"},children:[(0,x.jsx)("strong",{children:`Debug: Notices in context "${f.NOTICE_CONTEXT}":`}),(0,x.jsx)("ul",{style:{margin:"5px 0 0 20px",padding:0},children:t.map(t=>(0,x.jsxs)("li",{style:{marginBottom:"3px"},children:[(0,x.jsx)("strong",{children:t.id}),": ",t.content," ","(status: ",t.status,")"]},t.id))})]}):null},K=window.popupMaker.fields,Y=({fieldId:t,field:e,value:a,onChange:r})=>{var o;const{error:i,clearError:s}=L(t),n=t=>{i&&s(),r(t)};return(0,x.jsx)(W,{fieldId:t,title:null!==(o=e.label)&&void 0!==o?o:"",error:i,children:"url"===e.type?(0,x.jsx)(_.URLControl,{...e,value:a,onChange:t=>n(t.url)}):(0,x.jsx)(K.Field,{...e,value:a,onChange:n})})},tt=({tabName:t,message:e=(0,v.__)("Please fix the errors below.","popup-maker")})=>{const{hasErrors:a}=U(t),[r,o]=(0,Q.useState)(!1),i=(0,Q.useRef)(null),s=(0,Q.useRef)(!1),n=(0,Q.useRef)(!1),l=(0,b.useSelect)(t=>t(f.callToActionStore).isResolving("updateCallToAction"),[]);return(0,Q.useEffect)(()=>{i.current&&(clearTimeout(i.current),i.current=null);const t=a&&!s.current,e=n.current&&!l;return a&&(t||e)?(o(!0),Gt||(i.current=setTimeout(()=>{o(!1)},3e3))):a||o(!1),s.current=a,n.current=l,()=>{i.current&&clearTimeout(i.current)}},[a,l]),r?(0,x.jsx)(E.Notice,{status:"error",isDismissible:!1,children:e}):null},et="general",at=(0,v.__)("General","popup-maker"),rt=()=>{const{cta_types:t={}}=window.popupMakerCtaEditor||{},e=Object.values(t).map(t=>({value:t.key,label:t.label}));return(0,l.applyFilters)("popupMaker.callToActionEditor.typeOptions",[{value:"",label:(0,v.__)("Select a type","popup-maker")},...e])},ot=({callToAction:t,updateFields:e,updateSettings:a})=>{var r,o,i,s,n;const{getTabFields:l}=X(),{clearAllErrors:c}=q(),{settings:d}=t,h=(null!==(r=t.excerpt)&&void 0!==r?r:"").length/80,u=(0,R.clamp)(h,1,5),S=rt();return(0,x.jsxs)("div",{className:"general-tab",children:[(0,x.jsx)(tt,{tabName:"general"}),(0,x.jsx)(E.TextControl,{label:(0,v.__)("Name","popup-maker"),placeholder:(0,v.__)("Name…","popup-maker"),className:"title-field",value:null!==(o=t.title)&&void 0!==o?o:"",onChange:t=>e({title:t,slug:(0,I.cleanForSlug)(t)}),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),(0,x.jsx)(E.TextareaControl,{rows:u,scrolling:u>5?"auto":"no",label:(0,v.__)("Description","popup-maker"),placeholder:(0,v.__)("Add description…","popup-maker"),className:"description-field",value:null!==(i=t.excerpt)&&void 0!==i?i:"",onChange:t=>e({excerpt:t}),__nextHasNoMarginBottom:!0}),(null!==(s=t.title)&&void 0!==s?s:"").length<=0&&(0,x.jsx)(E.Notice,{status:"warning",isDismissible:!1,className:"title-field-notice",children:(0,v.__)("Enter a label for this set.","popup-maker")}),S.length>1&&(0,x.jsx)(E.SelectControl,{label:(0,v.__)("Action Type","popup-maker"),options:S,value:null!==(n=d.type)&&void 0!==n?n:"",onChange:t=>{c(),a({type:t})},__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),l("general").map(t=>(0,x.jsx)(k.Fragment,{children:t.component},t.id))]})},it=ot,{cta_types:st}=window.popupMakerCtaEditor,nt=()=>{(0,l.addFilter)("popupMaker.callToActionEditor.tabFields","popup-maker",(t,e,a)=>{const r=(o=e.type,null!==(i=Object.values(st).find(t=>t.key===o)?.fields)&&void 0!==i?i:{});var o,i;return 0===Object.keys(r).length?t:Object.entries(r).reduce((t,[r,o])=>(t[r]||(t[r]=[]),t[r]=[...t[r],...Object.entries(o).map(([t,r])=>{var o;return r&&r.type?{...r,id:t,priority:null!==(o=r?.priority)&&void 0!==o?o:0,component:(0,x.jsx)(k.Fragment,{children:!(()=>{if(!r.dependencies)return!1;const t=r.dependencies;return!Object.entries(t).every(([t,a])=>{const r=e[t];return"string"==typeof a?void 0===r?""===a:a===r:"boolean"==typeof a&&(void 0===r?!1===a:a===r)})})()&&(0,x.jsx)(Y,{fieldId:t,field:r,value:e[t],onChange:e=>a({[t]:e})})},t)}:null}).filter(t=>null!==t)],t),{...t})})};let lt=!1;const ct=({afterTabs:t,beforeTabs:e,className:a,...r})=>{var o;const[i,s]=(0,_.useControlledState)(r.tab,"general",r.setTab),[n,c]=(0,_.useControlledState)(r.values,f.defaultCtaValues,null!==(o=r.onChange)&&void 0!==o?o:R.noop),d=(0,k.useMemo)(()=>({callToAction:n,onChange:c,updateFields:t=>{c({...n,...t})},updateSettings:t=>{c({...n,settings:{...n.settings,...t}})},updateSetting:(t,e)=>{c({...n,settings:{...n.settings,[t]:e}})}}),[n,c]),{tabsFilter:h}=r,u=(0,k.useMemo)(()=>{const t=(0,l.applyFilters)("popupMaker.callToActionEditor.tabs",[]);return h?h(t):t},[h]),S=u.length>1;return(0,x.jsxs)("div",{className:T("call-to-action-editor",a),children:[e&&(0,x.jsx)("div",{className:"editor-tabs-before",children:e}),(0,x.jsx)("div",{className:"editor-tabs-container",children:S?(0,x.jsx)(E.TabPanel,{orientation:"vertical",initialTabName:null!=i?i:"general",onSelect:s,tabs:u,className:"editor-tabs",children:({Component:t})=>(0,x.jsx)(t,{...d})}):(0,x.jsx)("div",{className:"editor-tab-content",children:(()=>{const t=(()=>{if(0===u.length)return null;const t=u.find(t=>t.name===i)||u[0];return t?.Component})();return t?(0,x.jsx)(t,{...d}):(0,x.jsx)("div",{className:"no-content-available",children:"No content available"})})()})}),t&&(0,x.jsx)("div",{className:"editor-tabs-after",children:t})]})},dt=t=>function({id:e,defaultValues:a=f.defaultCtaValues,onSave:r,...o}){const[i,s]=(0,k.useState)(!1),n=(0,k.useRef)(!1),l=(0,k.useMemo)(()=>({...f.defaultCtaValues,...a,id:e}),[a,e]),{values:c=l,isEditorActive:d,isSaving:h,savedSuccessfully:u,getEditorValues:S}=(0,b.useSelect)(t=>{const a=t(f.callToActionStore),r=a.getResolutionState("createCallToAction")||a.getResolutionState("updateCallToAction");return{values:a.getEditedCallToAction(e),isEditorActive:a.isEditorActive(),isSaving:a.isResolving("updateCallToAction"),getEditorValues:a.getEditedCallToAction,savedSuccessfully:r?.status===f.DispatchStatus.Success}},[e]),{id:p}=c,{editRecord:P,resetRecordEdits:V,changeEditorId:G}=(0,b.useDispatch)(f.callToActionStore),m=(0,b.useSelect)(t=>t(z.store).getNotices(f.NOTICE_CONTEXT).filter(t=>!t.id?.startsWith("field-error-")),[]),{removeNotice:g}=(0,b.useDispatch)(z.store),{clearAllErrors:w}=q();(0,k.useEffect)(()=>(!d&&e&&G(e),()=>{p&&d&&(w(),G(void 0))}),[e,p,d,G]),(0,k.useEffect)(()=>{if(i){if(u&&!n.current){n.current=!0,s(!1);const t=S(c.id);r?.(t||c)}}else h&&(s(!0),n.current=!1)},[r,i,u,S,c,h]);const C=(0,b.useSelect)(t=>t(f.callToActionStore).hasEdits(p),[p]);if((0,k.useEffect)(()=>{const t=t=>{if(C){if(!window.confirm((0,v.__)("Changes you made may not be saved.","popup-maker")))return t.preventDefault(),!1;V(p)}return!0};return window.addEventListener("beforeunload",t),()=>{window.removeEventListener("beforeunload",t)}},[C,p]),!c)return(0,x.jsx)(x.Fragment,{children:(0,v.__)("Editor requires a valid call to action.","popup-maker")});if(!d)return null;const T=()=>(0,x.jsx)(x.Fragment,{children:m.map(t=>(0,x.jsx)(E.Notice,{status:t.status||"error",className:"call-to-action-editor-error",onDismiss:!1!==t.isDismissible?()=>{g(t.id,f.NOTICE_CONTEXT)}:void 0,children:t.content},t.id))}),j=c;return(0,x.jsx)(t,{...o,values:j,onChange:t=>{P(c.id,t)},beforeTabs:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(J,{}),(0,x.jsx)(T,{}),o.beforeTabs]})})},ht=({values:t,closeModal:e})=>{const a=(0,k.useRef)(void 0),r=h(),o={values:t,closeModal:e},i=({group:t})=>{if(!t||t===a.current)return null;const e=a.current;return a.current=t,e?(0,x.jsx)("span",{children:"|"}):null};return(0,x.jsx)(x.Fragment,{children:(a.current=void 0,(0,x.jsx)(x.Fragment,{children:r.map(({id:t,group:e,render:a})=>(0,x.jsxs)(k.Fragment,{children:[(0,x.jsx)(i,{group:e}),(0,x.jsx)(a,{...o})]},t))}))})},ut=window.lodash,St=({values:t,closeModal:e})=>{const a=(0,k.useRef)(void 0),r=(0,k.useRef)(),o=(0,k.useRef)(null),[i,s]=(0,k.useState)(!1),n=(0,ut.debounce)(()=>{s(!i)},100),l=V(),c={values:t,closeModal:e},d=({group:t})=>{if(!t||t===a.current)return null;const e=a.current;return a.current=t,e?(0,x.jsx)("hr",{}):null};return(0,x.jsx)(x.Fragment,{children:(0,x.jsx)(E.Dropdown,{className:"editor-header-options",contentClassName:"editor-header-options__popover",focusOnMount:"firstElement",open:i,popoverProps:{noArrow:!1,placement:"bottom",anchor:{getBoundingClientRect:()=>r.current?.getBoundingClientRect()||new DOMRect},onClose:()=>{n()},onFocusOutside:()=>{n(),o.current=setTimeout(()=>{var t;clearTimeout(null!==(t=o.current)&&void 0!==t?t:void 0),o.current=null},300)}},renderToggle:()=>(0,x.jsx)(E.Button,{className:"popover-toggle",ref:t=>{r.current=t},"aria-label":(0,v.__)("Options","popup-maker"),variant:"link",onClick:()=>{i||o.current||s(!0)},icon:i?F:M,iconSize:20}),renderContent:()=>(a.current=void 0,(0,x.jsx)(E.NavigableMenu,{orientation:"vertical",children:l.map(({id:t,group:e,render:a})=>(0,x.jsxs)(k.Fragment,{children:[(0,x.jsx)(d,{group:e}),(0,x.jsx)(a,{...c})]},t))}))})})},pt=t=>function({closeOnSave:e=!0,showDocumentationLink:a=!0,showActions:r=!0,onClose:o,onRequestClose:i,modalProps:s,...n}){const[l,c]=(0,k.useState)(),d=(0,b.useSelect)(t=>{var e;const a=t(f.callToActionStore);return null!==(e=a.getCurrentEditorValues())&&void 0!==e?e:a.getDefaultValues()},[]),h=(0,b.useSelect)(t=>t(f.callToActionStore).isResolving("updateCallToAction"),[]),{hasEdits:u,getHasEdits:S}=(0,b.useSelect)(t=>{if(!d.id)return{hasEdits:!1,getHasEdits:()=>!1};const e=t(f.callToActionStore);return{hasEdits:e.hasEdits(d.id),getHasEdits:e.hasEdits}},[d,h]),{saveEditorValues:p,resetRecordEdits:P}=(0,b.useDispatch)(f.callToActionStore),{hasAnyError:V}=q(),G=(0,k.useMemo)(()=>s?.title?s.title:d?.id>0?`${(0,v.__)("Edit Call to Action","popup-maker")} #${d.id}${d?.title?` - ${d.title}`:""}`:(0,v.__)("New Call to Action","popup-maker"),[s?.title,d?.id,d?.title]),m=(0,k.useCallback)(()=>{h||(u?c({message:(0,v.__)("Changes you made may not be saved.","popup-maker"),callback:()=>{P(d.id),o?.()},isDestructive:!0}):(P(d.id),o?.()))},[h,o,u]),g=(0,k.useCallback)(async()=>{if(!V)try{await p(),n?.onSave?.(d),!S(d.id)&&e&&m()}catch(t){console.error("Save failed:",t)}},[e,m,S,V]),{id:w}=d;return(0,k.useEffect)(()=>{const t=t=>{if(u){if(!window.confirm((0,v.__)("Changes you made may not be saved.","popup-maker")))return t.preventDefault(),!1;P(w)}return!0};return window.addEventListener("beforeunload",t),()=>{window.removeEventListener("beforeunload",t)}},[u,w]),(0,x.jsxs)(x.Fragment,{children:[l&&(0,x.jsx)(_.ConfirmDialogue,{...l,onClose:()=>c(void 0)}),(0,x.jsxs)(E.Modal,{...s,title:G,className:T("call-to-action-editor-modal",s?.className),onRequestClose:m,shouldCloseOnClickOutside:!0,isDismissible:!1,headerActions:(0,x.jsxs)("div",{className:"editor-header-actions",children:[(0,x.jsx)(ht,{values:d,closeModal:m}),(0,x.jsx)(St,{values:d,closeModal:m}),(0,x.jsx)(E.Button,{className:"close-button",variant:"link",icon:N,"aria-label":(0,v.__)("Close","popup-maker"),onClick:m,style:{color:"currentColor"}})]}),children:[(0,x.jsx)(t,{...n}),r&&(0,x.jsxs)("div",{className:"editor-actions",children:[(0,x.jsx)(E.Button,{text:(0,v.__)("Cancel","popup-maker"),disabled:h,variant:"tertiary",isDestructive:!0,onClick:m,className:"cancel-button"}),(0,x.jsxs)(E.Button,{variant:"primary",disabled:h||!u||V,onClick:t=>{t.preventDefault(),g()},children:[h&&(0,x.jsx)(E.Spinner,{}),"number"==typeof d.id&&d.id>0?(0,v.__)("Save Call to Action","popup-maker"):(0,v.__)("Add Call to Action","popup-maker")]}),a&&(0,x.jsx)(E.Button,{text:(0,v.__)("Documentation","popup-maker"),href:"https://wppopupmaker.com/docs/?utm_campaign=documentation&utm_source=call-to-action-editor&utm_medium=plugin-ui&utm_content=footer-documentation-link",target:"_blank",icon:O,iconSize:20})]})]})]})},Pt=t=>function({onSave:e,onClose:a,...r}){const{tab:o,setTab:i,clearEditorParams:s,editorId:n}=$(),{isEditorActive:l,isSaving:c}=(0,b.useSelect)(t=>{const e=t(f.callToActionStore);return{isEditorActive:e.isEditorActive(),isSaving:e.isResolving("updateCallToAction")}},[]),d=(0,k.useCallback)(t=>{s(),e?.(t)},[e,!0,s]),h=(0,k.useCallback)(()=>{c||(s(),a?.())},[c,s,a]);return l?n?(0,x.jsx)(t,{...r,id:n,tab:o,setTab:i,onSave:d,onClose:h}):(0,x.jsx)(x.Fragment,{children:(0,v.__)("Editor requires a valid id","popup-maker")}):null},Vt=dt(ct),Gt=!1;n()(()=>{lt||((0,l.addFilter)("popupMaker.callToActionEditor.tabs","popup-maker/cta-editor/tabs",t=>[...t,...Object.values(i)]),nt(),Object.values(a).forEach(t=>{u(t)}),Object.values(r).forEach(t=>{G(t)}),lt=!0),(0,l.doAction)("popupMaker.ctaEditor.init")}),(window.popupMaker=window.popupMaker||{}).ctaEditor=e})(); dist/packages/admin-marketing-rtl.css 0000644 00000005431 15174671772 0013671 0 ustar 00 #menu-posts-popup .menu-icon-popup .wp-menu-image>img,#menu-posts-popup .menu-icon-popup .wp-menu-image>svg{width:18px!important}.plugins tr[data-plugin].pum-addon-plugin td.plugin-title .pum-plugin-icon,.plugins tr[data-plugin].pum-main-plugin td.plugin-title .pum-plugin-icon{aspect-ratio:1/1;height:auto!important;opacity:.8;padding-left:.5rem;position:relative;top:-1.5px;transition:all .2s ease-in-out;width:1.375rem!important}.plugins tr[data-plugin].pum-addon-plugin td.plugin-title .pum-toggle-icon,.plugins tr[data-plugin].pum-main-plugin td.plugin-title .pum-toggle-icon{float:none;height:auto;padding:0;width:auto}.plugins tr[data-plugin].pum-addon-plugin td.plugin-title .pum-toggle-icon:before,.plugins tr[data-plugin].pum-main-plugin td.plugin-title .pum-toggle-icon:before{background-color:#0000;box-shadow:none;color:#000;font-size:1em}.plugins tr[data-plugin].pum-addon-plugin td.plugin-title .pum-toggle-icon:hover,.plugins tr[data-plugin].pum-main-plugin td.plugin-title .pum-toggle-icon:hover{color:#2271b1}.plugins tr[data-plugin].pum-addon-plugin.active td.plugin-title .pum-plugin-icon,.plugins tr[data-plugin].pum-addon-plugin:hover td.plugin-title .pum-plugin-icon,.plugins tr[data-plugin].pum-main-plugin.active td.plugin-title .pum-plugin-icon,.plugins tr[data-plugin].pum-main-plugin:hover td.plugin-title .pum-plugin-icon{opacity:1}.plugins tr[data-plugin].pum-addon-plugin:hover td.plugin-title .pum-plugin-icon,.plugins tr[data-plugin].pum-main-plugin:hover td.plugin-title .pum-plugin-icon{transform:scale(1.2)}.plugins tr[data-plugin].pum-addon-plugin.pum-addon-plugin td,.plugins tr[data-plugin].pum-addon-plugin.pum-addon-plugin th,.plugins tr[data-plugin].pum-main-plugin.pum-addon-plugin td,.plugins tr[data-plugin].pum-main-plugin.pum-addon-plugin th{opacity:.875}.plugins tr[data-plugin].pum-addon-plugin.pum-addon-plugin:not(.no-main-plugin) td.plugin-title,.plugins tr[data-plugin].pum-main-plugin.pum-addon-plugin:not(.no-main-plugin) td.plugin-title{padding-right:1.5rem}.plugins tr[data-plugin].pum-addon-plugin.pum-addon-plugin .no-main-plugin td,.plugins tr[data-plugin].pum-addon-plugin.pum-addon-plugin .no-main-plugin th,.plugins tr[data-plugin].pum-main-plugin.pum-addon-plugin .no-main-plugin td,.plugins tr[data-plugin].pum-main-plugin.pum-addon-plugin .no-main-plugin th{opacity:1}.plugins tr[data-plugin].pum-addon-plugin.pum-addon-plugin .no-main-plugin td.plugin-title:before,.plugins tr[data-plugin].pum-main-plugin.pum-addon-plugin .no-main-plugin td.plugin-title:before{right:0}.plugins .pum-addon-plugin+.pum-addon-plugin,.plugins .pum-main-plugin+.pum-addon-plugin{border-top:none!important}.plugins .plugins tr.active td,.plugins .plugins tr.active th,.plugins .plugins tr.active+tr.inactive td,.plugins .plugins tr.active+tr.inactive th{box-shadow:none;-webkit-box-shadow:none} dist/packages/icons.js 0000644 00000071570 15174671772 0010771 0 ustar 00 (()=>{"use strict";var C={d:(e,l)=>{for(var i in l)C.o(l,i)&&!C.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:l[i]})},o:(C,e)=>Object.prototype.hasOwnProperty.call(C,e),r:C=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(C,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(C,"__esModule",{value:!0})}},e={};C.r(e),C.d(e,{Block:()=>o,BlockManager:()=>s,CheckAll:()=>t,CustomRedirect:()=>n,FilterLines:()=>d,Gears:()=>c,Incognito:()=>r,LicenseKey:()=>a,LockedUser:()=>h,Mark:()=>u,MarkColored:()=>p,MarkLight:()=>x,MarkRetro:()=>m,MarkWhite:()=>L,Monitor:()=>w,Permissions:()=>k,ProtectedMessage:()=>j,Upgrade:()=>M});const l=window.wp.primitives,i=window.ReactJSXRuntime,o=(0,i.jsxs)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",className:"pum-icon pum-icon--block",children:[(0,i.jsx)(l.Path,{d:"M3.75 9C3.75 8.30964 4.30964 7.75 5 7.75H19C19.6904 7.75 20.25 8.30964 20.25 9V17C20.25 17.6904 19.6904 18.25 19 18.25H5C4.30964 18.25 3.75 17.6904 3.75 17V9Z",fill:"white",stroke:"#000000",strokeWidth:"1.5"}),(0,i.jsx)(l.Rect,{x:"6",y:"5",width:"5",height:"3",fill:"#000000"}),(0,i.jsx)(l.Rect,{x:"13",y:"5",width:"5",height:"3",fill:"#000000"})]}),s=(0,i.jsx)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"none",className:"pum-icon pum-icon--block-manager",children:(0,i.jsx)(l.Path,{d:"M15.5 9H10.5M15.5 13H10.5M15.5 5H10.5M7 1L7 19M5.8 1H14.2C15.8802 1 16.7202 1 17.362 1.32698C17.9265 1.6146 18.3854 2.07354 18.673 2.63803C19 3.27976 19 4.11984 19 5.8V14.2C19 15.8802 19 16.7202 18.673 17.362C18.3854 17.9265 17.9265 18.3854 17.362 18.673C16.7202 19 15.8802 19 14.2 19H5.8C4.11984 19 3.27976 19 2.63803 18.673C2.07354 18.3854 1.6146 17.9265 1.32698 17.362C1 16.7202 1 15.8802 1 14.2V5.8C1 4.11984 1 3.27976 1.32698 2.63803C1.6146 2.07354 2.07354 1.6146 2.63803 1.32698C3.27976 1 4.11984 1 5.8 1Z",stroke:"#000000",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),n=(0,i.jsx)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",className:"pum-icon pum-icon--custom-redirect",children:(0,i.jsx)(l.Path,{d:"M3.33789 7C5.06694 4.01099 8.29866 2 12.0001 2C17.5229 2 22.0001 6.47715 22.0001 12C22.0001 17.5228 17.5229 22 12.0001 22C8.29866 22 5.06694 19.989 3.33789 17M12 16L16 12M16 12L12 8M16 12H2",stroke:"#000000",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),t=(0,i.jsxs)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",className:"pum-icon pum-icon--check-all",children:[(0,i.jsx)(l.Path,{d:"M8.01251 18.0001C7.74731 18.0001 7.493 17.8947 7.30551 17.7071L4.30551 14.7071C4.11468 14.5229 4.00484 14.2705 4.00016 14.0053C3.99547 13.7401 4.09631 13.4839 4.28051 13.2931C4.4647 13.1023 4.71715 12.9925 4.98233 12.9878C5.2475 12.9831 5.50368 13.0839 5.69451 13.2681L5.71951 13.2931L7.89151 15.4661L15.2035 5.41212C15.3595 5.19756 15.5942 5.05373 15.8562 5.01229C16.1182 4.97084 16.3859 5.03517 16.6005 5.19112C16.8151 5.34706 16.9589 5.58186 17.0003 5.84385C17.0418 6.10583 16.9775 6.37356 16.8215 6.58812L8.82151 17.5881C8.73678 17.7056 8.62753 17.8034 8.50131 17.8745C8.37509 17.9456 8.23492 17.9885 8.09051 18.0001H8.01251Z",fill:"#000000"}),(0,i.jsx)(l.Path,{d:"M19.5125 8.00012H17.5125C17.2364 8.00012 17.0125 8.22398 17.0125 8.50012V9.50012C17.0125 9.77626 17.2364 10.0001 17.5125 10.0001H19.5125C19.7887 10.0001 20.0125 9.77626 20.0125 9.50012V8.50012C20.0125 8.22398 19.7887 8.00012 19.5125 8.00012Z",fill:"#000000"}),(0,i.jsx)(l.Path,{d:"M19.5125 12.0001H14.5125C14.2364 12.0001 14.0125 12.224 14.0125 12.5001V13.5001C14.0125 13.7763 14.2364 14.0001 14.5125 14.0001H19.5125C19.7887 14.0001 20.0125 13.7763 20.0125 13.5001V12.5001C20.0125 12.224 19.7887 12.0001 19.5125 12.0001Z",fill:"#000000"}),(0,i.jsx)(l.Path,{d:"M19.5125 16.0001H11.5125C11.2364 16.0001 11.0125 16.224 11.0125 16.5001V17.5001C11.0125 17.7763 11.2364 18.0001 11.5125 18.0001H19.5125C19.7887 18.0001 20.0125 17.7763 20.0125 17.5001V16.5001C20.0125 16.224 19.7887 16.0001 19.5125 16.0001Z",fill:"#000000"})]}),r=(0,i.jsxs)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 22",fill:"none",className:"pum-icon pum-icon--incognito",children:[(0,i.jsx)(l.Path,{d:"M15.5 21C17.433 21 19 19.433 19 17.5C19 15.567 17.433 14 15.5 14C13.567 14 12 15.567 12 17.5C12 19.433 13.567 21 15.5 21Z",stroke:"#000000",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)(l.Path,{d:"M4.5 21C6.433 21 8 19.433 8 17.5C8 15.567 6.433 14 4.5 14C2.567 14 1 15.567 1 17.5C1 19.433 2.567 21 4.5 21Z",stroke:"#000000",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)(l.Path,{d:"M1 11H19L16 7H4L1 11Z",stroke:"#000000",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)(l.Path,{d:"M4 7L5 1H15L16 7",stroke:"#000000",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)(l.Path,{d:"M12.1 16.713C11.4991 16.2506 10.7622 15.9999 10.004 15.9999C9.24577 15.9999 8.50885 16.2506 7.90796 16.713",stroke:"#000000",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),d=(0,i.jsx)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",className:"pum-icon pum-icon--filter-lines",children:(0,i.jsx)(l.Path,{d:"M6.5 12H16.5M4 7H19M9 17H14",stroke:"#000000",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"})}),c=(0,i.jsxs)(l.SVG,{viewBox:"0 0 512 512",width:512,height:512,fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"pum-icon pum-icon--gears",children:[(0,i.jsx)(l.Path,{d:"M348,327.195v-35.741l-32.436-11.912c-2.825-10.911-6.615-21.215-12.216-30.687l0.325-0.042l15.438-32.153l-25.2-25.269 l-32.118,15.299l-0.031,0.045c-9.472-5.601-19.758-9.156-30.671-11.978L219.186,162h-35.739l-11.913,32.759 c-10.913,2.821-21.213,6.774-30.685,12.379l-0.048-0.248l-32.149-15.399l-25.269,25.219l15.299,32.124l0.05,0.039 c-5.605,9.471-11.159,19.764-13.98,30.675L50,291.454v35.741l34.753,11.913c2.821,10.915,7.774,21.211,13.38,30.685l0.249,0.045 l-15.147,32.147l25.343,25.274l32.188-15.298l0.065-0.046c9.474,5.597,19.782,10.826,30.695,13.652L183.447,460h35.739 l11.915-34.432c10.913-2.826,21.209-7.614,30.681-13.215l0.05-0.175l32.151,15.192l25.267-25.326l-15.299-32.182l-0.046-0.061 c5.601-9.473,8.835-19.776,11.66-30.688L348,327.195z M201.318,368.891c-32.897,0-59.566-26.662-59.566-59.565 c0-32.896,26.669-59.568,59.566-59.568c32.901,0,59.566,26.672,59.566,59.568C260.884,342.229,234.219,368.891,201.318,368.891z"}),(0,i.jsx)(l.Path,{d:"M462.238,111.24l-7.815-18.866l-20.23,1.012c-3.873-5.146-8.385-9.644-13.417-13.42l0.038-0.043l1.06-20.318l-18.859-7.822 L389.385,66.89l-0.008,0.031c-6.229-0.883-12.619-0.933-18.988-0.025L356.76,51.774l-18.867,7.815l1.055,20.32 c-5.152,3.873-9.627,8.422-13.403,13.46l-0.038-0.021l-20.317-1.045l-7.799,18.853l15.103,13.616l0.038,0.021 c-0.731,5.835-1.035,12.658-0.133,19.038l-15.208,13.662l7.812,18.87l20.414-1.086c3.868,5.144,8.472,9.613,13.495,13.385 l0.013,0.025l-1.03,20.312l20.668,7.815L374,201.703v-0.033c4,0.731,10.818,0.935,17.193,0.04l12.729,15.114l18.42-7.813 l-1.286-20.324c5.144-3.875,9.521-8.424,13.297-13.456l-0.023,0.011l20.287,1.047l7.802-18.864l-15.121-13.624l-0.033-0.019 c0.877-6.222,0.852-12.58-0.05-18.953L462.238,111.24z M392.912,165.741c-17.359,7.19-37.27-1.053-44.462-18.421 c-7.196-17.364,1.047-37.272,18.415-44.465c17.371-7.192,37.274,1.053,44.471,18.417 C418.523,138.643,410.276,158.547,392.912,165.741z"})]}),a=(0,i.jsx)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"none",className:"pum-icon pum-icon--license-key",children:(0,i.jsx)(l.Path,{d:"M15 6.99994C15 6.48812 14.8047 5.9763 14.4142 5.58579C14.0237 5.19526 13.5118 5 13 5M13 13C16.3137 13 19 10.3137 19 7C19 3.68629 16.3137 1 13 1C9.68629 1 7 3.68629 7 7C7 7.27368 7.01832 7.54308 7.05381 7.80704C7.11218 8.24118 7.14136 8.45825 7.12172 8.59559C7.10125 8.73865 7.0752 8.81575 7.00469 8.9419C6.937 9.063 6.81771 9.18229 6.57913 9.42087L1.46863 14.5314C1.29568 14.7043 1.2092 14.7908 1.14736 14.8917C1.09253 14.9812 1.05213 15.0787 1.02763 15.1808C1 15.2959 1 15.4182 1 15.6627V17.4C1 17.9601 1 18.2401 1.10899 18.454C1.20487 18.6422 1.35785 18.7951 1.54601 18.891C1.75992 19 2.03995 19 2.6 19H5V17H7V15H9L10.5791 13.4209C10.8177 13.1823 10.937 13.063 11.0581 12.9953C11.1843 12.9248 11.2613 12.8987 11.4044 12.8783C11.5417 12.8586 11.7588 12.8878 12.193 12.9462C12.4569 12.9817 12.7263 13 13 13Z",stroke:"black",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),h=(0,i.jsxs)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 24",fill:"none",className:"pum-icon pum-icon--locked-user",children:[(0,i.jsxs)(l.G,{clipPath:"url(#clip0_203_600)",children:[(0,i.jsx)(l.Path,{d:"M11.5 13C8.676 13 6.171 13.638 4.525 14.193C3.31 14.604 2.5 15.749 2.5 17.032V21C2.5 21 10.458 21 10.5 21",stroke:"#000000",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)(l.Path,{d:"M23.5 18H15.5V23H23.5V18Z",stroke:"#000000",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)(l.Path,{d:"M17.5 18V15C17.5 13.9 18.4 13 19.5 13C20.6 13 21.5 13.9 21.5 15V18",stroke:"#000000",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)(l.Path,{d:"M11.5 13C8.739 13 6.5 9.761 6.5 7V6C6.5 3.239 8.739 1 11.5 1C14.261 1 16.5 3.239 16.5 6V7C16.5 9.761 14.261 13 11.5 13Z",stroke:"#000000",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),(0,i.jsx)(l.Defs,{children:(0,i.jsx)("clipPath",{id:"clip0_203_600",children:(0,i.jsx)(l.Rect,{width:"24",height:"24",transform:"translate(0.5)"})})})]}),u=(0,i.jsxs)(l.SVG,{viewBox:"0 0 179 179",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"pum-icon pum-icon--mark pum-mark pum-mark--dark",children:[(0,i.jsx)(l.Path,{d:"M123.791 119.031C126.05 116.426 127.485 113.209 127.916 109.788C128.347 106.366 127.753 102.894 126.21 99.81L106.595 60.583C105.147 57.6875 102.921 55.2525 100.167 53.5506C97.413 51.8488 94.2394 50.9474 91.0018 50.9474C87.7643 50.9474 84.5907 51.8488 81.8365 53.5506C79.0824 55.2525 76.8565 57.6875 75.4083 60.583L55.7937 99.81C54.2482 102.895 53.653 106.37 54.0835 109.794C54.5141 113.217 55.951 116.436 58.2123 119.043C60.4737 121.649 63.4577 123.526 66.7866 124.436C70.1154 125.346 73.6393 125.247 76.9121 124.153L91.0999 119.445L105.201 124.131C108.457 125.203 111.958 125.291 115.265 124.384C118.571 123.477 121.537 121.615 123.791 119.031V119.031ZM91.0999 68.3848L110.714 107.612L95.9164 102.687C92.7897 101.646 89.4102 101.646 86.2835 102.687L71.4854 107.612L91.0999 68.3848Z",fill:"#1A191B",className:"pum-mark--center-path"}),(0,i.jsx)(l.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M58.5769 25.4737C39.3922 25.4737 23.84 41.026 23.84 60.2106V64.8422C23.84 71.237 18.656 76.4211 12.2611 76.4211C5.8662 76.4211 0.682129 71.237 0.682129 64.8422L0.682129 60.2106C0.682129 28.2362 26.6025 2.31584 58.5769 2.31584L65.5242 2.31584C71.9191 2.31584 77.1032 7.49991 77.1032 13.8948C77.1032 20.2897 71.9191 25.4737 65.5242 25.4737H58.5769Z",fill:"#1DBE61"}),(0,i.jsx)(l.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M58.5769 155.158C39.3922 155.158 23.84 139.606 23.84 120.421V115.79C23.84 109.395 18.656 104.211 12.2611 104.211C5.8662 104.211 0.682129 109.395 0.682129 115.79L0.682129 120.421C0.682129 152.395 26.6025 178.316 58.5769 178.316H65.5242C71.9191 178.316 77.1032 173.132 77.1032 166.737C77.1032 160.342 71.9191 155.158 65.5242 155.158H58.5769Z",fill:"#1DBE61"}),(0,i.jsx)(l.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M121.103 25.4737C140.288 25.4737 155.84 41.026 155.84 60.2106V64.8422C155.84 71.237 161.024 76.4211 167.419 76.4211C173.814 76.4211 178.998 71.237 178.998 64.8422V60.2106C178.998 28.2362 153.078 2.31584 121.103 2.31584L114.156 2.31584C107.761 2.31584 102.577 7.49991 102.577 13.8948C102.577 20.2897 107.761 25.4737 114.156 25.4737H121.103Z",fill:"#1DBE61"}),(0,i.jsx)(l.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M121.103 155.158C140.288 155.158 155.84 139.606 155.84 120.421V115.79C155.84 109.395 161.024 104.211 167.419 104.211C173.814 104.211 178.998 109.395 178.998 115.79V120.421C178.998 152.395 153.078 178.316 121.103 178.316H114.156C107.761 178.316 102.577 173.132 102.577 166.737C102.577 160.342 107.761 155.158 114.156 155.158H121.103Z",fill:"#1DBE61"})]}),p=(0,i.jsxs)(l.SVG,{viewBox:"0 0 179 179",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"pum-icon pum-icon--mark-colored pum-mark pum-mark--colored",children:[(0,i.jsx)(l.Path,{d:"M123.791 119.031C126.05 116.426 127.485 113.209 127.916 109.788C128.347 106.366 127.753 102.894 126.21 99.81L106.595 60.583C105.147 57.6875 102.921 55.2525 100.167 53.5506C97.413 51.8488 94.2394 50.9474 91.0018 50.9474C87.7643 50.9474 84.5907 51.8488 81.8365 53.5506C79.0824 55.2525 76.8565 57.6875 75.4083 60.583L55.7937 99.81C54.2482 102.895 53.653 106.37 54.0835 109.794C54.5141 113.217 55.951 116.436 58.2123 119.043C60.4737 121.649 63.4577 123.526 66.7866 124.436C70.1154 125.346 73.6393 125.247 76.9121 124.153L91.0999 119.445L105.201 124.131C108.457 125.203 111.958 125.291 115.265 124.384C118.571 123.477 121.537 121.615 123.791 119.031V119.031ZM91.0999 68.3848L110.714 107.612L95.9164 102.687C92.7897 101.646 89.4102 101.646 86.2835 102.687L71.4854 107.612L91.0999 68.3848Z",fill:"#1A191B",className:"pum-mark--center-path"}),(0,i.jsx)(l.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M58.5769 25.4737C39.3922 25.4737 23.84 41.026 23.84 60.2106V64.8422C23.84 71.237 18.656 76.4211 12.2611 76.4211C5.8662 76.4211 0.682129 71.237 0.682129 64.8422L0.682129 60.2106C0.682129 28.2362 26.6025 2.31584 58.5769 2.31584L65.5242 2.31584C71.9191 2.31584 77.1032 7.49991 77.1032 13.8948C77.1032 20.2897 71.9191 25.4737 65.5242 25.4737H58.5769Z",fill:"#1DBE61"}),(0,i.jsx)(l.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M58.5769 155.158C39.3922 155.158 23.84 139.606 23.84 120.421V115.79C23.84 109.395 18.656 104.211 12.2611 104.211C5.8662 104.211 0.682129 109.395 0.682129 115.79L0.682129 120.421C0.682129 152.395 26.6025 178.316 58.5769 178.316H65.5242C71.9191 178.316 77.1032 173.132 77.1032 166.737C77.1032 160.342 71.9191 155.158 65.5242 155.158H58.5769Z",fill:"#1DBE61"}),(0,i.jsx)(l.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M121.103 25.4737C140.288 25.4737 155.84 41.026 155.84 60.2106V64.8422C155.84 71.237 161.024 76.4211 167.419 76.4211C173.814 76.4211 178.998 71.237 178.998 64.8422V60.2106C178.998 28.2362 153.078 2.31584 121.103 2.31584L114.156 2.31584C107.761 2.31584 102.577 7.49991 102.577 13.8948C102.577 20.2897 107.761 25.4737 114.156 25.4737H121.103Z",fill:"#1DBE61"}),(0,i.jsx)(l.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M121.103 155.158C140.288 155.158 155.84 139.606 155.84 120.421V115.79C155.84 109.395 161.024 104.211 167.419 104.211C173.814 104.211 178.998 109.395 178.998 115.79V120.421C178.998 152.395 153.078 178.316 121.103 178.316H114.156C107.761 178.316 102.577 173.132 102.577 166.737C102.577 160.342 107.761 155.158 114.156 155.158H121.103Z",fill:"#1DBE61"})]}),x=(0,i.jsxs)(l.SVG,{viewBox:"0 0 179 179",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"pum-icon pum-icon--mark-light pum-mark pum-mark--light",children:[(0,i.jsx)(l.Path,{d:"M123.791 119.031C126.05 116.426 127.485 113.209 127.916 109.788C128.347 106.366 127.753 102.894 126.21 99.81L106.595 60.583C105.147 57.6875 102.921 55.2525 100.167 53.5506C97.413 51.8488 94.2394 50.9474 91.0018 50.9474C87.7643 50.9474 84.5907 51.8488 81.8365 53.5506C79.0824 55.2525 76.8565 57.6875 75.4083 60.583L55.7937 99.81C54.2482 102.895 53.653 106.37 54.0835 109.794C54.5141 113.217 55.951 116.436 58.2123 119.043C60.4737 121.649 63.4577 123.526 66.7866 124.436C70.1154 125.346 73.6393 125.247 76.9121 124.153L91.0999 119.445L105.201 124.131C108.457 125.203 111.958 125.291 115.265 124.384C118.571 123.477 121.537 121.615 123.791 119.031V119.031ZM91.0999 68.3848L110.714 107.612L95.9164 102.687C92.7897 101.646 89.4102 101.646 86.2835 102.687L71.4854 107.612L91.0999 68.3848Z",fill:"white"}),(0,i.jsx)(l.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M58.5769 25.4737C39.3922 25.4737 23.84 41.026 23.84 60.2106V64.8422C23.84 71.237 18.656 76.4211 12.2611 76.4211C5.8662 76.4211 0.682129 71.237 0.682129 64.8422L0.682129 60.2106C0.682129 28.2362 26.6025 2.31584 58.5769 2.31584L65.5242 2.31584C71.9191 2.31584 77.1032 7.49991 77.1032 13.8948C77.1032 20.2897 71.9191 25.4737 65.5242 25.4737H58.5769Z",fill:"#1DBE61"}),(0,i.jsx)(l.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M58.5769 155.158C39.3922 155.158 23.84 139.606 23.84 120.421V115.79C23.84 109.395 18.656 104.211 12.2611 104.211C5.8662 104.211 0.682129 109.395 0.682129 115.79L0.682129 120.421C0.682129 152.395 26.6025 178.316 58.5769 178.316H65.5242C71.9191 178.316 77.1032 173.132 77.1032 166.737C77.1032 160.342 71.9191 155.158 65.5242 155.158H58.5769Z",fill:"#1DBE61"}),(0,i.jsx)(l.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M121.103 25.4737C140.288 25.4737 155.84 41.026 155.84 60.2106V64.8422C155.84 71.237 161.024 76.4211 167.419 76.4211C173.814 76.4211 178.998 71.237 178.998 64.8422V60.2106C178.998 28.2362 153.078 2.31584 121.103 2.31584L114.156 2.31584C107.761 2.31584 102.577 7.49991 102.577 13.8948C102.577 20.2897 107.761 25.4737 114.156 25.4737H121.103Z",fill:"#1DBE61"}),(0,i.jsx)(l.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M121.103 155.158C140.288 155.158 155.84 139.606 155.84 120.421V115.79C155.84 109.395 161.024 104.211 167.419 104.211C173.814 104.211 178.998 109.395 178.998 115.79V120.421C178.998 152.395 153.078 178.316 121.103 178.316H114.156C107.761 178.316 102.577 173.132 102.577 166.737C102.577 160.342 107.761 155.158 114.156 155.158H121.103Z",fill:"#1DBE61"})]}),L=(0,i.jsxs)(l.SVG,{viewBox:"0 0 179 179",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"pum-icon pum-icon--mark-white pum-mark pum-mark--white",children:[(0,i.jsx)(l.Path,{d:"M123.791 119.031C126.05 116.426 127.485 113.209 127.916 109.788C128.347 106.366 127.753 102.894 126.21 99.81L106.595 60.583C105.147 57.6875 102.921 55.2525 100.167 53.5506C97.413 51.8488 94.2394 50.9474 91.0018 50.9474C87.7643 50.9474 84.5907 51.8488 81.8365 53.5506C79.0824 55.2525 76.8565 57.6875 75.4083 60.583L55.7937 99.81C54.2482 102.895 53.653 106.37 54.0835 109.794C54.5141 113.217 55.951 116.436 58.2123 119.043C60.4737 121.649 63.4577 123.526 66.7866 124.436C70.1154 125.346 73.6393 125.247 76.9121 124.153L91.0999 119.445L105.201 124.131C108.457 125.203 111.958 125.291 115.265 124.384C118.571 123.477 121.537 121.615 123.791 119.031V119.031ZM91.0999 68.3848L110.714 107.612L95.9164 102.687C92.7897 101.646 89.4102 101.646 86.2835 102.687L71.4854 107.612L91.0999 68.3848Z",fill:"white"}),(0,i.jsx)(l.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M58.5769 25.4737C39.3922 25.4737 23.84 41.026 23.84 60.2106V64.8422C23.84 71.237 18.656 76.4211 12.2611 76.4211C5.8662 76.4211 0.682129 71.237 0.682129 64.8422L0.682129 60.2106C0.682129 28.2362 26.6025 2.31584 58.5769 2.31584L65.5242 2.31584C71.9191 2.31584 77.1032 7.49991 77.1032 13.8948C77.1032 20.2897 71.9191 25.4737 65.5242 25.4737H58.5769Z",fill:"white"}),(0,i.jsx)(l.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M58.5769 155.158C39.3922 155.158 23.84 139.606 23.84 120.421V115.79C23.84 109.395 18.656 104.211 12.2611 104.211C5.8662 104.211 0.682129 109.395 0.682129 115.79L0.682129 120.421C0.682129 152.395 26.6025 178.316 58.5769 178.316H65.5242C71.9191 178.316 77.1032 173.132 77.1032 166.737C77.1032 160.342 71.9191 155.158 65.5242 155.158H58.5769Z",fill:"white"}),(0,i.jsx)(l.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M121.103 25.4737C140.288 25.4737 155.84 41.026 155.84 60.2106V64.8422C155.84 71.237 161.024 76.4211 167.419 76.4211C173.814 76.4211 178.998 71.237 178.998 64.8422V60.2106C178.998 28.2362 153.078 2.31584 121.103 2.31584L114.156 2.31584C107.761 2.31584 102.577 7.49991 102.577 13.8948C102.577 20.2897 107.761 25.4737 114.156 25.4737H121.103Z",fill:"white"}),(0,i.jsx)(l.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M121.103 155.158C140.288 155.158 155.84 139.606 155.84 120.421V115.79C155.84 109.395 161.024 104.211 167.419 104.211C173.814 104.211 178.998 109.395 178.998 115.79V120.421C178.998 152.395 153.078 178.316 121.103 178.316H114.156C107.761 178.316 102.577 173.132 102.577 166.737C102.577 160.342 107.761 155.158 114.156 155.158H121.103Z",fill:"white"})]}),m=(0,i.jsxs)(l.SVG,{viewBox:"0 0 106 84",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"pum-icon pum-icon--mark-retro pum-mark pum-mark--retro",children:[(0,i.jsx)(l.Path,{d:"M 74.98 0.00 L 80.18 0.00 C 86.85 0.96 93.11 3.19 97.92 8.09 C 102.82 12.91 105.07 19.19 106.00 25.89 L 106.00 29.25 C 105.01 36.93 101.84 43.76 95.96 48.90 C 85.62 57.23 75.10 65.38 64.88 73.86 C 58.14 79.85 49.63 82.94 40.76 84.00 L 36.17 84.00 C 27.56 83.00 19.39 80.03 12.89 74.16 C 5.17 67.38 1.08 57.89 0.00 47.78 L 0.00 43.19 C 1.06 33.34 4.97 24.08 12.35 17.32 C 19.55 10.62 29.39 7.33 38.98 6.07 C 50.98 4.07 63.06 2.41 74.98 0.00 Z",fill:"#98b729"}),(0,i.jsx)(l.Path,{d:"M 73.27 3.38 C 78.51 2.46 83.84 3.16 88.72 5.25 C 99.12 9.98 105.12 21.94 102.29 33.09 C 100.93 39.34 97.06 44.25 92.19 48.20 C 84.32 54.30 76.63 60.62 68.82 66.78 C 65.27 69.54 61.99 72.75 58.21 75.17 C 53.04 78.31 47.09 80.42 41.04 80.90 C 26.64 81.98 12.34 73.74 6.37 60.53 C 0.78 48.69 2.33 34.56 10.17 24.12 C 16.07 16.10 25.11 11.68 34.69 9.75 C 47.55 7.61 60.45 5.72 73.27 3.38 Z",fill:"#262d2b"}),(0,i.jsx)(l.Path,{d:"M 73.39 7.40 C 79.51 6.31 85.83 7.34 90.84 11.17 C 97.78 16.34 100.76 25.75 97.94 33.97 C 96.07 39.49 92.17 43.26 87.63 46.67 C 80.70 52.04 73.92 57.62 67.04 63.05 C 61.52 67.32 57.24 72.00 50.55 74.56 C 39.66 79.19 26.67 77.04 17.82 69.21 C 10.09 62.55 6.01 52.13 7.21 41.99 C 8.21 32.78 13.46 24.27 21.21 19.22 C 29.30 14.01 37.69 13.29 46.90 11.83 C 55.73 10.34 64.58 9.05 73.39 7.40 Z",fill:"#98b729"}),(0,i.jsx)(l.Path,{d:"M 79.33 11.15 C 80.91 11.34 82.49 11.77 84.05 12.13 C 83.96 13.78 83.90 15.42 83.83 17.07 C 85.21 18.44 86.59 19.81 87.96 21.19 C 89.56 21.12 91.16 21.05 92.76 20.97 C 93.19 22.58 93.62 24.19 94.07 25.79 C 92.62 26.56 91.18 27.34 89.74 28.11 C 89.27 30.00 88.80 31.89 88.29 33.77 C 89.17 35.11 90.05 36.46 90.93 37.80 C 89.75 38.99 88.56 40.18 87.37 41.36 C 86.03 40.50 84.69 39.65 83.36 38.79 C 81.43 39.31 79.50 39.83 77.57 40.33 C 76.86 41.76 76.14 43.18 75.44 44.61 C 73.84 44.14 72.22 43.70 70.60 43.30 C 70.70 41.70 70.79 40.09 70.89 38.49 C 69.46 37.08 68.05 35.65 66.64 34.22 C 65.07 34.33 63.50 34.41 61.94 34.52 C 61.54 32.88 61.09 31.25 60.61 29.63 C 62.04 28.92 63.45 28.20 64.87 27.48 C 65.38 25.56 65.93 23.65 66.45 21.74 C 65.57 20.37 64.69 19.01 63.80 17.65 C 64.99 16.46 66.17 15.27 67.36 14.08 C 68.70 14.97 70.04 15.86 71.38 16.75 C 73.20 16.26 75.02 15.78 76.84 15.32 C 77.62 13.91 78.39 12.46 79.33 11.15 Z",fill:"#262d2b"}),(0,i.jsx)(l.Path,{d:"M 31.46 18.53 C 35.73 17.41 39.75 17.90 44.06 18.38 C 43.69 20.25 43.38 22.13 43.00 23.99 C 46.30 25.32 49.40 26.46 52.10 28.89 C 56.07 32.21 58.00 36.65 59.46 41.49 C 61.32 41.26 63.19 41.04 65.06 40.81 C 65.30 45.35 65.55 49.64 64.02 54.02 C 62.82 57.89 60.52 60.95 58.09 64.10 C 56.66 62.88 55.24 61.65 53.81 60.43 C 50.80 62.88 47.90 65.17 44.07 66.21 C 39.50 67.65 35.11 67.00 30.55 65.99 C 29.84 67.72 29.12 69.46 28.40 71.19 C 24.48 69.34 20.78 67.44 17.87 64.12 C 14.90 61.08 13.34 57.40 11.80 53.51 C 13.55 52.89 15.31 52.27 17.06 51.65 C 16.43 47.16 15.95 42.88 17.48 38.49 C 18.70 34.52 21.22 31.56 23.95 28.54 C 22.80 27.05 21.69 25.54 20.55 24.05 C 23.99 21.67 27.30 19.46 31.46 18.53 Z",fill:"#262d2b"}),(0,i.jsx)(l.Path,{d:"M 76.34 24.32 C 79.21 23.52 81.89 26.79 80.48 29.46 C 79.35 31.71 76.40 32.21 74.62 30.38 C 72.72 28.34 73.67 25.06 76.34 24.32 Z",fill:"#98b729"}),(0,i.jsx)(l.Path,{d:"M 33.46 26.53 C 40.08 24.87 47.25 27.17 51.85 32.16 C 57.28 37.94 58.59 46.87 54.94 53.94 C 51.18 61.61 42.36 65.97 33.97 64.14 C 25.47 62.43 18.97 54.70 18.77 46.02 C 18.32 36.96 24.64 28.60 33.46 26.53 Z",fill:"#98b729"})]}),w=(0,i.jsx)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",className:"pum-icon pum-icon--monitor",children:(0,i.jsx)(l.Path,{d:"M8 21H16M12 17V21M6.8 17H17.2C18.8802 17 19.7202 17 20.362 16.673C20.9265 16.3854 21.3854 15.9265 21.673 15.362C22 14.7202 22 13.8802 22 12.2V7.8C22 6.11984 22 5.27976 21.673 4.63803C21.3854 4.07354 20.9265 3.6146 20.362 3.32698C19.7202 3 18.8802 3 17.2 3H6.8C5.11984 3 4.27976 3 3.63803 3.32698C3.07354 3.6146 2.6146 4.07354 2.32698 4.63803C2 5.27976 2 6.11984 2 7.8V12.2C2 13.8802 2 14.7202 2.32698 15.362C2.6146 15.9265 3.07354 16.3854 3.63803 16.673C4.27976 17 5.11984 17 6.8 17Z",stroke:"#000000",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),k=(0,i.jsxs)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"none",className:"pum-icon pum-icon--permissions",children:[(0,i.jsx)(l.Path,{d:"M14.2 19C15.8802 19 16.7202 19 17.362 18.673C17.9265 18.3854 18.3854 17.9265 18.673 17.362C19 16.7202 19 15.8802 19 14.2V5.8C19 4.11984 19 3.27977 18.673 2.63803C18.3854 2.07354 17.9265 1.6146 17.362 1.32698C16.7202 1 15.8802 1 14.2 1L5.8 1C4.11984 1 3.27976 1 2.63803 1.32698C2.07354 1.6146 1.6146 2.07354 1.32698 2.63803C1 3.27976 1 4.11984 1 5.8L1 14.2C1 15.8802 1 16.7202 1.32698 17.362C1.6146 17.9265 2.07354 18.3854 2.63803 18.673C3.27976 19 4.11984 19 5.8 19H14.2Z",stroke:"#000000",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)(l.Path,{d:"M11.7316 11.1947C11.661 10.9831 11.6257 10.8772 11.6276 10.7907C11.6295 10.6996 11.6417 10.6519 11.6836 10.5711C11.7235 10.4942 11.83 10.395 12.0432 10.1967C12.6318 9.64895 13 8.86747 13 8C13 6.34315 11.6569 5 10 5C8.34315 5 7 6.34315 7 8C7 8.86747 7.36818 9.64895 7.95681 10.1967C8.16996 10.395 8.27653 10.4942 8.31639 10.5711C8.35832 10.6519 8.37049 10.6996 8.37242 10.7907C8.37426 10.8772 8.33898 10.9831 8.26844 11.1947L7.35099 13.947C7.23249 14.3025 7.17324 14.4803 7.20877 14.6218C7.23987 14.7456 7.31718 14.8529 7.42484 14.9216C7.54783 15 7.7352 15 8.10994 15H11.8901C12.2648 15 12.4522 15 12.5752 14.9216C12.6828 14.8529 12.7601 14.7456 12.7912 14.6218C12.8268 14.4803 12.7675 14.3025 12.649 13.947L11.7316 11.1947Z",stroke:"#000000",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),j=(0,i.jsxs)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 24",fill:"none",className:"pum-icon pum-icon--protected-message",children:[(0,i.jsx)(l.Path,{d:"M19.5 21H7.5L3.5 23V12C3.5 11.4696 3.71071 10.9609 4.08579 10.5858C4.46086 10.2107 4.96957 10 5.5 10H19.5C20.0304 10 20.5391 10.2107 20.9142 10.5858C21.2893 10.9609 21.5 11.4696 21.5 12V19C21.5 19.5304 21.2893 20.0391 20.9142 20.4142C20.5391 20.7893 20.0304 21 19.5 21Z",stroke:"#000000",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)(l.Path,{d:"M17.5 6C17.5131 4.68724 17.0042 3.42303 16.0853 2.48539C15.1664 1.54776 13.9128 1.01346 12.6 1H12.5C11.1872 0.986939 9.92303 1.4958 8.98539 2.41469C8.04776 3.33357 7.51346 4.58724 7.5 5.9V10",stroke:"#000000",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)(l.Rect,{x:"6.5",y:"13",width:"12",height:"2",rx:"1",fill:"#000000"}),(0,i.jsx)(l.Rect,{x:"6.5",y:"16",width:"7",height:"2",rx:"1",fill:"#000000"})]}),M=(0,i.jsxs)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 17",fill:"none",className:"pum-icon pum-icon--upgrade",children:[(0,i.jsxs)(l.G,{clipPath:"url(#clip0_592_16835)",children:[(0,i.jsx)(l.Path,{d:"M13 6.5C12.8011 6.5 12.6103 6.42098 12.4697 6.28033C12.329 6.13968 12.25 5.94891 12.25 5.75C12.25 5.35218 12.092 4.97064 11.8107 4.68934C11.5294 4.40804 11.1478 4.25 10.75 4.25C10.5511 4.25 10.3603 4.17098 10.2197 4.03033C10.079 3.88968 10 3.69891 10 3.5C10 3.30109 10.079 3.11032 10.2197 2.96967C10.3603 2.82902 10.5511 2.75 10.75 2.75C11.1478 2.75 11.5294 2.59196 11.8107 2.31066C12.092 2.02936 12.25 1.64782 12.25 1.25C12.25 1.05109 12.329 0.860322 12.4697 0.71967C12.6103 0.579018 12.8011 0.5 13 0.5C13.1989 0.5 13.3897 0.579018 13.5303 0.71967C13.671 0.860322 13.75 1.05109 13.75 1.25C13.75 1.64782 13.908 2.02936 14.1893 2.31066C14.4706 2.59196 14.8522 2.75 15.25 2.75C15.4489 2.75 15.6397 2.82902 15.7803 2.96967C15.921 3.11032 16 3.30109 16 3.5C16 3.69891 15.921 3.88968 15.7803 4.03033C15.6397 4.17098 15.4489 4.25 15.25 4.25C14.8522 4.25 14.4706 4.40804 14.1893 4.68934C13.908 4.97064 13.75 5.35218 13.75 5.75C13.75 5.94891 13.671 6.13968 13.5303 6.28033C13.3897 6.42098 13.1989 6.5 13 6.5Z",fill:"#000000"}),(0,i.jsx)(l.Path,{d:"M6 16.5C5.73478 16.5 5.48043 16.3946 5.29289 16.2071C5.10536 16.0196 5 15.7652 5 15.5C5 14.4391 4.57857 13.4217 3.82843 12.6716C3.07828 11.9214 2.06087 11.5 1 11.5C0.734784 11.5 0.48043 11.3946 0.292893 11.2071C0.105357 11.0196 0 10.7652 0 10.5C0 10.2348 0.105357 9.98043 0.292893 9.79289C0.48043 9.60536 0.734784 9.5 1 9.5C2.06087 9.5 3.07828 9.07857 3.82843 8.32843C4.57857 7.57828 5 6.56087 5 5.5C5 5.23478 5.10536 4.98043 5.29289 4.79289C5.48043 4.60536 5.73478 4.5 6 4.5C6.26522 4.5 6.51957 4.60536 6.70711 4.79289C6.89464 4.98043 7 5.23478 7 5.5C7 6.56087 7.42143 7.57828 8.17157 8.32843C8.92172 9.07857 9.93913 9.5 11 9.5C11.2652 9.5 11.5196 9.60536 11.7071 9.79289C11.8946 9.98043 12 10.2348 12 10.5C12 10.7652 11.8946 11.0196 11.7071 11.2071C11.5196 11.3946 11.2652 11.5 11 11.5C9.93913 11.5 8.92172 11.9214 8.17157 12.6716C7.42143 13.4217 7 14.4391 7 15.5C7 15.7652 6.89464 16.0196 6.70711 16.2071C6.51957 16.3946 6.26522 16.5 6 16.5Z",fill:"#000000"})]}),(0,i.jsx)(l.Defs,{children:(0,i.jsx)("clipPath",{id:"clip0_592_16835",children:(0,i.jsx)("rect",{width:"16",height:"16",transform:"translate(0 0.5)"})})})]});(window.popupMaker=window.popupMaker||{}).icons=e})(); dist/packages/block-editor.css 0000644 00000007125 15174671772 0012403 0 ustar 00 .pum-block-inspector-popup-controls{border-bottom:1px solid #e2e4e7!important} .components-popover .block-editor-popup-select-input{display:flex;flex-direction:row;flex-grow:1;gap:0;justify-content:space-between;padding:1px;position:relative}.components-popover .block-editor-popup-select-input .components-base-control__field{margin-bottom:0}.components-popover .block-editor-popup-select-input input[type=text],.components-popover .block-editor-popup-select-input select{border:none;border-radius:0;font-size:16px;min-height:36px!important;min-width:300px!important;width:100%!important}@media(min-width:600px){.components-popover .block-editor-popup-select-input input[type=text],.components-popover .block-editor-popup-select-input select{font-size:13px;width:300px}}.components-popover .block-editor-popup-select-input input[type=text]::-ms-clear,.components-popover .block-editor-popup-select-input select::-ms-clear{display:none}.components-popover .block-editor-popup-select-input .components-input-control__backdrop{border:none}.components-popover .block-editor-popup-select-input button[type=submit]{z-index:1}.block-editor-popup-trigger-popover__additional-controls{border-top:1px solid #e2e4e7}.block-editor-popup-trigger-popover__additional-controls>div[role=menu] .components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default)>svg{box-shadow:none}.block-editor-popup-trigger-popover__additional-controls div[role=menu]>.components-icon-button{padding-left:2px}.block-editor-popup-trigger-popover .components-notice.is-dismissible{margin:0;padding-right:0}.block-editor-popup-trigger-popover .components-notice.is-dismissible .components-notice__content{margin:0}.block-editor-popup-trigger-popover__row{display:flex}.block-editor-popup-trigger-popover__row>:not(.block-editor-popup-trigger-popover__settings-toggle){flex-grow:1}.block-editor-popup-trigger-popover .components-icon-button{padding:3px}.block-editor-popup-trigger-popover .components-icon-button>svg{border-radius:8px;height:30px;padding:5px;width:30px}.block-editor-popup-trigger-popover .components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{box-shadow:none}.block-editor-popup-trigger-popover .components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover>svg{background-color:#fff;box-shadow:inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #fff;color:#555d66;outline:none}.block-editor-popup-trigger-popover .components-icon-button:not(:disabled):focus{box-shadow:none}.block-editor-popup-trigger-popover .components-icon-button:not(:disabled):focus>svg{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 4px #fff;outline:2px solid #0000}.block-editor-popup-trigger-popover__settings-toggle{border-left:1px solid #e2e4e7;border-radius:0;flex-shrink:0;margin-left:1px}.block-editor-popup-trigger-popover__settings-toggle[aria-expanded=true] .dashicon{transform:rotate(180deg)}.block-editor-popup-trigger-popover__settings{border-top:1px solid #e2e4e7;display:block;padding:16px}.block-editor-popup-trigger-popover__settings .components-base-control:last-child,.block-editor-popup-trigger-popover__settings .components-base-control:last-child .components-base-control__field{margin-bottom:0}.block-editor-popup-trigger-popover__popup-editor,.block-editor-popup-trigger-popover__popup-viewer{display:flex}.block-editor-popup-trigger-popover__popup-viewer-text{flex-grow:1;flex-shrink:1;margin:7px;max-width:500px;min-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-editor-popup-trigger-popover__popup-viewer-text.has-invalid-link{color:#cc1818} dist/packages/admin-marketing.js 0000644 00000001102 15174671772 0012705 0 ustar 00 (()=>{"use strict";var e={n:o=>{var r=o&&o.__esModule?()=>o.default:()=>o;return e.d(r,{a:r}),r},d:(o,r)=>{for(var a in r)e.o(r,a)&&!e.o(o,a)&&Object.defineProperty(o,a,{enumerable:!0,get:r[a]})},o:(e,o)=>Object.prototype.hasOwnProperty.call(e,o)};const o=window.jQuery;var r=e.n(o);const{assetsUrl:a}=window.popupMaker.globalVars;r()(()=>{r()('a[href*="pum-settings#go-pro"]').css({color:"#1dbe61"}),r()("#menu-posts-popup.wp-menu-open .wp-menu-image").css({backgroundImage:`url('${a}images/mark-light.svg')`})}),(window.popupMaker=window.popupMaker||{}).adminMarketing={}})(); dist/packages/popup-admin.css 0000644 00000004025 15174671772 0012252 0 ustar 00 .wp-list-table th.column-enabled{width:80px}.wp-list-table th.column-conversions,.wp-list-table th.column-interactions,.wp-list-table th.column-purchases,.wp-list-table th.column-revenue,.wp-list-table th.column-views{width:150px}.wp-list-table td.column-conversions .pum-col-content{max-width:15ch}.wp-list-table td.column-conversions,.wp-list-table td.column-views{line-height:1.2}.wp-list-table td.column-conversions strong,.wp-list-table td.column-views strong{display:block;font-size:16px;margin-bottom:2px}.wp-list-table td.column-conversions span,.wp-list-table td.column-views span{color:#6b7280;display:block;font-size:12px}.wp-list-table td.column-conversions>.pum-col-content>strong{color:#581c87}.wp-list-table td.column-conversions .pum-progress-bar{max-width:150px}.wp-list-table .pum-progress-bar{align-items:center;display:flex;gap:8px;position:relative}.wp-list-table .pum-progress-bar__inner{background-color:#ccc;border-radius:8px;flex-grow:1;height:8px;overflow:hidden;position:relative}.wp-list-table .pum-progress-bar__inner .pum-progress-fill{background-color:#374151;border-radius:8px;height:100%;left:0;position:absolute;top:0;transition:width .3s ease}.wp-list-table .pum-progress-bar strong{color:#6b7280;flex-shrink:0;font-size:14px;margin-bottom:0;text-align:right}.wp-list-table .pum-progress-bar i,.wp-list-table .pum-progress-bar i:before{color:#6b7280;font-size:16px;height:16px;line-height:14px;margin-left:-4px;width:16px}.wp-list-table .pum-progress-bar--small{font-size:12px}.wp-list-table .pum-progress-bar--small .pum-progress-bar__inner{border-radius:4px;height:4px}.wp-list-table .pum-progress-bar--small .pum-progress-bar__inner .pum-progress-fill{border-radius:4px}.wp-list-table .pum-progress-bar--small strong{font-size:1em!important}.wp-list-table .pum-progress-bar--small i,.wp-list-table .pum-progress-bar--small i:before{font-size:1em;height:1em;line-height:.95em;width:1em}.wp-list-table td.column-views>.pum-col-content>strong{color:#1e3a8a}.wp-list-table td.column-conversions .pum-progress-bar>strong{color:#581c87} dist/packages/layout.css 0000644 00000002475 15174671772 0011345 0 ustar 00 #wpcontent{padding:0} .popup-maker-app-layout{background-color:#f0f0f1;display:flex;flex-direction:column;min-height:100vh}.popup-maker-app-content{padding:20px 0 20px 20px} .popup-maker-app-header{align-items:center;background-color:#fff;border-bottom:1px solid #ddd;display:flex;gap:20px;padding-right:20px}.popup-maker-app-header .branding{margin:0 20px}.popup-maker-app-header .branding a{align-items:center;color:inherit;display:flex;text-decoration:none}.popup-maker-app-header .branding img{margin-right:10px;max-height:1.25em}.popup-maker-app-header .tabs{flex-grow:1}.popup-maker-app-header .components-tab-panel__tabs-item{color:#1e1e1e;font-size:1.125em;height:60px;text-decoration:none}.popup-maker-app-header .components-tab-panel__tabs-item.is-active{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #0000,inset 0 -4px 0 0 var(--wp-admin-theme-color)}.popup-maker-app-header .components-tab-panel__tabs-item:hover{color:var(--wp-admin-theme-color)}.popup-maker-app-header .components-tab-panel__tabs-item.upgrade{margin-left:auto}.popup-maker-app-header .components-tab-panel__tabs-item.upgrade svg{margin-right:5px}.popup-maker-app-header .components-tab-panel__tabs-item.upgrade:hover svg path{fill:var(--wp-admin-theme-color)}.popup-maker-app-header .components-tab-panel__tabs-item.support-link{margin-left:auto} dist/packages/components.css 0000644 00000053506 15174671772 0012216 0 ustar 00 .component-smart-token-control{width:100%}.component-smart-token-control .component-smart-token-control__input{border:1px solid #8c8f94;border-radius:4px;box-shadow:0 0 0 #0000;display:flex;flex-wrap:wrap;gap:5px;justify-content:space-between;margin:0 1px;padding:5px}.component-smart-token-control .component-smart-token-control__input .component-smart-token-control__tokens{align-items:center;display:flex;flex-grow:1;flex-wrap:wrap;gap:5px;text-overflow:ellipsis;white-space:nowrap;width:100%}.component-smart-token-control .component-smart-token-control__input .component-smart-token-control__tokens .component-smart-token-control__token{background-color:#eee;border:1px solid #8c8f94;border-radius:4px;display:inline-block;padding:0 4px;text-wrap:balance;width:fit-content}.component-smart-token-control .component-smart-token-control__input .component-smart-token-control__tokens .component-smart-token-control__token .component-smart-token-control__token-label{display:inline-block;vertical-align:middle}.component-smart-token-control .component-smart-token-control__input .component-smart-token-control__tokens .component-smart-token-control__token button.component-smart-token-control__token-remove{display:inline-block;height:auto;margin-left:2px;min-width:auto}.component-smart-token-control .component-smart-token-control__input .component-smart-token-control__tokens .component-smart-token-control__token button.component-smart-token-control__token-remove svg{height:1em;vertical-align:middle;width:1em}.component-smart-token-control .component-smart-token-control__input input[type=text]{background:#0000;border:none;box-shadow:none;cursor:pointer;flex-grow:1;line-height:1.2;margin:0;min-height:auto;padding:0;width:100%}.component-smart-token-control .component-smart-token-control__input.input-disabled input[type=text]{display:none}.component-smart-token-control .component-smart-token-control__input .component-smart-token-control__toggle{height:auto;margin:0;min-width:auto;padding:0}.component-smart-token-control__suggestion{cursor:pointer;display:block;line-height:1;min-width:100%;padding:8px 10px;width:max-content}.component-smart-token-control__suggestion.is-currently-highlighted,.component-smart-token-control__suggestion:focus,.component-smart-token-control__suggestion:hover{background-color:var(--wp-admin-theme-color);color:#fff}.component-smart-token-control__suggestion.is-selected{background-color:#ccc;cursor:pointer;pointer-events:none} .pum__component-device-toggle{display:flex;justify-content:space-between}.pum__component-device-toggle .pum__component-device-toggle__control,.pum__component-device-toggle .pum__component-device-toggle__label{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.pum__component-device-toggle .pum__component-device-toggle__label svg{margin-right:8px}.pum__component-device-toggle .pum__component-device-toggle__control .components-base-control,.pum__component-device-toggle .pum__component-device-toggle__control .components-toggle-control .components-base-control__field{margin-bottom:0}.pum__component-device-toggle .pum__component-device-toggle__control .components-base-control .components-form-toggle,.pum__component-device-toggle .pum__component-device-toggle__control .components-toggle-control .components-base-control__field .components-form-toggle{margin-left:8px;margin-right:0}.pum__component-device-toggle .pum__component-device-toggle__control label{display:none!important} .components-field-panel{margin:0 0 30px}.components-field-panel .components-panel__body{position:relative;z-index:0} .components-field-row{display:grid;grid-template-columns:3fr 2.5fr;margin:0;padding:15px 0}.components-field-row.full-width>.components-base-control,.components-field-row.full-width>.components-base-control__field{width:100%}.components-field-row .components-base-control__help{color:#757575;font-size:12px;font-style:normal;margin-bottom:revert;margin-top:8px}.components-field-row+.components-field-row{border-top:1px solid #ddd;padding-top:30px} .component-freeform-edit-control .mce-content-body{border:1px solid #ddd;z-index:1}.wp-block-freeform.block-library-rich-text__tinymce{height:auto}.wp-block-freeform.block-library-rich-text__tinymce li,.wp-block-freeform.block-library-rich-text__tinymce p{line-height:1.8}.wp-block-freeform.block-library-rich-text__tinymce ol,.wp-block-freeform.block-library-rich-text__tinymce ul{margin-left:0;padding-left:2.5em}.wp-block-freeform.block-library-rich-text__tinymce blockquote{border-left:4px solid #000;box-shadow:inset 0 0 0 0 #ddd;margin:0;padding-left:1em}.wp-block-freeform.block-library-rich-text__tinymce pre{color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;white-space:pre-wrap}.wp-block-freeform.block-library-rich-text__tinymce>:first-child{margin-top:0}.wp-block-freeform.block-library-rich-text__tinymce>:last-child{margin-bottom:0}.wp-block-freeform.block-library-rich-text__tinymce.mce-edit-focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce a{color:var(--wp-admin-theme-color)}.wp-block-freeform.block-library-rich-text__tinymce:focus a[data-mce-selected]{background:#e5f5fa;border-radius:2px;box-shadow:0 0 0 1px #e5f5fa;margin:0 -2px;padding:0 2px}.wp-block-freeform.block-library-rich-text__tinymce code{background:#f0f0f0;border-radius:2px;color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:14px;padding:2px}.wp-block-freeform.block-library-rich-text__tinymce:focus code[data-mce-selected]{background:#ddd}.wp-block-freeform.block-library-rich-text__tinymce .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-freeform.block-library-rich-text__tinymce .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-freeform.block-library-rich-text__tinymce .aligncenter{display:block;margin-left:auto;margin-right:auto}.wp-block-freeform.block-library-rich-text__tinymce .wp-more-tag{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAADtgAAAAoBAMAAAA86gLBAAAAJFBMVEVMaXG7u7vBwcHDw8POzs68vLzGxsbMzMy+vr7AwMDQ0NDGxsYKLGzpAAAADHRSTlMA///zWf+/f///TMxNVGuqAAABwklEQVR4Ae3dMXLaQBTH4bfj8UCpx8hq0vgKvgFNemhT6Qo6gg6R+0ZahM2QLmyBJ99XWP9V5+o3jIUcLQEAAAAAAAAAAAAAAAAAAAAAAABQ8j0WL9lfTtlt18uNXAUA8O/KVtfa1tdcrOdSh9gCQAMlh1hMNbZZ1bsrsQWABsrhLRbz7z5in/32UbfUMUbkMQCAh5RfGYv82UdMdZ6HS2wjT2ILAI8r3XmM2B3WvM59vfO2xXYW2yYAENuPU8S+X/N67mKxzy225yaxBQCxLV392UdcvwV0jPVUj98ntkBWT7C7+9u2/V/vGtvXIWJ6/4rtbottWa6Ri0NUT/u72LYttrb97LHdvUXMxxrb8TO2W2TF1rYbbLG1bbGNjMi4+2Sbi1FsbbvNFlvbFtt5fDnE3d9sP1/XeIyV2Nr2U2/guZUuptNrH/dPI9eLB6SaAEBs6wPJf3/PNk9tYgsAYrv/8TFuzx/fvkFqGtrEFgDEdpcZUb7ejXy6ntrEFgDENvL6gsas4vbdyKt4DACI7TxElJv/Z7udpqFNbAFAbKduy2uU2trttM/x28UWAAAAAAAAAAAAAAAAAAAAAAAAAADgDyPwGmGTCZp7AAAAAElFTkSuQmCC);background-position:50%;background-repeat:no-repeat;background-size:1900px 20px;cursor:default;display:block;height:20px;margin:15px auto;outline:0;width:96%}.wp-block-freeform.block-library-rich-text__tinymce img::selection{background-color:#0000}.wp-block-freeform.block-library-rich-text__tinymce div.mceTemp{-webkit-user-select:element;user-select:element}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption{margin:0;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption a,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption img{display:block}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption *{-webkit-user-drag:none}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption .wp-caption-dd{margin:0;padding-top:.5em}.wp-block-freeform.block-library-rich-text__tinymce .wpview{border:1px solid #0000;clear:both;margin-bottom:16px;position:relative;width:99.99%}.wp-block-freeform.block-library-rich-text__tinymce .wpview iframe{background:#0000;display:block;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce .wpview .mce-shim{bottom:0;left:0;position:absolute;right:0;top:0}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected="2"] .mce-shim{display:none}.wp-block-freeform.block-library-rich-text__tinymce .wpview .loading-placeholder{border:1px dashed #ddd;padding:10px}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error{border:1px solid #ddd;margin:0;padding:1em 0;word-wrap:break-word}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error p{margin:0;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .loading-placeholder,.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .wpview-error{border-color:#0000}.wp-block-freeform.block-library-rich-text__tinymce .wpview .dashicons{display:block;font-size:32px;height:32px;margin:0 auto;width:32px}.wp-block-freeform.block-library-rich-text__tinymce .wpview.wpview-type-gallery:after{clear:both;content:"";display:table}.wp-block-freeform.block-library-rich-text__tinymce .gallery img[data-mce-selected]:focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce .gallery a{cursor:default}.wp-block-freeform.block-library-rich-text__tinymce .gallery{line-height:1;margin:auto -6px;overflow-x:hidden;padding:6px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-item{box-sizing:border-box;float:left;margin:0;padding:6px;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption,.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-icon{margin:0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption{font-size:13px;margin:4px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-1 .gallery-item{width:100%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-2 .gallery-item{width:50%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-3 .gallery-item{width:33.3333333333%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-4 .gallery-item{width:25%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-5 .gallery-item{width:20%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-6 .gallery-item{width:16.6666666667%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-7 .gallery-item{width:14.2857142857%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-8 .gallery-item{width:12.5%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-9 .gallery-item{width:11.1111111111%}.wp-block-freeform.block-library-rich-text__tinymce .gallery img{border:none;height:auto;max-width:100%;padding:0}.mce-toolbar-grp{z-index:9999}.mce-toolbar-grp .mce-btn.mce-active button,.mce-toolbar-grp .mce-btn.mce-active i,.mce-toolbar-grp .mce-btn.mce-active:hover button,.mce-toolbar-grp .mce-btn.mce-active:hover i{color:#1e1e1e}.mce-toolbar-grp .mce-rtl .mce-flow-layout-item.mce-last{margin-left:8px;margin-right:0}.mce-toolbar-grp .mce-btn i{font-style:normal}.block-library-classic__toolbar{border:1px solid #ddd;border-bottom:none;border-radius:2px;margin:0;padding:0;position:sticky;top:0;width:auto;z-index:2}.block-library-classic__toolbar .mce-tinymce{box-shadow:none}@media(min-width:600px){.block-library-classic__toolbar{padding:0}}.block-library-classic__toolbar:empty{background:#f5f5f5;border-bottom:1px solid #e2e4e7;display:block}.block-library-classic__toolbar:empty:before{color:#555d66;content:attr(data-placeholder);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:37px;padding:14px}.block-library-classic__toolbar div.mce-toolbar-grp{border-bottom:1px solid #1e1e1e}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar .mce-menubar>div,.block-library-classic__toolbar .mce-tinymce-inline,.block-library-classic__toolbar .mce-tinymce-inline>div,.block-library-classic__toolbar div.mce-toolbar-grp,.block-library-classic__toolbar div.mce-toolbar-grp>div{height:auto!important;width:100%!important}.block-library-classic__toolbar .mce-container-body.mce-abs-layout{overflow:visible}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar div.mce-toolbar-grp{position:static}.block-library-classic__toolbar .mce-toolbar-grp>div{padding:1px 3px}.block-library-classic__toolbar .mce-toolbar-grp .mce-toolbar:not(:first-child){display:none}.block-library-classic__toolbar.has-advanced-toolbar .mce-toolbar-grp .mce-toolbar{display:block}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{height:50vh!important}@media(min-width:960px){.block-editor-freeform-modal .block-editor-freeform-modal__content:not(.is-full-screen){height:9999rem}.block-editor-freeform-modal .block-editor-freeform-modal__content .components-modal__header+div{height:100%}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-tinymce{height:calc(100% - 52px)}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-container-body{display:flex;flex-direction:column;height:100%;min-width:50vw}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area{display:flex;flex-direction:column;flex-grow:1}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{flex-grow:1;height:10px!important}}.block-editor-freeform-modal__actions{margin-top:16px} .component-list-table{background:#f9fafb;border:1px solid #ddd;border-spacing:0;box-shadow:0 1px 1px #0000000a;width:100%}.component-list-table *{word-wrap:break-word}.component-list-table td,.component-list-table th{color:#50575e;padding:10px}.component-list-table td{font-size:13px;line-height:1.5em;vertical-align:top}.component-list-table tfoot td,.component-list-table th,.component-list-table thead td{font-size:14px;text-align:left}.component-list-table tfoot,.component-list-table thead{background-color:#fff}.component-list-table tbody tr td,.component-list-table tbody tr th{border-bottom:1px solid #ddd}.component-list-table tbody tr .item-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;left:-9999px;position:relative}.component-list-table tbody tr .item-actions .components-button.is-link.is-destructive,.component-list-table tbody tr .item-actions .components-button.is-link.is-destructive:focus:not(:disabled){color:#cc1818}.component-list-table tbody tr .item-actions .components-button.is-link.is-destructive:hover{border:none;box-shadow:none!important;color:#710d0d}.component-list-table tbody tr:focus .item-actions,.component-list-table tbody tr:focus-within .item-actions,.component-list-table tbody tr:hover .item-actions{left:0}.component-list-table tbody tr:last-child td,.component-list-table tbody tr:last-child th{border-bottom:none!important;box-shadow:none}.component-list-table tfoot td,.component-list-table tfoot th,.component-list-table thead td,.component-list-table thead th{border-bottom:none;border-top:1px solid #c3c4c7;color:#2c3338;font-weight:400;line-height:1.4em}.component-list-table tfoot td.sortable,.component-list-table tfoot th.sortable,.component-list-table thead td.sortable,.component-list-table thead th.sortable{padding:0}.component-list-table tfoot td.check-column,.component-list-table tfoot th.check-column,.component-list-table thead td.check-column,.component-list-table thead th.check-column{vertical-align:middle;width:2.2em}.component-list-table thead td,.component-list-table thead th{border-bottom:1px solid #c3c4c7}.component-list-table tfoot td,.component-list-table tfoot th{border-bottom:none;border-top:1px solid #c3c4c7}.component-list-table .check-column .components-checkbox-control__input[type=checkbox]{border-color:#c3c4c7;z-index:1}.component-list-table .check-column svg{z-index:2}.component-list-table .check-column .components-base-control__field{margin-bottom:0!important}.component-list-table .check-column .components-checkbox-control__input,.component-list-table .check-column .components-checkbox-control__input-container{margin-right:0!important}.component-list-table a,.component-list-table button.button,.component-list-table button.is-link{text-decoration:none}.component-list-table tbody a,.component-list-table tbody button.button,.component-list-table tbody button.is-link{font-weight:500}.component-list-table th.sortable a,.component-list-table th.sortable button{align-items:center;display:flex;font-size:14px;height:36px;overflow:hidden;padding:10px;width:100%}.component-list-table th.sortable a span,.component-list-table th.sortable button span{line-height:1}.component-list-table th.sortable a svg,.component-list-table th.sortable button svg{margin-left:3px;fill:#000}.component-list-table.striped>tbody>:nth-child(odd){background-color:#f6f7f7} .components-radio-button-control .options{display:flex}.components-radio-button-control .options .components-button{justify-content:center;padding:12px}.components-radio-button-control .options .components-button .components-icon,.components-radio-button-control .options .components-button svg{margin-right:10px;stroke:currentColor}.components-radio-button-control .options .components-button .components-icon.pum-icon,.components-radio-button-control .options .components-button svg.pum-icon{fill:#0000}.components-radio-button-control.vertical .options{flex-direction:column}.components-radio-button-control.equal-width .options .components-button{flex:1 0 0%} .component-searchable-multicheck-control{position:relative}.component-searchable-multicheck-control .select-actions{display:flex;gap:16px;position:absolute;right:0;top:0}.component-searchable-multicheck-control .select-actions .components-button{font-size:12px;font-weight:500;line-height:1.4;text-decoration:none}.component-searchable-multicheck-control .icon-input{align-items:center;display:flex;position:relative;vertical-align:middle}.component-searchable-multicheck-control .icon-input svg{position:absolute;right:1em}.component-searchable-multicheck-control table{background:#fff;border-spacing:0;padding:8px;width:100%}.component-searchable-multicheck-control table *{word-wrap:break-word}.component-searchable-multicheck-control table .label-column{text-align:left}.component-searchable-multicheck-control table .label-column .components-button{left:-4px;position:relative}.component-searchable-multicheck-control table thead td,.component-searchable-multicheck-control table thead th{border-bottom:1px solid #ccc}.component-searchable-multicheck-control table thead:after{content:"";display:block;line-height:.5em}.component-searchable-multicheck-control table tbody tr td,.component-searchable-multicheck-control table tbody tr th{color:#50575e;padding:4px 0}.component-searchable-multicheck-control table tbody tr td:first-child{font-weight:700;text-align:left}.component-searchable-multicheck-control table tbody tr td:first-child>span{cursor:pointer}.component-searchable-multicheck-control table tbody tr th:last-child{text-align:center}.component-searchable-multicheck-control table .cb-column{text-align:center;width:80px}.component-searchable-multicheck-control table .cb-column *,.component-searchable-multicheck-control table .cb-column .components-checkbox-control{margin:0} .components-url-control .components-base-control__label{display:block}.components-url-control .url-control-wrapper .url-control{position:relative}.components-url-control .url-control-wrapper .url-control .url-control__input-icon{color:#1e1e1e;left:9px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.components-url-control .url-control-wrapper .url-control .url-control__input{display:block;font-size:1.2em;min-height:50px;padding-left:36px;width:100%}.components-url-control .url-control-wrapper .url-control .url-control__actions{position:absolute;right:9px;top:9px}.components-url-control .url-control-wrapper .url-control .url-control__actions .components-button,.components-url-control .url-control-wrapper .url-control .url-control__actions .components-spinner{margin:0 0 0 5px;padding:0}.components-url-control .url-control-wrapper .url-control .url-control__actions .components-button{height:auto;min-width:auto}.components-url-control .url-control-wrapper .url-control .url-control__actions .components-spinner{height:24px;width:24px}.components-url-control .chosen-suggestion{align-items:top;background-color:#f0f0f0;border-radius:2px;display:flex;font-size:13px;gap:8px;padding:12px 16px}.components-url-control .chosen-suggestion .suggestion-item-header{display:flex;flex-direction:column;gap:0}.components-url-control .chosen-suggestion .suggestion-item-title{font-weight:500}.components-url-control .chosen-suggestion .suggestion-item-info{color:#757575}.suggestions-popover>.components-popover__content{width:fit-content}.suggestions-popover>.components-popover__content .suggestion{align-items:flex-start;background:#fff;border:none;border-radius:2px;cursor:pointer;display:flex;font-size:13px;height:auto;padding:12px 16px;position:relative;text-align:left;width:100%}.suggestions-popover>.components-popover__content .suggestion.is-selected,.suggestions-popover>.components-popover__content .suggestion:hover{background-color:#f0f0f0}.suggestions-popover>.components-popover__content .suggestion-item-info,.suggestions-popover>.components-popover__content .suggestion-item-title{overflow:hidden;text-overflow:ellipsis}.suggestions-popover>.components-popover__content .suggestion-item-header{align-items:flex-start;display:block;flex-direction:row;margin-right:8px;overflow-wrap:break-word;text-align:left;white-space:pre-wrap;word-break:break-all}.suggestions-popover>.components-popover__content .suggestion-item-icon{display:flex;flex-shrink:0;justify-content:center;margin-right:8px;max-height:24px;position:relative;top:.2em;width:24px}.suggestions-popover>.components-popover__content .suggestion-item-title{display:block;font-weight:500;margin-bottom:.2em;position:relative}.suggestions-popover>.components-popover__content .suggestion-item-info{color:#757575;display:block;font-size:.9em;line-height:1.3;word-break:break-all}.suggestions-popover>.components-popover__content .suggestion-item-type{background-color:#f0f0f0;border-radius:2px;display:block;font-size:.9em;margin-left:auto;padding:3px 6px;white-space:nowrap} dist/packages/cta-admin.js 0000644 00000205731 15174671772 0011511 0 ustar 00 (()=>{"use strict";var e={22:(e,t)=>{Object.prototype.toString},635:e=>{var t={decodeValues:!0,map:!1,silent:!1};function a(e){return"string"==typeof e&&!!e.trim()}function r(e,r){var n=e.split(";").filter(a),o=function(e){var t="",a="",r=e.split("=");return r.length>1?(t=r.shift(),a=r.join("=")):a=e,{name:t,value:a}}(n.shift()),i=o.name,l=o.value;r=r?Object.assign({},t,r):t;try{l=r.decodeValues?decodeURIComponent(l):l}catch(e){console.error("set-cookie-parser encountered an error while decoding a cookie with value '"+l+"'. Set options.decodeValues to false to disable this feature.",e)}var s={name:i,value:l};return n.forEach(function(e){var t=e.split("="),a=t.shift().trimLeft().toLowerCase(),r=t.join("=");"expires"===a?s.expires=new Date(r):"max-age"===a?s.maxAge=parseInt(r,10):"secure"===a?s.secure=!0:"httponly"===a?s.httpOnly=!0:"samesite"===a?s.sameSite=r:"partitioned"===a?s.partitioned=!0:s[a]=r}),s}function n(e,n){if(n=n?Object.assign({},t,n):t,!e)return n.map?{}:[];if(e.headers)if("function"==typeof e.headers.getSetCookie)e=e.headers.getSetCookie();else if(e.headers["set-cookie"])e=e.headers["set-cookie"];else{var o=e.headers[Object.keys(e.headers).find(function(e){return"set-cookie"===e.toLowerCase()})];o||!e.headers.cookie||n.silent||console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."),e=o}return Array.isArray(e)||(e=[e]),n.map?e.filter(a).reduce(function(e,t){var a=r(t,n);return e[a.name]=a,e},{}):e.filter(a).map(function(e){return r(e,n)})}e.exports=n,e.exports.parse=n,e.exports.parseString=r,e.exports.splitCookiesString=function(e){if(Array.isArray(e))return e;if("string"!=typeof e)return[];var t,a,r,n,o,i=[],l=0;function s(){for(;l<e.length&&/\s/.test(e.charAt(l));)l+=1;return l<e.length}function u(){return"="!==(a=e.charAt(l))&&";"!==a&&","!==a}for(;l<e.length;){for(t=l,o=!1;s();)if(","===(a=e.charAt(l))){for(r=l,l+=1,s(),n=l;l<e.length&&u();)l+=1;l<e.length&&"="===e.charAt(l)?(o=!0,l=n,i.push(e.substring(t,r)),t=l):l=r+1}else l+=1;(!o||l>=e.length)&&i.push(e.substring(t,e.length))}return i}}},t={};function a(r){var n=t[r];if(void 0!==n)return n.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,a),o.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};a.r(r),a.d(r,{ListBulkActionsRegistry:()=>wt,ListConsumer:()=>Pt,ListFiltersRegistry:()=>Et,ListOptionsRegistry:()=>Dt,ListProvider:()=>xt,ListQuickActionsRegistry:()=>jt,getGlobalVars:()=>Kt,getListBulkActions:()=>Ct,getListFilters:()=>Bt,getListOptions:()=>It,getListQuickActions:()=>Rt,init:()=>da,registerListBulkAction:()=>bt,registerListBulkActionGroup:()=>kt,registerListFilter:()=>Mt,registerListFilterGroup:()=>Nt,registerListOption:()=>$t,registerListOptionGroup:()=>Ot,registerListQuickAction:()=>At,registerListQuickActionGroup:()=>Tt,useList:()=>yt,useListBulkActions:()=>Gt,useListFilters:()=>Lt,useListOptions:()=>Ft,useListQuickActions:()=>_t});var n={};a.r(n),a.d(n,{deleteBulkAction:()=>ra,disableBulkAction:()=>ta,enableBulkAction:()=>ea,exportBulkAction:()=>na,trashBulkAction:()=>aa});var o={};a.r(o),a.d(o,{statusFilter:()=>ia,typeFilter:()=>la});var i={};a.r(i),a.d(i,{exportListOption:()=>ua,importListOption:()=>sa});var l={};a.r(l),a.d(l,{deleteQuickAction:()=>pa,editQuickAction:()=>ca,trashQuickAction:()=>ha});const s=window.React;Object.getOwnPropertyNames(Object.prototype).sort().join("\0"),"undefined"!=typeof window?window:"undefined"!=typeof globalThis&&globalThis,a(22),a(635);var u="popstate";function c(e={}){return function(e,t,a,r={}){let{window:n=document.defaultView,v5Compat:o=!1}=r,i=n.history,l="POP",s=null,c=p();function p(){return(i.state||{idx:null}).idx}function g(){l="POP";let e=p(),t=null==e?null:e-c;c=e,s&&s({action:l,location:v.location,delta:t})}function S(e){let t="null"!==n.location.origin?n.location.origin:n.location.href,a="string"==typeof e?e:f(e);return a=a.replace(/ $/,"%20"),h(t,`No window.location.(origin|href) available to create URL for href: ${a}`),new URL(a,t)}null==c&&(c=0,i.replaceState({...i.state,idx:c},""));let v={get action(){return l},get location(){return e(n,i)},listen(e){if(s)throw new Error("A history only accepts one active listener");return n.addEventListener(u,g),s=e,()=>{n.removeEventListener(u,g),s=null}},createHref:e=>t(n,e),createURL:S,encodeLocation(e){let t=S(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){l="PUSH";let r=m(v.location,e,t);a&&a(r,e),c=p()+1;let u=d(r,c),h=v.createHref(r);try{i.pushState(u,"",h)}catch(e){if(e instanceof DOMException&&"DataCloneError"===e.name)throw e;n.location.assign(h)}o&&s&&s({action:l,location:v.location,delta:1})},replace:function(e,t){l="REPLACE";let r=m(v.location,e,t);a&&a(r,e),c=p();let n=d(r,c),u=v.createHref(r);i.replaceState(n,"",u),o&&s&&s({action:l,location:v.location,delta:0})},go:e=>i.go(e)};return v}(function(e,t){let{pathname:a,search:r,hash:n}=e.location;return m("",{pathname:a,search:r,hash:n},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){return"string"==typeof t?t:f(t)},null,e)}function h(e,t){if(!1===e||null==e)throw new Error(t)}function p(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function d(e,t){return{usr:e.state,key:e.key,idx:t}}function m(e,t,a=null,r){return{pathname:"string"==typeof e?e:e.pathname,search:"",hash:"",..."string"==typeof t?g(t):t,state:a,key:t&&t.key||r||Math.random().toString(36).substring(2,10)}}function f({pathname:e="/",search:t="",hash:a=""}){return t&&"?"!==t&&(e+="?"===t.charAt(0)?t:"?"+t),a&&"#"!==a&&(e+="#"===a.charAt(0)?a:"#"+a),e}function g(e){let t={};if(e){let a=e.indexOf("#");a>=0&&(t.hash=e.substring(a),e=e.substring(0,a));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function S(e,t,a="/"){return function(e,t,a,r){let n=T(("string"==typeof t?g(t):t).pathname||"/",a);if(null==n)return null;let o=v(e);!function(e){e.sort((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every((e,a)=>e===t[a])?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)))}(o);let i=null;for(let e=0;null==i&&e<o.length;++e){let t=A(n);i=j(o[e],t,r)}return i}(e,t,a,!1)}function v(e,t=[],a=[],r=""){let n=(e,n,o)=>{let i={relativePath:void 0===o?e.path||"":o,caseSensitive:!0===e.caseSensitive,childrenIndex:n,route:e};i.relativePath.startsWith("/")&&(h(i.relativePath.startsWith(r),`Absolute route path "${i.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),i.relativePath=i.relativePath.slice(r.length));let l=M([r,i.relativePath]),s=a.concat(i);e.children&&e.children.length>0&&(h(!0!==e.index,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),v(e.children,t,s,l)),(null!=e.path||e.index)&&t.push({path:l,score:C(l,e.index),routesMeta:s})};return e.forEach((e,t)=>{if(""!==e.path&&e.path?.includes("?"))for(let a of P(e.path))n(e,t,a);else n(e,t)}),t}function P(e){let t=e.split("/");if(0===t.length)return[];let[a,...r]=t,n=a.endsWith("?"),o=a.replace(/\?$/,"");if(0===r.length)return n?[o,""]:[o];let i=P(r.join("/")),l=[];return l.push(...i.map(e=>""===e?o:[o,e].join("/"))),n&&l.push(...i),l.map(t=>e.startsWith("/")&&""===t?"/":t)}var x=/^:[\w-]+$/,y=3,V=2,w=1,G=10,b=-2,k=e=>"*"===e;function C(e,t){let a=e.split("/"),r=a.length;return a.some(k)&&(r+=b),t&&(r+=V),a.filter(e=>!k(e)).reduce((e,t)=>e+(x.test(t)?y:""===t?w:G),r)}function j(e,t,a=!1){let{routesMeta:r}=e,n={},o="/",i=[];for(let e=0;e<r.length;++e){let l=r[e],s=e===r.length-1,u="/"===o?t:t.slice(o.length)||"/",c=_({path:l.relativePath,caseSensitive:l.caseSensitive,end:s},u),h=l.route;if(!c&&s&&a&&!r[r.length-1].route.index&&(c=_({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},u)),!c)return null;Object.assign(n,c.params),i.push({params:n,pathname:M([o,c.pathname]),pathnameBase:N(M([o,c.pathnameBase])),route:h}),"/"!==c.pathnameBase&&(o=M([o,c.pathnameBase]))}return i}function _(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[a,r]=function(e,t=!1,a=!0){p("*"===e||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let r=[],n="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,a)=>(r.push({paramName:t,isOptional:null!=a}),a?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),n+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?n+="\\/*$":""!==e&&"/"!==e&&(n+="(?:(?=\\/|$))"),[new RegExp(n,t?void 0:"i"),r]}(e.path,e.caseSensitive,e.end),n=t.match(a);if(!n)return null;let o=n[0],i=o.replace(/(.)\/+$/,"$1"),l=n.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:a},r)=>{if("*"===t){let e=l[r]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}const n=l[r];return e[t]=a&&!n?void 0:(n||"").replace(/%2F/g,"/"),e},{}),pathname:o,pathnameBase:i,pattern:e}}function A(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return p(!1,`The URL path "${e}" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function T(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let a=t.endsWith("/")?t.length-1:t.length,r=e.charAt(a);return r&&"/"!==r?null:e.slice(a)||"/"}function R(e,t,a,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${a}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function E(e){let t=function(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}(e);return t.map((e,a)=>a===t.length-1?e.pathname:e.pathnameBase)}function L(e,t,a,r=!1){let n;"string"==typeof e?n=g(e):(n={...e},h(!n.pathname||!n.pathname.includes("?"),R("?","pathname","search",n)),h(!n.pathname||!n.pathname.includes("#"),R("#","pathname","hash",n)),h(!n.search||!n.search.includes("#"),R("#","search","hash",n)));let o,i=""===e||""===n.pathname,l=i?"/":n.pathname;if(null==l)o=a;else{let e=t.length-1;if(!r&&l.startsWith("..")){let t=l.split("/");for(;".."===t[0];)t.shift(),e-=1;n.pathname=t.join("/")}o=e>=0?t[e]:"/"}let s=function(e,t="/"){let{pathname:a,search:r="",hash:n=""}="string"==typeof e?g(e):e,o=a?a.startsWith("/")?a:function(e,t){let a=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(e=>{".."===e?a.length>1&&a.pop():"."!==e&&a.push(e)}),a.length>1?a.join("/"):"/"}(a,t):t;return{pathname:o,search:B(r),hash:D(n)}}(n,o),u=l&&"/"!==l&&l.endsWith("/"),c=(i||"."===l)&&a.endsWith("/");return s.pathname.endsWith("/")||!u&&!c||(s.pathname+="/"),s}var M=e=>e.join("/").replace(/\/\/+/g,"/"),N=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),B=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",D=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";function F(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}var $=["POST","PUT","PATCH","DELETE"],O=(new Set($),["GET",...$]);new Set(O),Symbol("ResetLoaderData");var I=s.createContext(null);I.displayName="DataRouter";var H=s.createContext(null);H.displayName="DataRouterState";var U=s.createContext({isTransitioning:!1});U.displayName="ViewTransition",s.createContext(new Map).displayName="Fetchers",s.createContext(null).displayName="Await";var W=s.createContext(null);W.displayName="Navigation";var z=s.createContext(null);z.displayName="Location";var Q=s.createContext({outlet:null,matches:[],isDataRoute:!1});Q.displayName="Route";var Z=s.createContext(null);function J(){return null!=s.useContext(z)}function Y(){return h(J(),"useLocation() may be used only in the context of a <Router> component."),s.useContext(z).location}Z.displayName="RouteError";var K="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function q(e){s.useContext(W).static||s.useLayoutEffect(e)}function X(){let{isDataRoute:e}=s.useContext(Q);return e?function(){let{router:e}=function(e){let t=s.useContext(I);return h(t,ie(e)),t}("useNavigate"),t=le("useNavigate"),a=s.useRef(!1);q(()=>{a.current=!0});let r=s.useCallback(async(r,n={})=>{p(a.current,K),a.current&&("number"==typeof r?e.navigate(r):await e.navigate(r,{fromRouteId:t,...n}))},[e,t]);return r}():function(){h(J(),"useNavigate() may be used only in the context of a <Router> component.");let e=s.useContext(I),{basename:t,navigator:a}=s.useContext(W),{matches:r}=s.useContext(Q),{pathname:n}=Y(),o=JSON.stringify(E(r)),i=s.useRef(!1);q(()=>{i.current=!0});let l=s.useCallback((r,l={})=>{if(p(i.current,K),!i.current)return;if("number"==typeof r)return void a.go(r);let s=L(r,JSON.parse(o),n,"path"===l.relative);null==e&&"/"!==t&&(s.pathname="/"===s.pathname?t:M([t,s.pathname])),(l.replace?a.replace:a.push)(s,l.state,l)},[t,a,o,n,e]);return l}()}function ee(e,{relative:t}={}){let{matches:a}=s.useContext(Q),{pathname:r}=Y(),n=JSON.stringify(E(a));return s.useMemo(()=>L(e,JSON.parse(n),r,"path"===t),[e,n,r,t])}function te(e,t,a,r){h(J(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:n}=s.useContext(W),{matches:o}=s.useContext(Q),i=o[o.length-1],l=i?i.params:{},u=i?i.pathname:"/",c=i?i.pathnameBase:"/",d=i&&i.route;{let e=d&&d.path||"";ue(u,!d||e.endsWith("*")||e.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${u}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.\n\nPlease change the parent <Route path="${e}"> to <Route path="${"/"===e?"*":`${e}/*`}">.`)}let m,f=Y();if(t){let e="string"==typeof t?g(t):t;h("/"===c||e.pathname?.startsWith(c),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${c}" but pathname "${e.pathname}" was given in the \`location\` prop.`),m=e}else m=f;let v=m.pathname||"/",P=v;if("/"!==c){let e=c.replace(/^\//,"").split("/");P="/"+v.replace(/^\//,"").split("/").slice(e.length).join("/")}let x=S(e,{pathname:P});p(d||null!=x,`No routes matched location "${m.pathname}${m.search}${m.hash}" `),p(null==x||void 0!==x[x.length-1].route.element||void 0!==x[x.length-1].route.Component||void 0!==x[x.length-1].route.lazy,`Matched leaf route at location "${m.pathname}${m.search}${m.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let y=function(e,t=[],a=null){if(null==e){if(!a)return null;if(a.errors)e=a.matches;else{if(0!==t.length||a.initialized||!(a.matches.length>0))return null;e=a.matches}}let r=e,n=a?.errors;if(null!=n){let e=r.findIndex(e=>e.route.id&&void 0!==n?.[e.route.id]);h(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(n).join(",")}`),r=r.slice(0,Math.min(r.length,e+1))}let o=!1,i=-1;if(a)for(let e=0;e<r.length;e++){let t=r[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(i=e),t.route.id){let{loaderData:e,errors:n}=a,l=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!n||void 0===n[t.route.id]);if(t.route.lazy||l){o=!0,r=i>=0?r.slice(0,i+1):[r[0]];break}}}return r.reduceRight((e,l,u)=>{let c,h=!1,p=null,d=null;a&&(c=n&&l.route.id?n[l.route.id]:void 0,p=l.route.errorElement||re,o&&(i<0&&0===u?(ue("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),h=!0,d=null):i===u&&(h=!0,d=l.route.hydrateFallbackElement||null)));let m=t.concat(r.slice(0,u+1)),f=()=>{let t;return t=c?p:h?d:l.route.Component?s.createElement(l.route.Component,null):l.route.element?l.route.element:e,s.createElement(oe,{match:l,routeContext:{outlet:e,matches:m,isDataRoute:null!=a},children:t})};return a&&(l.route.ErrorBoundary||l.route.errorElement||0===u)?s.createElement(ne,{location:a.location,revalidation:a.revalidation,component:p,error:c,children:f(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):f()},null)}(x&&x.map(e=>Object.assign({},e,{params:Object.assign({},l,e.params),pathname:M([c,n.encodeLocation?n.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?c:M([c,n.encodeLocation?n.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),o,a,r);return t&&y?s.createElement(z.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...m},navigationType:"POP"}},y):y}function ae(){let e=function(){let e=s.useContext(Z),t=function(e){let t=s.useContext(H);return h(t,ie(e)),t}("useRouteError"),a=le("useRouteError");return void 0!==e?e:t.errors?.[a]}(),t=F(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),a=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",n={padding:"0.5rem",backgroundColor:r},o={padding:"2px 4px",backgroundColor:r},i=null;return console.error("Error handled by React Router default ErrorBoundary:",e),i=s.createElement(s.Fragment,null,s.createElement("p",null,"💿 Hey developer 👋"),s.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",s.createElement("code",{style:o},"ErrorBoundary")," or"," ",s.createElement("code",{style:o},"errorElement")," prop on your route.")),s.createElement(s.Fragment,null,s.createElement("h2",null,"Unexpected Application Error!"),s.createElement("h3",{style:{fontStyle:"italic"}},t),a?s.createElement("pre",{style:n},a):null,i)}s.createContext(null);var re=s.createElement(ae,null),ne=class extends s.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?s.createElement(Q.Provider,{value:this.props.routeContext},s.createElement(Z.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function oe({routeContext:e,match:t,children:a}){let r=s.useContext(I);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),s.createElement(Q.Provider,{value:e},a)}function ie(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function le(e){let t=function(e){let t=s.useContext(Q);return h(t,ie(e)),t}(e),a=t.matches[t.matches.length-1];return h(a.route.id,`${e} can only be used on routes that contain a unique "id"`),a.route.id}var se={};function ue(e,t,a){t||se[e]||(se[e]=!0,p(!1,a))}function ce({basename:e="/",children:t=null,location:a,navigationType:r="POP",navigator:n,static:o=!1}){h(!J(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let i=e.replace(/^\/*/,"/"),l=s.useMemo(()=>({basename:i,navigator:n,static:o,future:{}}),[i,n,o]);"string"==typeof a&&(a=g(a));let{pathname:u="/",search:c="",hash:d="",state:m=null,key:f="default"}=a,S=s.useMemo(()=>{let e=T(u,i);return null==e?null:{location:{pathname:e,search:c,hash:d,state:m,key:f},navigationType:r}},[i,u,c,d,m,f,r]);return p(null!=S,`<Router basename="${i}"> is not able to match the URL "${u}${c}${d}" because it does not start with the basename, so the <Router> won't render anything.`),null==S?null:s.createElement(W.Provider,{value:l},s.createElement(z.Provider,{children:t,value:S}))}s.memo(function({routes:e,future:t,state:a}){return te(e,void 0,a,t)}),s.Component;var he="get",pe="application/x-www-form-urlencoded";function de(e){return null!=e&&"string"==typeof e.tagName}var me=null,fe=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function ge(e){return null==e||fe.has(e)?e:(p(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${pe}"`),null)}function Se(e,t){if(!1===e||null==e)throw new Error(t)}function ve(e){return null!=e&&(null==e.href?"preload"===e.rel&&"string"==typeof e.imageSrcSet&&"string"==typeof e.imageSizes:"string"==typeof e.rel&&"string"==typeof e.href)}function Pe(e,t,a,r,n,o){let i=(e,t)=>!a[t]||e.route.id!==a[t].route.id,l=(e,t)=>a[t].pathname!==e.pathname||a[t].route.path?.endsWith("*")&&a[t].params["*"]!==e.params["*"];return"assets"===o?t.filter((e,t)=>i(e,t)||l(e,t)):"data"===o?t.filter((t,o)=>{let s=r.routes[t.route.id];if(!s||!s.hasLoader)return!1;if(i(t,o)||l(t,o))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(n.pathname+n.search+n.hash,window.origin),currentParams:a[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if("boolean"==typeof r)return r}return!0}):[]}function xe(){let e=s.useContext(I);return Se(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function ye(){let e=s.useContext(H);return Se(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}Symbol("SingleFetchRedirect"),s.Component;var Ve=s.createContext(void 0);function we(){let e=s.useContext(Ve);return Se(e,"You must render this element inside a <HydratedRouter> element"),e}function Ge(e,t){return a=>{e&&e(a),a.defaultPrevented||t(a)}}function be({page:e,...t}){let{router:a}=xe(),r=s.useMemo(()=>S(a.routes,e,a.basename),[a.routes,e,a.basename]);return r?s.createElement(Ce,{page:e,matches:r,...t}):null}function ke(e){let{manifest:t,routeModules:a}=we(),[r,n]=s.useState([]);return s.useEffect(()=>{let r=!1;return async function(e,t,a){return function(e,t){let a=new Set,r=new Set(t);return e.reduce((e,n)=>{if(t&&(null==(o=n)||"string"!=typeof o.page)&&"script"===n.as&&n.href&&r.has(n.href))return e;var o;let i=JSON.stringify(function(e){let t={},a=Object.keys(e).sort();for(let r of a)t[r]=e[r];return t}(n));return a.has(i)||(a.add(i),e.push({key:i,link:n})),e},[])}((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await async function(e,t){if(e.id in t)return t[e.id];try{let a=await import(e.module);return t[e.id]=a,a}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}(r,a);return e.links?e.links():[]}return[]}))).flat(1).filter(ve).filter(e=>"stylesheet"===e.rel||"preload"===e.rel).map(e=>"stylesheet"===e.rel?{...e,rel:"prefetch",as:"style"}:{...e,rel:"prefetch"}))}(e,t,a).then(e=>{r||n(e)}),()=>{r=!0}},[e,t,a]),r}function Ce({page:e,matches:t,...a}){let r=Y(),{manifest:n,routeModules:o}=we(),{loaderData:i,matches:l}=ye(),u=s.useMemo(()=>Pe(e,t,l,n,r,"data"),[e,t,l,n,r]),c=s.useMemo(()=>Pe(e,t,l,n,r,"assets"),[e,t,l,n,r]),h=s.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let a=new Set,l=!1;if(t.forEach(e=>{let t=n.routes[e.route.id];t&&t.hasLoader&&(!u.some(t=>t.route.id===e.route.id)&&e.route.id in i&&o[e.route.id]?.shouldRevalidate||t.hasClientLoader?l=!0:a.add(e.route.id))}),0===a.size)return[];let s=function(e){let t="string"==typeof e?new URL(e,"undefined"==typeof window?"server://singlefetch/":window.location.origin):e;return"/"===t.pathname?t.pathname="_root.data":t.pathname=`${t.pathname.replace(/\/$/,"")}.data`,t}(e);return l&&a.size>0&&s.searchParams.set("_routes",t.filter(e=>a.has(e.route.id)).map(e=>e.route.id).join(",")),[s.pathname+s.search]},[i,r,n,u,t,e,o]),p=s.useMemo(()=>function(e,t){return a=e.map(e=>{let a=t.routes[e.route.id];if(!a)return[];let r=[a.module];return a.imports&&(r=r.concat(a.imports)),r}).flat(1),[...new Set(a)];var a}(c,n),[c,n]),d=ke(c);return s.createElement(s.Fragment,null,h.map(e=>s.createElement("link",{key:e,rel:"prefetch",as:"fetch",href:e,...a})),p.map(e=>s.createElement("link",{key:e,rel:"modulepreload",href:e,...a})),d.map(({key:e,link:t})=>s.createElement("link",{key:e,...t})))}Ve.displayName="FrameworkContext";function je(...e){return t=>{e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}}var _e="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;try{_e&&(window.__reactRouterVersion="7.1.1")}catch(e){}function Ae({basename:e,children:t,window:a}){let r=s.useRef();null==r.current&&(r.current=c({window:a,v5Compat:!0}));let n=r.current,[o,i]=s.useState({action:n.action,location:n.location}),l=s.useCallback(e=>{s.startTransition(()=>i(e))},[i]);return s.useLayoutEffect(()=>n.listen(l),[n,l]),s.createElement(ce,{basename:e,children:t,location:o.location,navigationType:o.action,navigator:n})}var Te=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Re=s.forwardRef(function({onClick:e,discover:t="render",prefetch:a="none",relative:r,reloadDocument:n,replace:o,state:i,target:l,to:u,preventScrollReset:c,viewTransition:d,...m},g){let S,{basename:v}=s.useContext(W),P="string"==typeof u&&Te.test(u),x=!1;if("string"==typeof u&&P&&(S=u,_e))try{let e=new URL(window.location.href),t=u.startsWith("//")?new URL(e.protocol+u):new URL(u),a=T(t.pathname,v);t.origin===e.origin&&null!=a?u=a+t.search+t.hash:x=!0}catch(e){p(!1,`<Link to="${u}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let y=function(e,{relative:t}={}){h(J(),"useHref() may be used only in the context of a <Router> component.");let{basename:a,navigator:r}=s.useContext(W),{hash:n,pathname:o,search:i}=ee(e,{relative:t}),l=o;return"/"!==a&&(l="/"===o?a:M([a,o])),r.createHref({pathname:l,search:i,hash:n})}(u,{relative:r}),[V,w,G]=function(e,t){let a=s.useContext(Ve),[r,n]=s.useState(!1),[o,i]=s.useState(!1),{onFocus:l,onBlur:u,onMouseEnter:c,onMouseLeave:h,onTouchStart:p}=t,d=s.useRef(null);s.useEffect(()=>{if("render"===e&&i(!0),"viewport"===e){let e=new IntersectionObserver(e=>{e.forEach(e=>{i(e.isIntersecting)})},{threshold:.5});return d.current&&e.observe(d.current),()=>{e.disconnect()}}},[e]),s.useEffect(()=>{if(r){let e=setTimeout(()=>{i(!0)},100);return()=>{clearTimeout(e)}}},[r]);let m=()=>{n(!0)},f=()=>{n(!1),i(!1)};return a?"intent"!==e?[o,d,{}]:[o,d,{onFocus:Ge(l,m),onBlur:Ge(u,f),onMouseEnter:Ge(c,m),onMouseLeave:Ge(h,f),onTouchStart:Ge(p,m)}]:[!1,d,{}]}(a,m),b=function(e,{target:t,replace:a,state:r,preventScrollReset:n,relative:o,viewTransition:i}={}){let l=X(),u=Y(),c=ee(e,{relative:o});return s.useCallback(s=>{if(function(e,t){return!(0!==e.button||t&&"_self"!==t||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e))}(s,t)){s.preventDefault();let t=void 0!==a?a:f(u)===f(c);l(e,{replace:t,state:r,preventScrollReset:n,relative:o,viewTransition:i})}},[u,l,c,a,r,t,e,n,o,i])}(u,{replace:o,state:i,target:l,preventScrollReset:c,relative:r,viewTransition:d}),k=s.createElement("a",{...m,...G,href:S||y,onClick:x||n?e:function(t){e&&e(t),t.defaultPrevented||b(t)},ref:je(g,w),target:l,"data-discover":P||"render"!==t?void 0:"true"});return V&&!P?s.createElement(s.Fragment,null,k,s.createElement(be,{page:y})):k});Re.displayName="Link",s.forwardRef(function({"aria-current":e="page",caseSensitive:t=!1,className:a="",end:r=!1,style:n,to:o,viewTransition:i,children:l,...u},c){let p=ee(o,{relative:u.relative}),d=Y(),m=s.useContext(H),{navigator:f,basename:g}=s.useContext(W),S=null!=m&&function(e,t={}){let a=s.useContext(U);h(null!=a,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=Le("useViewTransitionState"),n=ee(e,{relative:t.relative});if(!a.isTransitioning)return!1;let o=T(a.currentLocation.pathname,r)||a.currentLocation.pathname,i=T(a.nextLocation.pathname,r)||a.nextLocation.pathname;return null!=_(n.pathname,i)||null!=_(n.pathname,o)}(p)&&!0===i,v=f.encodeLocation?f.encodeLocation(p).pathname:p.pathname,P=d.pathname,x=m&&m.navigation&&m.navigation.location?m.navigation.location.pathname:null;t||(P=P.toLowerCase(),x=x?x.toLowerCase():null,v=v.toLowerCase()),x&&g&&(x=T(x,g)||x);const y="/"!==v&&v.endsWith("/")?v.length-1:v.length;let V,w=P===v||!r&&P.startsWith(v)&&"/"===P.charAt(y),G=null!=x&&(x===v||!r&&x.startsWith(v)&&"/"===x.charAt(v.length)),b={isActive:w,isPending:G,isTransitioning:S},k=w?e:void 0;V="function"==typeof a?a(b):[a,w?"active":null,G?"pending":null,S?"transitioning":null].filter(Boolean).join(" ");let C="function"==typeof n?n(b):n;return s.createElement(Re,{...u,"aria-current":k,className:V,ref:c,style:C,to:o,viewTransition:i},"function"==typeof l?l(b):l)}).displayName="NavLink";var Ee=s.forwardRef(({discover:e="render",fetcherKey:t,navigate:a,reloadDocument:r,replace:n,state:o,method:i=he,action:l,onSubmit:u,relative:c,preventScrollReset:p,viewTransition:d,...m},g)=>{let S=function(){let{router:e}=Le("useSubmit"),{basename:t}=s.useContext(W),a=le("useRouteId");return s.useCallback(async(r,n={})=>{let{action:o,method:i,encType:l,formData:s,body:u}=function(e,t){let a,r,n,o,i;if(de(l=e)&&"form"===l.tagName.toLowerCase()){let i=e.getAttribute("action");r=i?T(i,t):null,a=e.getAttribute("method")||he,n=ge(e.getAttribute("enctype"))||pe,o=new FormData(e)}else if(function(e){return de(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return de(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=e.getAttribute("formaction")||i.getAttribute("action");if(r=l?T(l,t):null,a=e.getAttribute("formmethod")||i.getAttribute("method")||he,n=ge(e.getAttribute("formenctype"))||ge(i.getAttribute("enctype"))||pe,o=new FormData(i,e),!function(){if(null===me)try{new FormData(document.createElement("form"),0),me=!1}catch(e){me=!0}return me}()){let{name:t,type:a,value:r}=e;if("image"===a){let e=t?`${t}.`:"";o.append(`${e}x`,"0"),o.append(`${e}y`,"0")}else t&&o.append(t,r)}}else{if(de(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');a=he,r=null,n=pe,i=e}var l;return o&&"text/plain"===n&&(i=o,o=void 0),{action:r,method:a.toLowerCase(),encType:n,formData:o,body:i}}(r,t);if(!1===n.navigate){let t=n.fetcherKey||Ne();await e.fetch(t,a,n.action||o,{preventScrollReset:n.preventScrollReset,formData:s,body:u,formMethod:n.method||i,formEncType:n.encType||l,flushSync:n.flushSync})}else await e.navigate(n.action||o,{preventScrollReset:n.preventScrollReset,formData:s,body:u,formMethod:n.method||i,formEncType:n.encType||l,replace:n.replace,state:n.state,fromRouteId:a,flushSync:n.flushSync,viewTransition:n.viewTransition})},[e,t,a])}(),v=function(e,{relative:t}={}){let{basename:a}=s.useContext(W),r=s.useContext(Q);h(r,"useFormAction must be used inside a RouteContext");let[n]=r.matches.slice(-1),o={...ee(e||".",{relative:t})},i=Y();if(null==e){o.search=i.search;let e=new URLSearchParams(o.search),t=e.getAll("index");if(t.some(e=>""===e)){e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let a=e.toString();o.search=a?`?${a}`:""}}return e&&"."!==e||!n.route.index||(o.search=o.search?o.search.replace(/^\?/,"?index&"):"?index"),"/"!==a&&(o.pathname="/"===o.pathname?a:M([a,o.pathname])),f(o)}(l,{relative:c}),P="get"===i.toLowerCase()?"get":"post",x="string"==typeof l&&Te.test(l);return s.createElement("form",{ref:g,method:P,action:v,onSubmit:r?u:e=>{if(u&&u(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,l=r?.getAttribute("formmethod")||i;S(r||e.currentTarget,{fetcherKey:t,method:l,navigate:a,replace:n,state:o,relative:c,preventScrollReset:p,viewTransition:d})},...m,"data-discover":x||"render"!==e?void 0:"true"})});function Le(e){let t=s.useContext(I);return h(t,function(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}(e)),t}Ee.displayName="Form";var Me=0,Ne=()=>`__${String(++Me)}__`;new TextEncoder,window.ReactDOM;const Be=window.popupMaker.useQueryParams,De=({children:e})=>{var t;const{navigator:a}=(0,s.useContext)(W),r=X(),n=null==(t=(0,s.useContext)(I))?void 0:t.router,o=Y();return e({replace(e){r(e.search||"?",{replace:!0,state:e.state})},push(e){r(e.search||"?",{replace:!1,state:e.state})},get location(){var e,t,r;return null!=(r=null!=(t=null==(e=null==n?void 0:n.state)?void 0:e.location)?t:null==a?void 0:a.location)?r:o}})},Fe=window.wp.domReady;var $e=a.n(Fe);const Oe=window.wp.hooks,Ie=window.wp.element,He=window.wp.data,Ue=window.popupMaker.data;function We(e){var t,a,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e)){var n=e.length;for(t=0;t<n;t++)e[t]&&(a=We(e[t]))&&(r&&(r+=" "),r+=a)}else for(a in e)e[a]&&(r&&(r+=" "),r+=a);return r}const ze=function(){for(var e,t,a=0,r="",n=arguments.length;a<n;a++)(e=arguments[a])&&(t=We(e))&&(r&&(r+=" "),r+=t);return r},Qe=window.popupMaker.i18n,Ze=window.wp.components,Je=window.popupMaker.layout,Ye=((0,Ie.forwardRef)(({icon:e,size:t=24,...a},r)=>(0,Ie.cloneElement)(e,{width:t,height:t,...a,ref:r})),window.wp.primitives),Ke=window.ReactJSXRuntime,qe=(Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.Circle,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,(0,Ke.jsx)(Ye.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,Ke.jsx)(Ye.Path,{d:"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm3.8 10.7-1.1 1.1-2.7-2.7-2.7 2.7-1.1-1.1 2.7-2.7-2.7-2.7 1.1-1.1 2.7 2.7 2.7-2.7 1.1 1.1-2.7 2.7 2.7 2.7Z"})})),Xe=(Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,(0,Ke.jsx)(Ye.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,Ke.jsx)(Ye.Path,{d:"M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z"})})),et=(Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,(0,Ke.jsx)(Ye.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,Ke.jsx)(Ye.Path,{d:"M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z"})})),tt=(Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.Path,Ye.Circle,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.G,Ye.Path,Ye.Path,Ye.SVG,Ye.G,Ye.Path,Ye.Path,Ye.SVG,Ye.G,Ye.Path,Ye.Path,Ye.SVG,Ye.G,Ye.Path,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,(0,Ke.jsx)(Ye.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Ke.jsx)(Ye.Path,{d:"M18 11.3l-1-1.1-4 4V3h-1.5v11.3L7 10.2l-1 1.1 6.2 5.8 5.8-5.8zm.5 3.7v3.5h-13V15H4v5h16v-5h-1.5z"})})),at=(Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,(0,Ke.jsx)(Ye.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,Ke.jsx)(Ye.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.75 4v1.5h-1.5V8h1.5Zm0 8v-5h-1.5v5h1.5Z"})})),rt=(Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,(0,Ke.jsx)(Ye.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Ke.jsx)(Ye.Path,{d:"M10 17.389H8.444A5.194 5.194 0 1 1 8.444 7H10v1.5H8.444a3.694 3.694 0 0 0 0 7.389H10v1.5ZM14 7h1.556a5.194 5.194 0 0 1 0 10.39H14v-1.5h1.556a3.694 3.694 0 0 0 0-7.39H14V7Zm-4.5 6h5v-1.5h-5V13Z"})})),nt=(0,Ke.jsx)(Ye.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Ke.jsx)(Ye.Path,{d:"M17.031 4.703 15.576 4l-1.56 3H14v.03l-2.324 4.47H9.5V13h1.396l-1.502 2.889h-.95a3.694 3.694 0 0 1 0-7.389H10V7H8.444a5.194 5.194 0 1 0 0 10.389h.17L7.5 19.53l1.416.719L15.049 8.5h.507a3.694 3.694 0 0 1 0 7.39H14v1.5h1.556a5.194 5.194 0 0 0 .273-10.383l1.202-2.304Z"})}),ot=(Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,(0,Ke.jsx)(Ye.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Ke.jsx)(Ye.Path,{d:"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z"})})),it=(Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.Path,Ye.SVG,Ye.Path,Ye.Path,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,(0,Ke.jsx)(Ye.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Ke.jsx)(Ye.Path,{d:"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"})})),lt=(Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.Path,Ye.SVG,Ye.Path,Ye.Path,Ye.Path,Ye.SVG,Ye.Path,Ye.Path,Ye.SVG,Ye.Path,Ye.Path,Ye.SVG,Ye.Path,Ye.Path,Ye.SVG,Ye.Path,Ye.Path,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,(0,Ke.jsx)(Ye.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Ke.jsx)(Ye.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M12 5.5A2.25 2.25 0 0 0 9.878 7h4.244A2.251 2.251 0 0 0 12 5.5ZM12 4a3.751 3.751 0 0 0-3.675 3H5v1.5h1.27l.818 8.997a2.75 2.75 0 0 0 2.739 2.501h4.347a2.75 2.75 0 0 0 2.738-2.5L17.73 8.5H19V7h-3.325A3.751 3.751 0 0 0 12 4Zm4.224 4.5H7.776l.806 8.861a1.25 1.25 0 0 0 1.245 1.137h4.347a1.25 1.25 0 0 0 1.245-1.137l.805-8.861Z"})})),st=(Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,(0,Ke.jsx)(Ye.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Ke.jsx)(Ye.Path,{d:"M18.5 15v3.5H13V6.7l4.5 4.1 1-1.1-6.2-5.8-5.8 5.8 1 1.1 4-4v11.7h-6V15H4v5h16v-5z"})})),ut=(Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,Ye.SVG,Ye.Path,window.wp.htmlEntities),ct=window.popupMaker.utils,ht=window.popupMaker.icons,pt=window.popupMaker.ctaEditor,dt=window.popupMaker.components,mt=window.popupMaker.coreData,ft=()=>{},gt={callToActions:[],filteredCallToActions:[],bulkSelection:[],setBulkSelection:()=>{},updateCallToAction:(e,t)=>Promise.resolve(!1),deleteCallToAction:(e,t=!1)=>Promise.resolve(!1),isLoading:!1,isDeleting:!1,filters:{status:"all",searchText:"",type:"all"},setFilters:ft,sortConfig:{orderby:"id",order:dt.SortDirection.ASC},setSortConfig:ft},St=(0,Ie.createContext)(gt),{Provider:vt,Consumer:Pt}=St,xt=({value:e={},children:t})=>{const[a,r]=(0,Ie.useState)([]),[n,o]=(0,Be.useQueryParams)({orderby:(0,Be.withDefault)(Be.StringParam,"id"),order:(0,Be.withDefault)(Be.StringParam,dt.SortDirection.ASC)}),[i,l]=(0,Be.useQueryParams)({status:(0,Be.withDefault)(Be.StringParam,"all"),searchText:(0,Be.withDefault)(Be.StringParam,""),type:(0,Be.withDefault)(Be.StringParam,"all")}),s=()=>l({status:void 0,searchText:void 0,type:void 0});(0,Ie.useEffect)(()=>s,[]);const u=(0,He.useSelect)(e=>e(mt.callToActionStore).getCallToActions(),[]),c=(0,He.useSelect)(e=>e(mt.callToActionStore).isResolving("getCallToActions"),[]),h=(0,He.useSelect)(e=>e(mt.callToActionStore).isResolving("deleteCallToAction"),[]),{updateCallToAction:p,deleteCallToAction:d}=(0,He.useDispatch)(mt.callToActionStore),m=(0,Ie.useMemo)(()=>{if(!u)return[];const e=u.filter(e=>"all"===i.status||i.status===e.status).filter(e=>!i.searchText||!i.searchText.length||e.title.rendered.toLowerCase().indexOf(i.searchText.toLowerCase())>=0||e.excerpt.rendered&&e.excerpt.rendered.toLowerCase().indexOf(i.searchText.toLowerCase())>=0).filter(e=>"all"===i.type||i.type===e.settings.type);return null!==n&&e.sort((e,t)=>{const a="type"===n.orderby?e.settings.type:e.title.rendered.toLowerCase(),r="type"===n.orderby?t.settings.type:t.title.rendered.toLowerCase();return a<r?n.order===dt.SortDirection.ASC?-1:1:a>r?n.order===dt.SortDirection.ASC?1:-1:0}),e},[u,i,n]);return(0,Ke.jsx)(vt,{value:{...e,bulkSelection:a,setBulkSelection:r,filters:i,setFilters:l,callToActions:u,filteredCallToActions:m,isLoading:c,isDeleting:h,updateCallToAction:p,deleteCallToAction:d,sortConfig:n,setSortConfig:o},children:t})},yt=()=>(0,Ie.useContext)(St),Vt=window.popupMaker.registry,wt=(0,Vt.createRegistry)({name:"cta-editor/list-bulk-actions",groups:{status:{priority:10,label:"Status"},trash:{priority:20,label:"Trash"},export:{priority:30,label:"Export"}}}),Gt=()=>wt.useItems(),bt=wt.register,kt=wt.registerGroup,Ct=()=>wt.getItems(),jt=(0,Vt.createRegistry)({name:"cta-editor/list-quick-actions",groups:{general:{priority:10},trash:{priority:20}}}),_t=()=>jt.useItems(),At=jt.register,Tt=jt.registerGroup,Rt=()=>jt.getItems(),Et=(0,Vt.createRegistry)({name:"cta-editor/list-filters",groups:{core:{priority:10,label:"Core"},advanced:{priority:20,label:"Advanced"}},defaultGroup:"core"}),Lt=()=>Et.useItems(),Mt=Et.register,Nt=Et.registerGroup,Bt=()=>Et.getItems(),Dt=(0,Vt.createRegistry)({name:"cta-editor/list-options",groups:{import:{priority:10,label:"Import"}}}),Ft=()=>Dt.useItems(),$t=Dt.register,Ot=Dt.registerGroup,It=()=>Dt.getItems(),Ht=()=>{const e=(0,Ie.useRef)(void 0),t=(0,Ie.useRef)(),[a,r]=(0,Ie.useState)(!1),n=Gt(),{bulkSelection:o=[]}=yt(),i={};if(0===o.length)return null;const l=({group:t})=>{if(!t||t===e.current)return null;const a=e.current;return e.current=t,a?(0,Ke.jsx)("hr",{}):null};return(0,Ke.jsx)(Ke.Fragment,{children:(0,Ke.jsx)(Ze.Dropdown,{className:"list-table-bulk-actions",contentClassName:"list-table-bulk-actions__popover",placement:"bottom left",focusOnMount:"firstElement",open:a,popoverProps:{noArrow:!1,anchor:{getBoundingClientRect:()=>t.current?.getBoundingClientRect()||new DOMRect},onClose:()=>{r(!1)},onFocusOutside:()=>{r(!1)}},renderToggle:()=>(0,Ke.jsxs)(Ze.Flex,{children:[(0,Ke.jsx)("span",{className:"selected-items",children:(0,Qe.sprintf)( // translators: 1. number of items. // translators: 1. number of items. (0,Qe._n)("%d item selected","%d items selected",o.length,"popup-maker"),o.length)}),(0,Ke.jsxs)(Ze.Button,{className:"popover-toggle",ref:e=>{t.current=e},"aria-label":(0,Qe.__)("Bulk Actions","popup-maker"),variant:"secondary",onClick:()=>r(!a),"aria-expanded":a,icon:ht.CheckAll,iconSize:20,children:[(0,Qe.__)("Bulk Actions","popup-maker"),(0,Ke.jsx)(Ze.Icon,{className:"toggle-icon",icon:a?et:Xe})]})]}),renderContent:({onClose:t})=>(e.current=void 0,(0,Ke.jsx)(Ze.NavigableMenu,{orientation:"vertical",children:n.map(({id:e,group:a,render:r})=>(0,Ke.jsxs)(Ie.Fragment,{children:[(0,Ke.jsx)(l,{group:a}),(0,Ke.jsx)(r,{...i,onClose:t})]},e))}))})})},Ut=({values:e})=>{const t=(0,Ie.useRef)(void 0),a=_t(),r={values:e};if(0===a.length)return null;const n=({group:e})=>{if(!e||e===t.current)return null;const a=t.current;return t.current=e,a?(0,Ke.jsx)("span",{children:"|"}):null};return(0,Ke.jsx)("div",{className:"item-actions",children:(t.current=void 0,(0,Ke.jsx)(Ke.Fragment,{children:a.map(({id:e,group:t,render:a})=>(0,Ke.jsxs)(Ie.Fragment,{children:[(0,Ke.jsx)(n,{group:t}),(0,Ke.jsx)(a,{...r})]},e))}))})},Wt=()=>{const{filters:e={},setFilters:t,callToActions:a=[],filteredCallToActions:r=[]}=yt(),n=Lt(),o=(0,Ie.useRef)(void 0),i=(0,Ie.useCallback)(({group:e})=>e&&e!==o.current?(o.current,o.current=e,null):null,[]),l=(0,Ie.useCallback)(()=>(o.current=void 0,(0,Ke.jsx)(Ke.Fragment,{children:n.map(({id:n,group:o,render:l})=>(0,Ke.jsxs)(Ie.Fragment,{children:[(0,Ke.jsx)(i,{group:o}),(0,Ke.jsx)(l,{filters:e,setFilters:t,onClose:()=>{},items:a,filteredItems:r})]},n))})),[n,e,t,a,r,i]);return 0===n.length?null:(0,Ke.jsx)("div",{className:"list-table-filters",children:l()})},zt=()=>{const e=(0,Ie.useRef)(),t=(0,Ie.useRef)(void 0),[a,r]=(0,Ie.useState)(!1),n=Ft(),o={};if(0===n.length)return null;const i=({group:e})=>{if(!e||e===t.current)return null;const a=t.current;return t.current=e,a?(0,Ke.jsx)("hr",{}):null};return(0,Ke.jsx)(Ze.Dropdown,{className:"list-table-options-menu",contentClassName:"list-table-options-menu__popover",placement:"bottom left",focusOnMount:"firstElement",open:a,popoverProps:{noArrow:!1,anchor:{getBoundingClientRect:()=>e.current?.getBoundingClientRect()||new DOMRect},onClose:()=>{r(!1)},onFocusOutside:()=>{r(!1)}},renderToggle:()=>(0,Ke.jsx)(Ze.Button,{className:"popover-toggle","aria-label":(0,Qe.__)("Additional options","popup-maker"),icon:ot,onClick:()=>r(!a),"aria-expanded":a,ref:t=>{e.current=t}}),renderContent:({onClose:e})=>(t.current=void 0,(0,Ke.jsx)(Ze.NavigableMenu,{orientation:"vertical",children:n.map(({id:t,group:a,render:r})=>(0,Ke.jsxs)(Ie.Fragment,{children:[(0,Ke.jsx)(i,{group:a}),(0,Ke.jsx)(r,{...o,onClose:e})]},t))}))})},{cta_types:Qt}=window.popupMakerCtaAdmin,Zt=()=>{const{setEditorId:e}=(0,pt.useEditor)(),[t,a]=(0,Ie.useState)(!1),[r,n]=(0,Ie.useState)(),o=()=>n(void 0);return(0,Ke.jsx)(xt,{children:(0,Ke.jsx)(Pt,{children:({isLoading:n,bulkSelection:i=[],setBulkSelection:l=ct.noop,filteredCallToActions:s=[],updateCallToAction:u=ct.noop,filters:{searchText:c=""},setFilters:h,sortConfig:p,setSortConfig:d})=>(0,Ke.jsxs)(Ke.Fragment,{children:[(0,Ke.jsx)(dt.ConfirmDialogue,{...r,onClose:o}),(0,Ke.jsxs)("div",{className:"list-table-container",children:[n&&(0,Ke.jsx)("div",{className:"is-loading",children:(0,Ke.jsx)(Ze.Spinner,{})}),(0,Ke.jsxs)("div",{className:"list-table-header",children:[(0,Ke.jsxs)("div",{className:"list-search",children:[(0,Ke.jsx)(Ze.Icon,{icon:it}),(0,Ke.jsx)(Ze.TextControl,{placeholder:(0,Qe.__)("Search Call to Actions…","popup-maker"),value:null!=c?c:"",onChange:e=>h({searchText:""!==e?e:void 0}),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0})]}),(0,Ke.jsx)(Ht,{}),0===i.length&&(0,Ke.jsx)(Ze.Button,{className:"filters-toggle",variant:"secondary",onClick:()=>{a(!t)},"aria-expanded":t,icon:ht.FilterLines,iconSize:20,text:t?(0,Qe.__)("Hide Filters","popup-maker"):(0,Qe.__)("Filters","popup-maker")}),(0,Ke.jsx)(zt,{})]}),t&&(0,Ke.jsx)(Wt,{}),(0,Ke.jsx)(dt.ListTable,{selectedItems:i,onSelectItems:e=>l(e),items:n?[]:s,columns:{enabled:()=>(0,Ke.jsx)(Ze.Tooltip,{text:(0,Qe.__)("Enable or disable the call to action","popup-maker"),placement:"top-end",children:(0,Ke.jsx)("span",{children:(0,Ke.jsx)(Ze.Icon,{icon:at})})}),title:(0,Qe.__)("Name","popup-maker"),description:(0,Qe.__)("Description","popup-maker"),type:(0,Qe.__)("Type","popup-maker"),conversions:(0,Qe.__)("Conversions","popup-maker"),status:(0,Qe.__)("Status","popup-maker")},sortableColumns:["type","title","conversions"],onSort:(e,t)=>{d({orderby:e,order:t})},initialSort:p,rowClasses:e=>[`call-to-action-${e.id}`,`status-${e.status}`],renderCell:(t,a)=>{var r,n,o;const i=a.status,l="trash"===i,s="publish"===i;switch(t){case"enabled":return(0,Ke.jsx)(Ze.ToggleControl,{label:"","aria-label":(0,Qe.__)("Enable or disable the call to action","popup-maker"),checked:s,disabled:l,onChange:e=>{u({id:a.id,status:e?"publish":"draft"})},__nextHasNoMarginBottom:!0});case"status":return l?(0,Ke.jsx)(Ze.Icon,{"aria-label":(0,Qe.__)("In Trash","popup-maker"),icon:lt,size:20}):(0,Ke.jsx)("span",{children:s?(0,Qe.__)("Enabled","popup-maker"):(0,Qe.__)("Disabled","popup-maker")});case"title":return(0,Ke.jsxs)(Ke.Fragment,{children:[(0,Ke.jsx)(Ze.Button,{variant:"link",onClick:()=>e(a.id),children:(0,ut.decodeEntities)(a.title.rendered)}),(0,Ke.jsx)(Ut,{values:a})]});case"conversions":return null!==(r=a.stats?.conversions)&&void 0!==r?r:0;case"type":return(e=>{var t;const a=Object.values(Qt).find(({key:t})=>t===e);return null!==(t=a?.label)&&void 0!==t?t:""})(a.settings.type);case"description":return(0,ut.decodeEntities)(a.excerpt?.raw||"");default:return null!==(n=null!==(o=a[t])&&void 0!==o?o:a.settings[t])&&void 0!==n?n:""}}})]})]})})})},Jt=()=>{var e;const{setEditorId:t}=(0,pt.useEditor)(),a=(0,He.useSelect)(e=>e(mt.callToActionStore).getCallToActions(),[]),r=(0,He.useSelect)(e=>e(mt.callToActionStore).isResolving("getCallToActions"),[]),{createCallToAction:n}=(0,He.useDispatch)(mt.callToActionStore),o=null!==(e=a?.length)&&void 0!==e?e:0;return(0,Ke.jsxs)("header",{className:"popup-maker-call-to-actions-view__header",children:[(0,Ke.jsx)("h1",{className:"view-title wp-heading-inline",children:(0,Qe.__)("Call to Actions","popup-maker")}),(0,Ke.jsx)("span",{className:"item-count",children:r?(0,Ke.jsx)(Ze.Spinner,{}):(0,Qe.sprintf)(/* translators: 1. Number of items */ /* translators: 1. Number of items */ (0,Qe._n)("%d item","%d items",o,"popup-maker"),o)}),(0,Ke.jsx)(Ze.Button,{className:"add-call-to-action",onClick:async()=>{const e=await n({title:(0,Qe.__)("New Call to Action","popup-maker")});e&&t(e.id)},variant:"primary",children:(0,Qe.__)("Add Call to Action","popup-maker")})]})},Yt=()=>{const e=(0,Ie.useRef)({}),{notices:t,isEditorActive:a}=(0,He.useSelect)(e=>({notices:e(mt.callToActionStore).getNotices(),isEditorActive:e(mt.callToActionStore).isEditorActive()}),[]),{removeNotice:r}=(0,He.useDispatch)(mt.callToActionStore),n=(0,Ie.useCallback)(t=>{e.current[t]&&(clearTimeout(e.current[t]),delete e.current[t]),r(t)},[r]);return(0,Ie.useLayoutEffect)(()=>{t.forEach(t=>{if(e.current[t.id])return;const a=t.id?.startsWith("field-error-");a||pt.DEBUG_MODE||(e.current[t.id]=setTimeout(()=>{n(t.id)},3e3))})},[t,n]),!t.length||a?null:(0,Ke.jsx)("div",{className:"notices",children:t.map(e=>(0,Ke.jsx)(Ze.Notice,{status:e.status,isDismissible:e.isDismissible,onRemove:()=>n(e.id),children:e.content},e.id))})},Kt=()=>"undefined"!=typeof window&&window.popupMaker.globalVars?window.popupMaker.globalVars:{version:"1.0.0",wpVersion:6.5,pluginUrl:"",assetsUrl:"",adminUrl:"",nonce:"",permissions:{edit_ctas:!1,edit_popups:!1,edit_popup_themes:!1,mange_settings:!1}},qt=()=>{const{permissions:e={edit_ctas:!1}}=Kt(),{edit_ctas:t}=e;if(!t)return(0,Ke.jsxs)("div",{className:"call-to-action-list permission-denied",children:[(0,Ke.jsx)(Yt,{}),(0,Ke.jsx)("h3",{children:(0,Qe.__)("Permission Denied","popup-maker")}),(0,Ke.jsx)("p",{children:(0,Ke.jsx)("strong",{children:(0,Qe.__)("You do not have permission to manage Call To Actions.","popup-maker")})})]});const a=(0,pt.withQueryParams)((0,pt.withModal)(pt.Editor));return(0,Ke.jsxs)("div",{className:"call-to-action-list",children:[(0,Ke.jsx)(Yt,{}),(0,Ke.jsx)(Jt,{}),(0,Ke.jsx)(Zt,{}),(0,Ke.jsx)(a,{})]})},Xt=()=>{const{permissions:e={edit_ctas:!1}}=Kt(),{edit_ctas:t}=e,[{view:a="call-to-actions"},r]=(0,Be.useQueryParams)({tab:Be.StringParam,view:Be.StringParam}),n=(0,Ie.useMemo)(()=>{let e=[];return t&&e.push({name:"call-to-actions",title:(0,Qe.__)("Call to Actions","popup-maker"),className:"call-to-actions",pageTitle:(0,Qe.__)("Popup Maker - Call to Actions","popup-maker"),heading:(0,Qe.__)("Popup Maker - Call to Actions","popup-maker"),comp:qt}),e=(0,Oe.applyFilters)("popupMaker.callToActionEditor.views",[...e],{view:a,setParams:r}),e},[a,r,t]),o=n.find(e=>e.name===a),i=o?.comp?o.comp:()=>(0,Ke.jsx)(Ke.Fragment,{});(0,Ie.useEffect)(()=>{var e;document.title=null!==(e=n.find(e=>e.name===a)?.pageTitle)&&void 0!==e?e:(0,Qe.__)("Popup Maker","popup-maker")},[a,n]);const{adminUrl:l}=Kt();return(0,Ke.jsxs)(Je.AppLayout,{className:ze(["popup-maker-call-to-actions-page",`view-${a}`]),children:[(0,Ke.jsx)(Je.AppHeader,{tabs:n,currentTab:null!=a?a:void 0,onTabChange:e=>r({view:e}),adminUrl:l}),(0,Ke.jsx)(Je.AppContent,{children:(0,Ke.jsx)(i,{})}),(0,Ke.jsx)(Ze.Popover.Slot,{})]})},ea={id:"enable",group:"status",priority:5,render:()=>{const e=(0,He.useRegistry)(),{bulkSelection:t=[],setBulkSelection:a}=yt(),{getCallToAction:r}=(0,He.useSelect)(e=>({getCallToAction:e(mt.callToActionStore).getCallToAction}),[]),{createNotice:n,updateCallToAction:o}=(0,He.useDispatch)(mt.callToActionStore);return 0===t.length?null:t.some(e=>{const t=r(e);return"publish"!==t?.status})?(0,Ke.jsx)(Ze.Button,{icon:rt,text:(0,Qe.__)("Enable","popup-maker"),onClick:()=>{e.batch(()=>{const e=t.length;t.forEach(e=>{const t=r(e);t?.id===e&&o({id:e,status:"publish"},!1,!1)}),a([]),n("success",(0,Qe.sprintf)( // translators: 1. number of items // translators: 1. number of items (0,Qe._n)("%d call to action enabled.","%d call to actions enabled.",e,"popup-maker"),e),{id:"bulk-enable"})})}}):null}},ta={id:"disable",group:"status",priority:6,render:()=>{const{bulkSelection:e=[],setBulkSelection:t}=yt(),a=(0,He.useRegistry)(),{getCallToAction:r}=(0,He.useSelect)(e=>({getCallToAction:e(mt.callToActionStore).getCallToAction}),[]),{createNotice:n,updateCallToAction:o}=(0,He.useDispatch)(mt.callToActionStore);return 0===e.length?null:e.some(e=>{const t=r(e);return"draft"!==t?.status})?(0,Ke.jsx)(Ke.Fragment,{children:(0,Ke.jsx)(Ze.Button,{icon:nt,text:(0,Qe.__)("Disable","popup-maker"),onClick:()=>{a.batch(()=>{const a=e.length;e.forEach(e=>{const t=r(e);t?.id===e&&o({id:e,status:"draft"},!1,!1)}),t([]),n("success",(0,Qe.sprintf)( // translators: 1. number of items // translators: 1. number of items (0,Qe._n)("%d call to action disabled.","%d call to actions disabled.",a,"popup-maker"),a),{id:"bulk-disable"})})}})}):null}},aa={id:"trash",group:"trash",priority:5,render:()=>{const[e,t]=(0,Ie.useState)(),{bulkSelection:a=[],setBulkSelection:r,deleteCallToAction:n}=yt(),o=(0,He.useRegistry)(),{getCallToAction:i}=(0,He.useSelect)(e=>({getCallToAction:e(mt.callToActionStore).getCallToAction}),[]),{createNotice:l}=(0,He.useDispatch)(mt.callToActionStore);return 0===a.length?null:a.some(e=>{const t=i(e);return"trash"!==t?.status})?(0,Ke.jsxs)(Ke.Fragment,{children:[e&&(0,Ke.jsx)(dt.ConfirmDialogue,{...e,onClose:()=>t(void 0)}),(0,Ke.jsx)(Ze.Button,{text:(0,Qe.__)("Trash","popup-maker"),icon:lt,onClick:()=>{t({isDestructive:!0,message:(0,Qe.sprintf)( // translators: 1. number of items // translators: 1. number of items (0,Qe.__)("Are you sure you want to trash %d items?","popup-maker"),a.length),callback:()=>{o.batch(()=>{const e=a.length;a.forEach(e=>n(e,!1,!1)),r([]),l("success",(0,Qe.sprintf)( // translators: 1. number of items // translators: 1. number of items (0,Qe._n)("%d call to action moved to trash.","%d call to actions moved to trash.",e,"popup-maker"),e),{id:"bulk-trash"})})}})}})]}):null}},ra={id:"delete",group:"trash",priority:6,render:()=>{const[e,t]=(0,Ie.useState)(),{bulkSelection:a=[],setBulkSelection:r}=yt(),n=(0,He.useRegistry)(),{createNotice:o,deleteCallToAction:i}=(0,He.useDispatch)(mt.callToActionStore);return 0===a.length?null:(0,Ke.jsxs)(Ke.Fragment,{children:[e&&(0,Ke.jsx)(dt.ConfirmDialogue,{...e,onClose:()=>t(void 0)}),(0,Ke.jsx)(Ze.Button,{text:(0,Qe.__)("Delete Permanently","popup-maker"),icon:qe,isDestructive:!0,onClick:()=>{t({isDestructive:!0,message:(0,Qe.sprintf)( // translators: 1. call to action label. // translators: 1. call to action label. (0,Qe.__)("Are you sure you want to premanently delete %d items?","popup-maker"),a.length),callback:()=>{n.batch(()=>{const e=a.length;a.forEach(e=>i(e,!0,!1)),r([]),o("success",(0,Qe.sprintf)( // translators: 1. number of items // translators: 1. number of items (0,Qe._n)("%d call to action deleted.","%d call to actions deleted.",e,"popup-maker"),e),{id:"bulk-delete"})})}})}})]})}},na={id:"export",group:"export",priority:5,render:()=>{const[e,t]=(0,Ie.useState)(!1),a=(0,Ie.useRef)(null);return(0,Ke.jsxs)(Ke.Fragment,{children:[e&&(0,Ke.jsx)(Ze.Popover,{anchor:a.current,onClose:()=>t(!1),children:(0,Ke.jsxs)(Ze.Flex,{direction:"column",gap:"16px",justify:"center",align:"center",className:"pmp-popover-content",style:{padding:"16px",minWidth:"350px"},children:[(0,Ke.jsx)(Ze.Icon,{icon:ht.Mark,size:28}),(0,Ke.jsx)("h3",{style:{margin:0},children:(0,Qe.__)("Quick exports with Popup Maker Pro","popup-maker")}),(0,Ke.jsx)("p",{style:{margin:0},children:(0,Qe.__)("Popup Maker Pro gives you the power to import & export your call to actions to a JSON file in seconds.","popup-maker")}),(0,Ke.jsx)(Ze.Button,{variant:"primary",href:"https://wppopupmaker.com/pricing/?utm_source=popup-maker&utm_medium=cta-editor&utm_campaign=export-cta",target:"_blank",children:(0,Qe.__)("Learn more or upgrade today","popup-maker")})]})}),(0,Ke.jsxs)(Ze.Flex,{direction:"row",justify:"space-between",onMouseEnter:()=>t(!0),style:{cursor:"pointer",paddingRight:"10px",pointerEvents:"all"},children:[(0,Ke.jsx)(Ze.Button,{icon:tt,text:(0,Qe.__)("Export","popup-maker"),disabled:!0,showTooltip:!0,label:(0,Qe.__)("Export is available with Popup Maker Pro","popup-maker"),ref:a}),(0,Ke.jsx)(Ze.Icon,{icon:ht.Mark,size:14})]})]})}},oa={all:(0,Qe.__)("All","popup-maker"),publish:(0,Qe.__)("Enabled","popup-maker"),draft:(0,Qe.__)("Disabled","popup-maker"),pending:(0,Qe.__)("Pending","popup-maker"),trash:(0,Qe.__)("Trash","popup-maker"),future:(0,Qe.__)("Future","popup-maker"),private:(0,Qe.__)("Private","popup-maker")},ia={id:"status",priority:10,group:"core",render:({filters:e,setFilters:t,onClose:a,items:r,filteredItems:n})=>{var o;const[i,l]=(0,Ie.useState)(!1),s=(0,Ie.useRef)(null),u=(0,Ie.useMemo)(()=>r.reduce((e,t)=>{var a;return e[t.status]=(null!==(a=e[t.status])&&void 0!==a?a:0)+1,e.all++,e},{all:0}),[r]),c=(0,Ie.useMemo)(()=>n.reduce((e,t)=>{var a;return e[t.status]=(null!==(a=e[t.status])&&void 0!==a?a:0)+1,e.all++,e},{all:0}),[n]),h=null!==(o=e?.status)&&void 0!==o?o:"all";return(0,Ke.jsxs)("div",{className:ze(["list-table-filter list-table-filter--status",i?"is-active":""]),children:[(0,Ke.jsxs)(Ze.Button,{className:"filter-button",onClick:()=>l(!i),ref:s,children:[(0,Ke.jsxs)("span",{className:"filter-label",children:[(0,Qe.__)("Status","popup-maker"),":"]})," ",(0,Ke.jsx)("span",{className:"filter-selection",children:oa[h]}),(0,Ke.jsx)(Ze.Icon,{className:"filter-icon",icon:i?et:Xe})]}),i&&s.current&&(0,Ke.jsx)(Ze.Popover,{className:"list-table-filters__popover",anchor:s.current,onClose:()=>{l(!1),a()},position:"bottom right",onFocusOutside:()=>{l(!1),a()},children:(0,Ke.jsx)(Ze.RadioControl,{label:(0,Qe.__)("Status","popup-maker"),hideLabelFromVision:!0,selected:h,options:Object.entries(oa).filter(([e])=>{var t,a,r;return(null!==(t=u[h])&&void 0!==t?t:0)>0?(r=e,Boolean(c?.[r])):(null!==(a=u[e])&&void 0!==a?a:0)>0}).map(([e,t])=>{var a;return{label:`${t} (${null!==(a=c[e])&&void 0!==a?a:0})`,value:e}}),onChange:e=>{t({status:e}),l(!1),a()}})})]})}},la={id:"type",group:"core",render:({filters:e,setFilters:t,onClose:a,items:r,filteredItems:n})=>{var o,i;const[l,s]=(0,Ie.useState)(!1),u=(0,Ie.useRef)(null),c=(0,Ie.useMemo)(()=>{const{cta_types:e}=window.popupMakerCtaAdmin;return Object.values(e).reduce((e,{key:t,label:a})=>({...e,[t]:a}),{all:(0,Qe.__)("All","popup-maker")})},[]),h=(0,Ie.useMemo)(()=>r.reduce((e,t)=>{var a;const r=t.settings.type;return e[r]=(null!==(a=e[r])&&void 0!==a?a:0)+1,e.all++,e},{all:0}),[r]),p=(0,Ie.useMemo)(()=>n.reduce((e,t)=>{var a;const r=t.settings.type;return e[r]=(null!==(a=e[r])&&void 0!==a?a:0)+1,e.all++,e},{all:0}),[n]);return(0,Ke.jsxs)("div",{className:ze(["list-table-filter list-table-filter--type",l?"is-active":""]),children:[(0,Ke.jsxs)(Ze.Button,{className:"filter-button",onClick:()=>s(!l),ref:u,children:[(0,Ke.jsxs)("span",{className:"filter-label",children:[(0,Qe.__)("Type","popup-maker"),":"]})," ",(0,Ke.jsx)("span",{className:"filter-selection",children:c[null!==(o=e?.type)&&void 0!==o?o:"all"]}),(0,Ke.jsx)(Ze.Icon,{className:"filter-icon",icon:l?et:Xe})]}),l&&u.current&&(0,Ke.jsx)(Ze.Popover,{className:"list-table-filters__popover",anchor:u.current,onClose:()=>{s(!1),a()},position:"bottom right",onFocusOutside:()=>{s(!1),a()},children:(0,Ke.jsx)(Ze.RadioControl,{label:(0,Qe.__)("Type","popup-maker"),hideLabelFromVision:!0,selected:null!==(i=e?.type)&&void 0!==i?i:"all",options:Object.entries(c).filter(([t])=>{var a,r,n;return(null!==(a=h[null!==(r=e?.type)&&void 0!==r?r:"all"])&&void 0!==a?a:0)>0?(e=>Boolean(p?.[e]))(t):(null!==(n=h[t])&&void 0!==n?n:0)>0}).map(([e,t])=>{var a;return{label:`${t} (${null!==(a=p[e])&&void 0!==a?a:0})`,value:e}}),onChange:e=>{t({type:"all"===e?void 0:e}),s(!1),a()}})})]})}},sa={id:"import",group:"export",render:()=>{const[e,t]=(0,Ie.useState)(!1),a=(0,Ie.useRef)(null);return(0,Ke.jsxs)(Ke.Fragment,{children:[e&&(0,Ke.jsx)(Ze.Popover,{anchor:a.current,onClose:()=>t(!1),children:(0,Ke.jsxs)(Ze.Flex,{direction:"column",gap:"16px",justify:"center",align:"center",style:{padding:"16px",minWidth:"350px"},children:[(0,Ke.jsx)(Ze.Icon,{icon:ht.Mark,size:28}),(0,Ke.jsx)("h3",{style:{margin:0},children:(0,Qe.__)("Quick imports with Popup Maker Pro","popup-maker")}),(0,Ke.jsx)("p",{style:{margin:0},children:(0,Qe.__)("Popup Maker Pro gives you the power to import your call to actions from a JSON file in seconds.","popup-maker")}),(0,Ke.jsx)(Ze.Button,{variant:"primary",href:"https://wppopupmaker.com/pricing/?utm_source=popup-maker&utm_medium=cta-editor&utm_campaign=import-cta",target:"_blank",children:(0,Qe.__)("Learn more or upgrade today","popup-maker")})]})}),(0,Ke.jsxs)(Ze.Flex,{direction:"row",justify:"space-between",onMouseEnter:()=>t(!0),style:{cursor:"pointer",paddingRight:"10px",pointerEvents:"all"},children:[(0,Ke.jsx)(Ze.Button,{icon:st,text:(0,Qe.__)("Import","popup-maker"),disabled:!0,showTooltip:!0,label:(0,Qe.__)("Import is available with Popup Maker Pro","popup-maker"),ref:a}),(0,Ke.jsx)(Ze.Icon,{icon:ht.Mark,size:14})]})]})}},ua={id:"export",group:"export",render:()=>{const[e,t]=(0,Ie.useState)(!1),a=(0,Ie.useRef)(null);return(0,Ke.jsxs)(Ke.Fragment,{children:[e&&(0,Ke.jsx)(Ze.Popover,{anchor:a.current,onClose:()=>t(!1),children:(0,Ke.jsxs)(Ze.Flex,{direction:"column",gap:"16px",justify:"center",align:"center",className:"pmp-popover-content",style:{padding:"16px",minWidth:"350px"},children:[(0,Ke.jsx)(Ze.Icon,{icon:ht.Mark,size:28}),(0,Ke.jsx)("h3",{style:{margin:0},children:(0,Qe.__)("Quick exports with Popup Maker Pro","popup-maker")}),(0,Ke.jsx)("p",{style:{margin:0},children:(0,Qe.__)("Popup Maker Pro gives you the power to import & export your call to actions to a JSON file in seconds.","popup-maker")}),(0,Ke.jsx)(Ze.Button,{variant:"primary",href:"https://wppopupmaker.com/pricing/?utm_source=popup-maker&utm_medium=cta-editor&utm_campaign=export-cta",target:"_blank",children:(0,Qe.__)("Learn more or upgrade today","popup-maker")})]})}),(0,Ke.jsxs)(Ze.Flex,{direction:"row",justify:"space-between",onMouseEnter:()=>t(!0),style:{cursor:"pointer",paddingRight:"10px",pointerEvents:"all"},children:[(0,Ke.jsx)(Ze.Button,{icon:tt,text:(0,Qe.__)("Export","popup-maker"),disabled:!0,showTooltip:!0,label:(0,Qe.__)("Export is available with Popup Maker Pro","popup-maker"),ref:a}),(0,Ke.jsx)(Ze.Icon,{icon:ht.Mark,size:14})]})]})}},ca={id:"edit",group:"general",priority:-1,render:({values:e})=>{const{setEditorId:t}=(0,pt.useEditor)();return(0,Ke.jsxs)(Ke.Fragment,{children:[`${(0,Qe.__)("ID","popup-maker")}: ${e.id}`,(0,Ke.jsx)(Ze.Button,{text:(0,Qe.__)("Edit","popup-maker"),variant:"link",onClick:()=>t(e.id)})]})}},ha={id:"trash",group:"trash",priority:11,render:({values:e})=>{const[t,a]=(0,Ie.useState)(),r=(0,He.useSelect)(e=>e(mt.callToActionStore).isResolving("deleteCallToAction"),[]),{deleteCallToAction:n,updateCallToAction:o}=(0,He.useDispatch)(mt.callToActionStore),i="trash"===e.status;return(0,Ke.jsxs)(Ke.Fragment,{children:[t&&(0,Ke.jsx)(dt.ConfirmDialogue,{...t,onClose:()=>a(void 0)}),(0,Ke.jsx)(Ze.Button,{text:i?(0,Qe.__)("Untrash","popup-maker"):(0,Qe.__)("Trash","popup-maker"),variant:"link",isDestructive:!0,isBusy:!!r,onClick:()=>i?o({id:e.id,status:"draft"}):n(e.id)})]})}},pa={id:"delete",group:"trash",priority:12,render:({values:e})=>{const[t,a]=(0,Ie.useState)(),r=(0,He.useSelect)(e=>e(mt.callToActionStore).isResolving("deleteCallToAction"),[]),{deleteCallToAction:n}=(0,He.useDispatch)(mt.callToActionStore);return"trash"===e.status?(0,Ke.jsxs)(Ke.Fragment,{children:[t&&(0,Ke.jsx)(dt.ConfirmDialogue,{...t,onClose:()=>a(void 0)}),(0,Ke.jsx)(Ze.Button,{text:(0,Qe.__)("Delete Permanently","popup-maker"),variant:"link",isDestructive:!0,isBusy:!!r,onClick:()=>a({message:(0,Qe.__)("Are you sure you want to premanently delete this call to action?","popup-maker"),callback:()=>{n(e.id,!0)},isDestructive:!0})})]}):null}},da=()=>{const e=document.getElementById("popup-maker-call-to-actions-root-container");e&&(Object.values(n).forEach(e=>{bt(e)}),Object.values(i).forEach(e=>{$t(e)}),Object.values(l).forEach(e=>{At(e)}),Object.values(o).forEach(e=>{Mt(e)}),(0,Oe.doAction)("popupMaker.ctaAdmin.init"),(0,Ie.createRoot)(e).render((0,Ke.jsx)(Ae,{children:(0,Ke.jsx)(Be.QueryParamProvider,{adapter:De,children:(0,Ke.jsx)(He.RegistryProvider,{value:Ue.registry,children:(0,Ke.jsx)(Xt,{})})})})))};$e()(da),(window.popupMaker=window.popupMaker||{}).ctaAdmin=r})(); dist/packages/i18n.js 0000644 00000001241 15174671772 0010421 0 ustar 00 (()=>{"use strict";var e={d:(o,r)=>{for(var n in r)e.o(r,n)&&!e.o(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:r[n]})},o:(e,o)=>Object.prototype.hasOwnProperty.call(e,o),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};e.r(o),e.d(o,{PopupMaker:()=>{},__:()=>__,_n:()=>_n,_nx:()=>_nx,_x:()=>_x,isRTL:()=>t,sprintf:()=>n});const r=window.wp.i18n,n=(e,...o)=>r.sprintf(e,...o),__=(e,o)=>r.__(e,o),_x=(e,o,n)=>r._x(e,o,n),_n=(e,o,n,t)=>r._n(e,o,n,t),_nx=(e,o,n,t)=>r._nx(e,o,n,t),t=()=>r.isRTL();(window.popupMaker=window.popupMaker||{}).i18n=o})(); dist/packages/cta-admin-rtl.css 0000644 00000024724 15174671772 0012465 0 ustar 00 .popup-maker-call-to-actions-page .popup-maker-app-content{padding:20px}.popup-maker-call-to-actions-page .components-base-control__label,.popup-maker-call-to-actions-page .components-checkbox-control__label,.popup-maker-call-to-actions-page .components-input-control__label,.popup-maker-call-to-actions-page .components-toggle-control__label{font-size:13px!important;font-weight:500!important;text-transform:none!important}.branding-pro-tag{background-color:#007cba;border-radius:1em;color:#fff;display:inline-block;font-size:13px;line-height:1;margin:0 10px;padding:5px 8px;text-align:center;vertical-align:middle} .list-table-bulk-actions__popover .components-popover__content{min-width:200px;padding:8px;width:max-content}.list-table-bulk-actions__popover .components-popover__content div[role=menu]{display:flex;flex-direction:column}.list-table-bulk-actions__popover .components-popover__content hr{margin:8px 0;width:100%}.list-table-bulk-actions__popover .components-popover__content .components-button{justify-content:left}.list-table-bulk-actions__popover .components-popover__content .components-button.is-destructive:not(:disabled){box-shadow:none;color:#1e1e1e}.list-table-bulk-actions__popover .components-popover__content .components-button.is-destructive:not(:disabled) svg{color:#cc1818}.list-table-bulk-actions__popover .components-popover__content .components-button:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:3px solid #0000}.list-table-bulk-actions__popover .components-popover__content .components-button.has-icon svg{margin-left:5px} .list-table-filter{align-items:left;border:1px solid #d0d5dd;border-radius:3px;display:flex;justify-content:flex-start;margin-bottom:10px}.list-table-filter .filter-label{font-weight:500;margin-left:5px}.list-table-filter .filter-selection{background:#f2f8fb;border-radius:4px;color:#007cba;font-weight:600;padding:5px 10px}.list-table-filter .filter-icon{fill:#667085}.list-table-filter.is-active{border-color:#1a191b}.list-table-filter.is-active .filter-selection{box-shadow:0 4px 4px #00000040}.list-table-filters{align-items:left;display:flex;gap:10px;justify-content:flex-start;margin:0 10px}.list-table-filters__popover{max-width:340px}.list-table-filters__popover .components-popover__content{padding:10px 15px;width:fit-content}.list-table-filters__popover .components-popover__content>:last-child,.list-table-filters__popover .components-popover__content>:last-child>:last-child{margin-bottom:0}.list-table-filters__popover .components-popover__content .components-radio-control .components-v-stack{gap:10px}.list-table-filters__popover .components-popover__content .components-button{justify-content:left;width:100%}.list-table-filters__popover .components-popover__content .components-button.has-icon svg{margin-left:5px}.list-table-filters__popover .components-popover__content hr{width:100%} .list-table-options-menu__popover .components-popover__content{min-width:150px;padding:8px;width:max-content}.list-table-options-menu__popover .components-popover__content div[role=menu]{align-items:stretch;display:flex;flex-direction:column}.list-table-options-menu__popover .components-popover__content hr{width:100%}.list-table-options-menu__popover .components-popover__content .components-button{justify-content:left;width:100%}.list-table-options-menu__popover .components-popover__content .components-button.is-destructive:not(:disabled){box-shadow:none;color:#1e1e1e}.list-table-options-menu__popover .components-popover__content .components-button.is-destructive:not(:disabled) svg{color:#cc1818}.list-table-options-menu__popover .components-popover__content .components-button:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:3px solid #0000}.list-table-options-menu__popover .components-popover__content .components-button.has-icon svg{margin-left:5px} .call-to-actions-list{position:relative}.popup-maker-call-to-actions-page.view-call-to-actions header.popup-maker-call-to-actions-view__header{align-items:center;display:flex;gap:10px;margin-bottom:30px}.popup-maker-call-to-actions-page.view-call-to-actions header.popup-maker-call-to-actions-view__header .item-count{color:#667085;display:inline-block;margin-top:8px}.popup-maker-call-to-actions-page.view-call-to-actions header.popup-maker-call-to-actions-view__header button.add-call-to-action{margin-right:auto}.list-table-header{align-items:center;display:flex;gap:5px}.list-table-header .list-search{margin-left:auto;position:relative}.list-table-header .list-search svg{right:5px;position:absolute;top:6px}.list-table-header .list-search .components-base-control__field{margin:0}.list-table-header .list-search input{height:36px!important;padding-right:30px!important}.list-table-header .filters-toggle{padding:6px 20px}.list-table-header .filters-toggle svg{margin-left:5px}.list-table-header .list-table-bulk-actions .components-button.popover-toggle,.list-table-header .list-table-filters .components-button.popover-toggle{border-radius:3px;box-shadow:inset 0 0 0 1px #d0d5dd;color:#2c3338;font-size:14px;font-weight:500;line-height:1;padding:8px 10px}.list-table-header .list-table-bulk-actions .components-button.popover-toggle svg:first-child,.list-table-header .list-table-filters .components-button.popover-toggle svg:first-child{margin-left:5px}.list-table-header .list-table-bulk-actions .components-button.popover-toggle svg.toggle-icon,.list-table-header .list-table-filters .components-button.popover-toggle svg.toggle-icon{margin-left:0}.list-table-header .list-table-bulk-actions .components-button.popover-toggle:focus:not(:disabled),.list-table-header .list-table-filters .components-button.popover-toggle:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:3px solid #0000}.list-table-header .list-table-bulk-actions .component-flex{align-items:center;gap:16px}.list-table-header .list-table-bulk-actions .list-table-bulk-actions-popover{margin-top:10px}.list-table-header .list-table-bulk-actions .list-table-bulk-actions-popover .components-popover__content{padding:10px;width:max-content}.list-table-header .list-table-bulk-actions .list-table-bulk-actions-popover .components-popover__content div[role=menu]{display:flex;flex-direction:column}.list-table-header .list-table-bulk-actions .list-table-bulk-actions-popover .components-popover__content .components-button{border:none;box-shadow:none}.list-table-header .list-table-bulk-actions .list-table-bulk-actions-popover .components-popover__content .components-button:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:3px solid #0000}.list-table-filters-popover{margin-top:10px}.list-table-filters-popover .components-popover__content{padding:10px;width:max-content}.list-table-filters-popover .components-popover__content .list-filters-popover-title{border-bottom:1px solid #ddd;font-size:14px;font-weight:500;margin-bottom:10px;padding-bottom:10px;text-transform:capitalize}.list-table-filters-popover .components-popover__content .list-table-available-filters .components-flex{align-items:center;flex-direction:row}.list-table-container{background-color:#fff;border:1px solid #ddd;border-radius:4px;position:relative}.list-table-container .list-table-header{padding:10px}.list-table-container .component-list-table{border:0}.list-table-container .list-table{border-color:#ddd;border-radius:0 0 4px 4px;overflow:hidden}.list-table-container .is-loading{align-items:center;background-color:#ffffffbf;display:flex;height:100%;justify-content:center;position:absolute;width:100%;z-index:1}.list-table-container .is-loading .components-spinner{height:60px;width:60px}.list-table-container .is-loading .components-spinner>*{stroke-width:7.5px}.call-to-actions-list>*{margin-bottom:10px}.call-to-actions-list .list-table-header{margin-bottom:0}.call-to-actions-list .list-table-container table{border-top:0}.call-to-actions-list td.check-column,.call-to-actions-list th.check-column{width:20px}.call-to-actions-list td.column-enabled,.call-to-actions-list th.column-enabled{text-align:center;vertical-align:middle;width:20px}.call-to-actions-list td.column-enabled .components-toggle-control__label,.call-to-actions-list th.column-enabled .components-toggle-control__label{display:none}.call-to-actions-list td.column-enabled .components-toggle-control .components-base-control__field,.call-to-actions-list td.column-enabled .components-toggle-control .components-base-control__field .components-form-toggle,.call-to-actions-list th.column-enabled .components-toggle-control .components-base-control__field,.call-to-actions-list th.column-enabled .components-toggle-control .components-base-control__field .components-form-toggle{margin:0}.call-to-actions-list td.column-priority,.call-to-actions-list th.column-priority{text-align:center;vertical-align:middle;width:80px}.call-to-actions-list td.column-status,.call-to-actions-list th.column-status{text-align:center;vertical-align:middle}.call-to-actions-list td.column-priority .components-flex{gap:5px;justify-content:start}.call-to-actions-list td.column-priority .components-flex strong{min-width:18px}.call-to-actions-list td.column-priority .components-flex .components-button{min-width:auto;padding:0}.call-to-actions-list tbody tr.status-publish .column-status{color:#00a32a}.call-to-actions-list tbody tr.status-draft .column-status{color:#a30000}.call-to-actions-list tbody tr.status-trash{background-color:#a300000d}.call-to-actions-list tbody tr.status-trash .column-enabled .components-form-toggle .components-form-toggle__thumb,.call-to-actions-list tbody tr.status-trash .column-enabled .components-form-toggle .components-form-toggle__track{border-color:#a30000;color:#a30000}.call-to-actions-list tbody tr.status-trash .column-title .components-button{color:#a30000}.call-to-actions-list tbody tr.status-trash .column-status svg{fill:#a30000}.call-to-actions-list .tooltip-popover .components-popover__content{background-color:#000;color:#fff;padding:5px 10px;width:auto}.call-to-actions-list .tooltip-popover .components-popover__arrow:before{background-color:#000}.call-to-actions-list .tooltip-popover .components-popover__triangle-bg{fill:#000}.call-to-actions-list.permission-denied{text-align:center}.list-table-status-filters{display:inline-flex;gap:16px}.list-table-status-filters .components-button{text-decoration:none}.list-table-status-filters .components-button .count{color:#50575e;font-weight:400}.list-table-status-filters .components-button.active{color:#000;font-weight:600} dist/packages/dashboard-rtl.css 0000644 00000006705 15174671772 0012556 0 ustar 00 .pum-dashboard-widget{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.pum-dashboard-widget a{color:#2271b1;text-decoration:underline}.pum-dashboard-widget a:focus,.pum-dashboard-widget a:hover{color:#135e96;text-decoration:none}.pum-widget-badge{background:#f0f0f1;border-radius:3px;color:#646970;font-size:12px;font-weight:500;padding:4px 12px}.pum-widget-badge.pum-badge-pro{background:#2271b1;color:#fff}#pum_analytics_basic .postbox-header h2{gap:1em}#pum_analytics_basic .postbox-header h2 .pum-widget-badge{margin-left:auto}.pum-upgrade-box{background:#f6f7f7;border-right:4px solid #2271b1;border-radius:3px;margin:20px;padding:15px}.pum-upgrade-box .pum-upgrade-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.pum-upgrade-box .pum-upgrade-icon{font-size:20px}.pum-upgrade-box .pum-upgrade-title{color:#1d2327;font-size:14px;font-weight:600}.pum-upgrade-box .pum-upgrade-text{color:#50575e;font-size:13px;line-height:1.5;margin:0 0 16px}.pum-upgrade-box .pum-upgrade-button{background:#2271b1;border:1px solid #2271b1;border-radius:3px;color:#fff;cursor:pointer;display:inline-block;font-size:13px;font-weight:400;padding:6px 14px;text-align:center;text-decoration:none;transition:background .05s ease-in-out}.pum-upgrade-box .pum-upgrade-button:focus,.pum-upgrade-box .pum-upgrade-button:hover{background:#135e96;border-color:#135e96;color:#fff;outline:2px solid #0000;outline-offset:0}.pum-stats-grid{display:grid;gap:20px;grid-template-columns:1fr 1fr;padding:20px}.pum-stats-grid.pum-stats-grid-2x2{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.pum-stat{text-align:center}.pum-stat.pum-stat-with-chart{align-items:center;display:flex;justify-content:space-between;text-align:right}.pum-stat .pum-stat-value{color:#1d2327;font-size:32px;font-weight:600;line-height:1;margin-bottom:4px}.pum-stat .pum-stat-value.pum-stat-views{color:#1d2327}.pum-stat .pum-stat-value.pum-stat-conversions{color:#00a32a}.pum-stat .pum-stat-label{color:#646970;font-size:13px}.pum-conversion-rate{background:#f6f7f7;padding:20px;text-align:center}.pum-conversion-rate .pum-rate-value{color:#00a32a;font-size:36px;font-weight:600;margin-bottom:4px}.pum-conversion-rate .pum-rate-label{color:#646970;font-size:13px}.pum-top-performer{border-top:1px solid #c3c4c7;padding:20px}.pum-top-performer .pum-performer-label{color:#646970;font-size:13px;margin-bottom:4px}.pum-top-performer .pum-performer-name{color:#1d2327;font-size:14px;font-weight:600}.pum-top-performers{border-top:1px solid #c3c4c7;padding:20px}.pum-top-performers h4{color:#1d2327;font-size:14px;font-weight:600;margin:0 0 12px}.pum-top-performers .pum-performer-item{margin-bottom:12px}.pum-top-performers .pum-performer-item:last-child{margin-bottom:0}.pum-top-performers .pum-performer-name{color:#1d2327;display:block;font-size:13px;margin-bottom:4px}.pum-top-performers .pum-performer-bar{align-items:center;background:#dcdcde;border-radius:3px;display:flex;height:20px;justify-content:flex-end;overflow:hidden;padding-left:8px;position:relative}.pum-top-performers .pum-performer-fill{background:#2271b1;border-radius:3px;height:100%;right:0;position:absolute;top:0;transition:width .3s ease}.pum-top-performers .pum-performer-rate{color:#1d2327;font-size:12px;font-weight:600;position:relative;z-index:1}@media(max-width:782px){.pum-device-grid,.pum-stats-grid{grid-template-columns:1fr}.pum-device-grid{gap:12px}.pum-widget-footer{flex-direction:column;gap:8px}} dist/packages/cta-admin.css 0000644 00000024731 15174671772 0011664 0 ustar 00 .popup-maker-call-to-actions-page .popup-maker-app-content{padding:20px}.popup-maker-call-to-actions-page .components-base-control__label,.popup-maker-call-to-actions-page .components-checkbox-control__label,.popup-maker-call-to-actions-page .components-input-control__label,.popup-maker-call-to-actions-page .components-toggle-control__label{font-size:13px!important;font-weight:500!important;text-transform:none!important}.branding-pro-tag{background-color:#007cba;border-radius:1em;color:#fff;display:inline-block;font-size:13px;line-height:1;margin:0 10px;padding:5px 8px;text-align:center;vertical-align:middle} .list-table-bulk-actions__popover .components-popover__content{min-width:200px;padding:8px;width:max-content}.list-table-bulk-actions__popover .components-popover__content div[role=menu]{display:flex;flex-direction:column}.list-table-bulk-actions__popover .components-popover__content hr{margin:8px 0;width:100%}.list-table-bulk-actions__popover .components-popover__content .components-button{justify-content:left}.list-table-bulk-actions__popover .components-popover__content .components-button.is-destructive:not(:disabled){box-shadow:none;color:#1e1e1e}.list-table-bulk-actions__popover .components-popover__content .components-button.is-destructive:not(:disabled) svg{color:#cc1818}.list-table-bulk-actions__popover .components-popover__content .components-button:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:3px solid #0000}.list-table-bulk-actions__popover .components-popover__content .components-button.has-icon svg{margin-right:5px} .list-table-filter{align-items:left;border:1px solid #d0d5dd;border-radius:3px;display:flex;justify-content:flex-start;margin-bottom:10px}.list-table-filter .filter-label{font-weight:500;margin-right:5px}.list-table-filter .filter-selection{background:#f2f8fb;border-radius:4px;color:#007cba;font-weight:600;padding:5px 10px}.list-table-filter .filter-icon{fill:#667085}.list-table-filter.is-active{border-color:#1a191b}.list-table-filter.is-active .filter-selection{box-shadow:0 4px 4px #00000040}.list-table-filters{align-items:left;display:flex;gap:10px;justify-content:flex-start;margin:0 10px}.list-table-filters__popover{max-width:340px}.list-table-filters__popover .components-popover__content{padding:10px 15px;width:fit-content}.list-table-filters__popover .components-popover__content>:last-child,.list-table-filters__popover .components-popover__content>:last-child>:last-child{margin-bottom:0}.list-table-filters__popover .components-popover__content .components-radio-control .components-v-stack{gap:10px}.list-table-filters__popover .components-popover__content .components-button{justify-content:left;width:100%}.list-table-filters__popover .components-popover__content .components-button.has-icon svg{margin-right:5px}.list-table-filters__popover .components-popover__content hr{width:100%} .list-table-options-menu__popover .components-popover__content{min-width:150px;padding:8px;width:max-content}.list-table-options-menu__popover .components-popover__content div[role=menu]{align-items:stretch;display:flex;flex-direction:column}.list-table-options-menu__popover .components-popover__content hr{width:100%}.list-table-options-menu__popover .components-popover__content .components-button{justify-content:left;width:100%}.list-table-options-menu__popover .components-popover__content .components-button.is-destructive:not(:disabled){box-shadow:none;color:#1e1e1e}.list-table-options-menu__popover .components-popover__content .components-button.is-destructive:not(:disabled) svg{color:#cc1818}.list-table-options-menu__popover .components-popover__content .components-button:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:3px solid #0000}.list-table-options-menu__popover .components-popover__content .components-button.has-icon svg{margin-right:5px} .call-to-actions-list{position:relative}.popup-maker-call-to-actions-page.view-call-to-actions header.popup-maker-call-to-actions-view__header{align-items:center;display:flex;gap:10px;margin-bottom:30px}.popup-maker-call-to-actions-page.view-call-to-actions header.popup-maker-call-to-actions-view__header .item-count{color:#667085;display:inline-block;margin-top:8px}.popup-maker-call-to-actions-page.view-call-to-actions header.popup-maker-call-to-actions-view__header button.add-call-to-action{margin-left:auto}.list-table-header{align-items:center;display:flex;gap:5px}.list-table-header .list-search{margin-right:auto;position:relative}.list-table-header .list-search svg{left:5px;position:absolute;top:6px}.list-table-header .list-search .components-base-control__field{margin:0}.list-table-header .list-search input{height:36px!important;padding-left:30px!important}.list-table-header .filters-toggle{padding:6px 20px}.list-table-header .filters-toggle svg{margin-right:5px}.list-table-header .list-table-bulk-actions .components-button.popover-toggle,.list-table-header .list-table-filters .components-button.popover-toggle{border-radius:3px;box-shadow:inset 0 0 0 1px #d0d5dd;color:#2c3338;font-size:14px;font-weight:500;line-height:1;padding:8px 10px}.list-table-header .list-table-bulk-actions .components-button.popover-toggle svg:first-child,.list-table-header .list-table-filters .components-button.popover-toggle svg:first-child{margin-right:5px}.list-table-header .list-table-bulk-actions .components-button.popover-toggle svg.toggle-icon,.list-table-header .list-table-filters .components-button.popover-toggle svg.toggle-icon{margin-right:0}.list-table-header .list-table-bulk-actions .components-button.popover-toggle:focus:not(:disabled),.list-table-header .list-table-filters .components-button.popover-toggle:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:3px solid #0000}.list-table-header .list-table-bulk-actions .component-flex{align-items:center;gap:16px}.list-table-header .list-table-bulk-actions .list-table-bulk-actions-popover{margin-top:10px}.list-table-header .list-table-bulk-actions .list-table-bulk-actions-popover .components-popover__content{padding:10px;width:max-content}.list-table-header .list-table-bulk-actions .list-table-bulk-actions-popover .components-popover__content div[role=menu]{display:flex;flex-direction:column}.list-table-header .list-table-bulk-actions .list-table-bulk-actions-popover .components-popover__content .components-button{border:none;box-shadow:none}.list-table-header .list-table-bulk-actions .list-table-bulk-actions-popover .components-popover__content .components-button:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:3px solid #0000}.list-table-filters-popover{margin-top:10px}.list-table-filters-popover .components-popover__content{padding:10px;width:max-content}.list-table-filters-popover .components-popover__content .list-filters-popover-title{border-bottom:1px solid #ddd;font-size:14px;font-weight:500;margin-bottom:10px;padding-bottom:10px;text-transform:capitalize}.list-table-filters-popover .components-popover__content .list-table-available-filters .components-flex{align-items:center;flex-direction:row}.list-table-container{background-color:#fff;border:1px solid #ddd;border-radius:4px;position:relative}.list-table-container .list-table-header{padding:10px}.list-table-container .component-list-table{border:0}.list-table-container .list-table{border-color:#ddd;border-radius:0 0 4px 4px;overflow:hidden}.list-table-container .is-loading{align-items:center;background-color:#ffffffbf;display:flex;height:100%;justify-content:center;position:absolute;width:100%;z-index:1}.list-table-container .is-loading .components-spinner{height:60px;width:60px}.list-table-container .is-loading .components-spinner>*{stroke-width:7.5px}.call-to-actions-list>*{margin-bottom:10px}.call-to-actions-list .list-table-header{margin-bottom:0}.call-to-actions-list .list-table-container table{border-top:0}.call-to-actions-list td.check-column,.call-to-actions-list th.check-column{width:20px}.call-to-actions-list td.column-enabled,.call-to-actions-list th.column-enabled{text-align:center;vertical-align:middle;width:20px}.call-to-actions-list td.column-enabled .components-toggle-control__label,.call-to-actions-list th.column-enabled .components-toggle-control__label{display:none}.call-to-actions-list td.column-enabled .components-toggle-control .components-base-control__field,.call-to-actions-list td.column-enabled .components-toggle-control .components-base-control__field .components-form-toggle,.call-to-actions-list th.column-enabled .components-toggle-control .components-base-control__field,.call-to-actions-list th.column-enabled .components-toggle-control .components-base-control__field .components-form-toggle{margin:0}.call-to-actions-list td.column-priority,.call-to-actions-list th.column-priority{text-align:center;vertical-align:middle;width:80px}.call-to-actions-list td.column-status,.call-to-actions-list th.column-status{text-align:center;vertical-align:middle}.call-to-actions-list td.column-priority .components-flex{gap:5px;justify-content:start}.call-to-actions-list td.column-priority .components-flex strong{min-width:18px}.call-to-actions-list td.column-priority .components-flex .components-button{min-width:auto;padding:0}.call-to-actions-list tbody tr.status-publish .column-status{color:#00a32a}.call-to-actions-list tbody tr.status-draft .column-status{color:#a30000}.call-to-actions-list tbody tr.status-trash{background-color:#a300000d}.call-to-actions-list tbody tr.status-trash .column-enabled .components-form-toggle .components-form-toggle__thumb,.call-to-actions-list tbody tr.status-trash .column-enabled .components-form-toggle .components-form-toggle__track{border-color:#a30000;color:#a30000}.call-to-actions-list tbody tr.status-trash .column-title .components-button{color:#a30000}.call-to-actions-list tbody tr.status-trash .column-status svg{fill:#a30000}.call-to-actions-list .tooltip-popover .components-popover__content{background-color:#000;color:#fff;padding:5px 10px;width:auto}.call-to-actions-list .tooltip-popover .components-popover__arrow:before{background-color:#000}.call-to-actions-list .tooltip-popover .components-popover__triangle-bg{fill:#000}.call-to-actions-list.permission-denied{text-align:center}.list-table-status-filters{display:inline-flex;gap:16px}.list-table-status-filters .components-button{text-decoration:none}.list-table-status-filters .components-button .count{color:#50575e;font-weight:400}.list-table-status-filters .components-button.active{color:#000;font-weight:600} dist/packages/icons.js.map 0000644 00000143174 15174671772 0011545 0 ustar 00 {"version":3,"file":"icons.js","mappings":"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","sources":["webpack://popup-maker/core/./packages/icons/src/lib/block-manager.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/block.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/check-all.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/custom-redirect.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/editor.scss?c6eb","webpack://popup-maker/core/./packages/icons/src/lib/filter-lines.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/gears.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/incognito.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/index.ts?","webpack://popup-maker/core/./packages/icons/src/lib/license-key.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/locked-user.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/mark-colored.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/mark-light.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/mark-retro.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/mark-white.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/mark.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/monitor.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/permissions.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/protected-message.tsx?","webpack://popup-maker/core/./packages/icons/src/lib/upgrade.tsx?","webpack://popup-maker/core/external window [\"wp\",\"primitives\"]?","webpack://popup-maker/core/external window \"ReactJSXRuntime\"?","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/compat get default export?","webpack://popup-maker/core/webpack/runtime/define property getters?","webpack://popup-maker/core/webpack/runtime/hasOwnProperty shorthand?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/icons/src/index.ts?"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst BlockManager = (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 20 20\"\n\t\tfill=\"none\"\n\t\tclassName=\"pum-icon pum-icon--block-manager\"\n\t>\n\t\t<Path\n\t\t\td=\"M15.5 9H10.5M15.5 13H10.5M15.5 5H10.5M7 1L7 19M5.8 1H14.2C15.8802 1 16.7202 1 17.362 1.32698C17.9265 1.6146 18.3854 2.07354 18.673 2.63803C19 3.27976 19 4.11984 19 5.8V14.2C19 15.8802 19 16.7202 18.673 17.362C18.3854 17.9265 17.9265 18.3854 17.362 18.673C16.7202 19 15.8802 19 14.2 19H5.8C4.11984 19 3.27976 19 2.63803 18.673C2.07354 18.3854 1.6146 17.9265 1.32698 17.362C1 16.7202 1 15.8802 1 14.2V5.8C1 4.11984 1 3.27976 1.32698 2.63803C1.6146 2.07354 2.07354 1.6146 2.63803 1.32698C3.27976 1 4.11984 1 5.8 1Z\"\n\t\t\tstroke=\"#000000\"\n\t\t\tstrokeWidth=\"2\"\n\t\t\tstrokeLinecap=\"round\"\n\t\t\tstrokeLinejoin=\"round\"\n\t\t/>\n\t</SVG>\n);\n\nexport default BlockManager;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path, Rect } from '@wordpress/primitives';\n\nconst Block = (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 24 24\"\n\t\tfill=\"none\"\n\t\tclassName=\"pum-icon pum-icon--block\"\n\t>\n\t\t<Path\n\t\t\td=\"M3.75 9C3.75 8.30964 4.30964 7.75 5 7.75H19C19.6904 7.75 20.25 8.30964 20.25 9V17C20.25 17.6904 19.6904 18.25 19 18.25H5C4.30964 18.25 3.75 17.6904 3.75 17V9Z\"\n\t\t\tfill=\"white\"\n\t\t\tstroke=\"#000000\"\n\t\t\tstrokeWidth=\"1.5\"\n\t\t/>\n\t\t<Rect x=\"6\" y=\"5\" width=\"5\" height=\"3\" fill=\"#000000\" />\n\t\t<Rect x=\"13\" y=\"5\" width=\"5\" height=\"3\" fill=\"#000000\" />\n\t</SVG>\n);\n\nexport default Block;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst CheckAll = (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 24 24\"\n\t\tfill=\"none\"\n\t\tclassName=\"pum-icon pum-icon--check-all\"\n\t>\n\t\t<Path\n\t\t\td=\"M8.01251 18.0001C7.74731 18.0001 7.493 17.8947 7.30551 17.7071L4.30551 14.7071C4.11468 14.5229 4.00484 14.2705 4.00016 14.0053C3.99547 13.7401 4.09631 13.4839 4.28051 13.2931C4.4647 13.1023 4.71715 12.9925 4.98233 12.9878C5.2475 12.9831 5.50368 13.0839 5.69451 13.2681L5.71951 13.2931L7.89151 15.4661L15.2035 5.41212C15.3595 5.19756 15.5942 5.05373 15.8562 5.01229C16.1182 4.97084 16.3859 5.03517 16.6005 5.19112C16.8151 5.34706 16.9589 5.58186 17.0003 5.84385C17.0418 6.10583 16.9775 6.37356 16.8215 6.58812L8.82151 17.5881C8.73678 17.7056 8.62753 17.8034 8.50131 17.8745C8.37509 17.9456 8.23492 17.9885 8.09051 18.0001H8.01251Z\"\n\t\t\tfill=\"#000000\"\n\t\t/>\n\t\t<Path\n\t\t\td=\"M19.5125 8.00012H17.5125C17.2364 8.00012 17.0125 8.22398 17.0125 8.50012V9.50012C17.0125 9.77626 17.2364 10.0001 17.5125 10.0001H19.5125C19.7887 10.0001 20.0125 9.77626 20.0125 9.50012V8.50012C20.0125 8.22398 19.7887 8.00012 19.5125 8.00012Z\"\n\t\t\tfill=\"#000000\"\n\t\t/>\n\t\t<Path\n\t\t\td=\"M19.5125 12.0001H14.5125C14.2364 12.0001 14.0125 12.224 14.0125 12.5001V13.5001C14.0125 13.7763 14.2364 14.0001 14.5125 14.0001H19.5125C19.7887 14.0001 20.0125 13.7763 20.0125 13.5001V12.5001C20.0125 12.224 19.7887 12.0001 19.5125 12.0001Z\"\n\t\t\tfill=\"#000000\"\n\t\t/>\n\t\t<Path\n\t\t\td=\"M19.5125 16.0001H11.5125C11.2364 16.0001 11.0125 16.224 11.0125 16.5001V17.5001C11.0125 17.7763 11.2364 18.0001 11.5125 18.0001H19.5125C19.7887 18.0001 20.0125 17.7763 20.0125 17.5001V16.5001C20.0125 16.224 19.7887 16.0001 19.5125 16.0001Z\"\n\t\t\tfill=\"#000000\"\n\t\t/>\n\t</SVG>\n);\n\nexport default CheckAll;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst CustomRedirects = (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 24 24\"\n\t\tfill=\"none\"\n\t\tclassName=\"pum-icon pum-icon--custom-redirect\"\n\t>\n\t\t<Path\n\t\t\td=\"M3.33789 7C5.06694 4.01099 8.29866 2 12.0001 2C17.5229 2 22.0001 6.47715 22.0001 12C22.0001 17.5228 17.5229 22 12.0001 22C8.29866 22 5.06694 19.989 3.33789 17M12 16L16 12M16 12L12 8M16 12H2\"\n\t\t\tstroke=\"#000000\"\n\t\t\tstrokeWidth=\"2\"\n\t\t\tstrokeLinecap=\"round\"\n\t\t\tstrokeLinejoin=\"round\"\n\t\t/>\n\t</SVG>\n);\n\nexport default CustomRedirects;\n","// extracted by mini-css-extract-plugin\nexport {};","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst FilterLines = (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 24 24\"\n\t\tfill=\"none\"\n\t\tclassName=\"pum-icon pum-icon--filter-lines\"\n\t>\n\t\t<Path\n\t\t\td=\"M6.5 12H16.5M4 7H19M9 17H14\"\n\t\t\tstroke=\"#000000\"\n\t\t\tstrokeWidth=\"1.66667\"\n\t\t\tstrokeLinecap=\"round\"\n\t\t\tstrokeLinejoin=\"round\"\n\t\t/>\n\t</SVG>\n);\n\nexport default FilterLines;\n","import { SVG, Path } from '@wordpress/primitives';\n\nconst Gears = (\n\t<SVG\n\t\tviewBox=\"0 0 512 512\"\n\t\twidth={ 512 }\n\t\theight={ 512 }\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tclassName=\"pum-icon pum-icon--gears\"\n\t>\n\t\t<Path d=\"M348,327.195v-35.741l-32.436-11.912c-2.825-10.911-6.615-21.215-12.216-30.687l0.325-0.042l15.438-32.153l-25.2-25.269 l-32.118,15.299l-0.031,0.045c-9.472-5.601-19.758-9.156-30.671-11.978L219.186,162h-35.739l-11.913,32.759 c-10.913,2.821-21.213,6.774-30.685,12.379l-0.048-0.248l-32.149-15.399l-25.269,25.219l15.299,32.124l0.05,0.039 c-5.605,9.471-11.159,19.764-13.98,30.675L50,291.454v35.741l34.753,11.913c2.821,10.915,7.774,21.211,13.38,30.685l0.249,0.045 l-15.147,32.147l25.343,25.274l32.188-15.298l0.065-0.046c9.474,5.597,19.782,10.826,30.695,13.652L183.447,460h35.739 l11.915-34.432c10.913-2.826,21.209-7.614,30.681-13.215l0.05-0.175l32.151,15.192l25.267-25.326l-15.299-32.182l-0.046-0.061 c5.601-9.473,8.835-19.776,11.66-30.688L348,327.195z M201.318,368.891c-32.897,0-59.566-26.662-59.566-59.565 c0-32.896,26.669-59.568,59.566-59.568c32.901,0,59.566,26.672,59.566,59.568C260.884,342.229,234.219,368.891,201.318,368.891z\" />\n\t\t<Path d=\"M462.238,111.24l-7.815-18.866l-20.23,1.012c-3.873-5.146-8.385-9.644-13.417-13.42l0.038-0.043l1.06-20.318l-18.859-7.822 L389.385,66.89l-0.008,0.031c-6.229-0.883-12.619-0.933-18.988-0.025L356.76,51.774l-18.867,7.815l1.055,20.32 c-5.152,3.873-9.627,8.422-13.403,13.46l-0.038-0.021l-20.317-1.045l-7.799,18.853l15.103,13.616l0.038,0.021 c-0.731,5.835-1.035,12.658-0.133,19.038l-15.208,13.662l7.812,18.87l20.414-1.086c3.868,5.144,8.472,9.613,13.495,13.385 l0.013,0.025l-1.03,20.312l20.668,7.815L374,201.703v-0.033c4,0.731,10.818,0.935,17.193,0.04l12.729,15.114l18.42-7.813 l-1.286-20.324c5.144-3.875,9.521-8.424,13.297-13.456l-0.023,0.011l20.287,1.047l7.802-18.864l-15.121-13.624l-0.033-0.019 c0.877-6.222,0.852-12.58-0.05-18.953L462.238,111.24z M392.912,165.741c-17.359,7.19-37.27-1.053-44.462-18.421 c-7.196-17.364,1.047-37.272,18.415-44.465c17.371-7.192,37.274,1.053,44.471,18.417 C418.523,138.643,410.276,158.547,392.912,165.741z\" />\n\t</SVG>\n);\n\nexport default Gears;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst Incognito = (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 20 22\"\n\t\tfill=\"none\"\n\t\tclassName=\"pum-icon pum-icon--incognito\"\n\t>\n\t\t<Path\n\t\t\td=\"M15.5 21C17.433 21 19 19.433 19 17.5C19 15.567 17.433 14 15.5 14C13.567 14 12 15.567 12 17.5C12 19.433 13.567 21 15.5 21Z\"\n\t\t\tstroke=\"#000000\"\n\t\t\tstrokeWidth=\"2\"\n\t\t\tstrokeLinecap=\"round\"\n\t\t\tstrokeLinejoin=\"round\"\n\t\t/>\n\t\t<Path\n\t\t\td=\"M4.5 21C6.433 21 8 19.433 8 17.5C8 15.567 6.433 14 4.5 14C2.567 14 1 15.567 1 17.5C1 19.433 2.567 21 4.5 21Z\"\n\t\t\tstroke=\"#000000\"\n\t\t\tstrokeWidth=\"2\"\n\t\t\tstrokeLinecap=\"round\"\n\t\t\tstrokeLinejoin=\"round\"\n\t\t/>\n\t\t<Path\n\t\t\td=\"M1 11H19L16 7H4L1 11Z\"\n\t\t\tstroke=\"#000000\"\n\t\t\tstrokeWidth=\"2\"\n\t\t\tstrokeLinecap=\"round\"\n\t\t\tstrokeLinejoin=\"round\"\n\t\t/>\n\t\t<Path\n\t\t\td=\"M4 7L5 1H15L16 7\"\n\t\t\tstroke=\"#000000\"\n\t\t\tstrokeWidth=\"2\"\n\t\t\tstrokeLinecap=\"round\"\n\t\t\tstrokeLinejoin=\"round\"\n\t\t/>\n\t\t<Path\n\t\t\td=\"M12.1 16.713C11.4991 16.2506 10.7622 15.9999 10.004 15.9999C9.24577 15.9999 8.50885 16.2506 7.90796 16.713\"\n\t\t\tstroke=\"#000000\"\n\t\t\tstrokeWidth=\"2\"\n\t\t\tstrokeLinecap=\"round\"\n\t\t\tstrokeLinejoin=\"round\"\n\t\t/>\n\t</SVG>\n);\n\nexport default Incognito;\n","import './editor.scss';\n\nexport { default as Block } from './block';\nexport { default as BlockManager } from './block-manager';\nexport { default as CustomRedirect } from './custom-redirect';\nexport { default as CheckAll } from './check-all';\nexport { default as Incognito } from './incognito';\nexport { default as FilterLines } from './filter-lines';\nexport { default as Gears } from './gears';\nexport { default as LicenseKey } from './license-key';\nexport { default as LockedUser } from './locked-user';\nexport { default as Mark } from './mark';\nexport { default as MarkColored } from './mark-colored';\nexport { default as MarkLight } from './mark-light';\nexport { default as MarkWhite } from './mark-white';\nexport { default as MarkRetro } from './mark-retro';\nexport { default as Monitor } from './monitor';\nexport { default as Permissions } from './permissions';\nexport { default as ProtectedMessage } from './protected-message';\nexport { default as Upgrade } from './upgrade';\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst LicenseKey = (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 20 20\"\n\t\tfill=\"none\"\n\t\tclassName=\"pum-icon pum-icon--license-key\"\n\t>\n\t\t<Path\n\t\t\td=\"M15 6.99994C15 6.48812 14.8047 5.9763 14.4142 5.58579C14.0237 5.19526 13.5118 5 13 5M13 13C16.3137 13 19 10.3137 19 7C19 3.68629 16.3137 1 13 1C9.68629 1 7 3.68629 7 7C7 7.27368 7.01832 7.54308 7.05381 7.80704C7.11218 8.24118 7.14136 8.45825 7.12172 8.59559C7.10125 8.73865 7.0752 8.81575 7.00469 8.9419C6.937 9.063 6.81771 9.18229 6.57913 9.42087L1.46863 14.5314C1.29568 14.7043 1.2092 14.7908 1.14736 14.8917C1.09253 14.9812 1.05213 15.0787 1.02763 15.1808C1 15.2959 1 15.4182 1 15.6627V17.4C1 17.9601 1 18.2401 1.10899 18.454C1.20487 18.6422 1.35785 18.7951 1.54601 18.891C1.75992 19 2.03995 19 2.6 19H5V17H7V15H9L10.5791 13.4209C10.8177 13.1823 10.937 13.063 11.0581 12.9953C11.1843 12.9248 11.2613 12.8987 11.4044 12.8783C11.5417 12.8586 11.7588 12.8878 12.193 12.9462C12.4569 12.9817 12.7263 13 13 13Z\"\n\t\t\tstroke=\"black\"\n\t\t\tstrokeWidth=\"2\"\n\t\t\tstrokeLinecap=\"round\"\n\t\t\tstrokeLinejoin=\"round\"\n\t\t/>\n\t</SVG>\n);\n\nexport default LicenseKey;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G, Defs, Rect } from '@wordpress/primitives';\n\nconst LockedUser = (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 25 24\"\n\t\tfill=\"none\"\n\t\tclassName=\"pum-icon pum-icon--locked-user\"\n\t>\n\t\t<G clipPath=\"url(#clip0_203_600)\">\n\t\t\t<Path\n\t\t\t\td=\"M11.5 13C8.676 13 6.171 13.638 4.525 14.193C3.31 14.604 2.5 15.749 2.5 17.032V21C2.5 21 10.458 21 10.5 21\"\n\t\t\t\tstroke=\"#000000\"\n\t\t\t\tstrokeWidth=\"2\"\n\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t/>\n\t\t\t<Path\n\t\t\t\td=\"M23.5 18H15.5V23H23.5V18Z\"\n\t\t\t\tstroke=\"#000000\"\n\t\t\t\tstrokeWidth=\"2\"\n\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t/>\n\t\t\t<Path\n\t\t\t\td=\"M17.5 18V15C17.5 13.9 18.4 13 19.5 13C20.6 13 21.5 13.9 21.5 15V18\"\n\t\t\t\tstroke=\"#000000\"\n\t\t\t\tstrokeWidth=\"2\"\n\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t/>\n\t\t\t<Path\n\t\t\t\td=\"M11.5 13C8.739 13 6.5 9.761 6.5 7V6C6.5 3.239 8.739 1 11.5 1C14.261 1 16.5 3.239 16.5 6V7C16.5 9.761 14.261 13 11.5 13Z\"\n\t\t\t\tstroke=\"#000000\"\n\t\t\t\tstrokeWidth=\"2\"\n\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t/>\n\t\t</G>\n\t\t<Defs>\n\t\t\t<clipPath id=\"clip0_203_600\">\n\t\t\t\t<Rect width=\"24\" height=\"24\" transform=\"translate(0.5)\" />\n\t\t\t</clipPath>\n\t\t</Defs>\n\t</SVG>\n);\n\nexport default LockedUser;\n","import { SVG, Path } from '@wordpress/primitives';\n\nconst MarkColored = (\n\t<SVG\n\t\tviewBox=\"0 0 179 179\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tclassName=\"pum-icon pum-icon--mark-colored pum-mark pum-mark--colored\"\n\t>\n\t\t<Path\n\t\t\td=\"M123.791 119.031C126.05 116.426 127.485 113.209 127.916 109.788C128.347 106.366 127.753 102.894 126.21 99.81L106.595 60.583C105.147 57.6875 102.921 55.2525 100.167 53.5506C97.413 51.8488 94.2394 50.9474 91.0018 50.9474C87.7643 50.9474 84.5907 51.8488 81.8365 53.5506C79.0824 55.2525 76.8565 57.6875 75.4083 60.583L55.7937 99.81C54.2482 102.895 53.653 106.37 54.0835 109.794C54.5141 113.217 55.951 116.436 58.2123 119.043C60.4737 121.649 63.4577 123.526 66.7866 124.436C70.1154 125.346 73.6393 125.247 76.9121 124.153L91.0999 119.445L105.201 124.131C108.457 125.203 111.958 125.291 115.265 124.384C118.571 123.477 121.537 121.615 123.791 119.031V119.031ZM91.0999 68.3848L110.714 107.612L95.9164 102.687C92.7897 101.646 89.4102 101.646 86.2835 102.687L71.4854 107.612L91.0999 68.3848Z\"\n\t\t\tfill=\"#1A191B\"\n\t\t\tclassName=\"pum-mark--center-path\"\n\t\t/>\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M58.5769 25.4737C39.3922 25.4737 23.84 41.026 23.84 60.2106V64.8422C23.84 71.237 18.656 76.4211 12.2611 76.4211C5.8662 76.4211 0.682129 71.237 0.682129 64.8422L0.682129 60.2106C0.682129 28.2362 26.6025 2.31584 58.5769 2.31584L65.5242 2.31584C71.9191 2.31584 77.1032 7.49991 77.1032 13.8948C77.1032 20.2897 71.9191 25.4737 65.5242 25.4737H58.5769Z\"\n\t\t\tfill=\"#1DBE61\"\n\t\t/>\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M58.5769 155.158C39.3922 155.158 23.84 139.606 23.84 120.421V115.79C23.84 109.395 18.656 104.211 12.2611 104.211C5.8662 104.211 0.682129 109.395 0.682129 115.79L0.682129 120.421C0.682129 152.395 26.6025 178.316 58.5769 178.316H65.5242C71.9191 178.316 77.1032 173.132 77.1032 166.737C77.1032 160.342 71.9191 155.158 65.5242 155.158H58.5769Z\"\n\t\t\tfill=\"#1DBE61\"\n\t\t/>\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M121.103 25.4737C140.288 25.4737 155.84 41.026 155.84 60.2106V64.8422C155.84 71.237 161.024 76.4211 167.419 76.4211C173.814 76.4211 178.998 71.237 178.998 64.8422V60.2106C178.998 28.2362 153.078 2.31584 121.103 2.31584L114.156 2.31584C107.761 2.31584 102.577 7.49991 102.577 13.8948C102.577 20.2897 107.761 25.4737 114.156 25.4737H121.103Z\"\n\t\t\tfill=\"#1DBE61\"\n\t\t/>\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M121.103 155.158C140.288 155.158 155.84 139.606 155.84 120.421V115.79C155.84 109.395 161.024 104.211 167.419 104.211C173.814 104.211 178.998 109.395 178.998 115.79V120.421C178.998 152.395 153.078 178.316 121.103 178.316H114.156C107.761 178.316 102.577 173.132 102.577 166.737C102.577 160.342 107.761 155.158 114.156 155.158H121.103Z\"\n\t\t\tfill=\"#1DBE61\"\n\t\t/>\n\t</SVG>\n);\n\nexport default MarkColored;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst MarkLight = (\n\t<SVG\n\t\tviewBox=\"0 0 179 179\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tclassName=\"pum-icon pum-icon--mark-light pum-mark pum-mark--light\"\n\t>\n\t\t<Path\n\t\t\td=\"M123.791 119.031C126.05 116.426 127.485 113.209 127.916 109.788C128.347 106.366 127.753 102.894 126.21 99.81L106.595 60.583C105.147 57.6875 102.921 55.2525 100.167 53.5506C97.413 51.8488 94.2394 50.9474 91.0018 50.9474C87.7643 50.9474 84.5907 51.8488 81.8365 53.5506C79.0824 55.2525 76.8565 57.6875 75.4083 60.583L55.7937 99.81C54.2482 102.895 53.653 106.37 54.0835 109.794C54.5141 113.217 55.951 116.436 58.2123 119.043C60.4737 121.649 63.4577 123.526 66.7866 124.436C70.1154 125.346 73.6393 125.247 76.9121 124.153L91.0999 119.445L105.201 124.131C108.457 125.203 111.958 125.291 115.265 124.384C118.571 123.477 121.537 121.615 123.791 119.031V119.031ZM91.0999 68.3848L110.714 107.612L95.9164 102.687C92.7897 101.646 89.4102 101.646 86.2835 102.687L71.4854 107.612L91.0999 68.3848Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M58.5769 25.4737C39.3922 25.4737 23.84 41.026 23.84 60.2106V64.8422C23.84 71.237 18.656 76.4211 12.2611 76.4211C5.8662 76.4211 0.682129 71.237 0.682129 64.8422L0.682129 60.2106C0.682129 28.2362 26.6025 2.31584 58.5769 2.31584L65.5242 2.31584C71.9191 2.31584 77.1032 7.49991 77.1032 13.8948C77.1032 20.2897 71.9191 25.4737 65.5242 25.4737H58.5769Z\"\n\t\t\tfill=\"#1DBE61\"\n\t\t/>\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M58.5769 155.158C39.3922 155.158 23.84 139.606 23.84 120.421V115.79C23.84 109.395 18.656 104.211 12.2611 104.211C5.8662 104.211 0.682129 109.395 0.682129 115.79L0.682129 120.421C0.682129 152.395 26.6025 178.316 58.5769 178.316H65.5242C71.9191 178.316 77.1032 173.132 77.1032 166.737C77.1032 160.342 71.9191 155.158 65.5242 155.158H58.5769Z\"\n\t\t\tfill=\"#1DBE61\"\n\t\t/>\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M121.103 25.4737C140.288 25.4737 155.84 41.026 155.84 60.2106V64.8422C155.84 71.237 161.024 76.4211 167.419 76.4211C173.814 76.4211 178.998 71.237 178.998 64.8422V60.2106C178.998 28.2362 153.078 2.31584 121.103 2.31584L114.156 2.31584C107.761 2.31584 102.577 7.49991 102.577 13.8948C102.577 20.2897 107.761 25.4737 114.156 25.4737H121.103Z\"\n\t\t\tfill=\"#1DBE61\"\n\t\t/>\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M121.103 155.158C140.288 155.158 155.84 139.606 155.84 120.421V115.79C155.84 109.395 161.024 104.211 167.419 104.211C173.814 104.211 178.998 109.395 178.998 115.79V120.421C178.998 152.395 153.078 178.316 121.103 178.316H114.156C107.761 178.316 102.577 173.132 102.577 166.737C102.577 160.342 107.761 155.158 114.156 155.158H121.103Z\"\n\t\t\tfill=\"#1DBE61\"\n\t\t/>\n\t</SVG>\n);\n\nexport default MarkLight;\n","import { SVG, Path } from '@wordpress/primitives';\n\nconst MarkRetro = (\n\t<SVG\n\t\tviewBox=\"0 0 106 84\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tclassName=\"pum-icon pum-icon--mark-retro pum-mark pum-mark--retro\"\n\t>\n\t\t<Path\n\t\t\td=\"M 74.98 0.00 L 80.18 0.00 C 86.85 0.96 93.11 3.19 97.92 8.09 C 102.82 12.91 105.07 19.19 106.00 25.89 L 106.00 29.25 C 105.01 36.93 101.84 43.76 95.96 48.90 C 85.62 57.23 75.10 65.38 64.88 73.86 C 58.14 79.85 49.63 82.94 40.76 84.00 L 36.17 84.00 C 27.56 83.00 19.39 80.03 12.89 74.16 C 5.17 67.38 1.08 57.89 0.00 47.78 L 0.00 43.19 C 1.06 33.34 4.97 24.08 12.35 17.32 C 19.55 10.62 29.39 7.33 38.98 6.07 C 50.98 4.07 63.06 2.41 74.98 0.00 Z\"\n\t\t\tfill=\"#98b729\"\n\t\t/>\n\n\t\t<Path\n\t\t\td=\"M 73.27 3.38 C 78.51 2.46 83.84 3.16 88.72 5.25 C 99.12 9.98 105.12 21.94 102.29 33.09 C 100.93 39.34 97.06 44.25 92.19 48.20 C 84.32 54.30 76.63 60.62 68.82 66.78 C 65.27 69.54 61.99 72.75 58.21 75.17 C 53.04 78.31 47.09 80.42 41.04 80.90 C 26.64 81.98 12.34 73.74 6.37 60.53 C 0.78 48.69 2.33 34.56 10.17 24.12 C 16.07 16.10 25.11 11.68 34.69 9.75 C 47.55 7.61 60.45 5.72 73.27 3.38 Z\"\n\t\t\tfill=\"#262d2b\"\n\t\t/>\n\n\t\t<Path\n\t\t\td=\"M 73.39 7.40 C 79.51 6.31 85.83 7.34 90.84 11.17 C 97.78 16.34 100.76 25.75 97.94 33.97 C 96.07 39.49 92.17 43.26 87.63 46.67 C 80.70 52.04 73.92 57.62 67.04 63.05 C 61.52 67.32 57.24 72.00 50.55 74.56 C 39.66 79.19 26.67 77.04 17.82 69.21 C 10.09 62.55 6.01 52.13 7.21 41.99 C 8.21 32.78 13.46 24.27 21.21 19.22 C 29.30 14.01 37.69 13.29 46.90 11.83 C 55.73 10.34 64.58 9.05 73.39 7.40 Z\"\n\t\t\tfill=\"#98b729\"\n\t\t/>\n\n\t\t<Path\n\t\t\td=\"M 79.33 11.15 C 80.91 11.34 82.49 11.77 84.05 12.13 C 83.96 13.78 83.90 15.42 83.83 17.07 C 85.21 18.44 86.59 19.81 87.96 21.19 C 89.56 21.12 91.16 21.05 92.76 20.97 C 93.19 22.58 93.62 24.19 94.07 25.79 C 92.62 26.56 91.18 27.34 89.74 28.11 C 89.27 30.00 88.80 31.89 88.29 33.77 C 89.17 35.11 90.05 36.46 90.93 37.80 C 89.75 38.99 88.56 40.18 87.37 41.36 C 86.03 40.50 84.69 39.65 83.36 38.79 C 81.43 39.31 79.50 39.83 77.57 40.33 C 76.86 41.76 76.14 43.18 75.44 44.61 C 73.84 44.14 72.22 43.70 70.60 43.30 C 70.70 41.70 70.79 40.09 70.89 38.49 C 69.46 37.08 68.05 35.65 66.64 34.22 C 65.07 34.33 63.50 34.41 61.94 34.52 C 61.54 32.88 61.09 31.25 60.61 29.63 C 62.04 28.92 63.45 28.20 64.87 27.48 C 65.38 25.56 65.93 23.65 66.45 21.74 C 65.57 20.37 64.69 19.01 63.80 17.65 C 64.99 16.46 66.17 15.27 67.36 14.08 C 68.70 14.97 70.04 15.86 71.38 16.75 C 73.20 16.26 75.02 15.78 76.84 15.32 C 77.62 13.91 78.39 12.46 79.33 11.15 Z\"\n\t\t\tfill=\"#262d2b\"\n\t\t/>\n\n\t\t<Path\n\t\t\td=\"M 31.46 18.53 C 35.73 17.41 39.75 17.90 44.06 18.38 C 43.69 20.25 43.38 22.13 43.00 23.99 C 46.30 25.32 49.40 26.46 52.10 28.89 C 56.07 32.21 58.00 36.65 59.46 41.49 C 61.32 41.26 63.19 41.04 65.06 40.81 C 65.30 45.35 65.55 49.64 64.02 54.02 C 62.82 57.89 60.52 60.95 58.09 64.10 C 56.66 62.88 55.24 61.65 53.81 60.43 C 50.80 62.88 47.90 65.17 44.07 66.21 C 39.50 67.65 35.11 67.00 30.55 65.99 C 29.84 67.72 29.12 69.46 28.40 71.19 C 24.48 69.34 20.78 67.44 17.87 64.12 C 14.90 61.08 13.34 57.40 11.80 53.51 C 13.55 52.89 15.31 52.27 17.06 51.65 C 16.43 47.16 15.95 42.88 17.48 38.49 C 18.70 34.52 21.22 31.56 23.95 28.54 C 22.80 27.05 21.69 25.54 20.55 24.05 C 23.99 21.67 27.30 19.46 31.46 18.53 Z\"\n\t\t\tfill=\"#262d2b\"\n\t\t/>\n\n\t\t<Path\n\t\t\td=\"M 76.34 24.32 C 79.21 23.52 81.89 26.79 80.48 29.46 C 79.35 31.71 76.40 32.21 74.62 30.38 C 72.72 28.34 73.67 25.06 76.34 24.32 Z\"\n\t\t\tfill=\"#98b729\"\n\t\t/>\n\n\t\t<Path\n\t\t\td=\"M 33.46 26.53 C 40.08 24.87 47.25 27.17 51.85 32.16 C 57.28 37.94 58.59 46.87 54.94 53.94 C 51.18 61.61 42.36 65.97 33.97 64.14 C 25.47 62.43 18.97 54.70 18.77 46.02 C 18.32 36.96 24.64 28.60 33.46 26.53 Z\"\n\t\t\tfill=\"#98b729\"\n\t\t/>\n\t</SVG>\n);\n\nexport default MarkRetro;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst MarkWhite = (\n\t<SVG\n\t\tviewBox=\"0 0 179 179\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tclassName=\"pum-icon pum-icon--mark-white pum-mark pum-mark--white\"\n\t>\n\t\t<Path\n\t\t\td=\"M123.791 119.031C126.05 116.426 127.485 113.209 127.916 109.788C128.347 106.366 127.753 102.894 126.21 99.81L106.595 60.583C105.147 57.6875 102.921 55.2525 100.167 53.5506C97.413 51.8488 94.2394 50.9474 91.0018 50.9474C87.7643 50.9474 84.5907 51.8488 81.8365 53.5506C79.0824 55.2525 76.8565 57.6875 75.4083 60.583L55.7937 99.81C54.2482 102.895 53.653 106.37 54.0835 109.794C54.5141 113.217 55.951 116.436 58.2123 119.043C60.4737 121.649 63.4577 123.526 66.7866 124.436C70.1154 125.346 73.6393 125.247 76.9121 124.153L91.0999 119.445L105.201 124.131C108.457 125.203 111.958 125.291 115.265 124.384C118.571 123.477 121.537 121.615 123.791 119.031V119.031ZM91.0999 68.3848L110.714 107.612L95.9164 102.687C92.7897 101.646 89.4102 101.646 86.2835 102.687L71.4854 107.612L91.0999 68.3848Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M58.5769 25.4737C39.3922 25.4737 23.84 41.026 23.84 60.2106V64.8422C23.84 71.237 18.656 76.4211 12.2611 76.4211C5.8662 76.4211 0.682129 71.237 0.682129 64.8422L0.682129 60.2106C0.682129 28.2362 26.6025 2.31584 58.5769 2.31584L65.5242 2.31584C71.9191 2.31584 77.1032 7.49991 77.1032 13.8948C77.1032 20.2897 71.9191 25.4737 65.5242 25.4737H58.5769Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M58.5769 155.158C39.3922 155.158 23.84 139.606 23.84 120.421V115.79C23.84 109.395 18.656 104.211 12.2611 104.211C5.8662 104.211 0.682129 109.395 0.682129 115.79L0.682129 120.421C0.682129 152.395 26.6025 178.316 58.5769 178.316H65.5242C71.9191 178.316 77.1032 173.132 77.1032 166.737C77.1032 160.342 71.9191 155.158 65.5242 155.158H58.5769Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M121.103 25.4737C140.288 25.4737 155.84 41.026 155.84 60.2106V64.8422C155.84 71.237 161.024 76.4211 167.419 76.4211C173.814 76.4211 178.998 71.237 178.998 64.8422V60.2106C178.998 28.2362 153.078 2.31584 121.103 2.31584L114.156 2.31584C107.761 2.31584 102.577 7.49991 102.577 13.8948C102.577 20.2897 107.761 25.4737 114.156 25.4737H121.103Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M121.103 155.158C140.288 155.158 155.84 139.606 155.84 120.421V115.79C155.84 109.395 161.024 104.211 167.419 104.211C173.814 104.211 178.998 109.395 178.998 115.79V120.421C178.998 152.395 153.078 178.316 121.103 178.316H114.156C107.761 178.316 102.577 173.132 102.577 166.737C102.577 160.342 107.761 155.158 114.156 155.158H121.103Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t</SVG>\n);\n\nexport default MarkWhite;\n","import { SVG, Path } from '@wordpress/primitives';\n\nconst Mark = (\n\t<SVG\n\t\tviewBox=\"0 0 179 179\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tclassName=\"pum-icon pum-icon--mark pum-mark pum-mark--dark\"\n\t>\n\t\t<Path\n\t\t\td=\"M123.791 119.031C126.05 116.426 127.485 113.209 127.916 109.788C128.347 106.366 127.753 102.894 126.21 99.81L106.595 60.583C105.147 57.6875 102.921 55.2525 100.167 53.5506C97.413 51.8488 94.2394 50.9474 91.0018 50.9474C87.7643 50.9474 84.5907 51.8488 81.8365 53.5506C79.0824 55.2525 76.8565 57.6875 75.4083 60.583L55.7937 99.81C54.2482 102.895 53.653 106.37 54.0835 109.794C54.5141 113.217 55.951 116.436 58.2123 119.043C60.4737 121.649 63.4577 123.526 66.7866 124.436C70.1154 125.346 73.6393 125.247 76.9121 124.153L91.0999 119.445L105.201 124.131C108.457 125.203 111.958 125.291 115.265 124.384C118.571 123.477 121.537 121.615 123.791 119.031V119.031ZM91.0999 68.3848L110.714 107.612L95.9164 102.687C92.7897 101.646 89.4102 101.646 86.2835 102.687L71.4854 107.612L91.0999 68.3848Z\"\n\t\t\tfill=\"#1A191B\"\n\t\t\tclassName=\"pum-mark--center-path\"\n\t\t/>\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M58.5769 25.4737C39.3922 25.4737 23.84 41.026 23.84 60.2106V64.8422C23.84 71.237 18.656 76.4211 12.2611 76.4211C5.8662 76.4211 0.682129 71.237 0.682129 64.8422L0.682129 60.2106C0.682129 28.2362 26.6025 2.31584 58.5769 2.31584L65.5242 2.31584C71.9191 2.31584 77.1032 7.49991 77.1032 13.8948C77.1032 20.2897 71.9191 25.4737 65.5242 25.4737H58.5769Z\"\n\t\t\tfill=\"#1DBE61\"\n\t\t/>\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M58.5769 155.158C39.3922 155.158 23.84 139.606 23.84 120.421V115.79C23.84 109.395 18.656 104.211 12.2611 104.211C5.8662 104.211 0.682129 109.395 0.682129 115.79L0.682129 120.421C0.682129 152.395 26.6025 178.316 58.5769 178.316H65.5242C71.9191 178.316 77.1032 173.132 77.1032 166.737C77.1032 160.342 71.9191 155.158 65.5242 155.158H58.5769Z\"\n\t\t\tfill=\"#1DBE61\"\n\t\t/>\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M121.103 25.4737C140.288 25.4737 155.84 41.026 155.84 60.2106V64.8422C155.84 71.237 161.024 76.4211 167.419 76.4211C173.814 76.4211 178.998 71.237 178.998 64.8422V60.2106C178.998 28.2362 153.078 2.31584 121.103 2.31584L114.156 2.31584C107.761 2.31584 102.577 7.49991 102.577 13.8948C102.577 20.2897 107.761 25.4737 114.156 25.4737H121.103Z\"\n\t\t\tfill=\"#1DBE61\"\n\t\t/>\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M121.103 155.158C140.288 155.158 155.84 139.606 155.84 120.421V115.79C155.84 109.395 161.024 104.211 167.419 104.211C173.814 104.211 178.998 109.395 178.998 115.79V120.421C178.998 152.395 153.078 178.316 121.103 178.316H114.156C107.761 178.316 102.577 173.132 102.577 166.737C102.577 160.342 107.761 155.158 114.156 155.158H121.103Z\"\n\t\t\tfill=\"#1DBE61\"\n\t\t/>\n\t</SVG>\n);\n\nexport default Mark;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst Monitor = (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 24 24\"\n\t\tfill=\"none\"\n\t\tclassName=\"pum-icon pum-icon--monitor\"\n\t>\n\t\t<Path\n\t\t\td=\"M8 21H16M12 17V21M6.8 17H17.2C18.8802 17 19.7202 17 20.362 16.673C20.9265 16.3854 21.3854 15.9265 21.673 15.362C22 14.7202 22 13.8802 22 12.2V7.8C22 6.11984 22 5.27976 21.673 4.63803C21.3854 4.07354 20.9265 3.6146 20.362 3.32698C19.7202 3 18.8802 3 17.2 3H6.8C5.11984 3 4.27976 3 3.63803 3.32698C3.07354 3.6146 2.6146 4.07354 2.32698 4.63803C2 5.27976 2 6.11984 2 7.8V12.2C2 13.8802 2 14.7202 2.32698 15.362C2.6146 15.9265 3.07354 16.3854 3.63803 16.673C4.27976 17 5.11984 17 6.8 17Z\"\n\t\t\tstroke=\"#000000\"\n\t\t\tstrokeWidth=\"2\"\n\t\t\tstrokeLinecap=\"round\"\n\t\t\tstrokeLinejoin=\"round\"\n\t\t/>\n\t</SVG>\n);\n\nexport default Monitor;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst Permissions = (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 20 20\"\n\t\tfill=\"none\"\n\t\tclassName=\"pum-icon pum-icon--permissions\"\n\t>\n\t\t<Path\n\t\t\td=\"M14.2 19C15.8802 19 16.7202 19 17.362 18.673C17.9265 18.3854 18.3854 17.9265 18.673 17.362C19 16.7202 19 15.8802 19 14.2V5.8C19 4.11984 19 3.27977 18.673 2.63803C18.3854 2.07354 17.9265 1.6146 17.362 1.32698C16.7202 1 15.8802 1 14.2 1L5.8 1C4.11984 1 3.27976 1 2.63803 1.32698C2.07354 1.6146 1.6146 2.07354 1.32698 2.63803C1 3.27976 1 4.11984 1 5.8L1 14.2C1 15.8802 1 16.7202 1.32698 17.362C1.6146 17.9265 2.07354 18.3854 2.63803 18.673C3.27976 19 4.11984 19 5.8 19H14.2Z\"\n\t\t\tstroke=\"#000000\"\n\t\t\tstrokeWidth=\"2\"\n\t\t\tstrokeLinecap=\"round\"\n\t\t\tstrokeLinejoin=\"round\"\n\t\t/>\n\t\t<Path\n\t\t\td=\"M11.7316 11.1947C11.661 10.9831 11.6257 10.8772 11.6276 10.7907C11.6295 10.6996 11.6417 10.6519 11.6836 10.5711C11.7235 10.4942 11.83 10.395 12.0432 10.1967C12.6318 9.64895 13 8.86747 13 8C13 6.34315 11.6569 5 10 5C8.34315 5 7 6.34315 7 8C7 8.86747 7.36818 9.64895 7.95681 10.1967C8.16996 10.395 8.27653 10.4942 8.31639 10.5711C8.35832 10.6519 8.37049 10.6996 8.37242 10.7907C8.37426 10.8772 8.33898 10.9831 8.26844 11.1947L7.35099 13.947C7.23249 14.3025 7.17324 14.4803 7.20877 14.6218C7.23987 14.7456 7.31718 14.8529 7.42484 14.9216C7.54783 15 7.7352 15 8.10994 15H11.8901C12.2648 15 12.4522 15 12.5752 14.9216C12.6828 14.8529 12.7601 14.7456 12.7912 14.6218C12.8268 14.4803 12.7675 14.3025 12.649 13.947L11.7316 11.1947Z\"\n\t\t\tstroke=\"#000000\"\n\t\t\tstrokeWidth=\"2\"\n\t\t\tstrokeLinecap=\"round\"\n\t\t\tstrokeLinejoin=\"round\"\n\t\t/>\n\t</SVG>\n);\n\nexport default Permissions;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path, Rect } from '@wordpress/primitives';\n\nconst ProtectedMessage = (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 25 24\"\n\t\tfill=\"none\"\n\t\tclassName=\"pum-icon pum-icon--protected-message\"\n\t>\n\t\t<Path\n\t\t\td=\"M19.5 21H7.5L3.5 23V12C3.5 11.4696 3.71071 10.9609 4.08579 10.5858C4.46086 10.2107 4.96957 10 5.5 10H19.5C20.0304 10 20.5391 10.2107 20.9142 10.5858C21.2893 10.9609 21.5 11.4696 21.5 12V19C21.5 19.5304 21.2893 20.0391 20.9142 20.4142C20.5391 20.7893 20.0304 21 19.5 21Z\"\n\t\t\tstroke=\"#000000\"\n\t\t\tstrokeWidth=\"2\"\n\t\t\tstrokeLinecap=\"round\"\n\t\t\tstrokeLinejoin=\"round\"\n\t\t/>\n\t\t<Path\n\t\t\td=\"M17.5 6C17.5131 4.68724 17.0042 3.42303 16.0853 2.48539C15.1664 1.54776 13.9128 1.01346 12.6 1H12.5C11.1872 0.986939 9.92303 1.4958 8.98539 2.41469C8.04776 3.33357 7.51346 4.58724 7.5 5.9V10\"\n\t\t\tstroke=\"#000000\"\n\t\t\tstrokeWidth=\"2\"\n\t\t\tstrokeLinecap=\"round\"\n\t\t\tstrokeLinejoin=\"round\"\n\t\t/>\n\t\t<Rect x=\"6.5\" y=\"13\" width=\"12\" height=\"2\" rx=\"1\" fill=\"#000000\" />\n\t\t<Rect x=\"6.5\" y=\"16\" width=\"7\" height=\"2\" rx=\"1\" fill=\"#000000\" />\n\t</SVG>\n);\n\nexport default ProtectedMessage;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path, Defs, G } from '@wordpress/primitives';\n\nconst Upgrade = (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 16 17\"\n\t\tfill=\"none\"\n\t\tclassName=\"pum-icon pum-icon--upgrade\"\n\t>\n\t\t<G clipPath=\"url(#clip0_592_16835)\">\n\t\t\t<Path\n\t\t\t\td=\"M13 6.5C12.8011 6.5 12.6103 6.42098 12.4697 6.28033C12.329 6.13968 12.25 5.94891 12.25 5.75C12.25 5.35218 12.092 4.97064 11.8107 4.68934C11.5294 4.40804 11.1478 4.25 10.75 4.25C10.5511 4.25 10.3603 4.17098 10.2197 4.03033C10.079 3.88968 10 3.69891 10 3.5C10 3.30109 10.079 3.11032 10.2197 2.96967C10.3603 2.82902 10.5511 2.75 10.75 2.75C11.1478 2.75 11.5294 2.59196 11.8107 2.31066C12.092 2.02936 12.25 1.64782 12.25 1.25C12.25 1.05109 12.329 0.860322 12.4697 0.71967C12.6103 0.579018 12.8011 0.5 13 0.5C13.1989 0.5 13.3897 0.579018 13.5303 0.71967C13.671 0.860322 13.75 1.05109 13.75 1.25C13.75 1.64782 13.908 2.02936 14.1893 2.31066C14.4706 2.59196 14.8522 2.75 15.25 2.75C15.4489 2.75 15.6397 2.82902 15.7803 2.96967C15.921 3.11032 16 3.30109 16 3.5C16 3.69891 15.921 3.88968 15.7803 4.03033C15.6397 4.17098 15.4489 4.25 15.25 4.25C14.8522 4.25 14.4706 4.40804 14.1893 4.68934C13.908 4.97064 13.75 5.35218 13.75 5.75C13.75 5.94891 13.671 6.13968 13.5303 6.28033C13.3897 6.42098 13.1989 6.5 13 6.5Z\"\n\t\t\t\tfill=\"#000000\"\n\t\t\t/>\n\t\t\t<Path\n\t\t\t\td=\"M6 16.5C5.73478 16.5 5.48043 16.3946 5.29289 16.2071C5.10536 16.0196 5 15.7652 5 15.5C5 14.4391 4.57857 13.4217 3.82843 12.6716C3.07828 11.9214 2.06087 11.5 1 11.5C0.734784 11.5 0.48043 11.3946 0.292893 11.2071C0.105357 11.0196 0 10.7652 0 10.5C0 10.2348 0.105357 9.98043 0.292893 9.79289C0.48043 9.60536 0.734784 9.5 1 9.5C2.06087 9.5 3.07828 9.07857 3.82843 8.32843C4.57857 7.57828 5 6.56087 5 5.5C5 5.23478 5.10536 4.98043 5.29289 4.79289C5.48043 4.60536 5.73478 4.5 6 4.5C6.26522 4.5 6.51957 4.60536 6.70711 4.79289C6.89464 4.98043 7 5.23478 7 5.5C7 6.56087 7.42143 7.57828 8.17157 8.32843C8.92172 9.07857 9.93913 9.5 11 9.5C11.2652 9.5 11.5196 9.60536 11.7071 9.79289C11.8946 9.98043 12 10.2348 12 10.5C12 10.7652 11.8946 11.0196 11.7071 11.2071C11.5196 11.3946 11.2652 11.5 11 11.5C9.93913 11.5 8.92172 11.9214 8.17157 12.6716C7.42143 13.4217 7 14.4391 7 15.5C7 15.7652 6.89464 16.0196 6.70711 16.2071C6.51957 16.3946 6.26522 16.5 6 16.5Z\"\n\t\t\t\tfill=\"#000000\"\n\t\t\t/>\n\t\t</G>\n\t\t<Defs>\n\t\t\t<clipPath id=\"clip0_592_16835\">\n\t\t\t\t<rect width=\"16\" height=\"16\" transform=\"translate(0 0.5)\" />\n\t\t\t</clipPath>\n\t\t</Defs>\n\t</SVG>\n);\n\nexport default Upgrade;\n","module.exports = window[\"wp\"][\"primitives\"];","module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export * from './lib';\n"],"names":["SVG","Path","jsx","_jsx","BlockManager","xmlns","viewBox","fill","className","children","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","Rect","jsxs","_jsxs","Block","x","y","width","height","CheckAll","CustomRedirects","FilterLines","Gears","Incognito","default","CustomRedirect","LicenseKey","LockedUser","Mark","MarkColored","MarkLight","MarkWhite","MarkRetro","Monitor","Permissions","ProtectedMessage","Upgrade","G","Defs","clipPath","id","transform","fillRule","clipRule","rx"],"sourceRoot":""} dist/packages/block-library.js.map 0000644 00001425472 15174671772 0013173 0 ustar 00 {"version":3,"file":"block-library.js","mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AAC8D;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAe,8DAAU;AACzB;AACA;AACA;AACA,CAAC;AACD,SAAS,gEAAY;AACrB;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,CAAC,EAAC;AACH,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5ByC;AACe;AACM;AACE;AACA;AACE;AACN;AACA;AACE;AACP;AACK;AACW;AACX;AACE;AACN;AACS;AACP;AACM;AACb;AACU;AACR;AACJ;AACa;AACI;AACN;AACE;AACT;AACN;AACI;AACJ;AACM;AACE;AACE;AACsB;AACxB;AACW;AACA;AACT;AACF;AAEwB;AACrB;AACP;AACa;AACW;AACX;AACW;AACT;AACW;AACjB;AACS;AACd;AACJ;AACW;AACM;AACJ;AACb;AACF;AACF;AACI;AACE;AACE;AACN;AACW;AACL;AAC0B;AACJ;AACP;AACK;AACF;AACb;AACe;AACE;AACR;AACE;AACV;AACV;AACE;AACJ;AACqB;AACJ;AACE;AACG;AACZ;AACJ;AACA;AACF;AACS;AACA;AACE;AACP;AACR;AACQ;AACA;AACN;AACF;AACI;AACiB;AACJ;AACJ;AACY;AACR;AACO;AACP;AACW;AACO;AACL;AACO;AAC1B;AACY;AACJ;AACO;AACf;AACoB;AACR;AACA;AACX;AACR;AACE;AACJ;AACF;AACE;AACE;AACgB;AACA;AACA;AACA;AACA;AACA;AACd;AACN;AACa;AACX;AACY;AACd;AACa;AACb;AACE;AACF;AACe;AACE;AACE;AACJ;AACI;AACiB;AACnB;AACe;AACiB;AAC5B;AACiB;AACzB;AACf;AACU;AACW;AACE;AACb;AACJ;AACG;AACG;AACG;AACA;AACF;AACX;AACO;AACP;AACS;AACA;AACT;AACe;AACJ;AACT;AACF;AACW;AACT;AACgB;AACR;AACV;AACI;AACJ;AACqB;AACJ;AACZ;AACO;AACC;AACJ;AACM;AACJ;AACE;AACb;AACE;AACQ;AACJ;AACA;AACA;AACe;AACJ;AACE;AACf;AACA;AACN;AACW;AACH;AACoB;AACb;AACb;AACA;AACa;AACQ;AACN;AACE;AACW;AACF;AACjB;AACM;AACa;AACnB;AACE;AACH;AACR;AACM;AACU;AACN;AACD;AACE;AACD;AACa;AACS;AACM;AACE;AACtC;AACI;AACN;AACW;AACQ;AACb;AACJ;AACqB;AACJ;AACrB;AACM;AACS;AACE;AACjB;AACM;AACJ;AACI;AACM;AACV;AACU;AACF;AACJ;AACF;AACE;AACM;AACJ;AACG;AACP;AACS;AACE;AACJ;AACP;AACwB;AACtB;AACI;AACJ;AACW;AACL;AACI;AACV;AACsB;AACE;AACA;AACJ;AACJ;AACE;AACA;AACpB;AACJ;AACe;AACJ;AACQ;AACM;AACnB;AACA;AACE;AACG;AACI;AACE;AACQ;AACZ;AACE;AACJ;AACU;AACR;AACU;AACJ;AACb;AACF;AACJ;AACE;AACE;AACe;AACJ;AACD;AACZ;AACM;AACF;AACA;AACA;AACF;AACA;AACE;AACM;AAC3D,iC;;;;;;;;;;;;;;ACzTA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,oC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAA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","sources":["webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/icon/index.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/index.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/add-card.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/add-submenu.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/add-template.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-center.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-justify.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-none.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/archive.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-down-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-up-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/aspect-ratio.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/at-symbol.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/audio.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/background.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/backup.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/bell-unread.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/bell.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/block-default.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/block-meta.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/block-table.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/border.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/box.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/brush.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/bug.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/button.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/buttons.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/calendar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cancel-circle-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/caption.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/capture-photo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/capture-video.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/category.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/caution-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/caution.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chart-bar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/check.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-down-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-left-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-right-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-up-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/classic.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/close-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/close.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cloud-download.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cloud-upload.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cloud.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/code.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cog.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/color.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/column.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/columns.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-author-avatar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-author-name.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-content.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-edit-link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-reply-link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/connection.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/copy-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/copy.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-all.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-bottom-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-bottom-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-top-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-top-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cover.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/create.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/crop.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/currency-dollar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/currency-euro.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/currency-pound.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/custom-link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/custom-post-type.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/dashboard.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/desktop.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/details.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/download.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drafts.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drag-handle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drawer-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drawer-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/edit.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/envelope.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/error.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/external.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/file.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/filter.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/flip-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/flip-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/footer.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-bold.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-capitalize.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-indent-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-indent.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-italic.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-bullets-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-bullets.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-numbered-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-numbered.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-lowercase.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-ltr.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-outdent-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-outdent.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-strikethrough.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-underline.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-uppercase.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/fullscreen.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/funnel.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/gallery.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/globe.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/grid.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/group.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/handle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/header.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-1.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-2.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-3.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-4.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-5.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-6.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/help-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/help.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/home-button.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/home.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/html.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/image.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/inbox.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/info.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/insert-after.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/insert-before.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/institution.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-bottom.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-center-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-center.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-space-between-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-space-between.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-stretch-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-stretch.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-top.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/key.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/keyboard-close.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/keyboard-return.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/keyboard.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/language.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/layout.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/level-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lifesaver.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/line-dashed.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/line-dotted.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/line-solid.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/link-off.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/list-item.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/list-view.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/list.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lock-outline.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lock-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lock.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/login.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/loop.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/map-marker.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/media-and-text.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/media.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/megaphone.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/menu.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/mobile.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/more-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/more-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/more.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/move-to.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/navigation.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/next.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/not-allowed.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/not-found.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/offline.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/overlay-text.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/page-break.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/page.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pages.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/paragraph.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/payment.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pencil.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pending.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/people.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/percent.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pin-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pin.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plugins.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plus-circle-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plus-circle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plus.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/position-center.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/position-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/position-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-author.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-categories.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-comments-count.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-comments-form.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-comments.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-content.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-date.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-excerpt.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-featured-image.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-list.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-terms.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/preformatted.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/previous.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/published.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pull-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pull-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pullquote.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination-next.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination-numbers.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination-previous.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/quote.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/receipt.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/redo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/remove-bug.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/remove-submenu.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/replace.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/reset.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/resize-corner-n-e.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/reusable-block.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/rotate-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/rotate-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/row.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/rss.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/scheduled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/search.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/seen.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/send.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/separator.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/settings.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shadow.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/share.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shield.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shipping.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shortcode.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shuffle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sidebar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-all.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-axial.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-bottom.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-top.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/site-logo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/square.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/stack.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/star-empty.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/star-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/star-half.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/store.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/stretch-full-width.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/stretch-wide.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/styles.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/subscript.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/superscript.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/swatch.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/symbol-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/symbol.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-column-after.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-column-before.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-column-delete.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-of-contents.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-row-after.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-row-before.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-row-delete.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tablet.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tag.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/term-description.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/text-color.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/text-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/text-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/thumbs-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/thumbs-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tip.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/title.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tool.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/trash.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/trending-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/trending-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/typography.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/undo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/ungroup.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/unlock.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/unseen.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/update.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/upload.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/verse.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/video.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/widget.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/wordpress.js?","webpack://popup-maker/core/./node_modules/clsx/dist/clsx.mjs?","webpack://popup-maker/core/./packages/block-library/src/lib/cta-button/constants.ts?","webpack://popup-maker/core/./packages/block-library/src/lib/cta-button/deprecated.ts?","webpack://popup-maker/core/./packages/block-library/src/lib/cta-button/edit.tsx?","webpack://popup-maker/core/./packages/block-library/src/lib/cta-button/editor.scss?3c2d","webpack://popup-maker/core/./packages/block-library/src/lib/cta-button/index.ts?","webpack://popup-maker/core/./packages/block-library/src/lib/cta-button/save.tsx?","webpack://popup-maker/core/./packages/block-library/src/lib/cta-button/style.scss?2f4b","webpack://popup-maker/core/./packages/block-library/src/lib/cta-buttons/deprecated.tsx?","webpack://popup-maker/core/./packages/block-library/src/lib/cta-buttons/edit.tsx?","webpack://popup-maker/core/./packages/block-library/src/lib/cta-buttons/editor.scss?f109","webpack://popup-maker/core/./packages/block-library/src/lib/cta-buttons/index.ts?","webpack://popup-maker/core/./packages/block-library/src/lib/cta-buttons/save.tsx?","webpack://popup-maker/core/./packages/block-library/src/lib/cta-buttons/style.scss?3b0d","webpack://popup-maker/core/./packages/block-library/src/lib/cta-buttons/transforms.ts?","webpack://popup-maker/core/./packages/block-library/src/lib/index.ts?","webpack://popup-maker/core/./packages/block-library/src/lib/utils/get-transformed-metadata.ts?","webpack://popup-maker/core/./packages/block-library/src/lib/utils/hooks.ts?","webpack://popup-maker/core/./packages/block-library/src/lib/utils/index.ts?","webpack://popup-maker/core/./packages/block-library/src/lib/utils/init-block.native.ts?","webpack://popup-maker/core/./packages/block-library/src/lib/utils/init-block.ts?","webpack://popup-maker/core/./packages/block-library/src/lib/utils/remove-anchor-tag.ts?","webpack://popup-maker/core/./packages/block-library/src/lib/utils/transformation-categories.native.ts?","webpack://popup-maker/core/external window [\"popupMaker\",\"components\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"coreData\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"ctaEditor\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"i18n\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"icons\"]?","webpack://popup-maker/core/external window [\"wp\",\"blob\"]?","webpack://popup-maker/core/external window [\"wp\",\"blockEditor\"]?","webpack://popup-maker/core/external window [\"wp\",\"blocks\"]?","webpack://popup-maker/core/external window [\"wp\",\"components\"]?","webpack://popup-maker/core/external window [\"wp\",\"compose\"]?","webpack://popup-maker/core/external window [\"wp\",\"coreData\"]?","webpack://popup-maker/core/external window [\"wp\",\"data\"]?","webpack://popup-maker/core/external window [\"wp\",\"domReady\"]?","webpack://popup-maker/core/external window [\"wp\",\"editor\"]?","webpack://popup-maker/core/external window [\"wp\",\"element\"]?","webpack://popup-maker/core/external window [\"wp\",\"hooks\"]?","webpack://popup-maker/core/external window [\"wp\",\"htmlEntities\"]?","webpack://popup-maker/core/external window [\"wp\",\"keycodes\"]?","webpack://popup-maker/core/external window [\"wp\",\"primitives\"]?","webpack://popup-maker/core/external window \"React\"?","webpack://popup-maker/core/external window \"ReactJSXRuntime\"?","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/compat get default export?","webpack://popup-maker/core/webpack/runtime/define property getters?","webpack://popup-maker/core/webpack/runtime/hasOwnProperty shorthand?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/block-library/src/index.ts?"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cloneElement, forwardRef } from '@wordpress/element';\n\n/**\n * External dependencies\n */\n\n/**\n * Return an SVG icon.\n *\n * @param props The component props.\n *\n * @return Icon component\n */\nexport default forwardRef(({\n icon,\n size = 24,\n ...props\n}, ref) => {\n return cloneElement(icon, {\n width: size,\n height: size,\n ...props,\n ref\n });\n});\n//# sourceMappingURL=index.js.map","export { default as Icon } from './icon';\nexport { default as addCard } from './library/add-card';\nexport { default as addSubmenu } from './library/add-submenu';\nexport { default as addTemplate } from './library/add-template';\nexport { default as alignCenter } from './library/align-center';\nexport { default as alignJustify } from './library/align-justify';\nexport { default as alignLeft } from './library/align-left';\nexport { default as alignNone } from './library/align-none';\nexport { default as alignRight } from './library/align-right';\nexport { default as archive } from './library/archive';\nexport { default as arrowDown } from './library/arrow-down';\nexport { default as arrowDownRight } from './library/arrow-down-right';\nexport { default as arrowLeft } from './library/arrow-left';\nexport { default as arrowRight } from './library/arrow-right';\nexport { default as arrowUp } from './library/arrow-up';\nexport { default as arrowUpLeft } from './library/arrow-up-left';\nexport { default as atSymbol } from './library/at-symbol';\nexport { default as aspectRatio } from './library/aspect-ratio';\nexport { default as audio } from './library/audio';\nexport { default as background } from './library/background';\nexport { default as backup } from './library/backup';\nexport { default as bell } from './library/bell';\nexport { default as bellUnread } from './library/bell-unread';\nexport { default as blockDefault } from './library/block-default';\nexport { default as blockMeta } from './library/block-meta';\nexport { default as blockTable } from './library/block-table';\nexport { default as border } from './library/border';\nexport { default as box } from './library/box';\nexport { default as brush } from './library/brush';\nexport { default as bug } from './library/bug';\nexport { default as button } from './library/button';\nexport { default as buttons } from './library/buttons';\nexport { default as calendar } from './library/calendar';\nexport { default as cancelCircleFilled } from './library/cancel-circle-filled';\nexport { default as caption } from './library/caption';\nexport { default as capturePhoto } from './library/capture-photo';\nexport { default as captureVideo } from './library/capture-video';\nexport { default as category } from './library/category';\nexport { default as caution } from './library/caution';\nexport { /** @deprecated Import `cautionFilled` instead. */\ndefault as warning, default as cautionFilled } from './library/caution-filled';\nexport { default as chartBar } from './library/chart-bar';\nexport { default as check } from './library/check';\nexport { default as chevronDown } from './library/chevron-down';\nexport { default as chevronDownSmall } from './library/chevron-down-small';\nexport { default as chevronLeft } from './library/chevron-left';\nexport { default as chevronLeftSmall } from './library/chevron-left-small';\nexport { default as chevronRight } from './library/chevron-right';\nexport { default as chevronRightSmall } from './library/chevron-right-small';\nexport { default as chevronUp } from './library/chevron-up';\nexport { default as chevronUpDown } from './library/chevron-up-down';\nexport { default as classic } from './library/classic';\nexport { default as close } from './library/close';\nexport { default as closeSmall } from './library/close-small';\nexport { default as cloudDownload } from './library/cloud-download';\nexport { default as cloudUpload } from './library/cloud-upload';\nexport { default as cloud } from './library/cloud';\nexport { default as code } from './library/code';\nexport { default as cog } from './library/cog';\nexport { default as color } from './library/color';\nexport { default as column } from './library/column';\nexport { default as columns } from './library/columns';\nexport { default as copy } from './library/copy';\nexport { default as copySmall } from './library/copy-small';\nexport { default as comment } from './library/comment';\nexport { default as commentAuthorAvatar } from './library/comment-author-avatar';\nexport { default as commentAuthorName } from './library/comment-author-name';\nexport { default as commentContent } from './library/comment-content';\nexport { default as commentReplyLink } from './library/comment-reply-link';\nexport { default as commentEditLink } from './library/comment-edit-link';\nexport { default as cornerAll } from './library/corner-all';\nexport { default as cornerBottomLeft } from './library/corner-bottom-left';\nexport { default as cornerBottomRight } from './library/corner-bottom-right';\nexport { default as cornerTopLeft } from './library/corner-top-left';\nexport { default as cornerTopRight } from './library/corner-top-right';\nexport { default as connection } from './library/connection';\nexport { default as cover } from './library/cover';\nexport { default as create } from './library/create';\nexport { default as crop } from './library/crop';\nexport { default as currencyDollar } from './library/currency-dollar';\nexport { default as currencyEuro } from './library/currency-euro';\nexport { default as currencyPound } from './library/currency-pound';\nexport { default as customPostType } from './library/custom-post-type';\nexport { default as dashboard } from './library/dashboard';\nexport { default as desktop } from './library/desktop';\nexport { default as details } from './library/details';\nexport { default as drafts } from './library/drafts';\nexport { default as dragHandle } from './library/drag-handle';\nexport { default as drawerLeft } from './library/drawer-left';\nexport { default as drawerRight } from './library/drawer-right';\nexport { default as download } from './library/download';\nexport { default as edit } from './library/edit';\nexport { default as envelope } from './library/envelope';\nexport { default as external } from './library/external';\nexport { default as error } from './library/error';\nexport { default as file } from './library/file';\nexport { default as filter } from './library/filter';\nexport { default as flipHorizontal } from './library/flip-horizontal';\nexport { default as flipVertical } from './library/flip-vertical';\nexport { default as formatBold } from './library/format-bold';\nexport { default as formatCapitalize } from './library/format-capitalize';\nexport { default as formatIndent } from './library/format-indent';\nexport { default as formatIndentRTL } from './library/format-indent-rtl';\nexport { default as formatItalic } from './library/format-italic';\nexport { default as formatListBullets } from './library/format-list-bullets';\nexport { default as formatListBulletsRTL } from './library/format-list-bullets-rtl';\nexport { default as formatListNumbered } from './library/format-list-numbered';\nexport { default as formatListNumberedRTL } from './library/format-list-numbered-rtl';\nexport { default as formatLtr } from './library/format-ltr';\nexport { default as formatLowercase } from './library/format-lowercase';\nexport { default as formatOutdent } from './library/format-outdent';\nexport { default as formatOutdentRTL } from './library/format-outdent-rtl';\nexport { default as formatRtl } from './library/format-rtl';\nexport { default as formatStrikethrough } from './library/format-strikethrough';\nexport { default as formatUnderline } from './library/format-underline';\nexport { default as formatUppercase } from './library/format-uppercase';\nexport { default as fullscreen } from './library/fullscreen';\nexport { default as funnel } from './library/funnel';\nexport { default as gallery } from './library/gallery';\nexport { default as globe } from './library/globe';\nexport { default as grid } from './library/grid';\nexport { default as group } from './library/group';\nexport { default as handle } from './library/handle';\nexport { default as headingLevel1 } from './library/heading-level-1';\nexport { default as headingLevel2 } from './library/heading-level-2';\nexport { default as headingLevel3 } from './library/heading-level-3';\nexport { default as headingLevel4 } from './library/heading-level-4';\nexport { default as headingLevel5 } from './library/heading-level-5';\nexport { default as headingLevel6 } from './library/heading-level-6';\nexport { default as heading } from './library/heading';\nexport { default as help } from './library/help';\nexport { default as helpFilled } from './library/help-filled';\nexport { default as inbox } from './library/inbox';\nexport { default as institution } from './library/institution';\nexport { default as home } from './library/home';\nexport { default as homeButton } from './library/home-button';\nexport { default as html } from './library/html';\nexport { default as image } from './library/image';\nexport { default as info } from './library/info';\nexport { default as insertAfter } from './library/insert-after';\nexport { default as insertBefore } from './library/insert-before';\nexport { default as justifyBottom } from './library/justify-bottom';\nexport { default as justifyLeft } from './library/justify-left';\nexport { default as justifyCenter } from './library/justify-center';\nexport { default as justifyCenterVertical } from './library/justify-center-vertical';\nexport { default as justifyRight } from './library/justify-right';\nexport { default as justifySpaceBetween } from './library/justify-space-between';\nexport { default as justifySpaceBetweenVertical } from './library/justify-space-between-vertical';\nexport { default as justifyStretch } from './library/justify-stretch';\nexport { default as justifyStretchVertical } from './library/justify-stretch-vertical';\nexport { default as justifyTop } from './library/justify-top';\nexport { default as key } from './library/key';\nexport { default as keyboard } from './library/keyboard';\nexport { default as keyboardClose } from './library/keyboard-close';\nexport { default as keyboardReturn } from './library/keyboard-return';\nexport { default as language } from './library/language';\nexport { default as layout } from './library/layout';\nexport { default as levelUp } from './library/level-up';\nexport { default as lifesaver } from './library/lifesaver';\nexport { default as lineDashed } from './library/line-dashed';\nexport { default as lineDotted } from './library/line-dotted';\nexport { default as lineSolid } from './library/line-solid';\nexport { default as link } from './library/link';\nexport { default as linkOff } from './library/link-off';\nexport { default as list } from './library/list';\nexport { default as listItem } from './library/list-item';\nexport { default as listView } from './library/list-view';\nexport { default as lock } from './library/lock';\nexport { default as lockOutline } from './library/lock-outline';\nexport { default as lockSmall } from './library/lock-small';\nexport { default as login } from './library/login';\nexport { default as loop } from './library/loop';\nexport { default as mapMarker } from './library/map-marker';\nexport { default as media } from './library/media';\nexport { default as mediaAndText } from './library/media-and-text';\nexport { default as megaphone } from './library/megaphone';\nexport { default as menu } from './library/menu';\nexport { default as mobile } from './library/mobile';\nexport { default as more } from './library/more';\nexport { default as moreHorizontal } from './library/more-horizontal';\nexport { default as moreVertical } from './library/more-vertical';\nexport { default as moveTo } from './library/move-to';\nexport { default as navigation } from './library/navigation';\nexport { default as notAllowed } from './library/not-allowed';\nexport { default as notFound } from './library/not-found';\nexport { default as overlayText } from './library/overlay-text';\nexport { default as pageBreak } from './library/page-break';\nexport { default as customLink } from './library/custom-link';\nexport { default as page } from './library/page';\nexport { default as pages } from './library/pages';\nexport { default as paragraph } from './library/paragraph';\nexport { default as payment } from './library/payment';\nexport { default as pending } from './library/pending';\nexport { default as percent } from './library/percent';\nexport { default as positionCenter } from './library/position-center';\nexport { default as positionLeft } from './library/position-left';\nexport { default as positionRight } from './library/position-right';\nexport { default as pencil } from './library/pencil';\nexport { default as people } from './library/people';\nexport { default as pin } from './library/pin';\nexport { default as pinSmall } from './library/pin-small';\nexport { default as plugins } from './library/plugins';\nexport { default as plusCircleFilled } from './library/plus-circle-filled';\nexport { default as plusCircle } from './library/plus-circle';\nexport { default as plus } from './library/plus';\nexport { default as post } from './library/post';\nexport { default as postAuthor } from './library/post-author';\nexport { default as postCategories } from './library/post-categories';\nexport { default as postContent } from './library/post-content';\nexport { default as postComments } from './library/post-comments';\nexport { default as postCommentsCount } from './library/post-comments-count';\nexport { default as postCommentsForm } from './library/post-comments-form';\nexport { default as postDate } from './library/post-date';\nexport { default as postExcerpt } from './library/post-excerpt';\nexport { default as postFeaturedImage } from './library/post-featured-image';\nexport { default as postList } from './library/post-list';\nexport { default as postTerms } from './library/post-terms';\nexport { default as previous } from './library/previous';\nexport { default as next } from './library/next';\nexport { default as offline } from './library/offline';\nexport { default as preformatted } from './library/preformatted';\nexport { default as published } from './library/published';\nexport { default as pullLeft } from './library/pull-left';\nexport { default as pullRight } from './library/pull-right';\nexport { default as pullquote } from './library/pullquote';\nexport { default as queryPagination } from './library/query-pagination';\nexport { default as queryPaginationNext } from './library/query-pagination-next';\nexport { default as queryPaginationNumbers } from './library/query-pagination-numbers';\nexport { default as queryPaginationPrevious } from './library/query-pagination-previous';\nexport { default as quote } from './library/quote';\nexport { default as receipt } from './library/receipt';\nexport { default as redo } from './library/redo';\nexport { default as removeBug } from './library/remove-bug';\nexport { default as removeSubmenu } from './library/remove-submenu';\nexport { default as replace } from './library/replace';\nexport { default as reset } from './library/reset';\nexport { default as resizeCornerNE } from './library/resize-corner-n-e';\nexport { default as reusableBlock } from './library/reusable-block';\nexport { default as row } from './library/row';\nexport { default as symbol } from './library/symbol';\nexport { default as rotateLeft } from './library/rotate-left';\nexport { default as rotateRight } from './library/rotate-right';\nexport { default as rss } from './library/rss';\nexport { default as search } from './library/search';\nexport { default as seen } from './library/seen';\nexport { default as unseen } from './library/unseen';\nexport { default as scheduled } from './library/scheduled';\nexport { default as send } from './library/send';\nexport { default as separator } from './library/separator';\nexport { default as settings } from './library/settings';\nexport { default as shadow } from './library/shadow';\nexport { default as share } from './library/share';\nexport { default as shield } from './library/shield';\nexport { default as shortcode } from './library/shortcode';\nexport { default as shuffle } from './library/shuffle';\nexport { default as siteLogo } from './library/site-logo';\nexport { default as stack } from './library/stack';\nexport { default as starEmpty } from './library/star-empty';\nexport { default as starFilled } from './library/star-filled';\nexport { default as starHalf } from './library/star-half';\nexport { default as store } from './library/store';\nexport { default as stretchFullWidth } from './library/stretch-full-width';\nexport { default as styles } from './library/styles';\nexport { default as shipping } from './library/shipping';\nexport { default as square } from './library/square';\nexport { default as stretchWide } from './library/stretch-wide';\nexport { default as subscript } from './library/subscript';\nexport { default as superscript } from './library/superscript';\nexport { default as swatch } from './library/swatch';\nexport { default as tableColumnAfter } from './library/table-column-after';\nexport { default as tableColumnBefore } from './library/table-column-before';\nexport { default as tableColumnDelete } from './library/table-column-delete';\nexport { default as tableOfContents } from './library/table-of-contents';\nexport { default as tableRowAfter } from './library/table-row-after';\nexport { default as tableRowBefore } from './library/table-row-before';\nexport { default as tableRowDelete } from './library/table-row-delete';\nexport { default as table } from './library/table';\nexport { default as tag } from './library/tag';\nexport { default as thumbsDown } from './library/thumbs-down';\nexport { default as thumbsUp } from './library/thumbs-up';\nexport { default as symbolFilled } from './library/symbol-filled';\nexport { default as termDescription } from './library/term-description';\nexport { default as footer } from './library/footer';\nexport { default as header } from './library/header';\nexport { default as sidebar } from './library/sidebar';\nexport { default as sidesAll } from './library/sides-all';\nexport { default as sidesAxial } from './library/sides-axial';\nexport { default as sidesBottom } from './library/sides-bottom';\nexport { default as sidesHorizontal } from './library/sides-horizontal';\nexport { default as sidesLeft } from './library/sides-left';\nexport { default as sidesRight } from './library/sides-right';\nexport { default as sidesTop } from './library/sides-top';\nexport { default as sidesVertical } from './library/sides-vertical';\nexport { default as textColor } from './library/text-color';\nexport { default as textHorizontal } from './library/text-horizontal';\nexport { default as textVertical } from './library/text-vertical';\nexport { default as tablet } from './library/tablet';\nexport { default as title } from './library/title';\nexport { default as tip } from './library/tip';\nexport { default as tool } from './library/tool';\nexport { default as trash } from './library/trash';\nexport { default as trendingDown } from './library/trending-down';\nexport { default as trendingUp } from './library/trending-up';\nexport { default as typography } from './library/typography';\nexport { default as undo } from './library/undo';\nexport { default as ungroup } from './library/ungroup';\nexport { default as unlock } from './library/unlock';\nexport { default as update } from './library/update';\nexport { default as upload } from './library/upload';\nexport { default as verse } from './library/verse';\nexport { default as video } from './library/video';\nexport { default as widget } from './library/widget';\nexport { default as wordpress } from './library/wordpress';\n//# sourceMappingURL=index.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst addCard = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 5.5V8H20V5.5h2.5V4H20V1.5h-1.5V4H16v1.5h2.5zM12 4H6a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2v-6h-1.5v6a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5h6V4z\"\n })\n});\nexport default addCard;\n//# sourceMappingURL=add-card.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst addSubmenu = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M2 12c0 3.6 2.4 5.5 6 5.5h.5V19l3-2.5-3-2.5v2H8c-2.5 0-4.5-1.5-4.5-4s2-4.5 4.5-4.5h3.5V6H8c-3.6 0-6 2.4-6 6zm19.5-1h-8v1.5h8V11zm0 5h-8v1.5h8V16zm0-10h-8v1.5h8V6z\"\n })\n});\nexport default addSubmenu;\n//# sourceMappingURL=add-submenu.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst addTemplate = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.5 5.5V8H20V5.5H22.5V4H20V1.5H18.5V4H16V5.5H18.5ZM13.9624 4H6C4.89543 4 4 4.89543 4 6V18C4 19.1046 4.89543 20 6 20H18C19.1046 20 20 19.1046 20 18V10.0391H18.5V18C18.5 18.2761 18.2761 18.5 18 18.5H10L10 10.4917L16.4589 10.5139L16.4641 9.01389L5.5 8.97618V6C5.5 5.72386 5.72386 5.5 6 5.5H13.9624V4ZM5.5 10.4762V18C5.5 18.2761 5.72386 18.5 6 18.5H8.5L8.5 10.4865L5.5 10.4762Z\"\n })\n});\nexport default addTemplate;\n//# sourceMappingURL=add-template.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignCenter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7.5 5.5h9V4h-9v1.5Zm-3.5 7h16V11H4v1.5Zm3.5 7h9V18h-9v1.5Z\"\n })\n});\nexport default alignCenter;\n//# sourceMappingURL=align-center.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignJustify = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 12.8h16v-1.5H4v1.5zm0 7h12.4v-1.5H4v1.5zM4 4.3v1.5h16V4.3H4z\"\n })\n});\nexport default alignJustify;\n//# sourceMappingURL=align-justify.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 5.5H4V4h9v1.5Zm7 7H4V11h16v1.5Zm-7 7H4V18h9v1.5Z\"\n })\n});\nexport default alignLeft;\n//# sourceMappingURL=align-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignNone = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM5 9h14v6H5V9Z\"\n })\n});\nexport default alignNone;\n//# sourceMappingURL=align-none.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.111 5.5H20V4h-8.889v1.5ZM4 12.5h16V11H4v1.5Zm7.111 7H20V18h-8.889v1.5Z\"\n })\n});\nexport default alignRight;\n//# sourceMappingURL=align-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst archive = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.934 7.406a1 1 0 0 0 .914.594H19a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5h5.764a.5.5 0 0 1 .447.276l.723 1.63Zm1.064-1.216a.5.5 0 0 0 .462.31H19a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.764a2 2 0 0 1 1.789 1.106l.445 1.084ZM8.5 10.5h7V12h-7v-1.5Zm7 3.5h-7v1.5h7V14Z\"\n })\n});\nexport default archive;\n//# sourceMappingURL=archive.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowDownRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 18h8v-8h-1.5v5.5L7 6 6 7l9.5 9.5H10V18Z\"\n })\n});\nexport default arrowDownRight;\n//# sourceMappingURL=arrow-down-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m16.5 13.5-3.7 3.7V4h-1.5v13.2l-3.8-3.7-1 1 5.5 5.6 5.5-5.6z\"\n })\n});\nexport default arrowDown;\n//# sourceMappingURL=arrow-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 11.2H6.8l3.7-3.7-1-1L3.9 12l5.6 5.5 1-1-3.7-3.7H20z\"\n })\n});\nexport default arrowLeft;\n//# sourceMappingURL=arrow-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m14.5 6.5-1 1 3.7 3.7H4v1.6h13.2l-3.7 3.7 1 1 5.6-5.5z\"\n })\n});\nexport default arrowRight;\n//# sourceMappingURL=arrow-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowUpLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 6H6v8h1.5V8.5L17 18l1-1-9.5-9.5H14V6Z\"\n })\n});\nexport default arrowUpLeft;\n//# sourceMappingURL=arrow-up-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 3.9 6.5 9.5l1 1 3.8-3.7V20h1.5V6.8l3.7 3.7 1-1z\"\n })\n});\nexport default arrowUp;\n//# sourceMappingURL=arrow-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst aspectRatio = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 5.5h-13c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2v-9c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5h-13c-.3 0-.5-.2-.5-.5v-9c0-.3.2-.5.5-.5h13c.3 0 .5.2.5.5v9zM6.5 12H8v-2h2V8.5H6.5V12zm9.5 2h-2v1.5h3.5V12H16v2z\"\n })\n});\nexport default aspectRatio;\n//# sourceMappingURL=aspect-ratio.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst atSymbol = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5939 21C14.1472 21 16.1269 20.5701 17.0711 20.1975L16.6447 18.879C16.0964 19.051 14.3299 19.6242 12.6548 19.6242C7.4467 19.6242 4.67513 16.8726 4.67513 12C4.67513 7.21338 7.50762 4.34713 12.2893 4.34713C17.132 4.34713 19.4162 7.55732 19.4162 10.7675C19.4162 14.035 19.0508 15.4968 17.4975 15.4968C16.5838 15.4968 16.0964 14.7803 16.0964 13.9777V7.5H14.4822V8.30255H14.3909C14.1777 7.67198 12.9898 7.12739 11.467 7.2707C9.18274 7.5 7.4467 9.27707 7.4467 11.8567C7.4467 14.5796 8.81726 16.672 11.467 16.758C13.203 16.8153 14.1168 16.0127 14.4822 15.1815H14.5736C14.7563 16.414 16.401 16.8439 17.467 16.8439C20.6954 16.8439 21 13.5764 21 10.7962C21 6.86943 18.0761 3 12.3807 3C6.50254 3 3 6.3535 3 11.9427C3 17.7325 6.38071 21 12.5939 21ZM11.7107 15.2962C9.73096 15.2962 9.03046 13.6051 9.03046 11.7707C9.03046 10.1083 10.0355 8.67516 11.7716 8.67516C13.599 8.67516 14.5736 9.36306 14.5736 11.7707C14.5736 14.1497 13.7513 15.2962 11.7107 15.2962Z\"\n })\n});\nexport default atSymbol;\n//# sourceMappingURL=at-symbol.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst audio = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.7 4.3c-1.2 0-2.8 0-3.8 1-.6.6-.9 1.5-.9 2.6V14c-.6-.6-1.5-1-2.5-1C8.6 13 7 14.6 7 16.5S8.6 20 10.5 20c1.5 0 2.8-1 3.3-2.3.5-.8.7-1.8.7-2.5V7.9c0-.7.2-1.2.5-1.6.6-.6 1.8-.6 2.8-.6h.3V4.3h-.4z\"\n })\n});\nexport default audio;\n//# sourceMappingURL=audio.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst background = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.53 4.47a.75.75 0 1 0-1.06 1.06l8 8a.75.75 0 1 0 1.06-1.06l-8-8Zm5 1a.75.75 0 1 0-1.06 1.06l2 2a.75.75 0 1 0 1.06-1.06l-2-2Zm-11.06 10a.75.75 0 0 1 1.06 0l2 2a.75.75 0 1 1-1.06 1.06l-2-2a.75.75 0 0 1 0-1.06Zm.06-5a.75.75 0 0 0-1.06 1.06l8 8a.75.75 0 1 0 1.06-1.06l-8-8Zm-.06-3a.75.75 0 0 1 1.06 0l10 10a.75.75 0 1 1-1.06 1.06l-10-10a.75.75 0 0 1 0-1.06Zm3.06-2a.75.75 0 0 0-1.06 1.06l10 10a.75.75 0 1 0 1.06-1.06l-10-10Z\"\n })\n});\nexport default background;\n//# sourceMappingURL=background.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst backup = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.5 12h1.75l-2.5 3-2.5-3H4a8 8 0 113.134 6.35l.907-1.194A6.5 6.5 0 105.5 12zm9.53 1.97l-2.28-2.28V8.5a.75.75 0 00-1.5 0V12a.747.747 0 00.218.529l1.282-.84-1.28.842 2.5 2.5a.75.75 0 101.06-1.061z\"\n })\n});\nexport default backup;\n//# sourceMappingURL=backup.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, Circle } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst bellUnread = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M13.969 4.39A5.088 5.088 0 0 0 12 4C9.2 4 7 6.2 7 9v2.5c0 1.353-.17 2.368-.976 3-.267.209-.602.376-1.024.5v1h14v-1c-.422-.124-.757-.291-1.024-.5-.806-.632-.976-1.647-.976-3V11c-.53 0-1.037-.103-1.5-.29v.79c0 .93.066 1.98.515 2.897l.053.103H7.932l.053-.103c.449-.917.515-1.967.515-2.897V9c0-1.972 1.528-3.5 3.5-3.5.43 0 .838.072 1.214.206.167-.488.425-.933.755-1.316Zm-3.961 13.618c0-.176.023-.346.065-.508h3.854A1.996 1.996 0 0 1 12 20a1.991 1.991 0 0 1-1.992-1.992Z\"\n }), /*#__PURE__*/_jsx(Circle, {\n cx: \"17\",\n cy: \"7\",\n r: \"2.5\"\n })]\n});\nexport default bellUnread;\n//# sourceMappingURL=bell-unread.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst bell = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17 11.5c0 1.353.17 2.368.976 3 .266.209.602.376 1.024.5v1H5v-1c.422-.124.757-.291 1.024-.5.806-.632.976-1.647.976-3V9c0-2.8 2.2-5 5-5s5 2.2 5 5v2.5ZM15.5 9v2.5c0 .93.066 1.98.515 2.897l.053.103H7.932a4.018 4.018 0 0 0 .053-.103c.449-.917.515-1.967.515-2.897V9c0-1.972 1.528-3.5 3.5-3.5s3.5 1.528 3.5 3.5Zm-5.492 9.008c0-.176.023-.346.065-.508h3.854A1.996 1.996 0 0 1 12 20c-1.1 0-1.992-.892-1.992-1.992Z\"\n })\n});\nexport default bell;\n//# sourceMappingURL=bell.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst blockDefault = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 8h-1V6h-5v2h-2V6H6v2H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm.5 10c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-8c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v8z\"\n })\n});\nexport default blockDefault;\n//# sourceMappingURL=block-default.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst blockMeta = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M8.95 11.25H4v1.5h4.95v4.5H13V18c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2h-3c-1.1 0-2 .9-2 2v.75h-2.55v-7.5H13V9c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3c-1.1 0-2 .9-2 2v.75H8.95v4.5ZM14.5 15v3c0 .3.2.5.5.5h3c.3 0 .5-.2.5-.5v-3c0-.3-.2-.5-.5-.5h-3c-.3 0-.5.2-.5.5Zm0-6V6c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5Z\",\n clipRule: \"evenodd\"\n })\n});\nexport default blockMeta;\n//# sourceMappingURL=block-meta.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst blockTable = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v3.5h-15V5c0-.3.2-.5.5-.5zm8 5.5h6.5v3.5H13V10zm-1.5 3.5h-7V10h7v3.5zm-7 5.5v-4h7v4.5H5c-.3 0-.5-.2-.5-.5zm14.5.5h-6V15h6.5v4c0 .3-.2.5-.5.5z\"\n })\n});\nexport default blockTable;\n//# sourceMappingURL=block-table.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst border = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m6.6 15.6-1.2.8c.6.9 1.3 1.6 2.2 2.2l.8-1.2c-.7-.5-1.3-1.1-1.8-1.8zM5.5 12c0-.4 0-.9.1-1.3l-1.5-.3c0 .5-.1 1.1-.1 1.6s.1 1.1.2 1.6l1.5-.3c-.2-.4-.2-.9-.2-1.3zm11.9-3.6 1.2-.8c-.6-.9-1.3-1.6-2.2-2.2l-.8 1.2c.7.5 1.3 1.1 1.8 1.8zM5.3 7.6l1.2.8c.5-.7 1.1-1.3 1.8-1.8l-.7-1.3c-.9.6-1.7 1.4-2.3 2.3zm14.5 2.8-1.5.3c.1.4.1.8.1 1.3s0 .9-.1 1.3l1.5.3c.1-.5.2-1 .2-1.6s-.1-1.1-.2-1.6zM12 18.5c-.4 0-.9 0-1.3-.1l-.3 1.5c.5.1 1 .2 1.6.2s1.1-.1 1.6-.2l-.3-1.5c-.4.1-.9.1-1.3.1zm3.6-1.1.8 1.2c.9-.6 1.6-1.3 2.2-2.2l-1.2-.8c-.5.7-1.1 1.3-1.8 1.8zM10.4 4.2l.3 1.5c.4-.1.8-.1 1.3-.1s.9 0 1.3.1l.3-1.5c-.5-.1-1.1-.2-1.6-.2s-1.1.1-1.6.2z\"\n })\n});\nexport default border;\n//# sourceMappingURL=border.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst box = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5 5.5h14a.5.5 0 01.5.5v1.5a.5.5 0 01-.5.5H5a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 9.232A2 2 0 013 7.5V6a2 2 0 012-2h14a2 2 0 012 2v1.5a2 2 0 01-1 1.732V18a2 2 0 01-2 2H6a2 2 0 01-2-2V9.232zm1.5.268V18a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V9.5h-13z\",\n clipRule: \"evenodd\"\n })\n});\nexport default box;\n//# sourceMappingURL=box.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst brush = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 20h8v-1.5H4V20zM18.9 3.5c-.6-.6-1.5-.6-2.1 0l-7.2 7.2c-.4-.1-.7 0-1.1.1-.5.2-1.5.7-1.9 2.2-.4 1.7-.8 2.2-1.1 2.7-.1.1-.2.3-.3.4l-.6 1.1H6c2 0 3.4-.4 4.7-1.4.8-.6 1.2-1.4 1.3-2.3 0-.3 0-.5-.1-.7L19 5.7c.5-.6.5-1.6-.1-2.2zM9.7 14.7c-.7.5-1.5.8-2.4 1 .2-.5.5-1.2.8-2.3.2-.6.4-1 .8-1.1.5-.1 1 .1 1.3.3.2.2.3.5.2.8 0 .3-.1.9-.7 1.3z\"\n })\n});\nexport default brush;\n//# sourceMappingURL=brush.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst bug = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.13 5.5l1.926 1.927A4.975 4.975 0 007.025 10H5v1.5h2V13H5v1.5h2.1a5.002 5.002 0 009.8 0H19V13h-2v-1.5h2V10h-2.025a4.979 4.979 0 00-1.167-2.74l1.76-1.76-1.061-1.06-1.834 1.834A4.977 4.977 0 0012 5.5c-1.062 0-2.046.33-2.855.895L7.19 4.44 6.13 5.5zm2.37 5v3a3.5 3.5 0 107 0v-3a3.5 3.5 0 10-7 0z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default bug;\n//# sourceMappingURL=bug.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst button = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8 12.5h8V11H8v1.5Z M19 6.5H5a2 2 0 0 0-2 2V15a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a2 2 0 0 0-2-2ZM5 8h14a.5.5 0 0 1 .5.5V15a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8.5A.5.5 0 0 1 5 8Z\"\n })\n});\nexport default button;\n//# sourceMappingURL=button.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst buttons = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.5 17.5H9.5V16H14.5V17.5Z M14.5 8H9.5V6.5H14.5V8Z M7 3.5H17C18.1046 3.5 19 4.39543 19 5.5V9C19 10.1046 18.1046 11 17 11H7C5.89543 11 5 10.1046 5 9V5.5C5 4.39543 5.89543 3.5 7 3.5ZM17 5H7C6.72386 5 6.5 5.22386 6.5 5.5V9C6.5 9.27614 6.72386 9.5 7 9.5H17C17.2761 9.5 17.5 9.27614 17.5 9V5.5C17.5 5.22386 17.2761 5 17 5Z M7 13H17C18.1046 13 19 13.8954 19 15V18.5C19 19.6046 18.1046 20.5 17 20.5H7C5.89543 20.5 5 19.6046 5 18.5V15C5 13.8954 5.89543 13 7 13ZM17 14.5H7C6.72386 14.5 6.5 14.7239 6.5 15V18.5C6.5 18.7761 6.72386 19 7 19H17C17.2761 19 17.5 18.7761 17.5 18.5V15C17.5 14.7239 17.2761 14.5 17 14.5Z\"\n })\n});\nexport default buttons;\n//# sourceMappingURL=buttons.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst calendar = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V7h15v12zM9 10H7v2h2v-2zm0 4H7v2h2v-2zm4-4h-2v2h2v-2zm4 0h-2v2h2v-2zm-4 4h-2v2h2v-2zm4 0h-2v2h2v-2z\"\n })\n});\nexport default calendar;\n//# sourceMappingURL=calendar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cancelCircleFilled = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm3.8 10.7-1.1 1.1-2.7-2.7-2.7 2.7-1.1-1.1 2.7-2.7-2.7-2.7 1.1-1.1 2.7 2.7 2.7-2.7 1.1 1.1-2.7 2.7 2.7 2.7Z\"\n })\n});\nexport default cancelCircleFilled;\n//# sourceMappingURL=cancel-circle-filled.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst caption = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6 5.5h12a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5ZM4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6Zm4 10h2v-1.5H8V16Zm5 0h-2v-1.5h2V16Zm1 0h2v-1.5h-2V16Z\"\n })\n});\nexport default caption;\n//# sourceMappingURL=caption.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst capturePhoto = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 9.2c-2.2 0-3.9 1.8-3.9 4s1.8 4 3.9 4 4-1.8 4-4-1.8-4-4-4zm0 6.5c-1.4 0-2.4-1.1-2.4-2.5s1.1-2.5 2.4-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zM20.2 8c-.1 0-.3 0-.5-.1l-2.5-.8c-.4-.1-.8-.4-1.1-.8l-1-1.5c-.4-.5-1-.9-1.7-.9h-2.9c-.6.1-1.2.4-1.6 1l-1 1.5c-.3.3-.6.6-1.1.7l-2.5.8c-.2.1-.4.1-.6.1-1 .2-1.7.9-1.7 1.9v8.3c0 1 .9 1.9 2 1.9h16c1.1 0 2-.8 2-1.9V9.9c0-1-.7-1.7-1.8-1.9zm.3 10.1c0 .2-.2.4-.5.4H4c-.3 0-.5-.2-.5-.4V9.9c0-.1.2-.3.5-.4.2 0 .5-.1.8-.2l2.5-.8c.7-.2 1.4-.6 1.8-1.3l1-1.5c.1-.1.2-.2.4-.2h2.9c.2 0 .3.1.4.2l1 1.5c.4.7 1.1 1.1 1.9 1.4l2.5.8c.3.1.6.1.8.2.3 0 .4.2.4.4v8.1z\"\n })\n});\nexport default capturePhoto;\n//# sourceMappingURL=capture-photo.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst captureVideo = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 5H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm.5 12c0 .3-.2.5-.5.5H4c-.3 0-.5-.2-.5-.5V7c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v10zm2.5-7v4l5 3V7l-5 3zm3.5 4.4l-2-1.2v-2.3l2-1.2v4.7z\"\n })\n});\nexport default captureVideo;\n//# sourceMappingURL=capture-video.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst category = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 5.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2V6zm11-.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM13 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2h-3a2 2 0 01-2-2V6zm5 8.5h-3a.5.5 0 00-.5.5v3a.5.5 0 00.5.5h3a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5zM15 13a2 2 0 00-2 2v3a2 2 0 002 2h3a2 2 0 002-2v-3a2 2 0 00-2-2h-3zm-9 1.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5zM4 15a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2v-3z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default category;\n//# sourceMappingURL=category.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cautionFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM12.75 8V13H11.25V8H12.75ZM12.75 14.5V16H11.25V14.5H12.75Z\"\n })\n});\nexport default cautionFilled;\n//# sourceMappingURL=caution-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst caution = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-.75 12v-1.5h1.5V16h-1.5Zm0-8v5h1.5V8h-1.5Z\"\n })\n});\nexport default caution;\n//# sourceMappingURL=caution.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chartBar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M11.25 5h1.5v15h-1.5V5zM6 10h1.5v10H6V10zm12 4h-1.5v6H18v-6z\",\n clipRule: \"evenodd\"\n })\n});\nexport default chartBar;\n//# sourceMappingURL=chart-bar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst check = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z\"\n })\n});\nexport default check;\n//# sourceMappingURL=check.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronDownSmall = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m15.99 10.889-3.988 3.418-3.988-3.418.976-1.14 3.012 2.582 3.012-2.581.976 1.139Z\"\n })\n});\nexport default chevronDownSmall;\n//# sourceMappingURL=chevron-down-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronDown = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z\"\n })\n});\nexport default chevronDown;\n//# sourceMappingURL=chevron-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronLeftSmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m13.1 16-3.4-4 3.4-4 1.1 1-2.6 3 2.6 3-1.1 1z\"\n })\n});\nexport default chevronLeftSmall;\n//# sourceMappingURL=chevron-left-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z\"\n })\n});\nexport default chevronLeft;\n//# sourceMappingURL=chevron-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronRightSmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.8622 8.04053L14.2805 12.0286L10.8622 16.0167L9.72327 15.0405L12.3049 12.0286L9.72327 9.01672L10.8622 8.04053Z\"\n })\n});\nexport default chevronRightSmall;\n//# sourceMappingURL=chevron-right-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z\"\n })\n});\nexport default chevronRight;\n//# sourceMappingURL=chevron-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronUpDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m12 20-4.5-3.6-.9 1.2L12 22l5.5-4.4-.9-1.2L12 20zm0-16 4.5 3.6.9-1.2L12 2 6.5 6.4l.9 1.2L12 4z\"\n })\n});\nexport default chevronUpDown;\n//# sourceMappingURL=chevron-up-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronUp = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z\"\n })\n});\nexport default chevronUp;\n//# sourceMappingURL=chevron-up.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst classic = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 6H4c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H4c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h16c.3 0 .5.2.5.5v9zM10 10H8v2h2v-2zm-5 2h2v-2H5v2zm8-2h-2v2h2v-2zm-5 6h8v-2H8v2zm6-4h2v-2h-2v2zm3 0h2v-2h-2v2zm0 4h2v-2h-2v2zM5 16h2v-2H5v2z\"\n })\n});\nexport default classic;\n//# sourceMappingURL=classic.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst closeSmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z\"\n })\n});\nexport default closeSmall;\n//# sourceMappingURL=close-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst close = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z\"\n })\n});\nexport default close;\n//# sourceMappingURL=close.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cloudDownload = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.3 10.1002C17.3 7.6002 15.2 5.7002 12.5 5.7002C10.3 5.7002 8.4 7.1002 7.9 9.0002H7.7C5.7 9.0002 4 10.7002 4 12.8002C4 14.9002 5.7 16.6002 7.7 16.6002V15.2002C6.5 15.2002 5.5 14.1002 5.5 12.9002C5.5 11.7002 6.5 10.5002 7.7 10.5002H9L9.3 9.4002C9.7 8.1002 11 7.2002 12.5 7.2002C14.3 7.2002 15.8 8.5002 15.8 10.1002V11.4002L17.1 11.6002C17.9 11.7002 18.5 12.5002 18.5 13.4002C18.5 14.4002 17.7 15.2002 16.8 15.2002H16.5V16.6002H16.7C18.5 16.6002 19.9 15.1002 19.9 13.3002C20 11.7002 18.8 10.4002 17.3 10.1002Z M9.8806 13.7576L8.81995 14.8182L12.0019 18.0002L15.1851 14.8171L14.1244 13.7564L12.7551 15.1257L12.7551 10.0002L11.2551 10.0002V15.1321L9.8806 13.7576Z\"\n })\n});\nexport default cloudDownload;\n//# sourceMappingURL=cloud-download.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cloudUpload = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.3 10.1C17.3 7.60001 15.2 5.70001 12.5 5.70001C10.3 5.70001 8.4 7.10001 7.9 9.00001H7.7C5.7 9.00001 4 10.7 4 12.8C4 14.9 5.7 16.6 7.7 16.6H9.5V15.2H7.7C6.5 15.2 5.5 14.1 5.5 12.9C5.5 11.7 6.5 10.5 7.7 10.5H9L9.3 9.40001C9.7 8.10001 11 7.20001 12.5 7.20001C14.3 7.20001 15.8 8.50001 15.8 10.1V11.4L17.1 11.6C17.9 11.7 18.5 12.5 18.5 13.4C18.5 14.4 17.7 15.2 16.8 15.2H14.5V16.6H16.7C18.5 16.6 19.9 15.1 19.9 13.3C20 11.7 18.8 10.4 17.3 10.1Z M14.1245 14.2426L15.1852 13.182L12.0032 10L8.82007 13.1831L9.88072 14.2438L11.25 12.8745V18H12.75V12.8681L14.1245 14.2426Z\"\n })\n});\nexport default cloudUpload;\n//# sourceMappingURL=cloud-upload.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cloud = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.3 10.1c0-2.5-2.1-4.4-4.8-4.4-2.2 0-4.1 1.4-4.6 3.3h-.2C5.7 9 4 10.7 4 12.8c0 2.1 1.7 3.8 3.7 3.8h9c1.8 0 3.2-1.5 3.2-3.3.1-1.6-1.1-2.9-2.6-3.2zm-.5 5.1h-9c-1.2 0-2.2-1.1-2.2-2.3s1-2.4 2.2-2.4h1.3l.3-1.1c.4-1.3 1.7-2.2 3.2-2.2 1.8 0 3.3 1.3 3.3 2.9v1.3l1.3.2c.8.1 1.4.9 1.4 1.8-.1 1-.9 1.8-1.8 1.8z\"\n })\n});\nexport default cloud;\n//# sourceMappingURL=cloud.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst code = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.8 10.7l-4.3-4.3-1.1 1.1 4.3 4.3c.1.1.1.3 0 .4l-4.3 4.3 1.1 1.1 4.3-4.3c.7-.8.7-1.9 0-2.6zM4.2 11.8l4.3-4.3-1-1-4.3 4.3c-.7.7-.7 1.8 0 2.5l4.3 4.3 1.1-1.1-4.3-4.3c-.2-.1-.2-.3-.1-.4z\"\n })\n});\nexport default code;\n//# sourceMappingURL=code.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cog = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M10.289 4.836A1 1 0 0111.275 4h1.306a1 1 0 01.987.836l.244 1.466c.787.26 1.503.679 2.108 1.218l1.393-.522a1 1 0 011.216.437l.653 1.13a1 1 0 01-.23 1.273l-1.148.944a6.025 6.025 0 010 2.435l1.149.946a1 1 0 01.23 1.272l-.653 1.13a1 1 0 01-1.216.437l-1.394-.522c-.605.54-1.32.958-2.108 1.218l-.244 1.466a1 1 0 01-.987.836h-1.306a1 1 0 01-.986-.836l-.244-1.466a5.995 5.995 0 01-2.108-1.218l-1.394.522a1 1 0 01-1.217-.436l-.653-1.131a1 1 0 01.23-1.272l1.149-.946a6.026 6.026 0 010-2.435l-1.148-.944a1 1 0 01-.23-1.272l.653-1.131a1 1 0 011.217-.437l1.393.522a5.994 5.994 0 012.108-1.218l.244-1.466zM14.929 12a3 3 0 11-6 0 3 3 0 016 0z\",\n clipRule: \"evenodd\"\n })\n});\nexport default cog;\n//# sourceMappingURL=cog.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst color = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.2 10.9c-.5-1-1.2-2.1-2.1-3.2-.6-.9-1.3-1.7-2.1-2.6L12 4l-1 1.1c-.6.9-1.3 1.7-2 2.6-.8 1.2-1.5 2.3-2 3.2-.6 1.2-1 2.2-1 3 0 3.4 2.7 6.1 6.1 6.1s6.1-2.7 6.1-6.1c0-.8-.3-1.8-1-3zm-5.1 7.6c-2.5 0-4.6-2.1-4.6-4.6 0-.3.1-1 .8-2.3.5-.9 1.1-1.9 2-3.1.7-.9 1.3-1.7 1.8-2.3.7.8 1.3 1.6 1.8 2.3.8 1.1 1.5 2.2 2 3.1.7 1.3.8 2 .8 2.3 0 2.5-2.1 4.6-4.6 4.6z\"\n })\n});\nexport default color;\n//# sourceMappingURL=color.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst column = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 6H6c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zM6 17.5c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h3v10H6zm13.5-.5c0 .3-.2.5-.5.5h-3v-10h3c.3 0 .5.2.5.5v9z\"\n })\n});\nexport default column;\n//# sourceMappingURL=column.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst columns = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 7.5h-5v10h5v-10Zm1.5 0v10H19a.5.5 0 0 0 .5-.5V8a.5.5 0 0 0-.5-.5h-2.5ZM6 7.5h2.5v10H6a.5.5 0 0 1-.5-.5V8a.5.5 0 0 1 .5-.5ZM6 6h13a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2Z\"\n })\n});\nexport default columns;\n//# sourceMappingURL=columns.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentAuthorAvatar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M7.25 16.437a6.5 6.5 0 1 1 9.5 0V16A2.75 2.75 0 0 0 14 13.25h-4A2.75 2.75 0 0 0 7.25 16v.437Zm1.5 1.193a6.47 6.47 0 0 0 3.25.87 6.47 6.47 0 0 0 3.25-.87V16c0-.69-.56-1.25-1.25-1.25h-4c-.69 0-1.25.56-1.25 1.25v1.63ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm10-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\",\n clipRule: \"evenodd\"\n })\n});\nexport default commentAuthorAvatar;\n//# sourceMappingURL=comment-author-avatar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, Circle } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst commentAuthorName = /*#__PURE__*/_jsxs(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12.9c0 .6.5 1.1 1.1 1.1.3 0 .5-.1.8-.3L8.5 17H18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H7.9l-2.4 2.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v9z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M15 15V15C15 13.8954 14.1046 13 13 13L11 13C9.89543 13 9 13.8954 9 15V15\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(Circle, {\n cx: \"12\",\n cy: \"9\",\n r: \"2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })]\n});\nexport default commentAuthorName;\n//# sourceMappingURL=comment-author-name.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentContent = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.68822 16.625L5.5 17.8145L5.5 5.5L18.5 5.5L18.5 16.625L6.68822 16.625ZM7.31 18.125L19 18.125C19.5523 18.125 20 17.6773 20 17.125L20 5C20 4.44772 19.5523 4 19 4H5C4.44772 4 4 4.44772 4 5V19.5247C4 19.8173 4.16123 20.086 4.41935 20.2237C4.72711 20.3878 5.10601 20.3313 5.35252 20.0845L7.31 18.125ZM16 9.99997H8V8.49997H16V9.99997ZM8 14H13V12.5H8V14Z\"\n })\n});\nexport default commentContent;\n//# sourceMappingURL=comment-content.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentEditLink = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m6.249 11.065.44-.44h3.186l-1.5 1.5H7.31l-1.957 1.96A.792.792 0 0 1 4 13.524V5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v1.5L12.5 8V5.5h-7v6.315l.749-.75ZM20 19.75H7v-1.5h13v1.5Zm0-12.653-8.967 9.064L8 17l.867-2.935L17.833 5 20 7.097Z\"\n })\n});\nexport default commentEditLink;\n//# sourceMappingURL=comment-edit-link.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentReplyLink = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.68822 10.625L6.24878 11.0649L5.5 11.8145L5.5 5.5L12.5 5.5V8L14 6.5V5C14 4.44772 13.5523 4 13 4H5C4.44772 4 4 4.44771 4 5V13.5247C4 13.8173 4.16123 14.086 4.41935 14.2237C4.72711 14.3878 5.10601 14.3313 5.35252 14.0845L7.31 12.125H8.375L9.875 10.625H7.31H6.68822ZM14.5605 10.4983L11.6701 13.75H16.9975C17.9963 13.75 18.7796 14.1104 19.3553 14.7048C19.9095 15.2771 20.2299 16.0224 20.4224 16.7443C20.7645 18.0276 20.7543 19.4618 20.7487 20.2544C20.7481 20.345 20.7475 20.4272 20.7475 20.4999L19.2475 20.5001C19.2475 20.4191 19.248 20.3319 19.2484 20.2394V20.2394C19.2526 19.4274 19.259 18.2035 18.973 17.1307C18.8156 16.5401 18.586 16.0666 18.2778 15.7483C17.9909 15.4521 17.5991 15.25 16.9975 15.25H11.8106L14.5303 17.9697L13.4696 19.0303L8.96956 14.5303L13.4394 9.50171L14.5605 10.4983Z\"\n })\n});\nexport default commentReplyLink;\n//# sourceMappingURL=comment-reply-link.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst comment = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12.9c0 .6.5 1.1 1.1 1.1.3 0 .5-.1.8-.3L8.5 17H18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H7.9l-2.4 2.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v9z\"\n })\n});\nexport default comment;\n//# sourceMappingURL=comment.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst connection = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fillRule: \"evenodd\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.53 4.47a.75.75 0 0 1 0 1.06L17.06 8l.77.769a3.155 3.155 0 0 1 .685 3.439 3.15 3.15 0 0 1-.685 1.022v.001L13.23 17.83v.001a3.15 3.15 0 0 1-4.462 0L8 17.06l-2.47 2.47a.75.75 0 0 1-1.06-1.06L6.94 16l-.77-.769a3.154 3.154 0 0 1-.685-3.439 3.15 3.15 0 0 1 .685-1.023l4.599-4.598a3.152 3.152 0 0 1 4.462 0l.769.768 2.47-2.47a.75.75 0 0 1 1.06 0Zm-2.76 7.7L15 13.94 10.06 9l1.771-1.77a1.65 1.65 0 0 1 2.338 0L16.77 9.83a1.649 1.649 0 0 1 0 2.338h-.001ZM13.94 15 9 10.06l-1.77 1.771a1.65 1.65 0 0 0 0 2.338l2.601 2.602a1.649 1.649 0 0 0 2.338 0v-.001L13.94 15Z\"\n })\n});\nexport default connection;\n//# sourceMappingURL=connection.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst copySmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.625 5.5h9.75c.069 0 .125.056.125.125v9.75a.125.125 0 0 1-.125.125h-9.75a.125.125 0 0 1-.125-.125v-9.75c0-.069.056-.125.125-.125ZM4 5.625C4 4.728 4.728 4 5.625 4h9.75C16.273 4 17 4.728 17 5.625v9.75c0 .898-.727 1.625-1.625 1.625h-9.75A1.625 1.625 0 0 1 4 15.375v-9.75Zm14.5 11.656v-9H20v9C20 18.8 18.77 20 17.251 20H6.25v-1.5h11.001c.69 0 1.249-.528 1.249-1.219Z\"\n })\n});\nexport default copySmall;\n//# sourceMappingURL=copy-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst copy = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5 4.5h11a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V5a.5.5 0 0 1 .5-.5ZM3 5a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5Zm17 3v10.75c0 .69-.56 1.25-1.25 1.25H6v1.5h12.75a2.75 2.75 0 0 0 2.75-2.75V8H20Z\"\n })\n});\nexport default copy;\n//# sourceMappingURL=copy.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cornerAll = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5Zm-12.5 9v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n});\nexport default cornerAll;\n//# sourceMappingURL=corner-all.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerBottomLeft = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.75 15v3c0 .138.112.25.25.25h3v1.5H6A1.75 1.75 0 0 1 4.25 18v-3h1.5Z\"\n })]\n});\nexport default cornerBottomLeft;\n//# sourceMappingURL=corner-bottom-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerBottomRight = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 18.25h3a.25.25 0 0 0 .25-.25v-3h1.5v3A1.75 1.75 0 0 1 18 19.75h-3v-1.5Z\"\n })]\n});\nexport default cornerBottomRight;\n//# sourceMappingURL=corner-bottom-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerTopLeft = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6 5.75a.25.25 0 0 0-.25.25v3h-1.5V6c0-.966.784-1.75 1.75-1.75h3v1.5H6Z\"\n })]\n});\nexport default cornerTopLeft;\n//# sourceMappingURL=corner-top-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerTopRight = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5Z\"\n })]\n});\nexport default cornerTopRight;\n//# sourceMappingURL=corner-top-right.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cover = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h6.2v8.9l2.5-3.1 2.5 3.1V4.5h2.2c.4 0 .8.4.8.8v13.4z\"\n })\n});\nexport default cover;\n//# sourceMappingURL=cover.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst create = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 11.2h-3.2V8h-1.6v3.2H8v1.6h3.2V16h1.6v-3.2H16z\"\n })\n});\nexport default create;\n//# sourceMappingURL=create.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst crop = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 20v-2h2v-1.5H7.75a.25.25 0 0 1-.25-.25V4H6v2H4v1.5h2v8.75c0 .966.784 1.75 1.75 1.75h8.75v2H18ZM9.273 7.5h6.977a.25.25 0 0 1 .25.25v6.977H18V7.75A1.75 1.75 0 0 0 16.25 6H9.273v1.5Z\"\n })\n});\nexport default crop;\n//# sourceMappingURL=crop.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst currencyDollar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.7 9.6c.3-.2.8-.4 1.3-.4s1 .2 1.3.4c.3.2.4.5.4.6 0 .4.3.8.8.8s.8-.3.8-.8c0-.8-.5-1.4-1.1-1.9-.4-.3-.9-.5-1.4-.6v-.3c0-.4-.3-.8-.8-.8s-.8.3-.8.8v.3c-.5 0-1 .3-1.4.6-.6.4-1.1 1.1-1.1 1.9s.5 1.4 1.1 1.9c.6.4 1.4.6 2.2.6h.2c.5 0 .9.2 1.1.4.3.2.4.5.4.6s0 .4-.4.6c-.3.2-.8.4-1.3.4s-1-.2-1.3-.4c-.3-.2-.4-.5-.4-.6 0-.4-.3-.8-.8-.8s-.8.3-.8.8c0 .8.5 1.4 1.1 1.9.4.3.9.5 1.4.6v.3c0 .4.3.8.8.8s.8-.3.8-.8v-.3c.5 0 1-.3 1.4-.6.6-.4 1.1-1.1 1.1-1.9s-.5-1.4-1.1-1.9c-.5-.4-1.2-.6-1.9-.6H12c-.6 0-1-.2-1.3-.4-.3-.2-.4-.5-.4-.6s0-.4.4-.6ZM12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5Z\"\n })\n});\nexport default currencyDollar;\n//# sourceMappingURL=currency-dollar.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst currencyEuro = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.9 9.3c.4 0 .8 0 1.1.2.4.1.7.3 1 .6.1.1.3.2.5.2s.4 0 .5-.2c.1-.1.2-.3.2-.5s0-.4-.2-.5c-.5-.5-1.1-.8-1.7-1.1-.7-.2-1.4-.2-2-.1-.7.1-1.3.4-1.9.8-.5.4-1 1-1.3 1.6h-.6c-.2 0-.4 0-.5.2-.1.1-.2.3-.2.5s0 .4.2.5c.1.1.3.2.5.2h.3v.5h-.3c-.2 0-.4 0-.5.2-.1.1-.2.3-.2.5s0 .4.2.5c.1.1.3.2.5.2h.6c.3.6.7 1.2 1.3 1.6.5.4 1.2.7 1.9.8.7.1 1.4 0 2-.1.7-.2 1.3-.6 1.7-1.1.1-.1.2-.3.2-.5s0-.4-.2-.5-.3-.2-.5-.2-.4 0-.5.2c-.3.3-.6.5-1 .6-.4.1-.7.2-1.1.2-.4 0-.8-.1-1.1-.3-.3-.2-.6-.4-.9-.7h.6c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2H9.3v-.5h2.2c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2H9.9c.2-.3.5-.5.9-.7s.7-.3 1.1-.3ZM12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5Z\"\n })\n});\nexport default currencyEuro;\n//# sourceMappingURL=currency-euro.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst currencyPound = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M14.4 14.5H11c.3-.4.5-1 .5-1.6v-.1h1c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2h-1.3c0-.1-.1-.3-.2-.4 0-.1-.1-.2-.1-.4v-.3c0-.8.6-1.4 1.4-1.4s.6 0 .8.2c.2.2.4.4.5.6 0 .2.2.3.4.4h.6c.2 0 .3-.2.4-.4v-.6c-.3-.6-.7-1.2-1.3-1.5-.6-.3-1.3-.4-2-.3s-1.3.5-1.7 1c-.4.5-.7 1.2-.7 1.9 0 .3 0 .5.2.8 0 0 0 .2.1.3-.2 0-.4 0-.5.2-.1.1-.2.3-.2.5s0 .4.2.5c.1.1.3.2.5.2h.5v.1c0 .4-.2.8-.5 1.2l-.6.6c-.1 0-.2.2-.3.4v.5c0 .1.1.3.3.4.1 0 .3.1.4.1h5.1c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2ZM12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5Z\"\n })\n});\nexport default currencyPound;\n//# sourceMappingURL=currency-pound.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst customLink = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5 14.5h-1V16h1c2.2 0 4-1.8 4-4s-1.8-4-4-4h-1v1.5h1c1.4 0 2.5 1.1 2.5 2.5s-1.1 2.5-2.5 2.5zm-4 1.5v-1.5h-1C6.1 14.5 5 13.4 5 12s1.1-2.5 2.5-2.5h1V8h-1c-2.2 0-4 1.8-4 4s1.8 4 4 4h1zm-1-3.2h5v-1.5h-5v1.5zM18 4H9c-1.1 0-2 .9-2 2v.5h1.5V6c0-.3.2-.5.5-.5h9c.3 0 .5.2.5.5v12c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5v-.5H7v.5c0 1.1.9 2 2 2h9c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2z\"\n })\n});\nexport default customLink;\n//# sourceMappingURL=custom-link.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst customPostType = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4zm.8-4l.7.7 2-2V12h1V9.2l2 2 .7-.7-2-2H12v-1H9.2l2-2-.7-.7-2 2V4h-1v2.8l-2-2-.7.7 2 2H4v1h2.8l-2 2z\"\n })\n});\nexport default customPostType;\n//# sourceMappingURL=custom-post-type.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst dashboard = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 5a8 8 0 0 1 3.842.984L14.726 7.1a6.502 6.502 0 0 0-7.323 1.303 6.5 6.5 0 0 0 0 9.194l-1.06 1.06A8 8 0 0 1 12 5Zm7.021 4.168a8 8 0 0 1-1.364 9.49l-1.06-1.061a6.5 6.5 0 0 0 1.307-7.312l1.117-1.117ZM17.47 6.47a.75.75 0 1 1 1.06 1.06l-5.083 5.082a1.5 1.5 0 1 1-1.06-1.06L17.47 6.47Z\"\n })\n});\nexport default dashboard;\n//# sourceMappingURL=dashboard.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst desktop = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.5 16h-.7V8c0-1.1-.9-2-2-2H6.2c-1.1 0-2 .9-2 2v8h-.7c-.8 0-1.5.7-1.5 1.5h20c0-.8-.7-1.5-1.5-1.5zM5.7 8c0-.3.2-.5.5-.5h11.6c.3 0 .5.2.5.5v7.6H5.7V8z\"\n })\n});\nexport default desktop;\n//# sourceMappingURL=desktop.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst details = /*#__PURE__*/_jsxs(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M4 16h10v1.5H4V16Zm0-4.5h16V13H4v-1.5ZM10 7h10v1.5H10V7Z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4 5.25 4 2.5-4 2.5v-5Z\"\n })]\n});\nexport default details;\n//# sourceMappingURL=details.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst download = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 11.3l-1-1.1-4 4V3h-1.5v11.3L7 10.2l-1 1.1 6.2 5.8 5.8-5.8zm.5 3.7v3.5h-13V15H4v5h16v-5h-1.5z\"\n })\n});\nexport default download;\n//# sourceMappingURL=download.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst drafts = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8 4a4 4 0 0 0 4-4H8a4 4 0 0 0 4 4Z\"\n })\n});\nexport default drafts;\n//# sourceMappingURL=drafts.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst dragHandle = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8 7h2V5H8v2zm0 6h2v-2H8v2zm0 6h2v-2H8v2zm6-14v2h2V5h-2zm0 8h2v-2h-2v2zm0 6h2v-2h-2v2z\"\n })\n});\nexport default dragHandle;\n//# sourceMappingURL=drag-handle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst drawerLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM8.5 18.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h2.5v13zm10-.5c0 .3-.2.5-.5.5h-8v-13h8c.3 0 .5.2.5.5v12z\"\n })\n});\nexport default drawerLeft;\n//# sourceMappingURL=drawer-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst drawerRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4 14.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h8v13zm4.5-.5c0 .3-.2.5-.5.5h-2.5v-13H18c.3 0 .5.2.5.5v12z\"\n })\n});\nexport default drawerRight;\n//# sourceMappingURL=drawer-right.js.map","/**\n * Internal dependencies\n */\n\nimport { default as pencil } from './pencil';\nexport default pencil;\n//# sourceMappingURL=edit.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst envelope = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 7c0-1.1.9-2 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Zm2-.5h14c.3 0 .5.2.5.5v1L12 13.5 4.5 7.9V7c0-.3.2-.5.5-.5Zm-.5 3.3V17c0 .3.2.5.5.5h14c.3 0 .5-.2.5-.5V9.8L12 15.4 4.5 9.8Z\"\n })\n});\nexport default envelope;\n//# sourceMappingURL=envelope.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst error = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.218 5.377a.25.25 0 0 0-.436 0l-7.29 12.96a.25.25 0 0 0 .218.373h14.58a.25.25 0 0 0 .218-.372l-7.29-12.96Zm-1.743-.735c.669-1.19 2.381-1.19 3.05 0l7.29 12.96a1.75 1.75 0 0 1-1.525 2.608H4.71a1.75 1.75 0 0 1-1.525-2.608l7.29-12.96ZM12.75 17.46h-1.5v-1.5h1.5v1.5Zm-1.5-3h1.5v-5h-1.5v5Z\"\n })\n});\nexport default error;\n//# sourceMappingURL=error.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst external = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.5 4.5h-7V6h4.44l-5.97 5.97 1.06 1.06L18 7.06v4.44h1.5v-7Zm-13 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3H17v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3V5.5h-3Z\"\n })\n});\nexport default external;\n//# sourceMappingURL=external.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst file = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.848 8a1 1 0 0 1-.914-.594l-.723-1.63a.5.5 0 0 0-.447-.276H5a.5.5 0 0 0-.5.5v11.5a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5v-9A.5.5 0 0 0 19 8h-6.152Zm.612-1.5a.5.5 0 0 1-.462-.31l-.445-1.084A2 2 0 0 0 10.763 4H5a2 2 0 0 0-2 2v11.5a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-5.54Z\"\n })\n});\nexport default file;\n//# sourceMappingURL=file.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst filter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4 4 19h16L12 4zm0 3.2 5.5 10.3H12V7.2z\"\n })\n});\nexport default filter;\n//# sourceMappingURL=filter.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst flipHorizontal = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 6v12c0 1.1.9 2 2 2h3v-1.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h3V4H6c-1.1 0-2 .9-2 2zm7.2 16h1.5V2h-1.5v20zM15 5.5h1.5V4H15v1.5zm3.5.5H20c0-1.1-.9-2-2-2v1.5c.3 0 .5.2.5.5zm0 10.5H20v-2h-1.5v2zm0-3.5H20v-2h-1.5v2zm-.5 5.5V20c1.1 0 2-.9 2-2h-1.5c0 .3-.2.5-.5.5zM15 20h1.5v-1.5H15V20zm3.5-10.5H20v-2h-1.5v2z\"\n })\n});\nexport default flipHorizontal;\n//# sourceMappingURL=flip-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst flipVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M2 11.2v1.5h20v-1.5H2zM5.5 6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v3H20V6c0-1.1-.9-2-2-2H6c-1.1 0-2 .9-2 2v3h1.5V6zm2 14h2v-1.5h-2V20zm3.5 0h2v-1.5h-2V20zm7-1.5V20c1.1 0 2-.9 2-2h-1.5c0 .3-.2.5-.5.5zm.5-2H20V15h-1.5v1.5zM5.5 18H4c0 1.1.9 2 2 2v-1.5c-.3 0-.5-.2-.5-.5zm0-3H4v1.5h1.5V15zm9 5h2v-1.5h-2V20z\"\n })\n});\nexport default flipVertical;\n//# sourceMappingURL=flip-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst footer = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M18 5.5h-8v8h8.5V6a.5.5 0 00-.5-.5zm-9.5 8h-3V6a.5.5 0 01.5-.5h2.5v8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default footer;\n//# sourceMappingURL=footer.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatBold = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.7 11.3c1-.6 1.5-1.6 1.5-3 0-2.3-1.3-3.4-4-3.4H7v14h5.8c1.4 0 2.5-.3 3.3-1 .8-.7 1.2-1.7 1.2-2.9.1-1.9-.8-3.1-2.6-3.7zm-5.1-4h2.3c.6 0 1.1.1 1.4.4.3.3.5.7.5 1.2s-.2 1-.5 1.2c-.3.3-.8.4-1.4.4H9.6V7.3zm4.6 9c-.4.3-1 .4-1.7.4H9.6v-3.9h2.9c.7 0 1.3.2 1.7.5.4.3.6.8.6 1.5s-.2 1.2-.6 1.5z\"\n })\n});\nexport default formatBold;\n//# sourceMappingURL=format-bold.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatCapitalize = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7.1 6.8L3.1 18h1.6l1.1-3h4.3l1.1 3h1.6l-4-11.2H7.1zm-.8 6.8L8 8.9l1.7 4.7H6.3zm14.5-1.5c-.3-.6-.7-1.1-1.2-1.5-.6-.4-1.2-.6-1.9-.6-.5 0-.9.1-1.4.3-.4.2-.8.5-1.1.8V6h-1.4v12h1.3l.2-1c.2.4.6.6 1 .8.4.2.9.3 1.4.3.7 0 1.2-.2 1.8-.5.5-.4 1-.9 1.3-1.5.3-.6.5-1.3.5-2.1-.1-.6-.2-1.3-.5-1.9zm-1.7 4c-.4.5-.9.8-1.6.8s-1.2-.2-1.7-.7c-.4-.5-.7-1.2-.7-2.1 0-.9.2-1.6.7-2.1.4-.5 1-.7 1.7-.7s1.2.3 1.6.8c.4.5.6 1.2.6 2 .1.8-.2 1.4-.6 2z\"\n })\n});\nexport default formatCapitalize;\n//# sourceMappingURL=format-capitalize.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatIndentRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM20.0303 9.03033L17.0607 12L20.0303 14.9697L18.9697 16.0303L15.4697 12.5303L14.9393 12L15.4697 11.4697L18.9697 7.96967L20.0303 9.03033Z\"\n })\n});\nexport default formatIndentRTL;\n//# sourceMappingURL=format-indent-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatIndent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-8-3.5l3 3-3 3 1 1 4-4-4-4-1 1z\"\n })\n});\nexport default formatIndent;\n//# sourceMappingURL=format-indent.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatItalic = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5 5L10 19h1.9l2.5-14z\"\n })\n});\nexport default formatItalic;\n//# sourceMappingURL=format-italic.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListBulletsRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 8.8h8.9V7.2H4v1.6zm0 7h8.9v-1.5H4v1.5zM18 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\n })\n});\nexport default formatListBulletsRTL;\n//# sourceMappingURL=format-list-bullets-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListBullets = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM6 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-7c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"\n })\n});\nexport default formatListBullets;\n//# sourceMappingURL=format-list-bullets.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListNumberedRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3.8 15.8h8.9v-1.5H3.8v1.5zm0-7h8.9V7.2H3.8v1.6zm14.7-2.1V10h1V5.3l-2.2.7.3 1 .9-.3zm1.2 6.1c-.5-.6-1.2-.5-1.7-.4-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5H20v-1h-.9c.3-.6.8-1.4.9-2.1 0-.3 0-.8-.3-1.1z\"\n })\n});\nexport default formatListNumberedRTL;\n//# sourceMappingURL=format-list-numbered-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListNumbered = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM5 6.7V10h1V5.3L3.8 6l.4 1 .8-.3zm-.4 5.7c-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5h2.7v-1h-1c.3-.6.8-1.4.9-2.1.1-.3 0-.8-.2-1.1-.5-.6-1.3-.5-1.7-.4z\"\n })\n});\nexport default formatListNumbered;\n//# sourceMappingURL=format-list-numbered.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatLowercase = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 16.8c-.1-.1-.2-.3-.3-.5v-2.6c0-.9-.1-1.7-.3-2.2-.2-.5-.5-.9-.9-1.2-.4-.2-.9-.3-1.6-.3-.5 0-1 .1-1.5.2s-.9.3-1.2.6l.2 1.2c.4-.3.7-.4 1.1-.5.3-.1.7-.2 1-.2.6 0 1 .1 1.3.4.3.2.4.7.4 1.4-1.2 0-2.3.2-3.3.7s-1.4 1.1-1.4 2.1c0 .7.2 1.2.7 1.6.4.4 1 .6 1.8.6.9 0 1.7-.4 2.4-1.2.1.3.2.5.4.7.1.2.3.3.6.4.3.1.6.1 1.1.1h.1l.2-1.2h-.1c-.4.1-.6 0-.7-.1zM9.2 16c-.2.3-.5.6-.9.8-.3.1-.7.2-1.1.2-.4 0-.7-.1-.9-.3-.2-.2-.3-.5-.3-.9 0-.6.2-1 .7-1.3.5-.3 1.3-.4 2.5-.5v2zm10.6-3.9c-.3-.6-.7-1.1-1.2-1.5-.6-.4-1.2-.6-1.9-.6-.5 0-.9.1-1.4.3-.4.2-.8.5-1.1.8V6h-1.4v12h1.3l.2-1c.2.4.6.6 1 .8.4.2.9.3 1.4.3.7 0 1.2-.2 1.8-.5.5-.4 1-.9 1.3-1.5.3-.6.5-1.3.5-2.1-.1-.6-.2-1.3-.5-1.9zm-1.7 4c-.4.5-.9.8-1.6.8s-1.2-.2-1.7-.7c-.4-.5-.7-1.2-.7-2.1 0-.9.2-1.6.7-2.1.4-.5 1-.7 1.7-.7s1.2.3 1.6.8c.4.5.6 1.2.6 2s-.2 1.4-.6 2z\"\n })\n});\nexport default formatLowercase;\n//# sourceMappingURL=format-lowercase.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatLtr = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 9c0 2.8 2.2 5 5 5v-.2V20h1.5V5.5H12V20h1.5V5.5h3V4H8C5.2 4 3 6.2 3 9Zm15.9-1-1.1 1 2.6 3-2.6 3 1.1 1 3.4-4-3.4-4Z\"\n })\n});\nexport default formatLtr;\n//# sourceMappingURL=format-ltr.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatOutdentRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM15.4697 14.9697L18.4393 12L15.4697 9.03033L16.5303 7.96967L20.0303 11.4697L20.5607 12L20.0303 12.5303L16.5303 16.0303L15.4697 14.9697Z\"\n })\n});\nexport default formatOutdentRTL;\n//# sourceMappingURL=format-outdent-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatOutdent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-4-4.6l-4 4 4 4 1-1-3-3 3-3-1-1z\"\n })\n});\nexport default formatOutdent;\n//# sourceMappingURL=format-outdent.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatRtl = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 9c0 2.8 2.2 5 5 5v-.2V20h1.5V5.5H12V20h1.5V5.5h3V4H8C5.2 4 3 6.2 3 9Zm19.3 0-1.1-1-3.4 4 3.4 4 1.1-1-2.6-3 2.6-3Z\"\n })\n});\nexport default formatRtl;\n//# sourceMappingURL=format-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatStrikethrough = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9.1 9v-.5c0-.6.2-1.1.7-1.4.5-.3 1.2-.5 2-.5.7 0 1.4.1 2.1.3.7.2 1.4.5 2.1.9l.2-1.9c-.6-.3-1.2-.5-1.9-.7-.8-.1-1.6-.2-2.4-.2-1.5 0-2.7.3-3.6 1-.8.7-1.2 1.5-1.2 2.6V9h2zM20 12H4v1h8.3c.3.1.6.2.8.3.5.2.9.5 1.1.8.3.3.4.7.4 1.2 0 .7-.2 1.1-.8 1.5-.5.3-1.2.5-2.1.5-.8 0-1.6-.1-2.4-.3-.8-.2-1.5-.5-2.2-.8L7 18.1c.5.2 1.2.4 2 .6.8.2 1.6.3 2.4.3 1.7 0 3-.3 3.9-1 .9-.7 1.3-1.6 1.3-2.8 0-.9-.2-1.7-.7-2.2H20v-1z\"\n })\n});\nexport default formatStrikethrough;\n//# sourceMappingURL=format-strikethrough.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatUnderline = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 18v1h10v-1H7zm5-2c1.5 0 2.6-.4 3.4-1.2.8-.8 1.1-2 1.1-3.5V5H15v5.8c0 1.2-.2 2.1-.6 2.8-.4.7-1.2 1-2.4 1s-2-.3-2.4-1c-.4-.7-.6-1.6-.6-2.8V5H7.5v6.2c0 1.5.4 2.7 1.1 3.5.8.9 1.9 1.3 3.4 1.3z\"\n })\n});\nexport default formatUnderline;\n//# sourceMappingURL=format-underline.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatUppercase = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.1 6.8L2.1 18h1.6l1.1-3h4.3l1.1 3h1.6l-4-11.2H6.1zm-.8 6.8L7 8.9l1.7 4.7H5.3zm15.1-.7c-.4-.5-.9-.8-1.6-1 .4-.2.7-.5.8-.9.2-.4.3-.9.3-1.4 0-.9-.3-1.6-.8-2-.6-.5-1.3-.7-2.4-.7h-3.5V18h4.2c1.1 0 2-.3 2.6-.8.6-.6 1-1.4 1-2.4-.1-.8-.3-1.4-.6-1.9zm-5.7-4.7h1.8c.6 0 1.1.1 1.4.4.3.2.5.7.5 1.3 0 .6-.2 1.1-.5 1.3-.3.2-.8.4-1.4.4h-1.8V8.2zm4 8c-.4.3-.9.5-1.5.5h-2.6v-3.8h2.6c1.4 0 2 .6 2 1.9.1.6-.1 1-.5 1.4z\"\n })\n});\nexport default formatUppercase;\n//# sourceMappingURL=format-uppercase.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst fullscreen = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 4a2 2 0 0 0-2 2v3h1.5V6a.5.5 0 0 1 .5-.5h3V4H6Zm3 14.5H6a.5.5 0 0 1-.5-.5v-3H4v3a2 2 0 0 0 2 2h3v-1.5Zm6 1.5v-1.5h3a.5.5 0 0 0 .5-.5v-3H20v3a2 2 0 0 1-2 2h-3Zm3-16a2 2 0 0 1 2 2v3h-1.5V6a.5.5 0 0 0-.5-.5h-3V4h3Z\"\n })\n});\nexport default fullscreen;\n//# sourceMappingURL=fullscreen.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst funnel = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z\"\n })\n});\nexport default funnel;\n//# sourceMappingURL=funnel.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const gallery = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.375 4.5H4.625a.125.125 0 0 0-.125.125v8.254l2.859-1.54a.75.75 0 0 1 .68-.016l2.384 1.142 2.89-2.074a.75.75 0 0 1 .874 0l2.313 1.66V4.625a.125.125 0 0 0-.125-.125Zm.125 9.398-2.75-1.975-2.813 2.02a.75.75 0 0 1-.76.067l-2.444-1.17L4.5 14.583v1.792c0 .069.056.125.125.125h11.75a.125.125 0 0 0 .125-.125v-2.477ZM4.625 3C3.728 3 3 3.728 3 4.625v11.75C3 17.273 3.728 18 4.625 18h11.75c.898 0 1.625-.727 1.625-1.625V4.625C18 3.728 17.273 3 16.375 3H4.625ZM20 8v11c0 .69-.31 1-.999 1H6v1.5h13.001c1.52 0 2.499-.982 2.499-2.5V8H20Z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default gallery;\n//# sourceMappingURL=gallery.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst globe = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm6.5 8c0 .6 0 1.2-.2 1.8h-2.7c0-.6.2-1.1.2-1.8s0-1.2-.2-1.8h2.7c.2.6.2 1.1.2 1.8Zm-.9-3.2h-2.4c-.3-.9-.7-1.8-1.1-2.4-.1-.2-.2-.4-.3-.5 1.6.5 3 1.6 3.8 3ZM12.8 17c-.3.5-.6 1-.8 1.3-.2-.3-.5-.8-.8-1.3-.3-.5-.6-1.1-.8-1.7h3.3c-.2.6-.5 1.2-.8 1.7Zm-2.9-3.2c-.1-.6-.2-1.1-.2-1.8s0-1.2.2-1.8H14c.1.6.2 1.1.2 1.8s0 1.2-.2 1.8H9.9ZM11.2 7c.3-.5.6-1 .8-1.3.2.3.5.8.8 1.3.3.5.6 1.1.8 1.7h-3.3c.2-.6.5-1.2.8-1.7Zm-1-1.2c-.1.2-.2.3-.3.5-.4.7-.8 1.5-1.1 2.4H6.4c.8-1.4 2.2-2.5 3.8-3Zm-1.8 8H5.7c-.2-.6-.2-1.1-.2-1.8s0-1.2.2-1.8h2.7c0 .6-.2 1.1-.2 1.8s0 1.2.2 1.8Zm-2 1.4h2.4c.3.9.7 1.8 1.1 2.4.1.2.2.4.3.5-1.6-.5-3-1.6-3.8-3Zm7.4 3c.1-.2.2-.3.3-.5.4-.7.8-1.5 1.1-2.4h2.4c-.8 1.4-2.2 2.5-3.8 3Z\"\n })\n});\nexport default globe;\n//# sourceMappingURL=globe.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst grid = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m3 5c0-1.10457.89543-2 2-2h13.5c1.1046 0 2 .89543 2 2v13.5c0 1.1046-.8954 2-2 2h-13.5c-1.10457 0-2-.8954-2-2zm2-.5h6v6.5h-6.5v-6c0-.27614.22386-.5.5-.5zm-.5 8v6c0 .2761.22386.5.5.5h6v-6.5zm8 0v6.5h6c.2761 0 .5-.2239.5-.5v-6zm0-8v6.5h6.5v-6c0-.27614-.2239-.5-.5-.5z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default grid;\n//# sourceMappingURL=grid.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst group = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4h-7c-1.1 0-2 .9-2 2v3H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-3h3c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h3V13c0 1.1.9 2 2 2h2.5v3zm0-4.5H11c-.3 0-.5-.2-.5-.5v-2.5H13c.3 0 .5.2.5.5v2.5zm5-.5c0 .3-.2.5-.5.5h-3V11c0-1.1-.9-2-2-2h-2.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7z\"\n })\n});\nexport default group;\n//# sourceMappingURL=group.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst handle = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 16.5h10V15H7v1.5zm0-9V9h10V7.5H7z\"\n })\n});\nexport default handle;\n//# sourceMappingURL=handle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst header = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 10.5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default header;\n//# sourceMappingURL=header.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel1 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.6 7c-.6.9-1.5 1.7-2.6 2v1h2v7h2V7h-1.4zM11 11H7V7H5v10h2v-4h4v4h2V7h-2v4z\"\n })\n});\nexport default headingLevel1;\n//# sourceMappingURL=heading-level-1.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel2 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11.1H5v-4H3v10h2v-4h4v4h2v-10H9v4zm8 4c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6v1.5h8v-2H17z\"\n })\n});\nexport default headingLevel2;\n//# sourceMappingURL=heading-level-2.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel3 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11H5V7H3v10h2v-4h4v4h2V7H9v4zm11.3 1.7c-.4-.4-1-.7-1.6-.8v-.1c.6-.2 1.1-.5 1.5-.9.3-.4.5-.8.5-1.3 0-.4-.1-.8-.3-1.1-.2-.3-.5-.6-.8-.8-.4-.2-.8-.4-1.2-.5-.6-.1-1.1-.2-1.6-.2-.6 0-1.3.1-1.8.3s-1.1.5-1.6.9l1.2 1.4c.4-.2.7-.4 1.1-.6.3-.2.7-.3 1.1-.3.4 0 .8.1 1.1.3.3.2.4.5.4.8 0 .4-.2.7-.6.9-.7.3-1.5.5-2.2.4v1.6c.5 0 1 0 1.5.1.3.1.7.2 1 .3.2.1.4.2.5.4s.1.4.1.6c0 .3-.2.7-.5.8-.4.2-.9.3-1.4.3s-1-.1-1.4-.3c-.4-.2-.8-.4-1.2-.7L13 15.6c.5.4 1 .8 1.6 1 .7.3 1.5.4 2.3.4.6 0 1.1-.1 1.6-.2.4-.1.9-.2 1.3-.5.4-.2.7-.5.9-.9.2-.4.3-.8.3-1.2 0-.6-.3-1.1-.7-1.5z\"\n })\n});\nexport default headingLevel3;\n//# sourceMappingURL=heading-level-3.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel4 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 13V7h-3l-4 6v2h5v2h2v-2h1v-2h-1zm-2 0h-2.8L18 9v4zm-9-2H5V7H3v10h2v-4h4v4h2V7H9v4z\"\n })\n});\nexport default headingLevel4;\n//# sourceMappingURL=heading-level-4.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel5 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11H5V7H3v10h2v-4h4v4h2V7H9v4zm11.7 1.2c-.2-.3-.5-.7-.8-.9-.3-.3-.7-.5-1.1-.6-.5-.1-.9-.2-1.4-.2-.2 0-.5.1-.7.1-.2.1-.5.1-.7.2l.1-1.9h4.3V7H14l-.3 5 1 .6.5-.2.4-.1c.1-.1.3-.1.4-.1h.5c.5 0 1 .1 1.4.4.4.2.6.7.6 1.1 0 .4-.2.8-.6 1.1-.4.3-.9.4-1.4.4-.4 0-.9-.1-1.3-.3-.4-.2-.7-.4-1.1-.7 0 0-1.1 1.4-1 1.5.5.4 1 .8 1.6 1 .7.3 1.5.4 2.3.4.5 0 1-.1 1.5-.3s.9-.4 1.3-.7c.4-.3.7-.7.9-1.1s.3-.9.3-1.4-.1-1-.3-1.4z\"\n })\n});\nexport default headingLevel5;\n//# sourceMappingURL=heading-level-5.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel6 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.7 12.4c-.2-.3-.4-.6-.7-.9s-.6-.5-1-.6c-.4-.2-.8-.2-1.2-.2-.5 0-.9.1-1.3.3s-.8.5-1.2.8c0-.5 0-.9.2-1.4l.6-.9c.2-.2.5-.4.8-.5.6-.2 1.3-.2 1.9 0 .3.1.6.3.8.5 0 0 1.3-1.3 1.3-1.4-.4-.3-.9-.6-1.4-.8-.6-.2-1.3-.3-2-.3-.6 0-1.1.1-1.7.4-.5.2-1 .5-1.4.9-.4.4-.8 1-1 1.6-.3.7-.4 1.5-.4 2.3s.1 1.5.3 2.1c.2.6.6 1.1 1 1.5.4.4.9.7 1.4.9 1 .3 2 .3 3 0 .4-.1.8-.3 1.2-.6.3-.3.6-.6.8-1 .2-.5.3-.9.3-1.4s-.1-.9-.3-1.3zm-2 2.1c-.1.2-.3.4-.4.5-.1.1-.3.2-.5.2-.2.1-.4.1-.6.1-.2.1-.5 0-.7-.1-.2 0-.3-.2-.5-.3-.1-.2-.3-.4-.4-.6-.2-.3-.3-.7-.3-1 .3-.3.6-.5 1-.7.3-.1.7-.2 1-.2.4 0 .8.1 1.1.3.3.3.4.7.4 1.1 0 .2 0 .5-.1.7zM9 11H5V7H3v10h2v-4h4v4h2V7H9v4z\"\n })\n});\nexport default headingLevel6;\n//# sourceMappingURL=heading-level-6.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst heading = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 5V18.5911L12 13.8473L18 18.5911V5H6Z\"\n })\n});\nexport default heading;\n//# sourceMappingURL=heading.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst helpFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm.8 12.5h-1.5V15h1.5v1.5Zm2.1-5.6c-.1.5-.4 1.1-.8 1.5-.4.4-.9.7-1.4.8v.8h-1.5v-1.2c0-.6.5-1 .9-1s.7-.2 1-.5c.2-.3.4-.7.4-1 0-.4-.2-.7-.5-1-.3-.3-.6-.4-1-.4s-.8.2-1.1.4c-.3.3-.4.7-.4 1.1H9c0-.6.2-1.1.5-1.6s.7-.9 1.2-1.1c.5-.2 1.1-.3 1.6-.3s1.1.3 1.5.6c.4.3.8.8 1 1.3.2.5.2 1.1.1 1.6Z\"\n })\n});\nexport default helpFilled;\n//# sourceMappingURL=help-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst help = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4a8 8 0 1 1 .001 16.001A8 8 0 0 1 12 4Zm0 1.5a6.5 6.5 0 1 0-.001 13.001A6.5 6.5 0 0 0 12 5.5Zm.75 11h-1.5V15h1.5v1.5Zm-.445-9.234a3 3 0 0 1 .445 5.89V14h-1.5v-1.25c0-.57.452-.958.917-1.01A1.5 1.5 0 0 0 12 8.75a1.5 1.5 0 0 0-1.5 1.5H9a3 3 0 0 1 3.305-2.984Z\"\n })\n});\nexport default help;\n//# sourceMappingURL=help.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst homeButton = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.25 7A2.75 2.75 0 0 1 7 4.25h10A2.75 2.75 0 0 1 19.75 7v10A2.75 2.75 0 0 1 17 19.75H7A2.75 2.75 0 0 1 4.25 17V7ZM7 5.75c-.69 0-1.25.56-1.25 1.25v10c0 .69.56 1.25 1.25 1.25h10c.69 0 1.25-.56 1.25-1.25V7c0-.69-.56-1.25-1.25-1.25H7Z\"\n })\n});\nexport default homeButton;\n//# sourceMappingURL=home-button.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst home = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4L4 7.9V20h16V7.9L12 4zm6.5 14.5H14V13h-4v5.5H5.5V8.8L12 5.7l6.5 3.1v9.7z\"\n })\n});\nexport default home;\n//# sourceMappingURL=home.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst html = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.8 11.4H2.1V9H1v6h1.1v-2.6h2.7V15h1.1V9H4.8v2.4zm1.9-1.3h1.7V15h1.1v-4.9h1.7V9H6.7v1.1zM16.2 9l-1.5 2.7L13.3 9h-.9l-.8 6h1.1l.5-4 1.5 2.8 1.5-2.8.5 4h1.1L17 9h-.8zm3.8 5V9h-1.1v6h3.6v-1H20z\"\n })\n});\nexport default html;\n//# sourceMappingURL=html.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst image = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z\"\n })\n});\nexport default image;\n//# sourceMappingURL=image.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst inbox = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M6 5.5h12a.5.5 0 01.5.5v7H14a2 2 0 11-4 0H5.5V6a.5.5 0 01.5-.5zm-.5 9V18a.5.5 0 00.5.5h12a.5.5 0 00.5-.5v-3.5h-3.337a3.5 3.5 0 01-6.326 0H5.5zM4 13V6a2 2 0 012-2h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2v-5z\",\n clipRule: \"evenodd\"\n })\n});\nexport default inbox;\n//# sourceMappingURL=inbox.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst info = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.75 4v1.5h-1.5V8h1.5Zm0 8v-5h-1.5v5h1.5Z\"\n })\n});\nexport default info;\n//# sourceMappingURL=info.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst insertAfter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 12h2v-2h2V8h-2V6H9v2H7v2h2v2zm1 4c3.9 0 7-3.1 7-7s-3.1-7-7-7-7 3.1-7 7 3.1 7 7 7zm0-12c2.8 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.2-5 5-5zM3 19h14v-2H3v2z\"\n })\n});\nexport default insertAfter;\n//# sourceMappingURL=insert-after.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst insertBefore = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 8H9v2H7v2h2v2h2v-2h2v-2h-2V8zm-1-4c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm0 12c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM3 1v2h14V1H3z\"\n })\n});\nexport default insertBefore;\n//# sourceMappingURL=insert-before.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst institute = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M18.646 9H20V8l-1-.5L12 4 5 7.5 4 8v1h14.646zm-3-1.5L12 5.677 8.354 7.5h7.292zm-7.897 9.44v-6.5h-1.5v6.5h1.5zm5-6.5v6.5h-1.5v-6.5h1.5zm5 0v6.5h-1.5v-6.5h1.5zm2.252 8.81c0 .414-.334.75-.748.75H4.752a.75.75 0 010-1.5h14.5a.75.75 0 01.749.75z\",\n clipRule: \"evenodd\"\n })\n});\nexport default institute;\n//# sourceMappingURL=institution.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyBottom = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15 4H9v11h6V4zM4 18.5V20h16v-1.5H4z\"\n })\n});\nexport default justifyBottom;\n//# sourceMappingURL=justify-bottom.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyCenterVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 11h-5V4H9v7H4v1.5h5V20h6v-7.5h5z\"\n })\n});\nexport default justifyCenterVertical;\n//# sourceMappingURL=justify-center-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyCenter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5 15v5H11v-5H4V9h7V4h1.5v5h7v6h-7Z\"\n })\n});\nexport default justifyCenter;\n//# sourceMappingURL=justify-center.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 9v6h11V9H9zM4 20h1.5V4H4v16z\"\n })\n});\nexport default justifyLeft;\n//# sourceMappingURL=justify-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 15h11V9H4v6zM18.5 4v16H20V4h-1.5z\"\n })\n});\nexport default justifyRight;\n//# sourceMappingURL=justify-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifySpaceBetweenVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 4H17V8L7 8V4ZM7 16L17 16V20L7 20V16ZM20 11.25H4V12.75H20V11.25Z\"\n })\n});\nexport default justifySpaceBetweenVertical;\n//# sourceMappingURL=justify-space-between-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifySpaceBetween = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 15h6V9H9v6zm-5 5h1.5V4H4v16zM18.5 4v16H20V4h-1.5z\"\n })\n});\nexport default justifySpaceBetween;\n//# sourceMappingURL=justify-space-between.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyStretchVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 4L20 4L20 5.5L4 5.5L4 4ZM10 7L14 7L14 17L10 17L10 7ZM20 18.5L4 18.5L4 20L20 20L20 18.5Z\"\n })\n});\nexport default justifyStretchVertical;\n//# sourceMappingURL=justify-stretch-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyStretch = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 4H5.5V20H4V4ZM7 10L17 10V14L7 14V10ZM20 4H18.5V20H20V4Z\"\n })\n});\nexport default justifyStretch;\n//# sourceMappingURL=justify-stretch.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyTop = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 20h6V9H9v11zM4 4v1.5h16V4H4z\"\n })\n});\nexport default justifyTop;\n//# sourceMappingURL=justify-top.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst key = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 13.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM9 16a4.002 4.002 0 003.8-2.75H15V16h2.5v-2.75H19v-2.5h-6.2A4.002 4.002 0 005 12a4 4 0 004 4z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default key;\n//# sourceMappingURL=key.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst keyboardClose = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"-2 -2 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18,0 L2,0 C0.9,0 0.01,0.9 0.01,2 L0,12 C0,13.1 0.9,14 2,14 L18,14 C19.1,14 20,13.1 20,12 L20,2 C20,0.9 19.1,0 18,0 Z M18,12 L2,12 L2,2 L18,2 L18,12 Z M9,3 L11,3 L11,5 L9,5 L9,3 Z M9,6 L11,6 L11,8 L9,8 L9,6 Z M6,3 L8,3 L8,5 L6,5 L6,3 Z M6,6 L8,6 L8,8 L6,8 L6,6 Z M3,6 L5,6 L5,8 L3,8 L3,6 Z M3,3 L5,3 L5,5 L3,5 L3,3 Z M6,9 L14,9 L14,11 L6,11 L6,9 Z M12,6 L14,6 L14,8 L12,8 L12,6 Z M12,3 L14,3 L14,5 L12,5 L12,3 Z M15,6 L17,6 L17,8 L15,8 L15,6 Z M15,3 L17,3 L17,5 L15,5 L15,3 Z M10,20 L14,16 L6,16 L10,20 Z\"\n })\n});\nexport default keyboardClose;\n//# sourceMappingURL=keyboard-close.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst keyboardReturn = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m6.734 16.106 2.176-2.38-1.093-1.028-3.846 4.158 3.846 4.158 1.093-1.028-2.176-2.38h2.811c1.125 0 2.25.03 3.374 0 1.428-.001 3.362-.25 4.963-1.277 1.66-1.065 2.868-2.906 2.868-5.859 0-2.479-1.327-4.896-3.65-5.93-1.82-.813-3.044-.8-4.806-.788l-.567.002v1.5c.184 0 .368 0 .553-.002 1.82-.007 2.704-.014 4.21.657 1.854.827 2.76 2.657 2.76 4.561 0 2.472-.973 3.824-2.178 4.596-1.258.807-2.864 1.04-4.163 1.04h-.02c-1.115.03-2.229 0-3.344 0H6.734Z\"\n })\n});\nexport default keyboardReturn;\n//# sourceMappingURL=keyboard-return.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst keyboard = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m16 15.5h-8v-1.5h8zm-7.5-2.5h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm-9-3h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18.5 6.5h-13a.5.5 0 0 0 -.5.5v9.5a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9.5a.5.5 0 0 0 -.5-.5zm-13-1.5h13a2 2 0 0 1 2 2v9.5a2 2 0 0 1 -2 2h-13a2 2 0 0 1 -2-2v-9.5a2 2 0 0 1 2-2z\"\n })]\n});\nexport default keyboard;\n//# sourceMappingURL=keyboard.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst language = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 10h-1.7l-3.7 10.5h1.7l.9-2.6h3.9l.9 2.6h1.7L17.5 10zm-2.2 6.3 1.4-4 1.4 4h-2.8zm-4.8-3.8c1.6-1.8 2.9-3.6 3.7-5.7H16V5.2h-5.8V3H8.8v2.2H3v1.5h9.6c-.7 1.6-1.8 3.1-3.1 4.6C8.6 10.2 7.8 9 7.2 8H5.6c.6 1.4 1.7 2.9 2.9 4.4l-2.4 2.4c-.3.4-.7.8-1.1 1.2l1 1 1.2-1.2c.8-.8 1.6-1.5 2.3-2.3.8.9 1.7 1.7 2.5 2.5l.6-1.5c-.7-.6-1.4-1.3-2.1-2z\"\n })\n});\nexport default language;\n//# sourceMappingURL=language.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst layout = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default layout;\n//# sourceMappingURL=layout.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst levelUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m13.53 8.47-1.06 1.06-2.72-2.72V12h-1.5V6.81L5.53 9.53 4.47 8.47 9 3.94l4.53 4.53Zm-1.802 7.968c1.307.697 3.235.812 5.772.812v1.5c-2.463 0-4.785-.085-6.478-.988a4.721 4.721 0 0 1-2.07-2.13C8.48 14.67 8.25 13.471 8.25 12h1.5c0 1.328.208 2.28.548 2.969.332.675.81 1.138 1.43 1.47Z\"\n })\n});\nexport default levelUp;\n//# sourceMappingURL=level-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lifesaver = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M17.375 15.656A6.47 6.47 0 0018.5 12a6.47 6.47 0 00-.943-3.374l-1.262.813c.448.749.705 1.625.705 2.561a4.977 4.977 0 01-.887 2.844l1.262.813zm-1.951 1.87l-.813-1.261A4.976 4.976 0 0112 17c-.958 0-1.852-.27-2.613-.736l-.812 1.261A6.47 6.47 0 0012 18.5a6.47 6.47 0 003.424-.974zm-8.8-1.87A6.47 6.47 0 015.5 12c0-1.235.344-2.39.943-3.373l1.261.812A4.977 4.977 0 007 12c0 1.056.328 2.036.887 2.843l-1.262.813zm2.581-7.803A4.977 4.977 0 0112 7c1.035 0 1.996.314 2.794.853l.812-1.262A6.47 6.47 0 0012 5.5a6.47 6.47 0 00-3.607 1.092l.812 1.261zM12 20a8 8 0 100-16 8 8 0 000 16zm0-4.5a3.5 3.5 0 100-7 3.5 3.5 0 000 7z\",\n clipRule: \"evenodd\"\n })\n});\nexport default lifesaver;\n//# sourceMappingURL=lifesaver.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lineDashed = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5 11.25h3v1.5H5v-1.5zm5.5 0h3v1.5h-3v-1.5zm8.5 0h-3v1.5h3v-1.5z\",\n clipRule: \"evenodd\"\n })\n});\nexport default lineDashed;\n//# sourceMappingURL=line-dashed.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lineDotted = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5.25 11.25h1.5v1.5h-1.5v-1.5zm3 0h1.5v1.5h-1.5v-1.5zm4.5 0h-1.5v1.5h1.5v-1.5zm1.5 0h1.5v1.5h-1.5v-1.5zm4.5 0h-1.5v1.5h1.5v-1.5z\",\n clipRule: \"evenodd\"\n })\n});\nexport default lineDotted;\n//# sourceMappingURL=line-dotted.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lineSolid = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 11.25h14v1.5H5z\"\n })\n});\nexport default lineSolid;\n//# sourceMappingURL=line-solid.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst linkOff = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.031 4.703 15.576 4l-1.56 3H14v.03l-2.324 4.47H9.5V13h1.396l-1.502 2.889h-.95a3.694 3.694 0 0 1 0-7.389H10V7H8.444a5.194 5.194 0 1 0 0 10.389h.17L7.5 19.53l1.416.719L15.049 8.5h.507a3.694 3.694 0 0 1 0 7.39H14v1.5h1.556a5.194 5.194 0 0 0 .273-10.383l1.202-2.304Z\"\n })\n});\nexport default linkOff;\n//# sourceMappingURL=link-off.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst link = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 17.389H8.444A5.194 5.194 0 1 1 8.444 7H10v1.5H8.444a3.694 3.694 0 0 0 0 7.389H10v1.5ZM14 7h1.556a5.194 5.194 0 0 1 0 10.39H14v-1.5h1.556a3.694 3.694 0 0 0 0-7.39H14V7Zm-4.5 6h5v-1.5h-5V13Z\"\n })\n});\nexport default link;\n//# sourceMappingURL=link.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst listItem = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 11v1.5h8V11h-8zm-6-1c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"\n })\n});\nexport default listItem;\n//# sourceMappingURL=list-item.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst listView = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 6h11v1.5H3V6Zm3.5 5.5h11V13h-11v-1.5ZM21 17H10v1.5h11V17Z\"\n })\n});\nexport default listView;\n//# sourceMappingURL=list-view.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst list = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 4v1.5h16V4H4zm8 8.5h8V11h-8v1.5zM4 20h16v-1.5H4V20zm4-8c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2z\"\n })\n});\nexport default list;\n//# sourceMappingURL=list.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lockOutline = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1zM9.8 7c0-1.2 1-2.2 2.2-2.2 1.2 0 2.2 1 2.2 2.2v3H9.8V7zm6.7 11.5h-9v-7h9v7z\"\n })\n});\nexport default lockOutline;\n//# sourceMappingURL=lock-outline.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lockSmall = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 11h-.2V9c0-1.5-1.2-2.8-2.8-2.8S9.2 7.5 9.2 9v2H9c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1zm-1.8 0h-2.5V9c0-.7.6-1.2 1.2-1.2s1.2.6 1.2 1.2v2z\"\n })\n});\nexport default lockSmall;\n//# sourceMappingURL=lock-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lock = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1zm-2.8 0H9.8V7c0-1.2 1-2.2 2.2-2.2s2.2 1 2.2 2.2v3z\"\n })\n});\nexport default lock;\n//# sourceMappingURL=lock.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst login = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 14.5l1.1 1.1 3-3 .5-.5-.6-.6-3-3-1 1 1.7 1.7H5v1.5h7.7L11 14.5zM16.8 5h-7c-1.1 0-2 .9-2 2v1.5h1.5V7c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v10c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5v-1.5H7.8V17c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2z\"\n })\n});\nexport default login;\n//# sourceMappingURL=login.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst loop = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.1823 11.6392C18.1823 13.0804 17.0139 14.2487 15.5727 14.2487C14.3579 14.2487 13.335 13.4179 13.0453 12.2922L13.0377 12.2625L13.0278 12.2335L12.3985 10.377L12.3942 10.3785C11.8571 8.64997 10.246 7.39405 8.33961 7.39405C5.99509 7.39405 4.09448 9.29465 4.09448 11.6392C4.09448 13.9837 5.99509 15.8843 8.33961 15.8843C8.88499 15.8843 9.40822 15.781 9.88943 15.5923L9.29212 14.0697C8.99812 14.185 8.67729 14.2487 8.33961 14.2487C6.89838 14.2487 5.73003 13.0804 5.73003 11.6392C5.73003 10.1979 6.89838 9.02959 8.33961 9.02959C9.55444 9.02959 10.5773 9.86046 10.867 10.9862L10.8772 10.9836L11.4695 12.7311C11.9515 14.546 13.6048 15.8843 15.5727 15.8843C17.9172 15.8843 19.8178 13.9837 19.8178 11.6392C19.8178 9.29465 17.9172 7.39404 15.5727 7.39404C15.0287 7.39404 14.5066 7.4968 14.0264 7.6847L14.6223 9.20781C14.9158 9.093 15.2358 9.02959 15.5727 9.02959C17.0139 9.02959 18.1823 10.1979 18.1823 11.6392Z\"\n })\n});\nexport default loop;\n//# sourceMappingURL=loop.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst mapMarker = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 9c-.8 0-1.5.7-1.5 1.5S11.2 12 12 12s1.5-.7 1.5-1.5S12.8 9 12 9zm0-5c-3.6 0-6.5 2.8-6.5 6.2 0 .8.3 1.8.9 3.1.5 1.1 1.2 2.3 2 3.6.7 1 3 3.8 3.2 3.9l.4.5.4-.5c.2-.2 2.6-2.9 3.2-3.9.8-1.2 1.5-2.5 2-3.6.6-1.3.9-2.3.9-3.1C18.5 6.8 15.6 4 12 4zm4.3 8.7c-.5 1-1.1 2.2-1.9 3.4-.5.7-1.7 2.2-2.4 3-.7-.8-1.9-2.3-2.4-3-.8-1.2-1.4-2.3-1.9-3.3-.6-1.4-.7-2.2-.7-2.5 0-2.6 2.2-4.7 5-4.7s5 2.1 5 4.7c0 .2-.1 1-.7 2.4z\"\n })\n});\nexport default mapMarker;\n//# sourceMappingURL=map-marker.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst mediaAndText = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 6v11.5h8V6H3Zm11 3h7V7.5h-7V9Zm7 3.5h-7V11h7v1.5ZM14 16h7v-1.5h-7V16Z\"\n })\n});\nexport default mediaAndText;\n//# sourceMappingURL=media-and-text.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst media = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7 6.5 4 2.5-4 2.5z\"\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"m5 3c-1.10457 0-2 .89543-2 2v14c0 1.1046.89543 2 2 2h14c1.1046 0 2-.8954 2-2v-14c0-1.10457-.8954-2-2-2zm14 1.5h-14c-.27614 0-.5.22386-.5.5v10.7072l3.62953-2.6465c.25108-.1831.58905-.1924.84981-.0234l2.92666 1.8969 3.5712-3.4719c.2911-.2831.7545-.2831 1.0456 0l2.9772 2.8945v-9.3568c0-.27614-.2239-.5-.5-.5zm-14.5 14.5v-1.4364l4.09643-2.987 2.99567 1.9417c.2936.1903.6798.1523.9307-.0917l3.4772-3.3806 3.4772 3.3806.0228-.0234v2.5968c0 .2761-.2239.5-.5.5h-14c-.27614 0-.5-.2239-.5-.5z\"\n })]\n});\nexport default media;\n//# sourceMappingURL=media.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst megaphone = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M6.863 13.644L5 13.25h-.5a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5H5L18 6.5h2V16h-2l-3.854-.815.026.008a3.75 3.75 0 01-7.31-1.549zm1.477.313a2.251 2.251 0 004.356.921l-4.356-.921zm-2.84-3.28L18.157 8h.343v6.5h-.343L5.5 11.823v-1.146z\",\n clipRule: \"evenodd\"\n })\n});\nexport default megaphone;\n//# sourceMappingURL=megaphone.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst menu = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 5v1.5h14V5H5zm0 7.8h14v-1.5H5v1.5zM5 19h14v-1.5H5V19z\"\n })\n});\nexport default menu;\n//# sourceMappingURL=menu.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst mobile = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15 4H9c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h6c.3 0 .5.2.5.5v12zm-4.5-.5h2V16h-2v1.5z\"\n })\n});\nexport default mobile;\n//# sourceMappingURL=mobile.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst moreHorizontal = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 13h2v-2h-2v2zm-6 0h2v-2H5v2zm12-2v2h2v-2h-2z\"\n })\n});\nexport default moreHorizontal;\n//# sourceMappingURL=more-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst moreVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z\"\n })\n});\nexport default moreVertical;\n//# sourceMappingURL=more-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst more = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 9v1.5h16V9H4zm12 5.5h4V13h-4v1.5zm-6 0h4V13h-4v1.5zm-6 0h4V13H4v1.5z\"\n })\n});\nexport default more;\n//# sourceMappingURL=more.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst moveTo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.75 9c0-1.257-.565-2.197-1.39-2.858-.797-.64-1.827-1.017-2.815-1.247-1.802-.42-3.703-.403-4.383-.396L11 4.5V6l.177-.001c.696-.006 2.416-.02 4.028.356.887.207 1.67.518 2.216.957.52.416.829.945.829 1.688 0 .592-.167.966-.407 1.23-.255.281-.656.508-1.236.674-1.19.34-2.82.346-4.607.346h-.077c-1.692 0-3.527 0-4.942.404-.732.209-1.424.545-1.935 1.108-.526.579-.796 1.33-.796 2.238 0 1.257.565 2.197 1.39 2.858.797.64 1.827 1.017 2.815 1.247 1.802.42 3.703.403 4.383.396L13 19.5h.714V22L18 18.5 13.714 15v3H13l-.177.001c-.696.006-2.416.02-4.028-.356-.887-.207-1.67-.518-2.216-.957-.52-.416-.829-.945-.829-1.688 0-.592.167-.966.407-1.23.255-.281.656-.508 1.237-.674 1.189-.34 2.819-.346 4.606-.346h.077c1.692 0 3.527 0 4.941-.404.732-.209 1.425-.545 1.936-1.108.526-.579.796-1.33.796-2.238z\"\n })\n});\nexport default moveTo;\n//# sourceMappingURL=move-to.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst navigation = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5zM9 16l4.5-3L15 8.4l-4.5 3L9 16z\"\n })\n});\nexport default navigation;\n//# sourceMappingURL=navigation.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst next = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.6 6L5.4 7l4.5 5-4.5 5 1.1 1 5.5-6-5.4-6zm6 0l-1.1 1 4.5 5-4.5 5 1.1 1 5.5-6-5.5-6z\"\n })\n});\nexport default next;\n//# sourceMappingURL=next.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst notAllowed = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5A6.5 6.5 0 0 1 6.93 7.931l9.139 9.138A6.473 6.473 0 0 1 12 18.5Zm5.123-2.498a6.5 6.5 0 0 0-9.124-9.124l9.124 9.124ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z\"\n })\n});\nexport default notAllowed;\n//# sourceMappingURL=not-allowed.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst notFound = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5H5c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm.5 12c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V7c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v10zm-11-7.6h-.7l-3.1 4.3h2.8V15h1v-1.3h.7v-.8h-.7V9.4zm-.9 3.5H6.3l1.2-1.7v1.7zm5.6-3.2c-.4-.2-.8-.4-1.2-.4-.5 0-.9.1-1.2.4-.4.2-.6.6-.8 1-.2.4-.3.9-.3 1.5s.1 1.1.3 1.6c.2.4.5.8.8 1 .4.2.8.4 1.2.4.5 0 .9-.1 1.2-.4.4-.2.6-.6.8-1 .2-.4.3-1 .3-1.6 0-.6-.1-1.1-.3-1.5-.1-.5-.4-.8-.8-1zm0 3.6c-.1.3-.3.5-.5.7-.2.1-.4.2-.7.2-.3 0-.5-.1-.7-.2-.2-.1-.4-.4-.5-.7-.1-.3-.2-.7-.2-1.2 0-.7.1-1.2.4-1.5.3-.3.6-.5 1-.5s.7.2 1 .5c.3.3.4.8.4 1.5-.1.5-.1.9-.2 1.2zm5-3.9h-.7l-3.1 4.3h2.8V15h1v-1.3h.7v-.8h-.7V9.4zm-1 3.5H16l1.2-1.7v1.7z\"\n })\n});\nexport default notFound;\n//# sourceMappingURL=not-found.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst offline = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M1.36605 2.81332L2.30144 1.87332L13.5592 13.1867L12.6239 14.1267L7.92702 9.40666C6.74618 9.41999 5.57861 9.87999 4.68302 10.78L3.35623 9.44665C4.19874 8.60665 5.2071 8.03999 6.2818 7.75332L4.7958 6.25999C3.78744 6.67332 2.84542 7.29332 2.02944 8.11332L0.702656 6.77999C1.512 5.97332 2.42085 5.33332 3.3894 4.84665L1.36605 2.81332ZM15.2973 6.77999L13.9705 8.11332C12.3054 6.43999 10.1096 5.61332 7.92039 5.62666L6.20883 3.90665C9.41303 3.34665 12.8229 4.29332 15.2973 6.77999ZM10.1759 7.89332C11.0781 8.21332 11.9273 8.72665 12.6438 9.44665L12.1794 9.90665L10.1759 7.89332ZM6.00981 12.1133L8 14.1133L9.99018 12.1133C8.89558 11.0067 7.11105 11.0067 6.00981 12.1133Z\"\n })\n});\nexport default offline;\n//# sourceMappingURL=offline.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst overlayText = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12-9.8c.4 0 .8-.3.9-.7l1.1-3h3.6l.5 1.7h1.9L13 9h-2.2l-3.4 9.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12H20V6c0-1.1-.9-2-2-2zm-6 7l1.4 3.9h-2.7L12 11z\"\n })\n});\nexport default overlayText;\n//# sourceMappingURL=overlay-text.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pageBreak = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 9V6a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v3H8V6a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v3h1.5Zm0 6.5V18a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2v-2.5H8V18a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2.5h1.5ZM4 13h16v-1.5H4V13Z\"\n })\n});\nexport default pageBreak;\n//# sourceMappingURL=page-break.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst page = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M15.5 7.5h-7V9h7V7.5Zm-7 3.5h7v1.5h-7V11Zm7 3.5h-7V16h7v-1.5Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M17 4H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2ZM7 5.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H7a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5Z\"\n })]\n});\nexport default page;\n//# sourceMappingURL=page.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst pages = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M14.5 5.5h-7V7h7V5.5ZM7.5 9h7v1.5h-7V9Zm7 3.5h-7V14h7v-1.5Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M16 2H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2ZM6 3.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V4a.5.5 0 0 1 .5-.5Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M20 8v11c0 .69-.31 1-.999 1H6v1.5h13.001c1.52 0 2.499-.982 2.499-2.5V8H20Z\"\n })]\n});\nexport default pages;\n//# sourceMappingURL=pages.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst paragraph = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m9.99609 14v-.2251l.00391.0001v6.225h1.5v-14.5h2.5v14.5h1.5v-14.5h3v-1.5h-8.50391c-2.76142 0-5 2.23858-5 5 0 2.7614 2.23858 5 5 5z\"\n })\n});\nexport default paragraph;\n//# sourceMappingURL=paragraph.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst payment = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5.5 9.5v-2h13v2h-13zm0 3v4h13v-4h-13zM4 7a1 1 0 011-1h14a1 1 0 011 1v10a1 1 0 01-1 1H5a1 1 0 01-1-1V7z\",\n clipRule: \"evenodd\"\n })\n});\nexport default payment;\n//# sourceMappingURL=payment.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pencil = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m19 7-3-3-8.5 8.5-1 4 4-1L19 7Zm-7 11.5H5V20h7v-1.5Z\"\n })\n});\nexport default pencil;\n//# sourceMappingURL=pencil.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pending = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8 4a4 4 0 0 1-4-4h4V8a4 4 0 0 1 0 8Z\"\n })\n});\nexport default pending;\n//# sourceMappingURL=pending.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst people = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15.5 9.5a1 1 0 100-2 1 1 0 000 2zm0 1.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zm-2.25 6v-2a2.75 2.75 0 00-2.75-2.75h-4A2.75 2.75 0 003.75 15v2h1.5v-2c0-.69.56-1.25 1.25-1.25h4c.69 0 1.25.56 1.25 1.25v2h1.5zm7-2v2h-1.5v-2c0-.69-.56-1.25-1.25-1.25H15v-1.5h2.5A2.75 2.75 0 0120.25 15zM9.5 8.5a1 1 0 11-2 0 1 1 0 012 0zm1.5 0a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0z\",\n fillRule: \"evenodd\"\n })\n});\nexport default people;\n//# sourceMappingURL=people.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst percent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M6.5 8a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zM8 5a3 3 0 100 6 3 3 0 000-6zm6.5 11a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zm1.5-3a3 3 0 100 6 3 3 0 000-6zM5.47 17.41a.75.75 0 001.06 1.06L18.47 6.53a.75.75 0 10-1.06-1.06L5.47 17.41z\",\n clipRule: \"evenodd\"\n })\n});\nexport default percent;\n//# sourceMappingURL=percent.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pinSmall = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.97 10.159a3.382 3.382 0 0 0-2.857.955l1.724 1.723-2.836 2.913L7 17h1.25l2.913-2.837 1.723 1.723a3.38 3.38 0 0 0 .606-.825c.33-.63.446-1.343.35-2.032L17 10.695 13.305 7l-2.334 3.159Z\"\n })\n});\nexport default pinSmall;\n//# sourceMappingURL=pin-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pin = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m21.5 9.1-6.6-6.6-4.2 5.6c-1.2-.1-2.4.1-3.6.7-.1 0-.1.1-.2.1-.5.3-.9.6-1.2.9l3.7 3.7-5.7 5.7v1.1h1.1l5.7-5.7 3.7 3.7c.4-.4.7-.8.9-1.2.1-.1.1-.2.2-.3.6-1.1.8-2.4.6-3.6l5.6-4.1zm-7.3 3.5.1.9c.1.9 0 1.8-.4 2.6l-6-6c.8-.4 1.7-.5 2.6-.4l.9.1L15 4.9 19.1 9l-4.9 3.6z\"\n })\n});\nexport default pin;\n//# sourceMappingURL=pin.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plugins = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.5 4v4h3V4H15v4h1.5a1 1 0 011 1v4l-3 4v2a1 1 0 01-1 1h-3a1 1 0 01-1-1v-2l-3-4V9a1 1 0 011-1H9V4h1.5zm.5 12.5v2h2v-2l3-4v-3H8v3l3 4z\"\n })\n});\nexport default plugins;\n//# sourceMappingURL=plugins.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plusCircleFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm3.8 8.8h-3v3h-1.5v-3h-3v-1.5h3v-3h1.5v3h3v1.5Z\"\n })\n});\nexport default plusCircleFilled;\n//# sourceMappingURL=plus-circle-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plusCircle = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.404 16.596a6.5 6.5 0 1 0 9.192-9.192 6.5 6.5 0 0 0-9.192 9.192ZM6.344 6.343a8 8 0 1 0 11.313 11.314A8 8 0 0 0 6.343 6.343Zm4.906 9.407v-3h-3v-1.5h3v-3h1.5v3h3v1.5h-3v3h-1.5Z\"\n })\n});\nexport default plusCircle;\n//# sourceMappingURL=plus-circle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plus = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z\"\n })\n});\nexport default plus;\n//# sourceMappingURL=plus.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst positionCenter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM7 9h10v6H7V9Z\"\n })\n});\nexport default positionCenter;\n//# sourceMappingURL=position-center.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst positionLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 5.5h8V4H5v1.5ZM5 20h8v-1.5H5V20ZM19 9H5v6h14V9Z\"\n })\n});\nexport default positionLeft;\n//# sourceMappingURL=position-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst positionRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5.5h-8V4h8v1.5ZM19 20h-8v-1.5h8V20ZM5 9h14v6H5V9Z\"\n })\n});\nexport default positionRight;\n//# sourceMappingURL=position-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postAuthor = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 4.5a1 1 0 11-2 0 1 1 0 012 0zm1.5 0a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm2.25 7.5v-1A2.75 2.75 0 0011 8.25H7A2.75 2.75 0 004.25 11v1h1.5v-1c0-.69.56-1.25 1.25-1.25h4c.69 0 1.25.56 1.25 1.25v1h1.5zM4 20h9v-1.5H4V20zm16-4H4v-1.5h16V16z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default postAuthor;\n//# sourceMappingURL=post-author.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postCategories = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 4H4v1.5h16V4zm-2 9h-3c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zm.5 5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-3c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3zM4 9.5h9V8H4v1.5zM9 13H6c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zm.5 5c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-3c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default postCategories;\n//# sourceMappingURL=post-categories.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postCommentsCount = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 8H4v1.5h9V8zM4 4v1.5h16V4H4zm9 8H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1V13c0-.6-.4-1-1-1zm-2.2 6.6H7l1.6-2.2c.3-.4.5-.7.6-.9.1-.2.2-.4.2-.5 0-.2-.1-.3-.1-.4-.1-.1-.2-.1-.4-.1s-.4 0-.6.1c-.3.1-.5.3-.7.4l-.2.2-.2-1.2.1-.1c.3-.2.5-.3.8-.4.3-.1.6-.1.9-.1.3 0 .6.1.9.2.2.1.4.3.6.5.1.2.2.5.2.7 0 .3-.1.6-.2.9-.1.3-.4.7-.7 1.1l-.5.6h1.6v1.2z\"\n })\n});\nexport default postCommentsCount;\n//# sourceMappingURL=post-comments-count.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postCommentsForm = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 8H4v1.5h9V8zM4 4v1.5h16V4H4zm9 8H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1V13c0-.6-.4-1-1-1zm-.5 6.6H6.7l-1.2 1.2v-6.3h7v5.1z\"\n })\n});\nexport default postCommentsForm;\n//# sourceMappingURL=post-comments-form.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postComments = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 10.1V4c0-.6-.4-1-1-1H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1zm-1.5-.5H6.7l-1.2 1.2V4.5h7v5.1zM19 12h-8c-.6 0-1 .4-1 1v6.1c0 .6.4 1 1 1h5.7l1.8 1.8c.1.2.4.3.6.3.1 0 .2 0 .3-.1.4-.1.6-.5.6-.8V13c0-.6-.4-1-1-1zm-.5 7.8l-1.2-1.2h-5.8v-5.1h7v6.3z\"\n })\n});\nexport default postComments;\n//# sourceMappingURL=post-comments.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postContent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 6h12V4.5H4V6Zm16 4.5H4V9h16v1.5ZM4 15h16v-1.5H4V15Zm0 4.5h16V18H4v1.5Z\"\n })\n});\nexport default postContent;\n//# sourceMappingURL=post-content.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst postDate = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M11.696 13.972c.356-.546.599-.958.728-1.235a1.79 1.79 0 00.203-.783c0-.264-.077-.47-.23-.618-.148-.153-.354-.23-.618-.23-.295 0-.569.07-.82.212a3.413 3.413 0 00-.738.571l-.147-1.188c.289-.234.59-.41.903-.526.313-.117.66-.175 1.041-.175.375 0 .695.08.959.24.264.153.46.362.59.626.135.265.203.556.203.876 0 .362-.08.734-.24 1.115-.154.381-.427.87-.82 1.466l-.756 1.152H14v1.106h-4l1.696-2.609z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M19.5 7h-15v12a.5.5 0 00.5.5h14a.5.5 0 00.5-.5V7zM3 7V5a2 2 0 012-2h14a2 2 0 012 2v14a2 2 0 01-2 2H5a2 2 0 01-2-2V7z\"\n })]\n});\nexport default postDate;\n//# sourceMappingURL=post-date.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postExcerpt = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.001 3.984V9.47c0 1.518-.98 2.5-2.499 2.5h-.5v-1.5h.5c.69 0 1-.31 1-1V6.984H4v-3h4.001ZM4 20h9v-1.5H4V20Zm16-4H4v-1.5h16V16ZM13.001 3.984V9.47c0 1.518-.98 2.5-2.499 2.5h-.5v-1.5h.5c.69 0 1-.31 1-1V6.984H9v-3h4.001Z\"\n })\n});\nexport default postExcerpt;\n//# sourceMappingURL=post-excerpt.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postFeaturedImage = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-.6 0-1 .4-1 1v7c0 .5.4 1 1 1h14c.5 0 1-.4 1-1V4c0-.6-.4-1-1-1zM5.5 10.5v-.4l1.8-1.3 1.3.8c.3.2.7.2.9-.1L11 8.1l2.4 2.4H5.5zm13 0h-2.9l-4-4c-.3-.3-.8-.3-1.1 0L8.9 8l-1.2-.8c-.3-.2-.6-.2-.9 0l-1.3 1V4.5h13v6zM4 20h9v-1.5H4V20zm0-4h16v-1.5H4V16z\"\n })\n});\nexport default postFeaturedImage;\n//# sourceMappingURL=post-featured-image.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postList = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 5.5H6a.5.5 0 0 0-.5.5v12a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.5-.5ZM6 4h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Zm1 5h1.5v1.5H7V9Zm1.5 4.5H7V15h1.5v-1.5ZM10 9h7v1.5h-7V9Zm7 4.5h-7V15h7v-1.5Z\"\n })\n});\nexport default postList;\n//# sourceMappingURL=post-list.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postTerms = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.1 12.3c.1.1.3.3.5.3.2.1.4.1.6.1.2 0 .4 0 .6-.1.2-.1.4-.2.5-.3l3-3c.3-.3.5-.7.5-1.1 0-.4-.2-.8-.5-1.1L9.7 3.5c-.1-.2-.3-.3-.5-.3H5c-.4 0-.8.4-.8.8v4.2c0 .2.1.4.2.5l3.7 3.6zM5.8 4.8h3.1l3.4 3.4v.1l-3 3 .5.5-.7-.5-3.3-3.4V4.8zM4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4z\"\n })\n});\nexport default postTerms;\n//# sourceMappingURL=post-terms.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst post = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m7.3 9.7 1.4 1.4c.2-.2.3-.3.4-.5 0 0 0-.1.1-.1.3-.5.4-1.1.3-1.6L12 7 9 4 7.2 6.5c-.6-.1-1.1 0-1.6.3 0 0-.1 0-.1.1-.3.1-.4.2-.6.4l1.4 1.4L4 11v1h1l2.3-2.3zM4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4z\"\n })\n});\nexport default post;\n//# sourceMappingURL=post.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst preformatted = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12zM7 16.5h6V15H7v1.5zm4-4h6V11h-6v1.5zM9 11H7v1.5h2V11zm6 5.5h2V15h-2v1.5z\"\n })\n});\nexport default preformatted;\n//# sourceMappingURL=preformatted.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst previous = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.6 7l-1.1-1L5 12l5.5 6 1.1-1L7 12l4.6-5zm6 0l-1.1-1-5.5 6 5.5 6 1.1-1-4.6-5 4.6-5z\"\n })\n});\nexport default previous;\n//# sourceMappingURL=previous.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst published = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm11.53-1.47-1.06-1.06L11 12.94l-1.47-1.47-1.06 1.06L11 15.06l4.53-4.53Z\"\n })\n});\nexport default published;\n//# sourceMappingURL=published.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pullLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 18h6V6H4v12zm9-9.5V10h7V8.5h-7zm0 7h7V14h-7v1.5z\"\n })\n});\nexport default pullLeft;\n//# sourceMappingURL=pull-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pullRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 6v12h6V6h-6zM4 10h7V8.5H4V10zm0 5.5h7V14H4v1.5z\"\n })\n});\nexport default pullRight;\n//# sourceMappingURL=pull-right.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pullquote = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 8H6c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-4c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v4zM4 4v1.5h16V4H4zm0 16h16v-1.5H4V20z\"\n })\n});\nexport default pullquote;\n//# sourceMappingURL=pullquote.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPaginationNext = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 13.5h3v-3H5v3zm5 0h3v-3h-3v3zM17 9l-1 1 2 2-2 2 1 1 3-3-3-3z\"\n })\n});\nexport default queryPaginationNext;\n//# sourceMappingURL=query-pagination-next.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPaginationNumbers = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 13.5h6v-3H4v3zm8.2-2.5.8-.3V14h1V9.3l-2.2.7.4 1zm7.1-1.2c-.5-.6-1.2-.5-1.7-.4-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5h2.7v-1h-.9c.3-.6.8-1.4.9-2.1 0-.3-.1-.8-.3-1.1z\"\n })\n});\nexport default queryPaginationNumbers;\n//# sourceMappingURL=query-pagination-numbers.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPaginationPrevious = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 10.5v3h3v-3h-3zm-5 3h3v-3h-3v3zM7 9l-3 3 3 3 1-1-2-2 2-2-1-1z\"\n })\n});\nexport default queryPaginationPrevious;\n//# sourceMappingURL=query-pagination-previous.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPagination = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 13.5h6v-3H4v3zm8 0h3v-3h-3v3zm5-3v3h3v-3h-3z\"\n })\n});\nexport default queryPagination;\n//# sourceMappingURL=query-pagination.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst quote = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 6v6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H13zm-9 6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H4v6z\"\n })\n});\nexport default quote;\n//# sourceMappingURL=quote.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst receipt = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M16.83 6.342l.602.3.625-.25.443-.176v12.569l-.443-.178-.625-.25-.603.301-1.444.723-2.41-.804-.475-.158-.474.158-2.41.803-1.445-.722-.603-.3-.625.25-.443.177V6.215l.443.178.625.25.603-.301 1.444-.722 2.41.803.475.158.474-.158 2.41-.803 1.445.722zM20 4l-1.5.6-1 .4-2-1-3 1-3-1-2 1-1-.4L5 4v17l1.5-.6 1-.4 2 1 3-1 3 1 2-1 1 .4 1.5.6V4zm-3.5 6.25v-1.5h-8v1.5h8zm0 3v-1.5h-8v1.5h8zm-8 3v-1.5h8v1.5h-8z\",\n clipRule: \"evenodd\"\n })\n});\nexport default receipt;\n//# sourceMappingURL=receipt.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst redo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15.6 6.5l-1.1 1 2.9 3.3H8c-.9 0-1.7.3-2.3.9-1.4 1.5-1.4 4.2-1.4 5.6v.2h1.5v-.3c0-1.1 0-3.5 1-4.5.3-.3.7-.5 1.3-.5h9.2L14.5 15l1.1 1.1 4.6-4.6-4.6-5z\"\n })\n});\nexport default redo;\n//# sourceMappingURL=redo.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst removeBug = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.45474 21.2069L16.4547 3.7069L15.5453 3.29114L14.2837 6.05081C13.5991 5.69873 12.8228 5.49999 12 5.49999C10.9385 5.49999 9.95431 5.83076 9.1448 6.39485L7.18994 4.44L6.12928 5.50066L8.05556 7.42694C7.49044 8.15127 7.12047 9.0353 7.02469 9.99999H5V11.5H7V13H5V14.5H7.10002C7.35089 15.7359 8.0576 16.8062 9.03703 17.5279L7.54526 20.7911L8.45474 21.2069ZM9.68024 16.1209C8.95633 15.4796 8.5 14.5431 8.5 13.5V10.5C8.5 8.567 10.067 6.99999 12 6.99999C12.6003 6.99999 13.1653 7.15111 13.659 7.41738L9.68024 16.1209ZM15.3555 9.50155L16.1645 7.73191C16.6053 8.39383 16.8926 9.16683 16.9753 9.99999H19V11.5H17V13H19V14.5H16.9C16.4367 16.7822 14.419 18.5 12 18.5C11.7508 18.5 11.5058 18.4818 11.2664 18.4466L11.928 16.9993C11.9519 16.9998 11.9759 17 12 17C13.933 17 15.5 15.433 15.5 13.5V10.5C15.5 10.1531 15.4495 9.81794 15.3555 9.50155Z\"\n })\n});\nexport default removeBug;\n//# sourceMappingURL=remove-bug.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst removeSubmenu = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"m13.955 20.748 8-17.5-.91-.416L19.597 6H13.5v1.5h5.411l-1.6 3.5H13.5v1.5h3.126l-1.6 3.5H13.5l.028 1.5h.812l-1.295 2.832.91.416ZM17.675 16l-.686 1.5h4.539L21.5 16h-3.825Zm2.286-5-.686 1.5H21.5V11h-1.54ZM2 12c0 3.58 2.42 5.5 6 5.5h.5V19l3-2.5-3-2.5v2H8c-2.48 0-4.5-1.52-4.5-4S5.52 7.5 8 7.5h3.5V6H8c-3.58 0-6 2.42-6 6Z\"\n })\n});\nexport default removeSubmenu;\n//# sourceMappingURL=remove-submenu.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst replace = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 10h4c.6 0 1-.4 1-1V5c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1zm-8 4H4c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1zm10-2.6L14.5 15l1.1 1.1 1.7-1.7c-.1 1.1-.3 2.3-.9 2.9-.3.3-.7.5-1.3.5h-4.5v1.5H15c.9 0 1.7-.3 2.3-.9 1-1 1.3-2.7 1.4-4l1.8 1.8 1.1-1.1-3.6-3.7zM6.8 9.7c.1-1.1.3-2.3.9-2.9.4-.4.8-.6 1.3-.6h4.5V4.8H9c-.9 0-1.7.3-2.3.9-1 1-1.3 2.7-1.4 4L3.5 8l-1 1L6 12.6 9.5 9l-1-1-1.7 1.7z\"\n })\n});\nexport default replace;\n//# sourceMappingURL=replace.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst reset = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 11.5h10V13H7z\"\n })\n});\nexport default reset;\n//# sourceMappingURL=reset.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst resizeCornerNE = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 18h4.5v1.5h-7v-7H6V17L17 6h-4.5V4.5h7v7H18V7L7 18Z\"\n })\n});\nexport default resizeCornerNE;\n//# sourceMappingURL=resize-corner-n-e.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst reusableBlock = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 7.2h8.2L13.5 9l1.1 1.1 3.6-3.6-3.5-4-1.1 1 1.9 2.3H7c-.9 0-1.7.3-2.3.9-1.4 1.5-1.4 4.2-1.4 5.6v.2h1.5v-.3c0-1.1 0-3.5 1-4.5.3-.3.7-.5 1.2-.5zm13.8 4V11h-1.5v.3c0 1.1 0 3.5-1 4.5-.3.3-.7.5-1.3.5H8.8l1.7-1.7-1.1-1.1L5.9 17l3.5 4 1.1-1-1.9-2.3H17c.9 0 1.7-.3 2.3-.9 1.5-1.4 1.5-4.2 1.5-5.6z\"\n })\n});\nexport default reusableBlock;\n//# sourceMappingURL=reusable-block.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst rotateLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4V2.2L9 4.8l3 2.5V5.5c3.6 0 6.5 2.9 6.5 6.5 0 2.9-1.9 5.3-4.5 6.2v.2l-.1-.2c-.4.1-.7.2-1.1.2l.2 1.5c.3 0 .6-.1 1-.2 3.5-.9 6-4 6-7.7 0-4.4-3.6-8-8-8zm-7.9 7l1.5.2c.1-1.2.5-2.3 1.2-3.2l-1.1-.9C4.8 8.2 4.3 9.6 4.1 11zm1.5 1.8l-1.5.2c.1.7.3 1.4.5 2 .3.7.6 1.3 1 1.8l1.2-.8c-.3-.5-.6-1-.8-1.5s-.4-1.1-.4-1.7zm1.5 5.5c1.1.9 2.4 1.4 3.8 1.6l.2-1.5c-1.1-.1-2.2-.5-3.1-1.2l-.9 1.1z\"\n })\n});\nexport default rotateLeft;\n//# sourceMappingURL=rotate-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst rotateRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15.1 4.8l-3-2.5V4c-4.4 0-8 3.6-8 8 0 3.7 2.5 6.9 6 7.7.3.1.6.1 1 .2l.2-1.5c-.4 0-.7-.1-1.1-.2l-.1.2v-.2c-2.6-.8-4.5-3.3-4.5-6.2 0-3.6 2.9-6.5 6.5-6.5v1.8l3-2.5zM20 11c-.2-1.4-.7-2.7-1.6-3.8l-1.2.8c.7.9 1.1 2 1.3 3.1L20 11zm-1.5 1.8c-.1.5-.2 1.1-.4 1.6s-.5 1-.8 1.5l1.2.9c.4-.5.8-1.1 1-1.8s.5-1.3.5-2l-1.5-.2zm-5.6 5.6l.2 1.5c1.4-.2 2.7-.7 3.8-1.6l-.9-1.1c-.9.7-2 1.1-3.1 1.2z\"\n })\n});\nexport default rotateRight;\n//# sourceMappingURL=rotate-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst row = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 6.5h5a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H4V16h5a.5.5 0 0 0 .5-.5v-7A.5.5 0 0 0 9 8H4V6.5Zm16 0h-5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h5V16h-5a.5.5 0 0 1-.5-.5v-7A.5.5 0 0 1 15 8h5V6.5Z\"\n })\n});\nexport default row;\n//# sourceMappingURL=row.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst rss = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 10.2h-.8v1.5H5c1.9 0 3.8.8 5.1 2.1 1.4 1.4 2.1 3.2 2.1 5.1v.8h1.5V19c0-2.3-.9-4.5-2.6-6.2-1.6-1.6-3.8-2.6-6.1-2.6zm10.4-1.6C12.6 5.8 8.9 4.2 5 4.2h-.8v1.5H5c3.5 0 6.9 1.4 9.4 3.9s3.9 5.8 3.9 9.4v.8h1.5V19c0-3.9-1.6-7.6-4.4-10.4zM4 20h3v-3H4v3z\"\n })\n});\nexport default rss;\n//# sourceMappingURL=rss.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst scheduled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm9 1V8h-1.5v3.5h-2V13H13Z\"\n })\n});\nexport default scheduled;\n//# sourceMappingURL=scheduled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst search = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z\"\n })\n});\nexport default search;\n//# sourceMappingURL=search.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst seen = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3.99961 13C4.67043 13.3354 4.6703 13.3357 4.67017 13.3359L4.67298 13.3305C4.67621 13.3242 4.68184 13.3135 4.68988 13.2985C4.70595 13.2686 4.7316 13.2218 4.76695 13.1608C4.8377 13.0385 4.94692 12.8592 5.09541 12.6419C5.39312 12.2062 5.84436 11.624 6.45435 11.0431C7.67308 9.88241 9.49719 8.75 11.9996 8.75C14.502 8.75 16.3261 9.88241 17.5449 11.0431C18.1549 11.624 18.6061 12.2062 18.9038 12.6419C19.0523 12.8592 19.1615 13.0385 19.2323 13.1608C19.2676 13.2218 19.2933 13.2686 19.3093 13.2985C19.3174 13.3135 19.323 13.3242 19.3262 13.3305L19.3291 13.3359C19.3289 13.3357 19.3288 13.3354 19.9996 13C20.6704 12.6646 20.6703 12.6643 20.6701 12.664L20.6697 12.6632L20.6688 12.6614L20.6662 12.6563L20.6583 12.6408C20.6517 12.6282 20.6427 12.6108 20.631 12.5892C20.6078 12.5459 20.5744 12.4852 20.5306 12.4096C20.4432 12.2584 20.3141 12.0471 20.1423 11.7956C19.7994 11.2938 19.2819 10.626 18.5794 9.9569C17.1731 8.61759 14.9972 7.25 11.9996 7.25C9.00203 7.25 6.82614 8.61759 5.41987 9.9569C4.71736 10.626 4.19984 11.2938 3.85694 11.7956C3.68511 12.0471 3.55605 12.2584 3.4686 12.4096C3.42484 12.4852 3.39142 12.5459 3.36818 12.5892C3.35656 12.6108 3.34748 12.6282 3.34092 12.6408L3.33297 12.6563L3.33041 12.6614L3.32948 12.6632L3.32911 12.664C3.32894 12.6643 3.32879 12.6646 3.99961 13ZM11.9996 16C13.9326 16 15.4996 14.433 15.4996 12.5C15.4996 10.567 13.9326 9 11.9996 9C10.0666 9 8.49961 10.567 8.49961 12.5C8.49961 14.433 10.0666 16 11.9996 16Z\"\n })\n});\nexport default seen;\n//# sourceMappingURL=seen.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst send = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.332 5.748c-1.03-.426-2.06.607-1.632 1.636l1.702 3.93 7.481.575c.123.01.123.19 0 .2l-7.483.575-1.7 3.909c-.429 1.029.602 2.062 1.632 1.636l12.265-5.076c1.03-.426 1.03-1.884 0-2.31L6.332 5.748Z\"\n })\n});\nexport default send;\n//# sourceMappingURL=send.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst separator = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.5 12.5v4H3V7h1.5v3.987h15V7H21v9.5h-1.5v-4h-15Z\"\n })\n});\nexport default separator;\n//# sourceMappingURL=separator.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst settings = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m19 7.5h-7.628c-.3089-.87389-1.1423-1.5-2.122-1.5-.97966 0-1.81309.62611-2.12197 1.5h-2.12803v1.5h2.12803c.30888.87389 1.14231 1.5 2.12197 1.5.9797 0 1.8131-.62611 2.122-1.5h7.628z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m19 15h-2.128c-.3089-.8739-1.1423-1.5-2.122-1.5s-1.8131.6261-2.122 1.5h-7.628v1.5h7.628c.3089.8739 1.1423 1.5 2.122 1.5s1.8131-.6261 2.122-1.5h2.128z\"\n })]\n});\nexport default settings;\n//# sourceMappingURL=settings.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shadow = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 8c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm0 6.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zM12.8 3h-1.5v3h1.5V3zm-1.6 18h1.5v-3h-1.5v3zm6.8-9.8v1.5h3v-1.5h-3zm-12 0H3v1.5h3v-1.5zm9.7 5.6 2.1 2.1 1.1-1.1-2.1-2.1-1.1 1.1zM8.3 7.2 6.2 5.1 5.1 6.2l2.1 2.1 1.1-1.1zM5.1 17.8l1.1 1.1 2.1-2.1-1.1-1.1-2.1 2.1zM18.9 6.2l-1.1-1.1-2.1 2.1 1.1 1.1 2.1-2.1z\"\n })\n});\nexport default shadow;\n//# sourceMappingURL=shadow.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst share = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11.8l6.1-4.5c.1.4.4.7.9.7h2c.6 0 1-.4 1-1V5c0-.6-.4-1-1-1h-2c-.6 0-1 .4-1 1v.4l-6.4 4.8c-.2-.1-.4-.2-.6-.2H6c-.6 0-1 .4-1 1v2c0 .6.4 1 1 1h2c.2 0 .4-.1.6-.2l6.4 4.8v.4c0 .6.4 1 1 1h2c.6 0 1-.4 1-1v-2c0-.6-.4-1-1-1h-2c-.5 0-.8.3-.9.7L9 12.2v-.4z\"\n })\n});\nexport default share;\n//# sourceMappingURL=share.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shield = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 3.176l6.75 3.068v4.574c0 3.9-2.504 7.59-6.035 8.755a2.283 2.283 0 01-1.43 0c-3.53-1.164-6.035-4.856-6.035-8.755V6.244L12 3.176zM6.75 7.21v3.608c0 3.313 2.145 6.388 5.005 7.33.159.053.331.053.49 0 2.86-.942 5.005-4.017 5.005-7.33V7.21L12 4.824 6.75 7.21z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default shield;\n//# sourceMappingURL=shield.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shipping = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 6.75C3 5.784 3.784 5 4.75 5H15V7.313l.05.027 5.056 2.73.394.212v3.468a1.75 1.75 0 01-1.75 1.75h-.012a2.5 2.5 0 11-4.975 0H9.737a2.5 2.5 0 11-4.975 0H3V6.75zM13.5 14V6.5H4.75a.25.25 0 00-.25.25V14h.965a2.493 2.493 0 011.785-.75c.7 0 1.332.287 1.785.75H13.5zm4.535 0h.715a.25.25 0 00.25-.25v-2.573l-4-2.16v4.568a2.487 2.487 0 011.25-.335c.7 0 1.332.287 1.785.75zM6.282 15.5a1.002 1.002 0 00.968 1.25 1 1 0 10-.968-1.25zm9 0a1 1 0 101.937.498 1 1 0 00-1.938-.498z\"\n })\n});\nexport default shipping;\n//# sourceMappingURL=shipping.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shortcode = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 4.2v1.5h2.5v12.5H16v1.5h4V4.2h-4zM4.2 19.8h4v-1.5H5.8V5.8h2.5V4.2h-4l-.1 15.6zm5.1-3.1l1.4.6 4-10-1.4-.6-4 10z\"\n })\n});\nexport default shortcode;\n//# sourceMappingURL=shortcode.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shuffle = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/SVG\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.192 6.75L15.47 5.03l1.06-1.06 3.537 3.53-3.537 3.53-1.06-1.06 1.723-1.72h-3.19c-.602 0-.993.202-1.28.498-.309.319-.538.792-.695 1.383-.13.488-.222 1.023-.296 1.508-.034.664-.116 1.413-.303 2.117-.193.721-.513 1.467-1.068 2.04-.575.594-1.359.954-2.357.954H4v-1.5h4.003c.601 0 .993-.202 1.28-.498.308-.319.538-.792.695-1.383.149-.557.216-1.093.288-1.662l.039-.31a9.653 9.653 0 0 1 .272-1.653c.193-.722.513-1.467 1.067-2.04.576-.594 1.36-.954 2.358-.954h3.19zM8.004 6.75c.8 0 1.46.23 1.988.628a6.24 6.24 0 0 0-.684 1.396 1.725 1.725 0 0 0-.024-.026c-.287-.296-.679-.498-1.28-.498H4v-1.5h4.003zM12.699 14.726c-.161.459-.38.94-.684 1.396.527.397 1.188.628 1.988.628h3.19l-1.722 1.72 1.06 1.06L20.067 16l-3.537-3.53-1.06 1.06 1.723 1.72h-3.19c-.602 0-.993-.202-1.28-.498a1.96 1.96 0 0 1-.024-.026z\"\n })\n});\nexport default shuffle;\n//# sourceMappingURL=shuffle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst sidebar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default sidebar;\n//# sourceMappingURL=sidebar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst sidesAll = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\"\n })\n});\nexport default sidesAll;\n//# sourceMappingURL=sides-all.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst sidesAxial = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.2 5.3h8V3.8h-8v1.5zm0 14.5h8v-1.5h-8v1.5zm3.5-6.5h1v-1h-1v1zm1-6.5h-1v.5h1v-.5zm-1 4.5h1v-1h-1v1zm0-2h1v-1h-1v1zm0 7.5h1v-.5h-1v.5zm1-2.5h-1v1h1v-1zm-8.5 1.5h1.5v-8H4.2v8zm14.5-8v8h1.5v-8h-1.5zm-5 4.5v-1h-1v1h1zm-6.5 0h.5v-1h-.5v1zm3.5-1v1h1v-1h-1zm6 1h.5v-1h-.5v1zm-8-1v1h1v-1h-1zm6 0v1h1v-1h-1z\"\n })\n});\nexport default sidesAxial;\n//# sourceMappingURL=sides-axial.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesBottom = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m16.5 19.5h-9v-1.5h9z\"\n })]\n});\nexport default sidesBottom;\n//# sourceMappingURL=sides-bottom.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesHorizontal = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4.5 7.5v9h1.5v-9z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18 7.5v9h1.5v-9z\"\n })]\n});\nexport default sidesHorizontal;\n//# sourceMappingURL=sides-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesLeft = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4.5 16.5v-9h1.5v9z\"\n })]\n});\nexport default sidesLeft;\n//# sourceMappingURL=sides-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesRight = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18 16.5v-9h1.5v9z\"\n })]\n});\nexport default sidesRight;\n//# sourceMappingURL=sides-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesTop = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m16.5 6h-9v-1.5h9z\"\n })]\n});\nexport default sidesTop;\n//# sourceMappingURL=sides-top.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesVertical = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 19.5h9v-1.5h-9z\"\n })]\n});\nexport default sidesVertical;\n//# sourceMappingURL=sides-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst siteLogo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 1.5c3.4 0 6.2 2.7 6.5 6l-1.2-.6-.8-.4c-.1 0-.2 0-.3-.1H16c-.1-.2-.4-.2-.7 0l-2.9 2.1L9 11.3h-.7L5.5 13v-1.1c0-3.6 2.9-6.5 6.5-6.5Zm0 13c-2.7 0-5-1.7-6-4l2.8-1.7 3.5 1.2h.4s.2 0 .4-.2l2.9-2.1.4.2c.6.3 1.4.7 2.1 1.1-.5 3.1-3.2 5.4-6.4 5.4Z\"\n })\n});\nexport default siteLogo;\n//# sourceMappingURL=site-logo.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst square = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fill: \"none\",\n d: \"M5.75 12.75V18.25H11.25M12.75 5.75H18.25V11.25\",\n stroke: \"currentColor\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"square\"\n })\n});\nexport default square;\n//# sourceMappingURL=square.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stack = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 4v5a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2V4H8v5a.5.5 0 0 0 .5.5h7A.5.5 0 0 0 16 9V4h1.5Zm0 16v-5a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v5H8v-5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v5h1.5Z\"\n })\n});\nexport default stack;\n//# sourceMappingURL=stack.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst starEmpty = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M9.706 8.646a.25.25 0 01-.188.137l-4.626.672a.25.25 0 00-.139.427l3.348 3.262a.25.25 0 01.072.222l-.79 4.607a.25.25 0 00.362.264l4.138-2.176a.25.25 0 01.233 0l4.137 2.175a.25.25 0 00.363-.263l-.79-4.607a.25.25 0 01.072-.222l3.347-3.262a.25.25 0 00-.139-.427l-4.626-.672a.25.25 0 01-.188-.137l-2.069-4.192a.25.25 0 00-.448 0L9.706 8.646zM12 7.39l-.948 1.921a1.75 1.75 0 01-1.317.957l-2.12.308 1.534 1.495c.412.402.6.982.503 1.55l-.362 2.11 1.896-.997a1.75 1.75 0 011.629 0l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39z\",\n clipRule: \"evenodd\"\n })\n});\nexport default starEmpty;\n//# sourceMappingURL=star-empty.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst starFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z\"\n })\n});\nexport default starFilled;\n//# sourceMappingURL=star-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst starHalf = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9.518 8.783a.25.25 0 00.188-.137l2.069-4.192a.25.25 0 01.448 0l2.07 4.192a.25.25 0 00.187.137l4.626.672a.25.25 0 01.139.427l-3.347 3.262a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.363.264l-4.137-2.176a.25.25 0 00-.233 0l-4.138 2.175a.25.25 0 01-.362-.263l.79-4.607a.25.25 0 00-.072-.222L4.753 9.882a.25.25 0 01.14-.427l4.625-.672zM12 14.533c.28 0 .559.067.814.2l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39v7.143z\"\n })\n});\nexport default starHalf;\n//# sourceMappingURL=star-half.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst store = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M19.75 11H21V8.667L19.875 4H4.125L3 8.667V11h1.25v8.75h15.5V11zm-1.5 0H5.75v7.25H10V13h4v5.25h4.25V11zm-5.5-5.5h2.067l.486 3.24.028.76H12.75v-4zm-3.567 0h2.067v4H8.669l.028-.76.486-3.24zm7.615 3.1l-.464-3.1h2.36l.806 3.345V9.5h-2.668l-.034-.9zM7.666 5.5h-2.36L4.5 8.845V9.5h2.668l.034-.9.464-3.1z\",\n clipRule: \"evenodd\"\n })\n});\nexport default store;\n//# sourceMappingURL=store.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stretchFullWidth = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 4h14v11H5V4Zm11 16H8v-1.5h8V20Z\"\n })\n});\nexport default stretchFullWidth;\n//# sourceMappingURL=stretch-full-width.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stretchWide = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 5.5H8V4h8v1.5ZM16 20H8v-1.5h8V20ZM5 9h14v6H5V9Z\"\n })\n});\nexport default stretchWide;\n//# sourceMappingURL=stretch-wide.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const styles = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20 12a8 8 0 1 1-16 0 8 8 0 0 1 16 0Zm-1.5 0a6.5 6.5 0 0 1-6.5 6.5v-13a6.5 6.5 0 0 1 6.5 6.5Z\"\n })\n});\nexport default styles;\n//# sourceMappingURL=styles.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst subscript = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.9 18.3l.8-1.2c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.1-.3-.4-.5-.6-.7-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.2 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3L15 19.4h4.3v-1.2h-2.4zM14.1 7.2h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z\"\n })\n});\nexport default subscript;\n//# sourceMappingURL=subscript.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst superscript = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.9 10.3l.8-1.3c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.2-.2-.4-.4-.7-.6-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.1 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3l-1.8 2.8h4.3v-1.2h-2.2zm-2.8-3.1h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z\"\n })\n});\nexport default superscript;\n//# sourceMappingURL=superscript.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst swatch = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7.1 5.7 8 6.9c.4-.3.9-.6 1.5-.8l-.6-1.4c-.7.3-1.3.6-1.8 1ZM4.6 8.9l1.4.6c.2-.5.5-1 .8-1.5l-1.2-.9c-.4.6-.8 1.2-1 1.8Zm14.8 0c-.3-.7-.6-1.3-1-1.8l-1.2.9c.3.4.6.9.8 1.5l1.4-.6ZM7.1 18.3c.6.4 1.2.8 1.8 1l.6-1.4c-.5-.2-1-.5-1.5-.8l-.9 1.2ZM5.5 12v-.9h-.7l-.7-.2v2l1.5-.2v-.9Zm-.7 3h-.2c.3.7.6 1.3 1 1.9l1.2-.9c-.3-.4-.6-.9-.8-1.5l-1.2.5Zm9.7 3 .5 1.2v.2c.7-.3 1.3-.6 1.9-1l-.9-1.2c-.4.3-.9.6-1.5.8Zm-2.5.5h-.9l-.2 1.3v.2h2l-.2-1.5h-.9Zm7.9-7.5-1.5.2V13h.7l.7.2v-2ZM18 14.5c-.2.5-.5 1-.8 1.5l1.2.9c.4-.6.8-1.2 1-1.8h-.2l-1.2-.6ZM11 4.1l.2 1.5H13V4.2h-1.9ZM14.5 6c.5.2 1 .5 1.5.8l.9-1.2c-.6-.4-1.2-.8-1.8-1L14.5 6Z\"\n })\n});\nexport default swatch;\n//# sourceMappingURL=swatch.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst symbolFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-17.6 1L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z\"\n })\n});\nexport default symbolFilled;\n//# sourceMappingURL=symbol-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst symbol = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-1 1.4l-5.6 5.6c-.1.1-.3.1-.4 0l-5.6-5.6c-.1-.1-.1-.3 0-.4l5.6-5.6s.1-.1.2-.1.1 0 .2.1l5.6 5.6c.1.1.1.3 0 .4zm-16.6-.4L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z\"\n })\n});\nexport default symbol;\n//# sourceMappingURL=symbol.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableColumnAfter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14.2c.1.9.9 1.7 1.8 1.8H19.2c1-.1 1.8-1 1.8-2V5c0-1.1-.9-2-2-2ZM8.5 19.5H5c-.3 0-.5-.2-.5-.5v-3.5h4v4Zm0-5.5h-4v-4h4v4Zm0-5.5h-4V5c0-.3.2-.5.5-.5h3.5v4Zm11 10.5c0 .3-.2.5-.5.5h-9v-15h9c.3 0 .5.2.5.5v14Zm-4-10.8H14v3h-3v1.5h3v3h1.5v-3h3v-1.5h-3v-3Z\"\n })\n});\nexport default tableColumnAfter;\n//# sourceMappingURL=table-column-after.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableColumnBefore = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1 .8 1.9 1.8 2H19.2c.9-.1 1.7-.9 1.8-1.8V5c0-1.1-.9-2-2-2Zm-5 16.5H5c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h9v15Zm5.5-.5c0 .3-.2.5-.5.5h-3.5v-4h4V19Zm0-5h-4v-4h4v4Zm0-5.5h-4v-4H19c.3 0 .5.2.5.5v3.5Zm-11 7.3H10v-3h3v-1.5h-3v-3H8.5v3h-3v1.5h3v3Z\"\n })\n});\nexport default tableColumnBefore;\n//# sourceMappingURL=table-column-before.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableColumnDelete = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14.2c.1.9.9 1.7 1.8 1.8H19.2c1-.1 1.8-1 1.8-2V5c0-1.1-.9-2-2-2ZM8.5 19.5H5c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h3.5v15Zm11-.5c0 .3-.2.5-.5.5h-9v-15h9c.3 0 .5.2.5.5v14ZM16.9 8.8l-2.1 2.1-2.1-2.1-1.1 1.1 2.1 2.1-2.1 2.1 1.1 1.1 2.1-2.1 2.1 2.1 1.1-1.1-2.1-2.1L18 9.9l-1.1-1.1Z\"\n })\n});\nexport default tableColumnDelete;\n//# sourceMappingURL=table-column-delete.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst tableOfContents = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20 9.484h-8.889v-1.5H20v1.5Zm0 7h-4.889v-1.5H20v1.5Zm-14 .032a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M13 15.516a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM8 8.484a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\"\n })]\n});\nexport default tableOfContents;\n//# sourceMappingURL=table-of-contents.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableRowAfter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H4.8c-.9.1-1.7.9-1.8 1.8V19.2c.1 1 1 1.8 2 1.8h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm-9 1.5h4v4h-4v-4ZM4.5 5c0-.3.2-.5.5-.5h3.5v4h-4V5Zm15 14c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-9h15v9Zm0-10.5h-4v-4H19c.3 0 .5.2.5.5v3.5Zm-8.3 10h1.5v-3h3V14h-3v-3h-1.5v3h-3v1.5h3v3Z\"\n })\n});\nexport default tableRowAfter;\n//# sourceMappingURL=table-row-after.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableRowBefore = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M21 5c0-1.1-.9-2-2-2H5c-1 0-1.9.8-2 1.8V19.2c.1.9.9 1.7 1.8 1.8H19c1.1 0 2-.9 2-2V5ZM4.5 14V5c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v9h-15Zm4 5.5H5c-.3 0-.5-.2-.5-.5v-3.5h4v4Zm5.5 0h-4v-4h4v4Zm5.5-.5c0 .3-.2.5-.5.5h-3.5v-4h4V19ZM11.2 10h-3V8.5h3v-3h1.5v3h3V10h-3v3h-1.5v-3Z\"\n })\n});\nexport default tableRowBefore;\n//# sourceMappingURL=table-row-before.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableRowDelete = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H4.8c-.9.1-1.7.9-1.8 1.8V19.2c.1 1 1 1.8 2 1.8h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-9h15v9Zm0-10.5h-15V5c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v3.5Zm-9.6 9.4 2.1-2.1 2.1 2.1 1.1-1.1-2.1-2.1 2.1-2.1-1.1-1.1-2.1 2.1-2.1-2.1-1.1 1.1 2.1 2.1-2.1 2.1 1.1 1.1Z\"\n })\n});\nexport default tableRowDelete;\n//# sourceMappingURL=table-row-delete.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst table = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm.5 2v6.2h-6.8V4.4h6.2c.3 0 .5.2.5.5ZM5 4.5h6.2v6.8H4.4V5.1c0-.3.2-.5.5-.5ZM4.5 19v-6.2h6.8v6.8H5.1c-.3 0-.5-.2-.5-.5Zm14.5.5h-6.2v-6.8h6.8v6.2c0 .3-.2.5-.5.5Z\"\n })\n});\nexport default table;\n//# sourceMappingURL=table.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tablet = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 4H7c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H7c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v12zm-7.5-.5h4V16h-4v1.5z\"\n })\n});\nexport default tablet;\n//# sourceMappingURL=tablet.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tag = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.75 4a.75.75 0 0 0-.75.75v7.826c0 .2.08.39.22.53l6.72 6.716a2.313 2.313 0 0 0 3.276-.001l5.61-5.611-.531-.53.532.528a2.315 2.315 0 0 0 0-3.264L13.104 4.22a.75.75 0 0 0-.53-.22H4.75ZM19 12.576a.815.815 0 0 1-.236.574l-5.61 5.611a.814.814 0 0 1-1.153 0L5.5 12.264V5.5h6.763l6.5 6.502a.816.816 0 0 1 .237.574ZM8.75 9.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"\n })\n});\nexport default tag;\n//# sourceMappingURL=tag.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tag = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.08 10.103h2.914L9.657 12h1.417L8.23 4H6.846L4 12h1.417l.663-1.897Zm1.463-4.137.994 2.857h-2l1.006-2.857ZM11 16H4v-1.5h7V16Zm1 0h8v-1.5h-8V16Zm-4 4H4v-1.5h4V20Zm7-1.5V20H9v-1.5h6Z\"\n })\n});\nexport default tag;\n//# sourceMappingURL=term-description.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textColor = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.9 6h-2l-4 11h1.9l1.1-3h4.2l1.1 3h1.9L12.9 6zm-2.5 6.5l1.5-4.9 1.7 4.9h-3.2z\"\n })\n});\nexport default textColor;\n//# sourceMappingURL=text-color.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textHorizontal = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.2 14.4h3.9L13 17h1.7L11 6.5H9.3L5.6 17h1.7l.9-2.6zm2-5.5 1.4 4H8.8l1.4-4zm7.4 7.5-1.3.8.8 1.4H5.5V20h14.3l-2.2-3.6z\"\n })\n});\nexport default textHorizontal;\n//# sourceMappingURL=text-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 5.6v1.7l2.6.9v3.9L7 13v1.7L17.5 11V9.3L7 5.6zm4.2 6V8.8l4 1.4-4 1.4zm-5.7 5.6V5.5H4v14.3l3.6-2.2-.8-1.3-1.3.9z\"\n })\n});\nexport default textVertical;\n//# sourceMappingURL=text-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst thumbsDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.8 4h-1.5l1 8h1.5l-1-8ZM17 5.8c-.1-1-1-1.8-2-1.8H6.8c-.9 0-1.7.6-1.9 1.4l-1.8 6C2.7 12.7 3.7 14 5 14h4.4l-.8 3.6c-.3 1.3.7 2.4 1.9 2.4h.2c.6 0 1.2-.3 1.6-.8l5-6.6c.3-.4.5-.9.4-1.5L17 5.7Zm-.9 5.9-5 6.6c0 .1-.2.2-.4.2h-.2c-.3 0-.6-.3-.5-.6l.8-3.6c.1-.4 0-.9-.3-1.3s-.7-.6-1.2-.6H4.9c-.3 0-.6-.3-.5-.6l1.8-6c0-.2.3-.4.5-.4h8.2c.3 0 .5.2.5.4l.7 5.4v.4Z\"\n })\n});\nexport default thumbsDown;\n//# sourceMappingURL=thumbs-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst thumbsUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m3 12 1 8h1.5l-1-8H3Zm15.8-2h-4.4l.8-3.6c.3-1.3-.7-2.4-1.9-2.4h-.2c-.6 0-1.2.3-1.6.8l-5 6.6c-.3.4-.4.8-.4 1.2v.2l.7 5.4v.2c.2.9 1 1.5 1.9 1.5h8.2c.9 0 1.7-.6 1.9-1.4l1.8-6c.4-1.3-.6-2.6-1.9-2.6Zm.5 2.1-1.8 6c0 .2-.3.4-.5.4H8.8c-.3 0-.5-.2-.5-.4l-.7-5.4v-.4l5-6.6c0-.1.2-.2.4-.2h.2c.3 0 .6.3.5.6l-.8 3.6c-.1.4 0 .9.3 1.3s.7.6 1.2.6h4.4c.3 0 .6.3.5.6Z\"\n })\n});\nexport default thumbsUp;\n//# sourceMappingURL=thumbs-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tip = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 15.8c-3.7 0-6.8-3-6.8-6.8s3-6.8 6.8-6.8c3.7 0 6.8 3 6.8 6.8s-3.1 6.8-6.8 6.8zm0-12C9.1 3.8 6.8 6.1 6.8 9s2.4 5.2 5.2 5.2c2.9 0 5.2-2.4 5.2-5.2S14.9 3.8 12 3.8zM8 17.5h8V19H8zM10 20.5h4V22h-4z\"\n })\n});\nexport default tip;\n//# sourceMappingURL=tip.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst title = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m4 5.5h2v6.5h1.5v-6.5h2v-1.5h-5.5zm16 10.5h-16v-1.5h16zm-7 4h-9v-1.5h9z\"\n })\n});\nexport default title;\n//# sourceMappingURL=title.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tool = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.103 7.128l2.26-2.26a4 4 0 00-5.207 4.804L5.828 15a2 2 0 102.828 2.828l5.329-5.328a4 4 0 004.804-5.208l-2.261 2.26-1.912-.512-.513-1.912zm-7.214 9.64a.5.5 0 11.707-.707.5.5 0 01-.707.707z\"\n })\n});\nexport default tool;\n//# sourceMappingURL=tool.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst trash = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 5.5A2.25 2.25 0 0 0 9.878 7h4.244A2.251 2.251 0 0 0 12 5.5ZM12 4a3.751 3.751 0 0 0-3.675 3H5v1.5h1.27l.818 8.997a2.75 2.75 0 0 0 2.739 2.501h4.347a2.75 2.75 0 0 0 2.738-2.5L17.73 8.5H19V7h-3.325A3.751 3.751 0 0 0 12 4Zm4.224 4.5H7.776l.806 8.861a1.25 1.25 0 0 0 1.245 1.137h4.347a1.25 1.25 0 0 0 1.245-1.137l.805-8.861Z\"\n })\n});\nexport default trash;\n//# sourceMappingURL=trash.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst trendingDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.195 8.245a.75.75 0 011.06-.05l5.004 4.55 4.025-3.521L19 13.939V10.75h1.5v5.75h-5.75V15h3.19l-3.724-3.723-3.975 3.478-5.995-5.45a.75.75 0 01-.051-1.06z\"\n })\n});\nexport default trendingDown;\n//# sourceMappingURL=trending-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst trendingUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3.445 16.505a.75.75 0 001.06.05l5.005-4.55 4.024 3.521 4.716-4.715V14h1.5V8.25H14v1.5h3.19l-3.724 3.723L9.49 9.995l-5.995 5.45a.75.75 0 00-.05 1.06z\"\n })\n});\nexport default trendingUp;\n//# sourceMappingURL=trending-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst typography = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m8.6 7 3.9 10.8h-1.7l-1-2.8H5.7l-1 2.8H3L6.9 7h1.7Zm-2.4 6.6h3L7.7 9.3l-1.5 4.3ZM17.691 8.879c.473 0 .88.055 1.221.165.352.1.643.264.875.495.274.253.456.572.544.957.088.374.132.83.132 1.37v4.554c0 .274.033.472.099.593.077.11.198.166.363.166.11 0 .215-.028.313-.083.11-.055.237-.137.38-.247l.165.28a3.304 3.304 0 0 1-.71.446c-.23.11-.527.165-.89.165-.352 0-.639-.055-.858-.165-.22-.11-.386-.27-.495-.479-.1-.209-.149-.468-.149-.775-.286.462-.627.814-1.023 1.056-.396.242-.858.363-1.386.363-.462 0-.858-.088-1.188-.264a1.752 1.752 0 0 1-.742-.726 2.201 2.201 0 0 1-.248-1.056c0-.484.11-.875.33-1.172.22-.308.5-.556.841-.742.352-.187.721-.341 1.106-.462.396-.132.765-.253 1.106-.363.351-.121.637-.259.857-.413.232-.154.347-.357.347-.61V10.81c0-.396-.066-.71-.198-.941a1.05 1.05 0 0 0-.511-.511 1.763 1.763 0 0 0-.76-.149c-.253 0-.522.039-.808.116a1.165 1.165 0 0 0-.677.412 1.1 1.1 0 0 1 .595.396c.165.187.247.424.247.71 0 .307-.104.55-.313.726-.198.176-.451.263-.76.263-.34 0-.594-.104-.758-.313a1.231 1.231 0 0 1-.248-.759c0-.297.072-.539.214-.726.154-.187.352-.363.595-.528.264-.176.6-.324 1.006-.445.418-.121.88-.182 1.386-.182Zm.99 3.729a1.57 1.57 0 0 1-.528.462c-.231.121-.479.248-.742.38a5.377 5.377 0 0 0-.76.462c-.23.165-.423.38-.577.643-.154.264-.231.6-.231 1.007 0 .429.11.77.33 1.023.22.242.517.363.891.363.308 0 .594-.088.858-.264.275-.176.528-.44.759-.792v-3.284Z\"\n })\n});\nexport default typography;\n//# sourceMappingURL=typography.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst undo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.3 11.7c-.6-.6-1.4-.9-2.3-.9H6.7l2.9-3.3-1.1-1-4.5 5L8.5 16l1-1-2.7-2.7H16c.5 0 .9.2 1.3.5 1 1 1 3.4 1 4.5v.3h1.5v-.2c0-1.5 0-4.3-1.5-5.7z\"\n })\n});\nexport default undo;\n//# sourceMappingURL=undo.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ungroup = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4h-7c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 9c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7zm-5 5c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h1V9H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-1h-1.5v1z\"\n })\n});\nexport default ungroup;\n//# sourceMappingURL=ungroup.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst unlock = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8h1.5c0-1.2 1-2.2 2.2-2.2s2.2 1 2.2 2.2v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1z\"\n })\n});\nexport default unlock;\n//# sourceMappingURL=unlock.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst unseen = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.7 12.7s0-.1-.1-.2c0-.2-.2-.4-.4-.6-.3-.5-.9-1.2-1.6-1.8-.7-.6-1.5-1.3-2.6-1.8l-.6 1.4c.9.4 1.6 1 2.1 1.5.6.6 1.1 1.2 1.4 1.6.1.2.3.4.3.5v.1l.7-.3.7-.3Zm-5.2-9.3-1.8 4c-.5-.1-1.1-.2-1.7-.2-3 0-5.2 1.4-6.6 2.7-.7.7-1.2 1.3-1.6 1.8-.2.3-.3.5-.4.6 0 0 0 .1-.1.2s0 0 .7.3l.7.3V13c0-.1.2-.3.3-.5.3-.4.7-1 1.4-1.6 1.2-1.2 3-2.3 5.5-2.3H13v.3c-.4 0-.8-.1-1.1-.1-1.9 0-3.5 1.6-3.5 3.5s.6 2.3 1.6 2.9l-2 4.4.9.4 7.6-16.2-.9-.4Zm-3 12.6c1.7-.2 3-1.7 3-3.5s-.2-1.4-.6-1.9L12.4 16Z\"\n })\n});\nexport default unseen;\n//# sourceMappingURL=unseen.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst update = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m11.3 17.2-5-5c-.1-.1-.1-.3 0-.4l2.3-2.3-1.1-1-2.3 2.3c-.7.7-.7 1.8 0 2.5l5 5H7.5v1.5h5.3v-5.2h-1.5v2.6zm7.5-6.4-5-5h2.7V4.2h-5.2v5.2h1.5V6.8l5 5c.1.1.1.3 0 .4l-2.3 2.3 1.1 1.1 2.3-2.3c.6-.7.6-1.9-.1-2.5z\"\n })\n});\nexport default update;\n//# sourceMappingURL=update.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst upload = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 15v3.5H13V6.7l4.5 4.1 1-1.1-6.2-5.8-5.8 5.8 1 1.1 4-4v11.7h-6V15H4v5h16v-5z\"\n })\n});\nexport default upload;\n//# sourceMappingURL=upload.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst verse = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.8 2l-.9.3c-.1 0-3.6 1-5.2 2.1C10 5.5 9.3 6.5 8.9 7.1c-.6.9-1.7 4.7-1.7 6.3l-.9 2.3c-.2.4 0 .8.4 1 .1 0 .2.1.3.1.3 0 .6-.2.7-.5l.6-1.5c.3 0 .7-.1 1.2-.2.7-.1 1.4-.3 2.2-.5.8-.2 1.6-.5 2.4-.8.7-.3 1.4-.7 1.9-1.2s.8-1.2 1-1.9c.2-.7.3-1.6.4-2.4.1-.8.1-1.7.2-2.5 0-.8.1-1.5.2-2.1V2zm-1.9 5.6c-.1.8-.2 1.5-.3 2.1-.2.6-.4 1-.6 1.3-.3.3-.8.6-1.4.9-.7.3-1.4.5-2.2.8-.6.2-1.3.3-1.8.4L15 7.5c.3-.3.6-.7 1-1.1 0 .4 0 .8-.1 1.2zM6 20h8v-1.5H6V20z\"\n })\n});\nexport default verse;\n//# sourceMappingURL=verse.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst video = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h13.4c.4 0 .8.4.8.8v13.4zM10 15l5-3-5-3v6z\"\n })\n});\nexport default video;\n//# sourceMappingURL=video.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst widget = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 3H8V5H16V3H18V5C19.1046 5 20 5.89543 20 7V19C20 20.1046 19.1046 21 18 21H6C4.89543 21 4 20.1046 4 19V7C4 5.89543 4.89543 5 6 5V3ZM18 6.5H6C5.72386 6.5 5.5 6.72386 5.5 7V8H18.5V7C18.5 6.72386 18.2761 6.5 18 6.5ZM18.5 9.5H5.5V19C5.5 19.2761 5.72386 19.5 6 19.5H18C18.2761 19.5 18.5 19.2761 18.5 19V9.5ZM11 11H13V13H11V11ZM7 11V13H9V11H7ZM15 13V11H17V13H15Z\"\n })\n});\nexport default widget;\n//# sourceMappingURL=widget.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst wordpress = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"-2 -2 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z\"\n })\n});\nexport default wordpress;\n//# sourceMappingURL=wordpress.js.map","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","export const NEW_TAB_REL = 'noreferrer noopener';\nexport const NEW_TAB_TARGET = '_blank';\nexport const NOFOLLOW_REL = 'nofollow';\n","const deprecated = [];\n\nexport default deprecated;\n","/* eslint-disable @wordpress/i18n-text-domain */\nimport clsx from 'clsx';\nimport React, { useCallback } from 'react';\n\nimport {\n\tRichText,\n\tBlockControls,\n\tuseBlockProps,\n\tInspectorControls,\n\t// @ts-ignore - Experimental components\n\tAlignmentControl,\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t// __experimentalGetElementClassName as getElementClassName,\n\t// @ts-expect-error\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalUseColorProps as useColorProps,\n\t// @ts-expect-error\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalUseBorderProps as useBorderProps,\n\t// @ts-expect-error\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n\t// @ts-expect-error\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\t// @ts-expect-error\n\tuseSettings,\n\tstore as blockEditorStore,\n\t// @ts-ignore - Experimental components\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport {\n\tcloneBlock,\n\tcreateBlock,\n\tgetDefaultBlockName,\n} from '@wordpress/blocks';\nimport {\n\tFlex,\n\tButton,\n\tPopover,\n\tFlexItem,\n\tTextControl,\n\tToolbarButton,\n\tToggleControl,\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalToolsPanel as ToolsPanel,\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tNotice,\n\tPanel,\n\tPanelBody,\n\tIcon,\n} from '@wordpress/components';\nimport { __ } from '@popup-maker/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\n\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport {\n\tlinkOff,\n\tmegaphone,\n\tedit,\n\tchevronDown,\n\tcheck,\n\tchevronUp,\n\texternal,\n\tsettings,\n} from '@wordpress/icons';\n\nimport { CallToActionSelectControl } from '@popup-maker/components';\nimport { callToActionStore } from '@popup-maker/core-data';\nimport { Editor as BaseEditor, withModal } from '@popup-maker/cta-editor';\n\nimport { removeAnchorTag, useToolsPanelDropdownMenuProps } from '../utils';\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\n\nimport type { BlockInstance } from '@wordpress/blocks';\n\nconst Editor = withModal( BaseEditor );\n\ninterface ButtonAttributes {\n\ttagName: string;\n\ttextAlign?: string;\n\tlinkTarget?: string;\n\tplaceholder?: string;\n\trel?: string;\n\tstyle?: {\n\t\tborder?: {\n\t\t\tradius?: number;\n\t\t};\n\t};\n\ttext: string;\n\turl?: string;\n\twidth?: number;\n\tmetadata?: any;\n\tctaId?: number;\n}\n\ninterface ButtonEditProps {\n\tattributes: ButtonAttributes;\n\tsetAttributes: ( attrs: Partial< ButtonAttributes > ) => void;\n\tclassName?: string;\n\tisSelected: boolean;\n\tonReplace: ( blocks: any[] ) => void;\n\tmergeBlocks: ( forward: boolean ) => void;\n\tclientId: string;\n\tcontext: any;\n}\n\ninterface WidthPanelProps {\n\tselectedWidth?: number;\n\tsetAttributes: ( attrs: Partial< ButtonAttributes > ) => void;\n}\n\nfunction useEnter( props: { content: string; clientId: string } ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst getBlock = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlock,\n\t\t[]\n\t);\n\tconst getBlockRootClientId = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlockRootClientId,\n\t\t[]\n\t);\n\tconst getBlockIndex = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlockIndex,\n\t\t[]\n\t);\n\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\n\treturn useRefEffect( ( element: HTMLElement ) => {\n\t\tfunction onKeyDown( event: KeyboardEvent ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() || '' );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n\nfunction WidthPanel( { selectedWidth, setAttributes }: WidthPanelProps ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps() as {\n\t\tlabel: string;\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings', 'default' ) }\n\t\t\tresetAll={ () => setAttributes( { width: undefined } ) }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t// as=\"div\"\n\t\t>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Button width', 'default' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! selectedWidth }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tas=\"div\"\n\t\t\t\t// @ts-ignore - Property does exist.\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t>\n\t\t\t\t<ToggleGroupControl\n\t\t\t\t\tlabel={ __( 'Button width', 'default' ) }\n\t\t\t\t\tvalue={ selectedWidth }\n\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\tsetAttributes( { width: Number( newWidth ) } )\n\t\t\t\t\t}\n\t\t\t\t\tisBlock\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t>\n\t\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\tvalue={ widthValue }\n\t\t\t\t\t\t\t\tlabel={ `${ widthValue }%` }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ToggleGroupControl>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nfunction ButtonEdit( props: ButtonEditProps ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t\tcontext,\n\t} = props;\n\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t\tmetadata,\n\t\tctaId,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\t/**\n\t * Flag: Whether the user is explicitly editing the CTA.\n\t */\n\tconst [ isExplicitlyEditing, setIsExplicitlyEditing ] = useState( false );\n\n\t/**\n\t * Flag: Whether to show the editor for creating a new CTA.\n\t */\n\tconst [ newCta, setNewCta ] = useState< number | boolean >( false );\n\n\t/**\n\t * Flag: Whether the user is editing a CTA.\n\t *\n\t * True when selected and has CTA or when explicitly editing.\n\t */\n\tconst isEditingCTA = isSelected && ( isExplicitlyEditing || !! ctaId );\n\n\t/**\n\t * State: The anchor element for the popover.\n\t *\n\t * REVIEW: Use internal state instead of a ref to make sure that the component \\\n\t * REVIEW: re-renders when the popover's anchor updates.\n\t */\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState< HTMLElement | null >(\n\t\tnull\n\t);\n\n\t/**\n\t * Function: Handle keydown events.\n\t *\n\t * @param {React.KeyboardEvent< HTMLDivElement >} event Keyboard event.\n\t */\n\tfunction onKeyDown( event: React.KeyboardEvent< HTMLDivElement > ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tevent.preventDefault();\n\t\t\tstartEditing();\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Refs.\n\tconst ref = useRef< HTMLElement >( null );\n\tconst richTextRef = useRef< HTMLInputElement >( null );\n\n\t// Block editor props.\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\n\t// Block editor state.\n\tconst blockEditingMode = useBlockEditingMode();\n\n\t// CTA settings.\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\t// Get available CTAs from the store\n\tconst selectedCTA = useSelect(\n\t\t( select ) =>\n\t\t\tctaId\n\t\t\t\t? select( callToActionStore ).getCallToAction( ctaId )\n\t\t\t\t: undefined,\n\t\t[ ctaId ]\n\t);\n\n\t// Get current post information to conditionally add post ID to URL\n\tconst { currentPostId, currentPostType } = useSelect(\n\t\t( select ) => ( {\n\t\t\tcurrentPostId: select( editorStore ).getCurrentPostId(),\n\t\t\tcurrentPostType: select( editorStore ).getCurrentPostType(),\n\t\t} ),\n\t\t[]\n\t);\n\n\t// Get localized home URL\n\tconst homeUrl = window.popupMakerBlockLibrary?.homeUrl || '/';\n\n\t/**\n\t * Helper function to generate CTA URLs with proper base URL and conditional parameters.\n\t * Has direct access to component scope variables.\n\t *\n\t * @param {string} ctaUuid - The CTA UUID\n\t * @param {boolean} notrack - Whether to add notrack parameter\n\t * @return {string} The generated CTA URL\n\t */\n\tconst generateCtaUrl = useCallback(\n\t\t( ctaUuid: string, notrack = false ): string => {\n\t\t\tconst params = new URLSearchParams();\n\t\t\tparams.set( 'cta', ctaUuid );\n\n\t\t\t// Add post ID if editing a popup\n\t\t\tif ( currentPostType === 'popup' && currentPostId ) {\n\t\t\t\tparams.set( 'pid', currentPostId.toString() );\n\t\t\t}\n\n\t\t\t// Add notrack parameter if requested\n\t\t\tif ( notrack ) {\n\t\t\t\tparams.set( 'notrack', '1' );\n\t\t\t}\n\n\t\t\t// Remove trailing slash from home URL and add query parameters\n\t\t\tconst baseUrl = homeUrl.replace( /\\/$/, '' );\n\t\t\treturn `${ baseUrl }/?${ params.toString() }`;\n\t\t},\n\t\t[ currentPostId, currentPostType, homeUrl ]\n\t);\n\n\tconst { createCallToAction, changeEditorId } =\n\t\tuseDispatch( callToActionStore );\n\n\tfunction startEditing() {\n\t\tsetIsExplicitlyEditing( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\tctaId: undefined,\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsExplicitlyEditing( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsExplicitlyEditing( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Update URL when CTA changes\n\tuseEffect( () => {\n\t\tif ( ctaId ) {\n\t\t\tif ( selectedCTA ) {\n\t\t\t\t// Generate CTA URL using helper function\n\t\t\t\tconst ctaUrl = generateCtaUrl( selectedCTA.uuid );\n\n\t\t\t\tsetAttributes( {\n\t\t\t\t\turl: ctaUrl,\n\t\t\t\t\tlinkTarget: selectedCTA.settings.opensInNewTab\n\t\t\t\t\t\t? NEW_TAB_TARGET\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\trel: selectedCTA.settings.nofollow\n\t\t\t\t\t\t? NOFOLLOW_REL\n\t\t\t\t\t\t: undefined,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\turl: undefined,\n\t\t\t\t\tlinkTarget: undefined,\n\t\t\t\t\trel: undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [\n\t\tctaId,\n\t\tselectedCTA,\n\t\tcurrentPostType,\n\t\tcurrentPostId,\n\t\thomeUrl,\n\t\tsetAttributes,\n\t\tgenerateCtaUrl,\n\t] );\n\n\tconst useEnterRef = useEnter( { content: text, clientId } );\n\tconst mergedRef = useMergeRefs( [\n\t\tuseEnterRef,\n\t\trichTextRef,\n\t] ) as unknown as React.ForwardedRef< keyof HTMLElementTagNameMap >;\n\n\tconst [ showAdvancedSettings, setShowAdvancedSettings ] = useState( false );\n\n\t// Show popover when:\n\t// 1. Link tag is selected AND\n\t// 2. Either:\n\t// a. A CTA is selected (showing view mode) OR\n\t// b. User is explicitly editing (showing edit mode)\n\t// 3. We have a valid anchor element\n\tconst showPopover =\n\t\tisLinkTag &&\n\t\tisSelected &&\n\t\t( !! ctaId || isExplicitlyEditing ) &&\n\t\t!! popoverAnchor;\n\n\tconst [ _forceRefresh, setForceRefresh ] = useState( 0 );\n\n\t// If a new CTA is created, don't show the popover\n\tuseEffect( () => {\n\t\tasync function createNewCTA() {\n\t\t\tif ( false === newCta ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( true === newCta ) {\n\t\t\t\tconst createdCta = await createCallToAction( {\n\t\t\t\t\ttitle: __( 'New call to action', 'popup-maker' ),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t} );\n\n\t\t\t\tif ( createdCta ) {\n\t\t\t\t\tchangeEditorId( createdCta.id );\n\t\t\t\t\tsetNewCta( createdCta.id );\n\t\t\t\t\t// Set editing state after the CTA is created, not before\n\t\t\t\t\tsetIsExplicitlyEditing( true );\n\t\t\t\t} else {\n\t\t\t\t\t// Reset if creation failed\n\t\t\t\t\tsetNewCta( false );\n\t\t\t\t}\n\t\t\t} else if ( typeof newCta === 'number' && newCta > 0 ) {\n\t\t\t\t// CTA was already created, just ensure editing state\n\t\t\t\tsetIsExplicitlyEditing( true );\n\t\t\t}\n\n\t\t\tsetForceRefresh( ( prev ) => prev + 1 );\n\t\t}\n\n\t\tcreateNewCTA();\n\t}, [ newCta, createCallToAction, changeEditorId ] );\n\n\tconst [ fluidTypographySettings, layout ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\t// @ts-expect-error\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\n\tconst ctaErrorFromStore = useSelect(\n\t\t( select ) => {\n\t\t\tconst state = select( callToActionStore );\n\t\t\tconst message = ctaId\n\t\t\t\t? state.getFetchError( ctaId ) || null\n\t\t\t\t: state.getFetchError() || null;\n\n\t\t\treturn message === null\n\t\t\t\t? null\n\t\t\t\t: message.replace(\n\t\t\t\t\t\t'Invalid post ID.',\n\t\t\t\t\t\t__( 'Call to action not found.', 'popup-maker' )\n\t\t\t\t );\n\t\t},\n\t\t[ ctaId ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-popup-maker-cta-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...blockProps.style,\n\t\t\t\t\tborder: ctaErrorFromStore ? '2px solid red' : undefined,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text', 'default' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…', 'default' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore Property does exist.\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-popup-maker-cta-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\ttypographyProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t\t[ `has-custom-font-size` ]:\n\t\t\t\t\t\t\t\tblockProps.style.fontSize,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t\t...typographyProps.style,\n\t\t\t\t\t\twritingMode: undefined,\n\t\t\t\t\t} }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! selectedCTA && isLinkTag && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ megaphone }\n\t\t\t\t\t\ttitle={ __( 'Add Call to Action', 'popup-maker' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ (\n\t\t\t\t\t\t\tevent:\n\t\t\t\t\t\t\t\t| React.MouseEvent< HTMLButtonElement >\n\t\t\t\t\t\t\t\t| React.MouseEvent< HTMLAnchorElement >\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tstartEditing();\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ selectedCTA && isLinkTag && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Remove Call to Action', 'popup-maker' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ showPopover && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsExplicitlyEditing( false );\n\t\t\t\t\t\t( richTextRef.current as any )?.focus?.();\n\t\t\t\t\t} }\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tfocusOnMount={ isEditingCTA ? 'firstElement' : false }\n\t\t\t\t\t__unstableSlotName=\"__unstable-block-tools-after\"\n\t\t\t\t\tshift\n\t\t\t\t\tclassName=\"block-editor-link-control\"\n\t\t\t\t>\n\t\t\t\t\t<div style={ { width: '300px', padding: '10px' } }>\n\t\t\t\t\t\t{ ctaErrorFromStore && (\n\t\t\t\t\t\t\t<div className=\"pum-cta-error-notice\">\n\t\t\t\t\t\t\t\t<Notice status=\"error\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t\t{ ctaErrorFromStore }\n\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isExplicitlyEditing || ctaErrorFromStore ? (\n\t\t\t\t\t\t\t<Flex direction=\"column\">\n\t\t\t\t\t\t\t\t<Flex align=\"center\" justify=\"space-between\">\n\t\t\t\t\t\t\t\t\t<FlexItem style={ { flexGrow: 1 } }>\n\t\t\t\t\t\t\t\t\t\t<CallToActionSelectControl\n\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\tctaId && ! ctaErrorFromStore\n\t\t\t\t\t\t\t\t\t\t\t\t\t? ctaId\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 0\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonChange={ async (\n\t\t\t\t\t\t\t\t\t\t\t\tnewId: number | string\n\t\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\t\tif ( newId === 'create_new' ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetNewCta( true );\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\t\tctaId: Number( newId ),\n\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\t\t// Close editing mode after selection\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsExplicitlyEditing( false );\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Search or create CTA…',\n\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tmultiple={ false }\n\t\t\t\t\t\t\t\t\t\t\textraOptions={ [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: 'create_new',\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'+ Create new CTA',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\ticon={ check }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Save',\n\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsExplicitlyEditing( false )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tselectedCTA && (\n\t\t\t\t\t\t\t\t<Flex direction=\"column\" gap={ 3 }>\n\t\t\t\t\t\t\t\t\t{ /* Header with title and ID badge */ }\n\t\t\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\t\t\tjustify=\"space-between\"\n\t\t\t\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: '16px',\n\t\t\t\t\t\t\t\t\t\t\t\tfontWeight: '500',\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: '#1e1e1e',\n\t\t\t\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\t\t\t\ttextOverflow: 'ellipsis',\n\t\t\t\t\t\t\t\t\t\t\t\twhiteSpace: 'nowrap',\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\ttitle={ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\t\tselectedCTA?.title?.rendered\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\t\tselectedCTA?.title?.rendered\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\ttextDecoration: 'none',\n\t\t\t\t\t\t\t\t\t\t\t\t// color: '#1e1e1e',\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tisDestructive={ true }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Remove',\n\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t></Button>\n\t\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t\t\t{ /* Action buttons */ }\n\t\t\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\t\t\tjustify=\"space-between\"\n\t\t\t\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\tcolor: '#1e1e1e',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: '12px',\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: '#666',\n\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: '#f0f0f0',\n\t\t\t\t\t\t\t\t\t\t\t\tpadding: '2px 8px',\n\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: '12px',\n\t\t\t\t\t\t\t\t\t\t\t\tfontWeight: '500',\n\t\t\t\t\t\t\t\t\t\t\t\tflexGrow: 0.5,\n\t\t\t\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\t\t\t\ttextOverflow: 'ellipsis',\n\t\t\t\t\t\t\t\t\t\t\t\twhiteSpace: 'nowrap',\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tID: { selectedCTA?.id }\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: '6px',\n\t\t\t\t\t\t\t\t\t\t\t\ttextDecoration: 'none',\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: '#1e1e1e',\n\t\t\t\t\t\t\t\t\t\t\t\tpadding: '.25rem 0.75rem',\n\t\t\t\t\t\t\t\t\t\t\t\t// boxShadow:\n\t\t\t\t\t\t\t\t\t\t\t\t// \t'inset 0 0 0 1px #e4e4e7,0 0 0 currentColor',\n\t\t\t\t\t\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t/* Preview link with tracking bypass */\n\t\t\t\t\t\t\t\t\t\t\thref={ generateCtaUrl(\n\t\t\t\t\t\t\t\t\t\t\t\tselectedCTA.uuid,\n\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tshowTooltip={ true }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Preview Call To Action',\n\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Preview', 'popup-maker' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: '6px',\n\n\t\t\t\t\t\t\t\t\t\t\t\ttextDecoration: 'none',\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: '#1e1e1e',\n\t\t\t\t\t\t\t\t\t\t\t\tpadding: '.25rem 0.75rem',\n\t\t\t\t\t\t\t\t\t\t\t\t// boxShadow:\n\t\t\t\t\t\t\t\t\t\t\t\t// \t'inset 0 0 0 1px #e4e4e7,0 0 0 currentColor',\n\t\t\t\t\t\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\thref={ `edit.php?post_type=popup&page=popup-maker-call-to-actions&edit=${ selectedCTA.id }` }\n\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Edit Call to Action',\n\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshowTooltip={ true }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Edit', 'popup-maker' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</Flex>\n\n\t\t\t\t\t\t\t\t\t{ /* Advanced settings toggle */ }\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\ticon={ settings }\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetShowAdvancedSettings(\n\t\t\t\t\t\t\t\t\t\t\t\t! showAdvancedSettings\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\t\t\tjustifyContent: 'space-between',\n\t\t\t\t\t\t\t\t\t\t\tborder: '1px solid #ddd',\n\t\t\t\t\t\t\t\t\t\t\tborderRadius: '6px',\n\t\t\t\t\t\t\t\t\t\t\tpadding: '8px 12px',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tshowTooltip={ true }\n\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Advanced Options',\n\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Advanced Options',\n\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\tshowAdvancedSettings\n\t\t\t\t\t\t\t\t\t\t\t\t\t? chevronUp\n\t\t\t\t\t\t\t\t\t\t\t\t\t: chevronDown\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t\t\t\t{ /* Advanced settings panel */ }\n\t\t\t\t\t\t\t\t\t{ showAdvancedSettings && (\n\t\t\t\t\t\t\t\t\t\t<Flex direction=\"column\" gap={ 3 }>\n\t\t\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Open in new window',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tchecked={ opensInNewTab }\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlinkTarget: value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? NEW_TAB_TARGET\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Add rel=\"nofollow\"',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tchecked={ nofollow }\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trel: value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? NOFOLLOW_REL\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t{ /* <ToggleControl\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Track clicks',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tchecked={ true }\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={ () => {} }\n\t\t\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t\t/> */ }\n\t\t\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t{ /* TODO Add a panel for the CTA settings, including option to select the CTA to be used.\t */ }\n\t\t\t<InspectorControls group=\"settings\">\n\t\t\t\t<Panel header={ __( 'CTA Settings', 'popup-maker' ) }>\n\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t<CallToActionSelectControl\n\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t'Choose a Call to Action',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ ctaId }\n\t\t\t\t\t\t\tplaceholder={ __(\n\t\t\t\t\t\t\t\t'Search or create CTA…',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ async ( newId: number | string ) => {\n\t\t\t\t\t\t\t\tif ( newId === 'create_new' ) {\n\t\t\t\t\t\t\t\t\tsetNewCta( true );\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tctaId: Number( newId ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t// Ensure editing state is closed after selection from inspector\n\t\t\t\t\t\t\t\tsetIsExplicitlyEditing( false );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\textraOptions={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: 'create_new',\n\t\t\t\t\t\t\t\t\tlabel: __(\n\t\t\t\t\t\t\t\t\t\t'+ Create new CTA',\n\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</Panel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel', 'default' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\n\t\t\t{ typeof newCta === 'number' && newCta > 0 && (\n\t\t\t\t<Editor\n\t\t\t\t\tkey={ newCta }\n\t\t\t\t\tid={ newCta }\n\t\t\t\t\tdefaultValues={ { status: 'publish' } }\n\t\t\t\t\tonSave={ ( values ) => {\n\t\t\t\t\t\tsetAttributes( { ctaId: values.id } );\n\t\t\t\t\t} }\n\t\t\t\t\tcloseOnSave={ true }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetNewCta( false );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n/* eslint-enable @wordpress/i18n-text-domain */\n","// extracted by mini-css-extract-plugin\nexport {};","import './editor.scss';\nimport './style.scss';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@popup-maker/i18n';\nimport { button as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tclassName: 'is-style-fill',\n\t\t\ttext: __( 'Call to Action', 'popup-maker' ),\n\t\t},\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tmerge: ( a: { text: string }, { text = '' }: { text: string } ) => ( {\n\t\t...a,\n\t\ttext: ( a.text || '' ) + text,\n\t} ),\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n","/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport React from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tgetTypographyClassesAndStyles,\n\t// @ts-expect-error\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t// @ts-expect-error\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t// @ts-expect-error\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n\t// @ts-expect-error\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n} from '@wordpress/block-editor';\n\nexport default function save( { attributes, className } ) {\n\tconst {\n\t\ttagName,\n\t\ttype,\n\t\ttextAlign,\n\t\tfontSize,\n\t\tlinkTarget,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\ttitle,\n\t\turl,\n\t\twidth,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\tconst isButtonTag = 'button' === TagName;\n\tconst buttonType = type || 'button';\n\tconst borderProps = getBorderClassesAndStyles( attributes );\n\tconst colorProps = getColorClassesAndStyles( attributes );\n\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\t// @ts-expect-error\n\tconst typographyProps = getTypographyClassesAndStyles( attributes );\n\n\tconst buttonClasses = clsx(\n\t\t'pum-cta',\n\t\t'wp-block-popup-maker-cta-button__link',\n\t\t// Themes like Twenty Twenty-Three use these classes to style buttons.\n\t\t'wp-element-button',\n\t\tcolorProps.className,\n\t\tborderProps.className,\n\t\ttypographyProps.className,\n\t\t{\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t// block support.\n\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t\t}\n\t\t// __experimentalGetElementClassName( 'button' )\n\t);\n\tconst buttonStyle = {\n\t\t...borderProps.style,\n\t\t...colorProps.style,\n\t\t...spacingProps.style,\n\t\t...shadowProps.style,\n\t\t...typographyProps.style,\n\t\twritingMode: undefined,\n\t};\n\n\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t// if it had already been assigned, for the sake of backward-compatibility.\n\t// A title will no longer be assigned for new or updated button block links.\n\n\tconst wrapperClasses = clsx( className, {\n\t\t[ `has-custom-width wp-block-popup-maker-cta-button__width-${ width }` ]:\n\t\t\tBoolean( width ),\n\t} );\n\n\treturn (\n\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t<RichText.Content\n\t\t\t\ttagName={ TagName }\n\t\t\t\ttype={ isButtonTag ? buttonType : null }\n\t\t\t\tclassName={ buttonClasses }\n\t\t\t\thref={ isButtonTag ? null : url }\n\t\t\t\ttitle={ title }\n\t\t\t\tstyle={ buttonStyle }\n\t\t\t\tvalue={ text }\n\t\t\t\ttarget={ isButtonTag ? null : linkTarget }\n\t\t\t\trel={ isButtonTag ? null : rel }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n","// extracted by mini-css-extract-plugin\nexport {};","const deprecated = [];\n\nexport default deprecated;\n","/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport React from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\n\nconst DEFAULT_BLOCK = {\n\tname: 'popup-maker/cta-button',\n\tattributesToCopy: [\n\t\t'backgroundColor',\n\t\t'border',\n\t\t'className',\n\t\t'fontFamily',\n\t\t'fontSize',\n\t\t'gradient',\n\t\t'style',\n\t\t'textColor',\n\t\t'width',\n\t],\n};\n\nfunction ButtonsEdit( { attributes, className } ) {\n\tconst { fontSize, layout, style } = attributes;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( className, {\n\t\t\t'has-custom-font-size': fontSize || style?.typography?.fontSize,\n\t\t} ),\n\t} );\n\tconst { hasButtonVariations } = useSelect( ( select ) => {\n\t\tconst buttonVariations = (\n\t\t\tselect( blocksStore ) as {\n\t\t\t\tgetBlockVariations: ( name: string, type: string ) => any;\n\t\t\t}\n\t\t ).getBlockVariations( 'popup-maker/cta-button', 'inserter' );\n\t\treturn {\n\t\t\thasButtonVariations: buttonVariations.length > 0,\n\t\t};\n\t}, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\t// @ts-ignore: It exists in core.\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t// This check should be handled by the `Inserter` internally to be consistent across all blocks that use it.\n\t\tdirectInsert: ! hasButtonVariations,\n\t\ttemplate: [ [ 'popup-maker/cta-button' ] ],\n\t\ttemplateInsertUpdatesSelection: true,\n\t\torientation: layout?.orientation ?? 'horizontal',\n\t} );\n\n\treturn <div { ...innerBlocksProps } />;\n}\n\nexport default ButtonsEdit;\n","// extracted by mini-css-extract-plugin\nexport {};","import './editor.scss';\nimport './style.scss';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@popup-maker/i18n';\nimport { Mark as MarkIcon } from '@popup-maker/icons';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport transforms from './transforms';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: MarkIcon,\n\texample: {\n\t\tattributes: {\n\t\t\tlayout: {\n\t\t\t\ttype: 'flex',\n\t\t\t\tjustifyContent: 'center',\n\t\t\t},\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'popup-maker/cta-button',\n\t\t\t\tattributes: { text: __( 'Buy now', 'popup-maker' ) },\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'popup-maker/cta-button',\n\t\t\t\tattributes: { text: __( 'Contact us', 'popup-maker' ) },\n\t\t\t},\n\t\t],\n\t},\n\tdeprecated,\n\ttransforms,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n\n// Filter core/buttons to allow transforming to cta-buttons.\naddFilter(\n\t'blocks.registerBlockType',\n\t'popup-maker/cta-buttons',\n\t( blockSettings ) => {\n\t\tconst { name: blockName } = blockSettings;\n\n\t\tswitch ( blockName ) {\n\t\t\tcase 'core/button':\n\t\t\t\treturn {\n\t\t\t\t\t...blockSettings,\n\t\t\t\t\tparent: [\n\t\t\t\t\t\t...blockSettings.parent,\n\t\t\t\t\t\t'popup-maker/cta-buttons',\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\tcase 'core/buttons':\n\t\t\t\treturn {\n\t\t\t\t\t...blockSettings,\n\t\t\t\t\tallowedBlocks: [\n\t\t\t\t\t\t...blockSettings.allowedBlocks,\n\t\t\t\t\t\t'popup-maker/cta-button',\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\tdefault:\n\t\t\t\treturn blockSettings;\n\t\t}\n\t}\n);\n","/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport React from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\n\nexport default function save( { attributes, className } ) {\n\tconst { fontSize, style } = attributes;\n\n\tconst blockProps = useBlockProps.save( {\n\t\tclassName: clsx( className, {\n\t\t\t'has-custom-font-size': fontSize || style?.typography?.fontSize,\n\t\t} ),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps.save( blockProps );\n\n\treturn <div { ...innerBlocksProps } />;\n}\n","// extracted by mini-css-extract-plugin\nexport {};","/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { getTransformedMetadata } from '../utils/get-transformed-metadata';\n// import { __unstableCreateElement as createElement } from '@wordpress/rich-text';\n\ninterface HTMLBodyElement extends HTMLElement {}\n\ntype CreateElementFunction = (\n\tdocument: Document,\n\thtml: string\n) => HTMLBodyElement;\n\ntype CreateElementObject = {\n\tbody: HTMLBodyElement;\n};\n\ntype CreateElement = CreateElementFunction & CreateElementObject;\n\n// Temporary till core removes unstableCreateElement\n/**\n * Parse the given HTML into a body element.\n *\n * Note: The current implementation will return a shared reference, reset on\n * each call to `createElement`. Therefore, you should not hold a reference to\n * the value to operate upon asynchronously, as it may have unexpected results.\n *\n * @param {Document} document The HTML document to use to parse.\n * @param {string} html The HTML to parse.\n *\n * @return {HTMLBodyElement} Body element with parsed HTML.\n */\nconst createElement: CreateElement = ( (\n\tdocument: Document,\n\thtml: string\n): HTMLBodyElement => {\n\t// Because `createHTMLDocument` is an expensive operation, and with this\n\t// function being internal to `rich-text` (full control in avoiding a risk\n\t// of asynchronous operations on the shared reference), a single document\n\t// is reused and reset for each call to the function.\n\tif ( ! createElement.body ) {\n\t\tcreateElement.body =\n\t\t\tdocument.implementation.createHTMLDocument( '' ).body;\n\t}\n\n\tcreateElement.body.innerHTML = html;\n\n\treturn createElement.body;\n} ) as unknown as CreateElement;\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'popup-maker/cta-button', 'core/button' ],\n\t\t\ttransform: ( buttons ) =>\n\t\t\t\t// Creates the cta-buttons block.\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'popup-maker/cta-buttons',\n\t\t\t\t\t{},\n\t\t\t\t\t// Loop the selected buttons.\n\t\t\t\t\tbuttons.map( ( attributes, name ) =>\n\t\t\t\t\t\tname === 'core/button'\n\t\t\t\t\t\t\t? createBlock( 'core/button', attributes )\n\t\t\t\t\t\t\t: createBlock(\n\t\t\t\t\t\t\t\t\t'popup-maker/cta-button',\n\t\t\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t\t )\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/buttons' ],\n\t\t\ttransform: ( buttons ) =>\n\t\t\t\t// Creates the cta-buttons block.\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'popup-maker/cta-buttons',\n\t\t\t\t\t{},\n\t\t\t\t\t// Loop the selected buttons.\n\t\t\t\t\tbuttons.map( ( attributes ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', attributes )\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( buttons ) =>\n\t\t\t\t// Creates the buttons block.\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'popup-maker/cta-buttons',\n\t\t\t\t\t{},\n\t\t\t\t\t// Loop the selected buttons.\n\t\t\t\t\tbuttons.map( ( attributes ) => {\n\t\t\t\t\t\tconst { content, metadata } = attributes;\n\t\t\t\t\t\tconst element = createElement( document, content );\n\t\t\t\t\t\t// Remove any HTML tags.\n\t\t\t\t\t\tconst text = element.innerText || '';\n\t\t\t\t\t\t// Get first url.\n\t\t\t\t\t\tconst link = element.querySelector( 'a' );\n\t\t\t\t\t\tconst url = link?.getAttribute( 'href' );\n\t\t\t\t\t\t// Create singular button in the buttons block.\n\t\t\t\t\t\treturn createBlock( 'popup-maker/cta-button', {\n\t\t\t\t\t\t\ttext,\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\tmetadata: getTransformedMetadata(\n\t\t\t\t\t\t\t\tmetadata,\n\t\t\t\t\t\t\t\t'popup-maker/cta-button',\n\t\t\t\t\t\t\t\t( { content: contentBinding } ) => ( {\n\t\t\t\t\t\t\t\t\ttext: contentBinding,\n\t\t\t\t\t\t\t\t} )\n\t\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\tisMatch: ( paragraphs ) => {\n\t\t\t\treturn paragraphs.every( ( attributes ) => {\n\t\t\t\t\tconst element = createElement(\n\t\t\t\t\t\tdocument,\n\t\t\t\t\t\tattributes.content\n\t\t\t\t\t);\n\t\t\t\t\tconst text = element.innerText || '';\n\t\t\t\t\tconst links = element.querySelectorAll( 'a' );\n\t\t\t\t\treturn text.length <= 30 && links.length <= 1;\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n","export * as ctaButton from './cta-button';\nexport * as ctaButtons from './cta-buttons';\n","/**\n * WordPress dependencies\n */\nimport type { BlockConfiguration } from '@wordpress/blocks';\n\ntype BlockMetadata = Omit< BlockConfiguration, 'name' > & {\n\tsupports?: BlockConfiguration[ 'supports' ] & {\n\t\tcolor?: {\n\t\t\tgradients?: boolean;\n\t\t};\n\t};\n};\n\n/**\n * Transform the metadata attribute with only the values and bindings specified by each transform.\n * Returns `undefined` if the input metadata is falsy.\n *\n * @param {Object} metadata Original metadata attribute from the block that is being transformed.\n * @param {Object} newBlockName Name of the final block after the transformation.\n * @param {Function} bindingsCallback Optional callback to transform the `bindings` property object.\n * @return {Object|undefined} New metadata object only with the relevant properties.\n */\nexport function getTransformedMetadata(\n\tmetadata: BlockMetadata,\n\tnewBlockName: string,\n\tbindingsCallback?: ( bindings: any ) => Record< string, unknown >\n) {\n\tif ( ! metadata ) {\n\t\treturn;\n\t}\n\n\t// Fixed until an opt-in mechanism is implemented.\n\tconst BLOCK_BINDINGS_SUPPORTED_BLOCKS = [ 'popup-maker/cta-button' ];\n\t// The metadata properties that should be preserved after the transform.\n\tconst transformSupportedProps: string[] = [];\n\t// If it support bindings, and there is a transform bindings callback, add the `id` and `bindings` properties.\n\tif (\n\t\tBLOCK_BINDINGS_SUPPORTED_BLOCKS.includes( newBlockName ) &&\n\t\tbindingsCallback\n\t) {\n\t\ttransformSupportedProps.push( 'id', 'bindings' );\n\t}\n\n\t// Return early if no supported properties.\n\tif ( ! transformSupportedProps.length ) {\n\t\treturn;\n\t}\n\n\tconst newMetadata = Object.entries( metadata ).reduce(\n\t\t( obj, [ prop, value ] ) => {\n\t\t\t// If prop is not supported, don't add it to the new metadata object.\n\t\t\tif ( ! transformSupportedProps.includes( prop ) ) {\n\t\t\t\treturn obj;\n\t\t\t}\n\t\t\tobj[ prop ] =\n\t\t\t\tprop === 'bindings' && bindingsCallback\n\t\t\t\t\t? bindingsCallback( value )\n\t\t\t\t\t: value;\n\t\t\treturn obj;\n\t\t},\n\t\t{}\n\t);\n\n\t// Return undefined if object is empty.\n\treturn Object.keys( newMetadata ).length ? newMetadata : undefined;\n}\n","/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useLayoutEffect, useEffect, useRef } from '@wordpress/element';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useViewportMatch } from '@wordpress/compose';\n\ninterface MediaUploadSettings {\n\tmediaUpload: ( options: {\n\t\tallowedTypes?: string[];\n\t\tfile: File;\n\t\tonError: ( message: string ) => void;\n\t\tonFileChange: ( media: any ) => void;\n\t} ) => void;\n}\n\ninterface UploadMediaArgs {\n\turl?: string;\n\tallowedTypes?: string[];\n\tonChange?: ( media: any ) => void;\n\tonError?: ( message: string ) => void;\n}\n\n/**\n * Returns whether the current user can edit the given entity.\n *\n * @param {string} kind Entity kind.\n * @param {string} name Entity name.\n * @param {string} recordId Record's id.\n */\nexport function useCanEditEntity(\n\tkind: string,\n\tname: string,\n\trecordId: string\n) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).canUser( 'update', {\n\t\t\t\tkind,\n\t\t\t\tname,\n\t\t\t\tid: recordId,\n\t\t\t} ),\n\t\t[ kind, name, recordId ]\n\t);\n}\n\n/**\n * Handles uploading a media file from a blob URL on mount.\n *\n * @param {Object} args Upload media arguments.\n * @param {string} args.url Blob URL.\n * @param {?Array} args.allowedTypes Array of allowed media types.\n * @param {Function} args.onChange Function called when the media is uploaded.\n * @param {Function} args.onError Function called when an error happens.\n */\nexport function useUploadMediaFromBlobURL( args: UploadMediaArgs = {} ) {\n\tconst latestArgsRef = useRef( args );\n\tconst hasUploadStartedRef = useRef( false );\n\tconst { getSettings } = useSelect(\n\t\t( select ) => ( {\n\t\t\tgetSettings: () =>\n\t\t\t\t(\n\t\t\t\t\tselect( blockEditorStore ) as {\n\t\t\t\t\t\tgetSettings: () => MediaUploadSettings;\n\t\t\t\t\t}\n\t\t\t\t ).getSettings(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tuseLayoutEffect( () => {\n\t\tlatestArgsRef.current = args;\n\t} );\n\n\tuseEffect( () => {\n\t\t// Uploading is a special effect that can't be canceled via the cleanup method.\n\t\t// The extra check avoids duplicate uploads in development mode (React.StrictMode).\n\t\tif ( hasUploadStartedRef.current ) {\n\t\t\treturn;\n\t\t}\n\t\tif (\n\t\t\t! latestArgsRef.current.url ||\n\t\t\t! isBlobURL( latestArgsRef.current.url )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( latestArgsRef.current.url );\n\t\tif ( ! file ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { url, allowedTypes, onChange, onError } = latestArgsRef.current;\n\t\tconst { mediaUpload } = getSettings();\n\n\t\thasUploadStartedRef.current = true;\n\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfile,\n\t\t\tonError: ( message: string ) => {\n\t\t\t\thasUploadStartedRef.current = false;\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonError?.( message );\n\t\t\t},\n\t\t\tonFileChange: ( media: any ) => {\n\t\t\t\thasUploadStartedRef.current = false;\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonChange?.( media );\n\t\t\t},\n\t\t} );\n\t}, [ getSettings ] );\n}\n\nexport function useToolsPanelDropdownMenuProps() {\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\treturn ! isMobile\n\t\t? {\n\t\t\t\tpopoverProps: {\n\t\t\t\t\tplacement: 'left-start',\n\t\t\t\t\t// For non-mobile, inner sidebar width (248px) - button width (24px) - border (1px) + padding (16px) + spacing (20px)\n\t\t\t\t\toffset: 259,\n\t\t\t\t},\n\t\t }\n\t\t: {};\n}\n","export * from './get-transformed-metadata';\nexport * from './hooks';\nexport * from './init-block';\nexport * from './init-block.native';\nexport * from './remove-anchor-tag';\nexport * from './transformation-categories.native';\n","/**\n * WordPress dependencies\n */\nimport { registerBlockType } from '@wordpress/blocks';\n\nimport type { BlockConfiguration } from '@wordpress/blocks';\n\ntype BlockMetadata = Omit< BlockConfiguration, 'name' > & {\n\tsupports?: BlockConfiguration[ 'supports' ] & {\n\t\tcolor?: {\n\t\t\tgradients?: boolean;\n\t\t};\n\t};\n};\n\nconst ALLOWED_BLOCKS_GRADIENT_SUPPORT = [ 'popup-maker/cta-button' ];\n\nexport default function initBlock( block: {\n\tmetadata: BlockMetadata;\n\tsettings: Partial< BlockConfiguration >;\n\tname: string;\n} ): ReturnType< typeof registerBlockType > {\n\tif ( ! block ) {\n\t\treturn;\n\t}\n\tconst { metadata, settings, name } = block;\n\tconst { supports } = metadata;\n\n\treturn registerBlockType(\n\t\t{\n\t\t\tname,\n\t\t\t...metadata,\n\t\t\t// Gradients support only available for blocks listed in ALLOWED_BLOCKS_GRADIENT_SUPPORT.\n\t\t\t...( ! ALLOWED_BLOCKS_GRADIENT_SUPPORT.includes( name ) &&\n\t\t\tsupports?.color?.gradients\n\t\t\t\t? {\n\t\t\t\t\t\tsupports: {\n\t\t\t\t\t\t\t...supports,\n\t\t\t\t\t\t\tcolor: { ...supports.color, gradients: false },\n\t\t\t\t\t\t},\n\t\t\t\t }\n\t\t\t\t: {} ),\n\t\t},\n\t\tsettings\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { registerBlockType } from '@wordpress/blocks';\n\nimport type { BlockConfiguration } from '@wordpress/blocks';\n\ntype BlockMetadata = Omit< BlockConfiguration, 'name' >;\n\nexport default function initBlock( block: {\n\tmetadata: BlockMetadata;\n\tsettings: Partial< BlockConfiguration >;\n\tname: string;\n} ): ReturnType< typeof registerBlockType > {\n\tif ( ! block ) {\n\t\treturn;\n\t}\n\tconst { metadata, settings, name } = block;\n\treturn registerBlockType( { name, ...metadata }, settings );\n}\n","/**\n * Removes anchor tags from a string.\n *\n * @param {string} value The value to remove anchor tags from.\n *\n * @return {string} The value with anchor tags removed.\n */\nexport function removeAnchorTag( value: string ): string {\n\t// To do: Refactor this to use rich text's removeFormat instead.\n\treturn value.toString().replace( /<\\/?a[^>]*>/g, '' );\n}\n\nexport default removeAnchorTag;\n","const transformationCategories = {\n\trichText: [\n\t\t'core/paragraph',\n\t\t'core/heading',\n\t\t'core/list',\n\t\t'core/list-item',\n\t\t'core/quote',\n\t\t'core/pullquote',\n\t\t'core/preformatted',\n\t\t'core/verse',\n\t\t'core/shortcode',\n\t\t'core/code',\n\t],\n\tmedia: [\n\t\t'core/image',\n\t\t'core/video',\n\t\t'core/gallery',\n\t\t'core/cover',\n\t\t'core/file',\n\t\t'core/audio',\n\t\t'core/media-text',\n\t\t'core/embed',\n\t],\n\tgrouped: [ 'core/columns', 'core/group', 'core/text-columns' ],\n\tother: [\n\t\t'core/more',\n\t\t'core/nextpage',\n\t\t'core/separator',\n\t\t'core/spacer',\n\t\t'core/latest-posts',\n\t\t'core/buttons',\n\t],\n};\n\nexport const transformationCategory = ( blockName: string ) => {\n\tconst found = Object.entries( transformationCategories ).find(\n\t\t( [ , value ] ) => value.includes( blockName )\n\t);\n\tif ( ! found ) {\n\t\treturn [];\n\t}\n\n\tconst group = found[ 0 ];\n\treturn transformationCategories[ group ];\n};\n\nexport default transformationCategories;\n","module.exports = window[\"popupMaker\"][\"components\"];","module.exports = window[\"popupMaker\"][\"coreData\"];","module.exports = window[\"popupMaker\"][\"ctaEditor\"];","module.exports = window[\"popupMaker\"][\"i18n\"];","module.exports = window[\"popupMaker\"][\"icons\"];","module.exports = window[\"wp\"][\"blob\"];","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"blocks\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"compose\"];","module.exports = window[\"wp\"][\"coreData\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"domReady\"];","module.exports = window[\"wp\"][\"editor\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"hooks\"];","module.exports = window[\"wp\"][\"htmlEntities\"];","module.exports = window[\"wp\"][\"keycodes\"];","module.exports = window[\"wp\"][\"primitives\"];","module.exports = window[\"React\"];","module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import domReady from '@wordpress/dom-ready';\n\n// import './lib/call-to-action';\n\nimport * as blocks from './lib';\n\ndeclare global {\n\tinterface Window {\n\t\tpopupMakerBlockLibrary: {\n\t\t\thomeUrl: string;\n\t\t};\n\t\ttypenow: string;\n\t}\n}\n\ndomReady( () => {\n\tObject.values( blocks ).forEach( ( { init } ) => {\n\t\tinit();\n\t} );\n} );\n"],"names":["NEW_TAB_REL","NEW_TAB_TARGET","NOFOLLOW_REL","deprecated","clsx","React","useCallback","RichText","BlockControls","useBlockProps","InspectorControls","AlignmentControl","__experimentalUseColorProps","useColorProps","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","useShadowProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","getTypographyClassesAndStyles","useTypographyProps","useSettings","store","blockEditorStore","useBlockEditingMode","decodeEntities","cloneBlock","createBlock","getDefaultBlockName","Flex","Button","Popover","FlexItem","TextControl","ToolbarButton","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","Notice","Panel","PanelBody","Icon","__","useSelect","useDispatch","editorStore","useMergeRefs","useRefEffect","useEffect","useState","useRef","displayShortcut","isKeyboardEvent","ENTER","linkOff","megaphone","edit","chevronDown","check","chevronUp","external","settings","CallToActionSelectControl","callToActionStore","Editor","BaseEditor","withModal","removeAnchorTag","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useEnter","props","replaceBlocks","selectionChange","getBlock","select","getBlockRootClientId","getBlockIndex","propsRef","current","element","onKeyDown","event","defaultPrevented","keyCode","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","innerBlocks","slice","middle","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","dropdownMenuProps","label","resetAll","width","undefined","children","isShownByDefault","hasValue","onDeselect","as","__nextHasNoMarginBottom","value","onChange","newWidth","Number","isBlock","__next40pxDefaultSize","map","widthValue","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","context","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","metadata","ctaId","TagName","isExplicitlyEditing","setIsExplicitlyEditing","newCta","setNewCta","isEditingCTA","popoverAnchor","setPopoverAnchor","primary","startEditing","primaryShift","unlink","richTextRef","focus","ref","blockProps","borderProps","colorProps","spacingProps","shadowProps","blockEditingMode","opensInNewTab","nofollow","includes","isLinkTag","selectedCTA","getCallToAction","currentPostId","currentPostType","getCurrentPostId","getCurrentPostType","homeUrl","window","popupMakerBlockLibrary","generateCtaUrl","ctaUuid","notrack","params","URLSearchParams","set","toString","baseUrl","replace","createCallToAction","changeEditorId","ctaUrl","uuid","useEnterRef","mergedRef","showAdvancedSettings","setShowAdvancedSettings","showPopover","_forceRefresh","setForceRefresh","createNewCTA","createdCta","title","status","id","prev","fluidTypographySettings","layout","typographyProps","typography","fluid","wideSize","ctaErrorFromStore","state","message","getFetchError","fontSize","border","withoutInteractiveFormatting","radius","writingMode","onMerge","identifier","group","nextAlign","icon","shortcut","onClick","isActive","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","padding","isDismissible","direction","align","justify","flexGrow","newId","hideLabelFromVision","multiple","extraOptions","gap","fontWeight","color","overflow","textOverflow","whiteSpace","rendered","variant","size","textDecoration","isDestructive","backgroundColor","borderRadius","href","target","showTooltip","justifyContent","checked","header","newRel","defaultValues","onSave","values","closeOnSave","button","initBlock","save","name","example","merge","a","init","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","getSpacingClassesAndStyles","getShadowClassesAndStyles","type","isButtonTag","buttonType","buttonClasses","buttonStyle","wrapperClasses","Boolean","Content","useInnerBlocksProps","blocksStore","DEFAULT_BLOCK","attributesToCopy","ButtonsEdit","_layout$orientation","hasButtonVariations","buttonVariations","getBlockVariations","innerBlocksProps","defaultBlock","directInsert","template","templateInsertUpdatesSelection","orientation","Mark","MarkIcon","addFilter","transforms","blockSettings","blockName","parent","allowedBlocks","getTransformedMetadata","createElement","document","html","body","implementation","createHTMLDocument","innerHTML","from","isMultiBlock","blocks","transform","buttons","innerText","link","querySelector","getAttribute","contentBinding","isMatch","paragraphs","every","links","querySelectorAll","ctaButton","ctaButtons","newBlockName","bindingsCallback","BLOCK_BINDINGS_SUPPORTED_BLOCKS","transformSupportedProps","push","newMetadata","Object","entries","reduce","obj","prop","keys","useLayoutEffect","getBlobByURL","isBlobURL","revokeBlobURL","coreStore","useViewportMatch","useCanEditEntity","kind","recordId","canUser","useUploadMediaFromBlobURL","args","latestArgsRef","hasUploadStartedRef","getSettings","file","allowedTypes","onError","mediaUpload","onFileChange","media","isMobile","popoverProps","offset","registerBlockType","ALLOWED_BLOCKS_GRADIENT_SUPPORT","block","supports","gradients","transformationCategories","richText","grouped","other","transformationCategory","found","find","domReady","forEach"],"sourceRoot":""} dist/packages/cta-editor.css.map 0000644 00000021651 15174671772 0012634 0 ustar 00 {"version":3,"file":"cta-editor.css","mappings":";;;AAKA;EACC;EACA;EAEA;EACA;EAEA;AAND;AAOC;EACC,gBAXK;EAYL,mBAZK;EAaL,aAhBI;EAiBJ;AALF;AAOE;EACC;EACA;AALH;AAQE;EACC;EACA;EACA;AANH;AAUC;EACC,YA7BK;EA8BL;EACA;AARF;AAUE;EACC;EACA;EACA;EACA;EACA;EACA;AARH;AAUG;EACC;EACA;EACA;EACA;EACA;AARJ;AAcE;EACC;AAZH;AAeE;EACC;AAbH;AAgBE;EACC;AAdH;;AAqBC;;EAEC;EACA,YAvEK;EAwEL;EACA;EACA;EACA,SA9EI;EA+EJ;EACA;EACA;EACA;EACA;EACA;AAlBF;AAyBE;;EACC;EACA,UA5FI;AAsEP;AAwBG;;EACC;EACA;EACA;AArBJ;AA0BC;EACC;EACA,SAzGI;EA0GJ;AAxBF;AA0BE;EACC;EACA;AAxBH;AA2BI;EACC;AAzBL;AA8BE;EACC;AA5BH;AAkCC;EACC,mBA/HI;AA+FN;AAkCE;EACC;AAhCH;AAoCG;EACC;AAlCJ;AAuCG;EACC;EACA;EACA;EACA;EACA;AArCJ;AA0CC;;;;EAIC;EACA;EACA;AAxCF;AA4CE;EACC;EACA,SAlKG;AAwHN;AA6CE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA3CH;AA6CG;EACC;EACA;AA3CJ;AA8CK;EACC,yGACC;EAED;AA9CN;AAiDK;EACC;AA/CN;AAoDG;EACC;EACA;AAlDJ;AAqDK;EACC,sGACC;EAED;AArDN;AAwDK;EACC;AAtDN;AA8DE;EACC;AA5DH;AAkEG;EACC;EACA;EACA;EACA;EACA;EACA;AAhEJ;AAmEG;EACC;AAjEJ;AAqEE;EACC,mBA3OI;EA4OJ;EACA;EACA;AAnEH;AAqEG;EACC;AAnEJ;AAyEG;;EAEC;EACA;EACA;EACA;EACA;AAvEJ;AA4EG;EACC;AA1EJ;AA6EG;EACC;EACA;AA3EJ;AAiFC;EACC;AA/EF;AAsFG;EACC;AApFJ;AAuFG;EACC;EACA;AArFJ;AAwFG;EACC;AAtFJ;AA0FG;;;;;;;;EASC;EACA;EACA;AAzFJ;AA6FG;EACC;EACA;AA3FJ;AAiGE;EACC;EACA;EACA;EACA;AA/FH;AAsGI;EACC;EACA;AApGL;;AA2GA;EACC;EACA;EACA;EACA;EACA;EACA;AAxGD;AA0GC;EACC;EACA;AAxGF;AA4GE;EACC;EACA;EACA;AA1GH;;AAgHC;EACC;AA7GF,C","sources":["webpack://popup-maker/core/./packages/cta-editor/src/editor/editor.scss?"],"sourcesContent":["$gap: 16px;\n$gap2: $gap * 2;\n$gap3: $gap * 3;\n$gap4: $gap * 4;\n\n.call-to-action-editor-modal {\n\tmax-width: 36rem;\n\twidth: 100%;\n\t// min-height: 65vh;\n\tmax-height: 85%;\n\tmargin: 8vh auto auto;\n\n\t/** Modal Styles */\n\t.components-modal__content {\n\t\tmargin-top: $gap4;\n\t\tmargin-bottom: $gap4;\n\t\tpadding: $gap;\n\t\toverflow-y: scroll;\n\n\t\t&::-webkit-scrollbar {\n\t\t\t-webkit-appearance: none;\n\t\t\twidth: 7px;\n\t\t}\n\n\t\t&::-webkit-scrollbar-thumb {\n\t\t\tborder-radius: 4px;\n\t\t\tbackground-color: rgba(0, 0, 0, 0.5);\n\t\t\t-webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);\n\t\t}\n\t}\n\n\t.components-modal__header {\n\t\theight: $gap4;\n\t\tpadding: 0 $gap;\n\t\tborder-bottom: 1px solid #c3c4c7;\n\n\t\t.components-modal__header-heading-container {\n\t\t\tline-clamp: 1;\n\t\t\tmargin-right: 125px;\n\t\t\tdisplay: -webkit-box;\n\t\t\t-webkit-box-orient: vertical;\n\t\t\t-webkit-line-clamp: 4;\n\t\t\toverflow: hidden;\n\n\t\t\th1 {\n\t\t\t\toverflow: hidden;\n\t\t\t\tmax-width: 100%;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\twidth: fit-content;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\t\t}\n\t}\n\n\t.call-to-action-enabled-toggle {\n\t\t.components-h-stack {\n\t\t\tdirection: rtl;\n\t\t}\n\n\t\t&.disabled label {\n\t\t\tcolor: #a30000;\n\t\t}\n\n\t\t&.enabled label {\n\t\t\tcolor: #00a32a;\n\t\t}\n\t}\n}\n\n.call-to-action-editor {\n\n\t+.modal-actions,\n\t+.editor-actions {\n\t\tposition: absolute;\n\t\theight: $gap4;\n\t\tbox-sizing: border-box;\n\t\tdisplay: flex;\n\t\tjustify-content: right;\n\t\tgap: $gap;\n\t\tpadding: 0 $gap2;\n\t\talign-items: center;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tborder-top: 1px solid #c3c4c7;\n\n\t\t.cancel-button {\n\t\t\t// padding-left: $gap;\n\t\t\t// padding-right: $gap;\n\t\t}\n\n\t\t> :last-child {\n\t\t\tposition: absolute;\n\t\t\tleft: $gap2;\n\n\t\t\tsvg {\n\t\t\t\tmargin-right: 3px;\n\t\t\t\tfill: #fff;\n\t\t\t\tstroke: green;\n\t\t\t}\n\t\t}\n\t}\n\n\t.editor-tabs {\n\t\tdisplay: flex;\n\t\tgap: $gap;\n\t\twidth: 100%;\n\n\t\t.components-tab-panel__tabs {\n\t\t\ttext-align: left;\n\t\t\tflex: 1 0 150px;\n\n\t\t\t.components-tab-panel__tabs-item {\n\t\t\t\t&.is-active {\n\t\t\t\t\tbackground-color: #f0f0f0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.components-tab-panel__tab-content {\n\t\t\tflex: 3 1 100%;\n\t\t\t// max-width: calc(100% - 160px);\n\t\t\t// overflow-x: hidden;\n\t\t}\n\t}\n\n\t.components-base-control {\n\t\tmargin-bottom: $gap;\n\n\t\t&:last-child {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\n\t\t&.is-large {\n\t\t\t.components-text-control__input {\n\t\t\t\tpadding: 1em;\n\t\t\t}\n\t\t}\n\n\t\t.is-large {\n\t\t\t.components-select-control__input {\n\t\t\t\tpadding: 1em;\n\t\t\t\tfont-size: 13px;\n\t\t\t\tline-height: normal;\n\t\t\t\tmin-height: 30px;\n\t\t\t\theight: auto;\n\t\t\t}\n\t\t}\n\t}\n\n\t.components-base-control__label,\n\t.components-input-control__label,\n\t.components-toggle-control__label,\n\t.components-checkbox-control__label {\n\t\ttext-transform: none !important;\n\t\tfont-weight: 500 !important;\n\t\tfont-size: 13px !important;\n\t}\n\n\t.components-radio-button-control {\n\t\t.options {\n\t\t\tmax-width: 500px;\n\t\t\tgap: $gap;\n\t\t}\n\n\t\t.components-button {\n\t\t\tflex: 1 1 0%;\n\t\t\theight: auto;\n\t\t\tbox-sizing: border-box;\n\t\t\tpadding: $gap 0;\n\t\t\tfont-style: normal;\n\t\t\tfont-weight: 600;\n\t\t\tfont-size: 13px;\n\t\t\tline-height: 140%;\n\n\t\t\t&.is-primary {\n\t\t\t\tcolor: #007cba;\n\t\t\t\tbackground: rgba(0, 124, 186, 0.05);\n\n\t\t\t\t&:not(:disabled) {\n\t\t\t\t\t&:focus {\n\t\t\t\t\t\tbox-shadow:\n\t\t\t\t\t\t\tinset 0 0 0 2px #007cba,\n\t\t\t\t\t\t\t0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);\n\t\t\t\t\t\toutline: 3px solid #0000;\n\t\t\t\t\t}\n\n\t\t\t\t\t&:not(:focus) {\n\t\t\t\t\t\tbox-shadow: inset 0 0 0 2px #007cba;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.is-secondary {\n\t\t\t\tcolor: #757575;\n\t\t\t\tbackground: #fff;\n\n\t\t\t\t&:not(:disabled) {\n\t\t\t\t\t&:focus {\n\t\t\t\t\t\tbox-shadow:\n\t\t\t\t\t\t\tinset 0 0 0 2px #fff,\n\t\t\t\t\t\t\t0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);\n\t\t\t\t\t\toutline: 3px solid #0000;\n\t\t\t\t\t}\n\n\t\t\t\t\t&:not(:focus) {\n\t\t\t\t\t\tbox-shadow: inset 0 0 0 2px #dddddd;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.components-url-input {\n\t\t.url-input__input {\n\t\t\tmin-height: 40px;\n\t\t}\n\t}\n\n\t.general-tab {\n\t\t.title-field {\n\t\t\t.components-text-control__input {\n\t\t\t\theight: auto;\n\t\t\t\tborder-color: #eee;\n\t\t\t\tpadding-left: 5px;\n\t\t\t\tfont-size: 1.8em;\n\t\t\t\tline-height: 1;\n\t\t\t\tmargin-bottom: 1px;\n\t\t\t}\n\n\t\t\t.components-base-control__field {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t}\n\t\t}\n\n\t\t.title-field-notice {\n\t\t\tmargin-bottom: $gap2;\n\t\t\tmargin-top: -$gap2;\n\t\t\tmargin-left: 0;\n\t\t\tline-height: 1;\n\n\t\t\t.components-notice__content {\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t}\n\n\t\t.description-field {\n\n\t\t\t.components-text-control__input,\n\t\t\t.components-textarea-control__input {\n\t\t\t\theight: auto;\n\t\t\t\tborder-color: #eee;\n\t\t\t\tfont-size: 0.9em;\n\t\t\t\tresize: none;\n\t\t\t\tmin-height: auto;\n\t\t\t}\n\t\t}\n\n\t\t.components-url-control .url-control-wrapper .url-control {\n\t\t\t.url-control__input {\n\t\t\t\tmin-height: 40px;\n\t\t\t}\n\n\t\t\t.url-control__actions {\n\t\t\t\tright: 6px;\n\t\t\t\ttop: 6px;\n\t\t\t}\n\t\t}\n\n\t}\n\n\t.call-to-action-editor-error {\n\t\tmargin: -5px 0 10px 0;\n\t}\n\n\t// Field wrapper error styles\n\t.cta-field-wrapper {\n\t\t&--has-error {\n\n\t\t\t.components-panel__header {\n\t\t\t\tborder-bottom: 1px solid #cc1818 !important;\n\t\t\t}\n\n\t\t\t.components-panel__body {\n\t\t\t\tbackground: linear-gradient(to bottom, rgba(204, 24, 24, 0.03), rgba(204, 24, 24, 0.08));\n\t\t\t\tborder-radius: 0 0 4px 4px;\n\t\t\t}\n\n\t\t\t.components-base-control__label {\n\t\t\t\tcolor: #cc1818 !important;\n\t\t\t}\n\n\n\t\t\t.components-text-control__input,\n\t\t\t.components-textarea-control__input,\n\t\t\t.components-select-control__input,\n\t\t\t.url-control__input,\n\t\t\t.components-input-control__input,\n\t\t\t.components-number-control__input,\n\t\t\t.component-smart-token-control__input,\n\t\t\t// For fields that use a wrapper with background\n\t\t\t.components-select-control__input-wrapper {\n\t\t\t\tbackground-color: #fff;\n\t\t\t\tborder: 1px solid #cc1818 !important;\n\t\t\t\tbox-shadow: 0 0 0 1px #cc1818 !important;\n\n\t\t\t}\n\n\t\t\t.components-input-control__backdrop {\n\t\t\t\tborder-color: transparent;\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\n\t\t}\n\n\t\t// Error message.\n\t\t.cta-field-error {\n\t\t\tfont-size: 12px;\n\t\t\tline-height: 1.4;\n\t\t\tmargin-top: 8px;\n\t\t\tcolor: #cc1818;\n\t\t}\n\t}\n\n\t.editor-tabs {\n\t\t.components-tab-panel__tabs {\n\t\t\t.components-tab-panel__tabs-item {\n\t\t\t\t&.error {\n\t\t\t\t\tbackground-color: #f4a2a2;\n\t\t\t\t\tborder-left: 4px solid #cc1818;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n.editor-header-actions {\n\tdisplay: flex;\n\tflex-direction: row;\n\tgap: 6px;\n\talign-items: center;\n\tjustify-content: space-between;\n\tmax-width: max-content;\n\n\t.components-button.close-button {\n\t\tpadding: 0;\n\t\tmin-width: auto;\n\t}\n\n\t.editor-header-options {\n\t\t.components-button.popover-toggle {\n\t\t\tpadding-left: 4px;\n\t\t\tpadding-right: 4px;\n\t\t\tmin-width: auto;\n\t\t}\n\t}\n}\n\n.editor-header-options__popover {\n\t.components-popover__content {\n\t\tmin-width: fit-content;\n\t}\n}\n"],"names":[],"sourceRoot":""} dist/packages/cta-editor.js.map 0000644 00001523250 15174671772 0012463 0 ustar 00 {"version":3,"file":"cta-editor.js","mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AAC8D;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAe,8DAAU;AACzB;AACA;AACA;AACA,CAAC;AACD,SAAS,gEAAY;AACrB;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,CAAC,EAAC;AACH,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5ByC;AACe;AACM;AACE;AACA;AACE;AACN;AACA;AACE;AACP;AACK;AACW;AACX;AACE;AACN;AACS;AACP;AACM;AACb;AACU;AACR;AACJ;AACa;AACI;AACN;AACE;AACT;AACN;AACI;AACJ;AACM;AACE;AACE;AACsB;AACxB;AACW;AACA;AACT;AACF;AAEwB;AACrB;AACP;AACa;AACW;AACX;AACW;AACT;AACW;AACjB;AACS;AACd;AACJ;AACW;AACM;AACJ;AACb;AACF;AACF;AACI;AACE;AACE;AACN;AACW;AACL;AAC0B;AACJ;AACP;AACK;AACF;AACb;AACe;AACE;AACR;AACE;AACV;AACV;AACE;AACJ;AACqB;AACJ;AACE;AACG;AACZ;AACJ;AACA;AACF;AACS;AACA;AACE;AACP;AACR;AACQ;AACA;AACN;AACF;AACI;AACiB;AACJ;AACJ;AACY;AACR;AACO;AACP;AACW;AACO;AACL;AACO;AAC1B;AACY;AACJ;AACO;AACf;AACoB;AACR;AACA;AACX;AACR;AACE;AACJ;AACF;AACE;AACE;AACgB;AACA;AACA;AACA;AACA;AACA;AACd;AACN;AACa;AACX;AACY;AACd;AACa;AACb;AACE;AACF;AACe;AACE;AACE;AACJ;AACI;AACiB;AACnB;AACe;AACiB;AAC5B;AACiB;AACzB;AACf;AACU;AACW;AACE;AACb;AACJ;AACG;AACG;AACG;AACA;AACF;AACX;AACO;AACP;AACS;AACA;AACT;AACe;AACJ;AACT;AACF;AACW;AACT;AACgB;AACR;AACV;AACI;AACJ;AACqB;AACJ;AACZ;AACO;AACC;AACJ;AACM;AACJ;AACE;AACb;AACE;AACQ;AACJ;AACA;AACA;AACe;AACJ;AACE;AACf;AACA;AACN;AACW;AACH;AACoB;AACb;AACb;AACA;AACa;AACQ;AACN;AACE;AACW;AACF;AACjB;AACM;AACa;AACnB;AACE;AACH;AACR;AACM;AACU;AACN;AACD;AACE;AACD;AACa;AACS;AACM;AACE;AACtC;AACI;AACN;AACW;AACQ;AACb;AACJ;AACqB;AACJ;AACrB;AACM;AACS;AACE;AACjB;AACM;AACJ;AACI;AACM;AACV;AACU;AACF;AACJ;AACF;AACE;AACM;AACJ;AACG;AACP;AACS;AACE;AACJ;AACP;AACwB;AACtB;AACI;AACJ;AACW;AACL;AACI;AACV;AACsB;AACE;AACA;AACJ;AACJ;AACE;AACA;AACpB;AACJ;AACe;AACJ;AACQ;AACM;AACnB;AACA;AACE;AACG;AACI;AACE;AACQ;AACZ;AACE;AACJ;AACU;AACR;AACU;AACJ;AACb;AACF;AACJ;AACE;AACE;AACe;AACJ;AACD;AACZ;AACM;AACF;AACA;AACA;AACF;AACA;AACE;AACM;AAC3D,iC;;;;;;;;;;;;;;ACzTA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,oC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CA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","sources":["webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/icon/index.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/index.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/add-card.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/add-submenu.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/add-template.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-center.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-justify.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-none.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/archive.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-down-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-up-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/aspect-ratio.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/at-symbol.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/audio.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/background.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/backup.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/bell-unread.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/bell.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/block-default.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/block-meta.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/block-table.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/border.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/box.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/brush.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/bug.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/button.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/buttons.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/calendar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cancel-circle-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/caption.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/capture-photo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/capture-video.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/category.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/caution-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/caution.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chart-bar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/check.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-down-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-left-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-right-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-up-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/classic.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/close-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/close.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cloud-download.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cloud-upload.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cloud.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/code.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cog.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/color.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/column.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/columns.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-author-avatar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-author-name.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-content.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-edit-link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-reply-link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/connection.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/copy-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/copy.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-all.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-bottom-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-bottom-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-top-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-top-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cover.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/create.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/crop.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/currency-dollar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/currency-euro.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/currency-pound.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/custom-link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/custom-post-type.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/dashboard.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/desktop.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/details.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/download.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drafts.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drag-handle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drawer-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drawer-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/edit.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/envelope.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/error.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/external.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/file.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/filter.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/flip-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/flip-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/footer.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-bold.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-capitalize.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-indent-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-indent.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-italic.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-bullets-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-bullets.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-numbered-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-numbered.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-lowercase.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-ltr.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-outdent-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-outdent.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-strikethrough.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-underline.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-uppercase.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/fullscreen.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/funnel.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/gallery.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/globe.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/grid.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/group.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/handle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/header.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-1.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-2.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-3.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-4.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-5.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-6.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/help-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/help.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/home-button.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/home.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/html.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/image.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/inbox.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/info.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/insert-after.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/insert-before.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/institution.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-bottom.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-center-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-center.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-space-between-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-space-between.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-stretch-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-stretch.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-top.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/key.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/keyboard-close.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/keyboard-return.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/keyboard.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/language.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/layout.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/level-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lifesaver.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/line-dashed.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/line-dotted.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/line-solid.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/link-off.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/list-item.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/list-view.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/list.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lock-outline.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lock-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lock.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/login.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/loop.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/map-marker.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/media-and-text.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/media.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/megaphone.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/menu.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/mobile.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/more-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/more-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/more.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/move-to.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/navigation.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/next.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/not-allowed.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/not-found.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/offline.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/overlay-text.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/page-break.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/page.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pages.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/paragraph.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/payment.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pencil.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pending.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/people.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/percent.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pin-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pin.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plugins.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plus-circle-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plus-circle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plus.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/position-center.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/position-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/position-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-author.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-categories.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-comments-count.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-comments-form.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-comments.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-content.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-date.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-excerpt.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-featured-image.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-list.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-terms.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/preformatted.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/previous.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/published.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pull-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pull-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pullquote.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination-next.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination-numbers.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination-previous.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/quote.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/receipt.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/redo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/remove-bug.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/remove-submenu.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/replace.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/reset.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/resize-corner-n-e.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/reusable-block.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/rotate-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/rotate-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/row.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/rss.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/scheduled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/search.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/seen.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/send.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/separator.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/settings.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shadow.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/share.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shield.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shipping.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shortcode.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shuffle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sidebar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-all.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-axial.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-bottom.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-top.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/site-logo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/square.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/stack.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/star-empty.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/star-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/star-half.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/store.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/stretch-full-width.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/stretch-wide.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/styles.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/subscript.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/superscript.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/swatch.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/symbol-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/symbol.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-column-after.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-column-before.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-column-delete.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-of-contents.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-row-after.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-row-before.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-row-delete.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tablet.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tag.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/term-description.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/text-color.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/text-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/text-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/thumbs-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/thumbs-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tip.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/title.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tool.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/trash.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/trending-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/trending-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/typography.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/undo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/ungroup.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/unlock.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/unseen.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/update.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/upload.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/verse.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/video.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/widget.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/wordpress.js?","webpack://popup-maker/core/./node_modules/clsx/dist/clsx.mjs?","webpack://popup-maker/core/./packages/cta-editor/src/components/debug-notices.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/components/field-with-error.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/components/field-wrapper.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/components/index.ts?","webpack://popup-maker/core/./packages/cta-editor/src/components/tab-error-notice.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/editor/base-editor.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/editor/components/header-actions.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/editor/components/header-options.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/editor/components/index.ts?","webpack://popup-maker/core/./packages/cta-editor/src/editor/editor.scss?f05f","webpack://popup-maker/core/./packages/cta-editor/src/editor/hocs/index.ts?","webpack://popup-maker/core/./packages/cta-editor/src/editor/hocs/with-data-store.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/editor/hocs/with-modal.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/editor/hocs/with-query-params.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/editor/index.ts?","webpack://popup-maker/core/./packages/cta-editor/src/hooks/index.ts?","webpack://popup-maker/core/./packages/cta-editor/src/hooks/use-editor.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/hooks/use-field-error.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/hooks/use-fields.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/index.ts?","webpack://popup-maker/core/./packages/cta-editor/src/init.ts?","webpack://popup-maker/core/./packages/cta-editor/src/registries/fields/custom-fields.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/registries/fields/index.ts?","webpack://popup-maker/core/./packages/cta-editor/src/registries/header-actions/history.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/registries/header-actions/index.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/registries/header-actions/status.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/registries/header-options/delete.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/registries/header-options/index.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/registries/index.ts?","webpack://popup-maker/core/./packages/cta-editor/src/registries/tabs/general.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/registries/tabs/index.tsx?","webpack://popup-maker/core/./packages/cta-editor/src/registry/header-actions.ts?","webpack://popup-maker/core/./packages/cta-editor/src/registry/header-options.ts?","webpack://popup-maker/core/./packages/cta-editor/src/registry/index.ts?","webpack://popup-maker/core/external window [\"popupMaker\",\"components\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"coreData\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"fields\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"i18n\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"registry\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"useQueryParams\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"utils\"]?","webpack://popup-maker/core/external window [\"wp\",\"components\"]?","webpack://popup-maker/core/external window [\"wp\",\"data\"]?","webpack://popup-maker/core/external window [\"wp\",\"domReady\"]?","webpack://popup-maker/core/external window [\"wp\",\"element\"]?","webpack://popup-maker/core/external window [\"wp\",\"hooks\"]?","webpack://popup-maker/core/external window [\"wp\",\"notices\"]?","webpack://popup-maker/core/external window [\"wp\",\"primitives\"]?","webpack://popup-maker/core/external window [\"wp\",\"url\"]?","webpack://popup-maker/core/external window \"lodash\"?","webpack://popup-maker/core/external window \"React\"?","webpack://popup-maker/core/external window \"ReactJSXRuntime\"?","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/compat get default export?","webpack://popup-maker/core/webpack/runtime/define property getters?","webpack://popup-maker/core/webpack/runtime/hasOwnProperty shorthand?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/webpack/before-startup?","webpack://popup-maker/core/webpack/startup?","webpack://popup-maker/core/webpack/after-startup?"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cloneElement, forwardRef } from '@wordpress/element';\n\n/**\n * External dependencies\n */\n\n/**\n * Return an SVG icon.\n *\n * @param props The component props.\n *\n * @return Icon component\n */\nexport default forwardRef(({\n icon,\n size = 24,\n ...props\n}, ref) => {\n return cloneElement(icon, {\n width: size,\n height: size,\n ...props,\n ref\n });\n});\n//# sourceMappingURL=index.js.map","export { default as Icon } from './icon';\nexport { default as addCard } from './library/add-card';\nexport { default as addSubmenu } from './library/add-submenu';\nexport { default as addTemplate } from './library/add-template';\nexport { default as alignCenter } from './library/align-center';\nexport { default as alignJustify } from './library/align-justify';\nexport { default as alignLeft } from './library/align-left';\nexport { default as alignNone } from './library/align-none';\nexport { default as alignRight } from './library/align-right';\nexport { default as archive } from './library/archive';\nexport { default as arrowDown } from './library/arrow-down';\nexport { default as arrowDownRight } from './library/arrow-down-right';\nexport { default as arrowLeft } from './library/arrow-left';\nexport { default as arrowRight } from './library/arrow-right';\nexport { default as arrowUp } from './library/arrow-up';\nexport { default as arrowUpLeft } from './library/arrow-up-left';\nexport { default as atSymbol } from './library/at-symbol';\nexport { default as aspectRatio } from './library/aspect-ratio';\nexport { default as audio } from './library/audio';\nexport { default as background } from './library/background';\nexport { default as backup } from './library/backup';\nexport { default as bell } from './library/bell';\nexport { default as bellUnread } from './library/bell-unread';\nexport { default as blockDefault } from './library/block-default';\nexport { default as blockMeta } from './library/block-meta';\nexport { default as blockTable } from './library/block-table';\nexport { default as border } from './library/border';\nexport { default as box } from './library/box';\nexport { default as brush } from './library/brush';\nexport { default as bug } from './library/bug';\nexport { default as button } from './library/button';\nexport { default as buttons } from './library/buttons';\nexport { default as calendar } from './library/calendar';\nexport { default as cancelCircleFilled } from './library/cancel-circle-filled';\nexport { default as caption } from './library/caption';\nexport { default as capturePhoto } from './library/capture-photo';\nexport { default as captureVideo } from './library/capture-video';\nexport { default as category } from './library/category';\nexport { default as caution } from './library/caution';\nexport { /** @deprecated Import `cautionFilled` instead. */\ndefault as warning, default as cautionFilled } from './library/caution-filled';\nexport { default as chartBar } from './library/chart-bar';\nexport { default as check } from './library/check';\nexport { default as chevronDown } from './library/chevron-down';\nexport { default as chevronDownSmall } from './library/chevron-down-small';\nexport { default as chevronLeft } from './library/chevron-left';\nexport { default as chevronLeftSmall } from './library/chevron-left-small';\nexport { default as chevronRight } from './library/chevron-right';\nexport { default as chevronRightSmall } from './library/chevron-right-small';\nexport { default as chevronUp } from './library/chevron-up';\nexport { default as chevronUpDown } from './library/chevron-up-down';\nexport { default as classic } from './library/classic';\nexport { default as close } from './library/close';\nexport { default as closeSmall } from './library/close-small';\nexport { default as cloudDownload } from './library/cloud-download';\nexport { default as cloudUpload } from './library/cloud-upload';\nexport { default as cloud } from './library/cloud';\nexport { default as code } from './library/code';\nexport { default as cog } from './library/cog';\nexport { default as color } from './library/color';\nexport { default as column } from './library/column';\nexport { default as columns } from './library/columns';\nexport { default as copy } from './library/copy';\nexport { default as copySmall } from './library/copy-small';\nexport { default as comment } from './library/comment';\nexport { default as commentAuthorAvatar } from './library/comment-author-avatar';\nexport { default as commentAuthorName } from './library/comment-author-name';\nexport { default as commentContent } from './library/comment-content';\nexport { default as commentReplyLink } from './library/comment-reply-link';\nexport { default as commentEditLink } from './library/comment-edit-link';\nexport { default as cornerAll } from './library/corner-all';\nexport { default as cornerBottomLeft } from './library/corner-bottom-left';\nexport { default as cornerBottomRight } from './library/corner-bottom-right';\nexport { default as cornerTopLeft } from './library/corner-top-left';\nexport { default as cornerTopRight } from './library/corner-top-right';\nexport { default as connection } from './library/connection';\nexport { default as cover } from './library/cover';\nexport { default as create } from './library/create';\nexport { default as crop } from './library/crop';\nexport { default as currencyDollar } from './library/currency-dollar';\nexport { default as currencyEuro } from './library/currency-euro';\nexport { default as currencyPound } from './library/currency-pound';\nexport { default as customPostType } from './library/custom-post-type';\nexport { default as dashboard } from './library/dashboard';\nexport { default as desktop } from './library/desktop';\nexport { default as details } from './library/details';\nexport { default as drafts } from './library/drafts';\nexport { default as dragHandle } from './library/drag-handle';\nexport { default as drawerLeft } from './library/drawer-left';\nexport { default as drawerRight } from './library/drawer-right';\nexport { default as download } from './library/download';\nexport { default as edit } from './library/edit';\nexport { default as envelope } from './library/envelope';\nexport { default as external } from './library/external';\nexport { default as error } from './library/error';\nexport { default as file } from './library/file';\nexport { default as filter } from './library/filter';\nexport { default as flipHorizontal } from './library/flip-horizontal';\nexport { default as flipVertical } from './library/flip-vertical';\nexport { default as formatBold } from './library/format-bold';\nexport { default as formatCapitalize } from './library/format-capitalize';\nexport { default as formatIndent } from './library/format-indent';\nexport { default as formatIndentRTL } from './library/format-indent-rtl';\nexport { default as formatItalic } from './library/format-italic';\nexport { default as formatListBullets } from './library/format-list-bullets';\nexport { default as formatListBulletsRTL } from './library/format-list-bullets-rtl';\nexport { default as formatListNumbered } from './library/format-list-numbered';\nexport { default as formatListNumberedRTL } from './library/format-list-numbered-rtl';\nexport { default as formatLtr } from './library/format-ltr';\nexport { default as formatLowercase } from './library/format-lowercase';\nexport { default as formatOutdent } from './library/format-outdent';\nexport { default as formatOutdentRTL } from './library/format-outdent-rtl';\nexport { default as formatRtl } from './library/format-rtl';\nexport { default as formatStrikethrough } from './library/format-strikethrough';\nexport { default as formatUnderline } from './library/format-underline';\nexport { default as formatUppercase } from './library/format-uppercase';\nexport { default as fullscreen } from './library/fullscreen';\nexport { default as funnel } from './library/funnel';\nexport { default as gallery } from './library/gallery';\nexport { default as globe } from './library/globe';\nexport { default as grid } from './library/grid';\nexport { default as group } from './library/group';\nexport { default as handle } from './library/handle';\nexport { default as headingLevel1 } from './library/heading-level-1';\nexport { default as headingLevel2 } from './library/heading-level-2';\nexport { default as headingLevel3 } from './library/heading-level-3';\nexport { default as headingLevel4 } from './library/heading-level-4';\nexport { default as headingLevel5 } from './library/heading-level-5';\nexport { default as headingLevel6 } from './library/heading-level-6';\nexport { default as heading } from './library/heading';\nexport { default as help } from './library/help';\nexport { default as helpFilled } from './library/help-filled';\nexport { default as inbox } from './library/inbox';\nexport { default as institution } from './library/institution';\nexport { default as home } from './library/home';\nexport { default as homeButton } from './library/home-button';\nexport { default as html } from './library/html';\nexport { default as image } from './library/image';\nexport { default as info } from './library/info';\nexport { default as insertAfter } from './library/insert-after';\nexport { default as insertBefore } from './library/insert-before';\nexport { default as justifyBottom } from './library/justify-bottom';\nexport { default as justifyLeft } from './library/justify-left';\nexport { default as justifyCenter } from './library/justify-center';\nexport { default as justifyCenterVertical } from './library/justify-center-vertical';\nexport { default as justifyRight } from './library/justify-right';\nexport { default as justifySpaceBetween } from './library/justify-space-between';\nexport { default as justifySpaceBetweenVertical } from './library/justify-space-between-vertical';\nexport { default as justifyStretch } from './library/justify-stretch';\nexport { default as justifyStretchVertical } from './library/justify-stretch-vertical';\nexport { default as justifyTop } from './library/justify-top';\nexport { default as key } from './library/key';\nexport { default as keyboard } from './library/keyboard';\nexport { default as keyboardClose } from './library/keyboard-close';\nexport { default as keyboardReturn } from './library/keyboard-return';\nexport { default as language } from './library/language';\nexport { default as layout } from './library/layout';\nexport { default as levelUp } from './library/level-up';\nexport { default as lifesaver } from './library/lifesaver';\nexport { default as lineDashed } from './library/line-dashed';\nexport { default as lineDotted } from './library/line-dotted';\nexport { default as lineSolid } from './library/line-solid';\nexport { default as link } from './library/link';\nexport { default as linkOff } from './library/link-off';\nexport { default as list } from './library/list';\nexport { default as listItem } from './library/list-item';\nexport { default as listView } from './library/list-view';\nexport { default as lock } from './library/lock';\nexport { default as lockOutline } from './library/lock-outline';\nexport { default as lockSmall } from './library/lock-small';\nexport { default as login } from './library/login';\nexport { default as loop } from './library/loop';\nexport { default as mapMarker } from './library/map-marker';\nexport { default as media } from './library/media';\nexport { default as mediaAndText } from './library/media-and-text';\nexport { default as megaphone } from './library/megaphone';\nexport { default as menu } from './library/menu';\nexport { default as mobile } from './library/mobile';\nexport { default as more } from './library/more';\nexport { default as moreHorizontal } from './library/more-horizontal';\nexport { default as moreVertical } from './library/more-vertical';\nexport { default as moveTo } from './library/move-to';\nexport { default as navigation } from './library/navigation';\nexport { default as notAllowed } from './library/not-allowed';\nexport { default as notFound } from './library/not-found';\nexport { default as overlayText } from './library/overlay-text';\nexport { default as pageBreak } from './library/page-break';\nexport { default as customLink } from './library/custom-link';\nexport { default as page } from './library/page';\nexport { default as pages } from './library/pages';\nexport { default as paragraph } from './library/paragraph';\nexport { default as payment } from './library/payment';\nexport { default as pending } from './library/pending';\nexport { default as percent } from './library/percent';\nexport { default as positionCenter } from './library/position-center';\nexport { default as positionLeft } from './library/position-left';\nexport { default as positionRight } from './library/position-right';\nexport { default as pencil } from './library/pencil';\nexport { default as people } from './library/people';\nexport { default as pin } from './library/pin';\nexport { default as pinSmall } from './library/pin-small';\nexport { default as plugins } from './library/plugins';\nexport { default as plusCircleFilled } from './library/plus-circle-filled';\nexport { default as plusCircle } from './library/plus-circle';\nexport { default as plus } from './library/plus';\nexport { default as post } from './library/post';\nexport { default as postAuthor } from './library/post-author';\nexport { default as postCategories } from './library/post-categories';\nexport { default as postContent } from './library/post-content';\nexport { default as postComments } from './library/post-comments';\nexport { default as postCommentsCount } from './library/post-comments-count';\nexport { default as postCommentsForm } from './library/post-comments-form';\nexport { default as postDate } from './library/post-date';\nexport { default as postExcerpt } from './library/post-excerpt';\nexport { default as postFeaturedImage } from './library/post-featured-image';\nexport { default as postList } from './library/post-list';\nexport { default as postTerms } from './library/post-terms';\nexport { default as previous } from './library/previous';\nexport { default as next } from './library/next';\nexport { default as offline } from './library/offline';\nexport { default as preformatted } from './library/preformatted';\nexport { default as published } from './library/published';\nexport { default as pullLeft } from './library/pull-left';\nexport { default as pullRight } from './library/pull-right';\nexport { default as pullquote } from './library/pullquote';\nexport { default as queryPagination } from './library/query-pagination';\nexport { default as queryPaginationNext } from './library/query-pagination-next';\nexport { default as queryPaginationNumbers } from './library/query-pagination-numbers';\nexport { default as queryPaginationPrevious } from './library/query-pagination-previous';\nexport { default as quote } from './library/quote';\nexport { default as receipt } from './library/receipt';\nexport { default as redo } from './library/redo';\nexport { default as removeBug } from './library/remove-bug';\nexport { default as removeSubmenu } from './library/remove-submenu';\nexport { default as replace } from './library/replace';\nexport { default as reset } from './library/reset';\nexport { default as resizeCornerNE } from './library/resize-corner-n-e';\nexport { default as reusableBlock } from './library/reusable-block';\nexport { default as row } from './library/row';\nexport { default as symbol } from './library/symbol';\nexport { default as rotateLeft } from './library/rotate-left';\nexport { default as rotateRight } from './library/rotate-right';\nexport { default as rss } from './library/rss';\nexport { default as search } from './library/search';\nexport { default as seen } from './library/seen';\nexport { default as unseen } from './library/unseen';\nexport { default as scheduled } from './library/scheduled';\nexport { default as send } from './library/send';\nexport { default as separator } from './library/separator';\nexport { default as settings } from './library/settings';\nexport { default as shadow } from './library/shadow';\nexport { default as share } from './library/share';\nexport { default as shield } from './library/shield';\nexport { default as shortcode } from './library/shortcode';\nexport { default as shuffle } from './library/shuffle';\nexport { default as siteLogo } from './library/site-logo';\nexport { default as stack } from './library/stack';\nexport { default as starEmpty } from './library/star-empty';\nexport { default as starFilled } from './library/star-filled';\nexport { default as starHalf } from './library/star-half';\nexport { default as store } from './library/store';\nexport { default as stretchFullWidth } from './library/stretch-full-width';\nexport { default as styles } from './library/styles';\nexport { default as shipping } from './library/shipping';\nexport { default as square } from './library/square';\nexport { default as stretchWide } from './library/stretch-wide';\nexport { default as subscript } from './library/subscript';\nexport { default as superscript } from './library/superscript';\nexport { default as swatch } from './library/swatch';\nexport { default as tableColumnAfter } from './library/table-column-after';\nexport { default as tableColumnBefore } from './library/table-column-before';\nexport { default as tableColumnDelete } from './library/table-column-delete';\nexport { default as tableOfContents } from './library/table-of-contents';\nexport { default as tableRowAfter } from './library/table-row-after';\nexport { default as tableRowBefore } from './library/table-row-before';\nexport { default as tableRowDelete } from './library/table-row-delete';\nexport { default as table } from './library/table';\nexport { default as tag } from './library/tag';\nexport { default as thumbsDown } from './library/thumbs-down';\nexport { default as thumbsUp } from './library/thumbs-up';\nexport { default as symbolFilled } from './library/symbol-filled';\nexport { default as termDescription } from './library/term-description';\nexport { default as footer } from './library/footer';\nexport { default as header } from './library/header';\nexport { default as sidebar } from './library/sidebar';\nexport { default as sidesAll } from './library/sides-all';\nexport { default as sidesAxial } from './library/sides-axial';\nexport { default as sidesBottom } from './library/sides-bottom';\nexport { default as sidesHorizontal } from './library/sides-horizontal';\nexport { default as sidesLeft } from './library/sides-left';\nexport { default as sidesRight } from './library/sides-right';\nexport { default as sidesTop } from './library/sides-top';\nexport { default as sidesVertical } from './library/sides-vertical';\nexport { default as textColor } from './library/text-color';\nexport { default as textHorizontal } from './library/text-horizontal';\nexport { default as textVertical } from './library/text-vertical';\nexport { default as tablet } from './library/tablet';\nexport { default as title } from './library/title';\nexport { default as tip } from './library/tip';\nexport { default as tool } from './library/tool';\nexport { default as trash } from './library/trash';\nexport { default as trendingDown } from './library/trending-down';\nexport { default as trendingUp } from './library/trending-up';\nexport { default as typography } from './library/typography';\nexport { default as undo } from './library/undo';\nexport { default as ungroup } from './library/ungroup';\nexport { default as unlock } from './library/unlock';\nexport { default as update } from './library/update';\nexport { default as upload } from './library/upload';\nexport { default as verse } from './library/verse';\nexport { default as video } from './library/video';\nexport { default as widget } from './library/widget';\nexport { default as wordpress } from './library/wordpress';\n//# sourceMappingURL=index.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst addCard = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 5.5V8H20V5.5h2.5V4H20V1.5h-1.5V4H16v1.5h2.5zM12 4H6a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2v-6h-1.5v6a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5h6V4z\"\n })\n});\nexport default addCard;\n//# sourceMappingURL=add-card.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst addSubmenu = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M2 12c0 3.6 2.4 5.5 6 5.5h.5V19l3-2.5-3-2.5v2H8c-2.5 0-4.5-1.5-4.5-4s2-4.5 4.5-4.5h3.5V6H8c-3.6 0-6 2.4-6 6zm19.5-1h-8v1.5h8V11zm0 5h-8v1.5h8V16zm0-10h-8v1.5h8V6z\"\n })\n});\nexport default addSubmenu;\n//# sourceMappingURL=add-submenu.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst addTemplate = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.5 5.5V8H20V5.5H22.5V4H20V1.5H18.5V4H16V5.5H18.5ZM13.9624 4H6C4.89543 4 4 4.89543 4 6V18C4 19.1046 4.89543 20 6 20H18C19.1046 20 20 19.1046 20 18V10.0391H18.5V18C18.5 18.2761 18.2761 18.5 18 18.5H10L10 10.4917L16.4589 10.5139L16.4641 9.01389L5.5 8.97618V6C5.5 5.72386 5.72386 5.5 6 5.5H13.9624V4ZM5.5 10.4762V18C5.5 18.2761 5.72386 18.5 6 18.5H8.5L8.5 10.4865L5.5 10.4762Z\"\n })\n});\nexport default addTemplate;\n//# sourceMappingURL=add-template.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignCenter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7.5 5.5h9V4h-9v1.5Zm-3.5 7h16V11H4v1.5Zm3.5 7h9V18h-9v1.5Z\"\n })\n});\nexport default alignCenter;\n//# sourceMappingURL=align-center.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignJustify = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 12.8h16v-1.5H4v1.5zm0 7h12.4v-1.5H4v1.5zM4 4.3v1.5h16V4.3H4z\"\n })\n});\nexport default alignJustify;\n//# sourceMappingURL=align-justify.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 5.5H4V4h9v1.5Zm7 7H4V11h16v1.5Zm-7 7H4V18h9v1.5Z\"\n })\n});\nexport default alignLeft;\n//# sourceMappingURL=align-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignNone = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM5 9h14v6H5V9Z\"\n })\n});\nexport default alignNone;\n//# sourceMappingURL=align-none.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.111 5.5H20V4h-8.889v1.5ZM4 12.5h16V11H4v1.5Zm7.111 7H20V18h-8.889v1.5Z\"\n })\n});\nexport default alignRight;\n//# sourceMappingURL=align-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst archive = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.934 7.406a1 1 0 0 0 .914.594H19a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5h5.764a.5.5 0 0 1 .447.276l.723 1.63Zm1.064-1.216a.5.5 0 0 0 .462.31H19a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.764a2 2 0 0 1 1.789 1.106l.445 1.084ZM8.5 10.5h7V12h-7v-1.5Zm7 3.5h-7v1.5h7V14Z\"\n })\n});\nexport default archive;\n//# sourceMappingURL=archive.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowDownRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 18h8v-8h-1.5v5.5L7 6 6 7l9.5 9.5H10V18Z\"\n })\n});\nexport default arrowDownRight;\n//# sourceMappingURL=arrow-down-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m16.5 13.5-3.7 3.7V4h-1.5v13.2l-3.8-3.7-1 1 5.5 5.6 5.5-5.6z\"\n })\n});\nexport default arrowDown;\n//# sourceMappingURL=arrow-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 11.2H6.8l3.7-3.7-1-1L3.9 12l5.6 5.5 1-1-3.7-3.7H20z\"\n })\n});\nexport default arrowLeft;\n//# sourceMappingURL=arrow-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m14.5 6.5-1 1 3.7 3.7H4v1.6h13.2l-3.7 3.7 1 1 5.6-5.5z\"\n })\n});\nexport default arrowRight;\n//# sourceMappingURL=arrow-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowUpLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 6H6v8h1.5V8.5L17 18l1-1-9.5-9.5H14V6Z\"\n })\n});\nexport default arrowUpLeft;\n//# sourceMappingURL=arrow-up-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 3.9 6.5 9.5l1 1 3.8-3.7V20h1.5V6.8l3.7 3.7 1-1z\"\n })\n});\nexport default arrowUp;\n//# sourceMappingURL=arrow-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst aspectRatio = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 5.5h-13c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2v-9c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5h-13c-.3 0-.5-.2-.5-.5v-9c0-.3.2-.5.5-.5h13c.3 0 .5.2.5.5v9zM6.5 12H8v-2h2V8.5H6.5V12zm9.5 2h-2v1.5h3.5V12H16v2z\"\n })\n});\nexport default aspectRatio;\n//# sourceMappingURL=aspect-ratio.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst atSymbol = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5939 21C14.1472 21 16.1269 20.5701 17.0711 20.1975L16.6447 18.879C16.0964 19.051 14.3299 19.6242 12.6548 19.6242C7.4467 19.6242 4.67513 16.8726 4.67513 12C4.67513 7.21338 7.50762 4.34713 12.2893 4.34713C17.132 4.34713 19.4162 7.55732 19.4162 10.7675C19.4162 14.035 19.0508 15.4968 17.4975 15.4968C16.5838 15.4968 16.0964 14.7803 16.0964 13.9777V7.5H14.4822V8.30255H14.3909C14.1777 7.67198 12.9898 7.12739 11.467 7.2707C9.18274 7.5 7.4467 9.27707 7.4467 11.8567C7.4467 14.5796 8.81726 16.672 11.467 16.758C13.203 16.8153 14.1168 16.0127 14.4822 15.1815H14.5736C14.7563 16.414 16.401 16.8439 17.467 16.8439C20.6954 16.8439 21 13.5764 21 10.7962C21 6.86943 18.0761 3 12.3807 3C6.50254 3 3 6.3535 3 11.9427C3 17.7325 6.38071 21 12.5939 21ZM11.7107 15.2962C9.73096 15.2962 9.03046 13.6051 9.03046 11.7707C9.03046 10.1083 10.0355 8.67516 11.7716 8.67516C13.599 8.67516 14.5736 9.36306 14.5736 11.7707C14.5736 14.1497 13.7513 15.2962 11.7107 15.2962Z\"\n })\n});\nexport default atSymbol;\n//# sourceMappingURL=at-symbol.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst audio = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.7 4.3c-1.2 0-2.8 0-3.8 1-.6.6-.9 1.5-.9 2.6V14c-.6-.6-1.5-1-2.5-1C8.6 13 7 14.6 7 16.5S8.6 20 10.5 20c1.5 0 2.8-1 3.3-2.3.5-.8.7-1.8.7-2.5V7.9c0-.7.2-1.2.5-1.6.6-.6 1.8-.6 2.8-.6h.3V4.3h-.4z\"\n })\n});\nexport default audio;\n//# sourceMappingURL=audio.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst background = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.53 4.47a.75.75 0 1 0-1.06 1.06l8 8a.75.75 0 1 0 1.06-1.06l-8-8Zm5 1a.75.75 0 1 0-1.06 1.06l2 2a.75.75 0 1 0 1.06-1.06l-2-2Zm-11.06 10a.75.75 0 0 1 1.06 0l2 2a.75.75 0 1 1-1.06 1.06l-2-2a.75.75 0 0 1 0-1.06Zm.06-5a.75.75 0 0 0-1.06 1.06l8 8a.75.75 0 1 0 1.06-1.06l-8-8Zm-.06-3a.75.75 0 0 1 1.06 0l10 10a.75.75 0 1 1-1.06 1.06l-10-10a.75.75 0 0 1 0-1.06Zm3.06-2a.75.75 0 0 0-1.06 1.06l10 10a.75.75 0 1 0 1.06-1.06l-10-10Z\"\n })\n});\nexport default background;\n//# sourceMappingURL=background.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst backup = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.5 12h1.75l-2.5 3-2.5-3H4a8 8 0 113.134 6.35l.907-1.194A6.5 6.5 0 105.5 12zm9.53 1.97l-2.28-2.28V8.5a.75.75 0 00-1.5 0V12a.747.747 0 00.218.529l1.282-.84-1.28.842 2.5 2.5a.75.75 0 101.06-1.061z\"\n })\n});\nexport default backup;\n//# sourceMappingURL=backup.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, Circle } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst bellUnread = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M13.969 4.39A5.088 5.088 0 0 0 12 4C9.2 4 7 6.2 7 9v2.5c0 1.353-.17 2.368-.976 3-.267.209-.602.376-1.024.5v1h14v-1c-.422-.124-.757-.291-1.024-.5-.806-.632-.976-1.647-.976-3V11c-.53 0-1.037-.103-1.5-.29v.79c0 .93.066 1.98.515 2.897l.053.103H7.932l.053-.103c.449-.917.515-1.967.515-2.897V9c0-1.972 1.528-3.5 3.5-3.5.43 0 .838.072 1.214.206.167-.488.425-.933.755-1.316Zm-3.961 13.618c0-.176.023-.346.065-.508h3.854A1.996 1.996 0 0 1 12 20a1.991 1.991 0 0 1-1.992-1.992Z\"\n }), /*#__PURE__*/_jsx(Circle, {\n cx: \"17\",\n cy: \"7\",\n r: \"2.5\"\n })]\n});\nexport default bellUnread;\n//# sourceMappingURL=bell-unread.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst bell = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17 11.5c0 1.353.17 2.368.976 3 .266.209.602.376 1.024.5v1H5v-1c.422-.124.757-.291 1.024-.5.806-.632.976-1.647.976-3V9c0-2.8 2.2-5 5-5s5 2.2 5 5v2.5ZM15.5 9v2.5c0 .93.066 1.98.515 2.897l.053.103H7.932a4.018 4.018 0 0 0 .053-.103c.449-.917.515-1.967.515-2.897V9c0-1.972 1.528-3.5 3.5-3.5s3.5 1.528 3.5 3.5Zm-5.492 9.008c0-.176.023-.346.065-.508h3.854A1.996 1.996 0 0 1 12 20c-1.1 0-1.992-.892-1.992-1.992Z\"\n })\n});\nexport default bell;\n//# sourceMappingURL=bell.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst blockDefault = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 8h-1V6h-5v2h-2V6H6v2H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm.5 10c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-8c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v8z\"\n })\n});\nexport default blockDefault;\n//# sourceMappingURL=block-default.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst blockMeta = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M8.95 11.25H4v1.5h4.95v4.5H13V18c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2h-3c-1.1 0-2 .9-2 2v.75h-2.55v-7.5H13V9c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3c-1.1 0-2 .9-2 2v.75H8.95v4.5ZM14.5 15v3c0 .3.2.5.5.5h3c.3 0 .5-.2.5-.5v-3c0-.3-.2-.5-.5-.5h-3c-.3 0-.5.2-.5.5Zm0-6V6c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5Z\",\n clipRule: \"evenodd\"\n })\n});\nexport default blockMeta;\n//# sourceMappingURL=block-meta.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst blockTable = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v3.5h-15V5c0-.3.2-.5.5-.5zm8 5.5h6.5v3.5H13V10zm-1.5 3.5h-7V10h7v3.5zm-7 5.5v-4h7v4.5H5c-.3 0-.5-.2-.5-.5zm14.5.5h-6V15h6.5v4c0 .3-.2.5-.5.5z\"\n })\n});\nexport default blockTable;\n//# sourceMappingURL=block-table.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst border = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m6.6 15.6-1.2.8c.6.9 1.3 1.6 2.2 2.2l.8-1.2c-.7-.5-1.3-1.1-1.8-1.8zM5.5 12c0-.4 0-.9.1-1.3l-1.5-.3c0 .5-.1 1.1-.1 1.6s.1 1.1.2 1.6l1.5-.3c-.2-.4-.2-.9-.2-1.3zm11.9-3.6 1.2-.8c-.6-.9-1.3-1.6-2.2-2.2l-.8 1.2c.7.5 1.3 1.1 1.8 1.8zM5.3 7.6l1.2.8c.5-.7 1.1-1.3 1.8-1.8l-.7-1.3c-.9.6-1.7 1.4-2.3 2.3zm14.5 2.8-1.5.3c.1.4.1.8.1 1.3s0 .9-.1 1.3l1.5.3c.1-.5.2-1 .2-1.6s-.1-1.1-.2-1.6zM12 18.5c-.4 0-.9 0-1.3-.1l-.3 1.5c.5.1 1 .2 1.6.2s1.1-.1 1.6-.2l-.3-1.5c-.4.1-.9.1-1.3.1zm3.6-1.1.8 1.2c.9-.6 1.6-1.3 2.2-2.2l-1.2-.8c-.5.7-1.1 1.3-1.8 1.8zM10.4 4.2l.3 1.5c.4-.1.8-.1 1.3-.1s.9 0 1.3.1l.3-1.5c-.5-.1-1.1-.2-1.6-.2s-1.1.1-1.6.2z\"\n })\n});\nexport default border;\n//# sourceMappingURL=border.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst box = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5 5.5h14a.5.5 0 01.5.5v1.5a.5.5 0 01-.5.5H5a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 9.232A2 2 0 013 7.5V6a2 2 0 012-2h14a2 2 0 012 2v1.5a2 2 0 01-1 1.732V18a2 2 0 01-2 2H6a2 2 0 01-2-2V9.232zm1.5.268V18a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V9.5h-13z\",\n clipRule: \"evenodd\"\n })\n});\nexport default box;\n//# sourceMappingURL=box.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst brush = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 20h8v-1.5H4V20zM18.9 3.5c-.6-.6-1.5-.6-2.1 0l-7.2 7.2c-.4-.1-.7 0-1.1.1-.5.2-1.5.7-1.9 2.2-.4 1.7-.8 2.2-1.1 2.7-.1.1-.2.3-.3.4l-.6 1.1H6c2 0 3.4-.4 4.7-1.4.8-.6 1.2-1.4 1.3-2.3 0-.3 0-.5-.1-.7L19 5.7c.5-.6.5-1.6-.1-2.2zM9.7 14.7c-.7.5-1.5.8-2.4 1 .2-.5.5-1.2.8-2.3.2-.6.4-1 .8-1.1.5-.1 1 .1 1.3.3.2.2.3.5.2.8 0 .3-.1.9-.7 1.3z\"\n })\n});\nexport default brush;\n//# sourceMappingURL=brush.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst bug = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.13 5.5l1.926 1.927A4.975 4.975 0 007.025 10H5v1.5h2V13H5v1.5h2.1a5.002 5.002 0 009.8 0H19V13h-2v-1.5h2V10h-2.025a4.979 4.979 0 00-1.167-2.74l1.76-1.76-1.061-1.06-1.834 1.834A4.977 4.977 0 0012 5.5c-1.062 0-2.046.33-2.855.895L7.19 4.44 6.13 5.5zm2.37 5v3a3.5 3.5 0 107 0v-3a3.5 3.5 0 10-7 0z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default bug;\n//# sourceMappingURL=bug.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst button = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8 12.5h8V11H8v1.5Z M19 6.5H5a2 2 0 0 0-2 2V15a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a2 2 0 0 0-2-2ZM5 8h14a.5.5 0 0 1 .5.5V15a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8.5A.5.5 0 0 1 5 8Z\"\n })\n});\nexport default button;\n//# sourceMappingURL=button.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst buttons = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.5 17.5H9.5V16H14.5V17.5Z M14.5 8H9.5V6.5H14.5V8Z M7 3.5H17C18.1046 3.5 19 4.39543 19 5.5V9C19 10.1046 18.1046 11 17 11H7C5.89543 11 5 10.1046 5 9V5.5C5 4.39543 5.89543 3.5 7 3.5ZM17 5H7C6.72386 5 6.5 5.22386 6.5 5.5V9C6.5 9.27614 6.72386 9.5 7 9.5H17C17.2761 9.5 17.5 9.27614 17.5 9V5.5C17.5 5.22386 17.2761 5 17 5Z M7 13H17C18.1046 13 19 13.8954 19 15V18.5C19 19.6046 18.1046 20.5 17 20.5H7C5.89543 20.5 5 19.6046 5 18.5V15C5 13.8954 5.89543 13 7 13ZM17 14.5H7C6.72386 14.5 6.5 14.7239 6.5 15V18.5C6.5 18.7761 6.72386 19 7 19H17C17.2761 19 17.5 18.7761 17.5 18.5V15C17.5 14.7239 17.2761 14.5 17 14.5Z\"\n })\n});\nexport default buttons;\n//# sourceMappingURL=buttons.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst calendar = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V7h15v12zM9 10H7v2h2v-2zm0 4H7v2h2v-2zm4-4h-2v2h2v-2zm4 0h-2v2h2v-2zm-4 4h-2v2h2v-2zm4 0h-2v2h2v-2z\"\n })\n});\nexport default calendar;\n//# sourceMappingURL=calendar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cancelCircleFilled = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm3.8 10.7-1.1 1.1-2.7-2.7-2.7 2.7-1.1-1.1 2.7-2.7-2.7-2.7 1.1-1.1 2.7 2.7 2.7-2.7 1.1 1.1-2.7 2.7 2.7 2.7Z\"\n })\n});\nexport default cancelCircleFilled;\n//# sourceMappingURL=cancel-circle-filled.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst caption = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6 5.5h12a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5ZM4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6Zm4 10h2v-1.5H8V16Zm5 0h-2v-1.5h2V16Zm1 0h2v-1.5h-2V16Z\"\n })\n});\nexport default caption;\n//# sourceMappingURL=caption.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst capturePhoto = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 9.2c-2.2 0-3.9 1.8-3.9 4s1.8 4 3.9 4 4-1.8 4-4-1.8-4-4-4zm0 6.5c-1.4 0-2.4-1.1-2.4-2.5s1.1-2.5 2.4-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zM20.2 8c-.1 0-.3 0-.5-.1l-2.5-.8c-.4-.1-.8-.4-1.1-.8l-1-1.5c-.4-.5-1-.9-1.7-.9h-2.9c-.6.1-1.2.4-1.6 1l-1 1.5c-.3.3-.6.6-1.1.7l-2.5.8c-.2.1-.4.1-.6.1-1 .2-1.7.9-1.7 1.9v8.3c0 1 .9 1.9 2 1.9h16c1.1 0 2-.8 2-1.9V9.9c0-1-.7-1.7-1.8-1.9zm.3 10.1c0 .2-.2.4-.5.4H4c-.3 0-.5-.2-.5-.4V9.9c0-.1.2-.3.5-.4.2 0 .5-.1.8-.2l2.5-.8c.7-.2 1.4-.6 1.8-1.3l1-1.5c.1-.1.2-.2.4-.2h2.9c.2 0 .3.1.4.2l1 1.5c.4.7 1.1 1.1 1.9 1.4l2.5.8c.3.1.6.1.8.2.3 0 .4.2.4.4v8.1z\"\n })\n});\nexport default capturePhoto;\n//# sourceMappingURL=capture-photo.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst captureVideo = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 5H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm.5 12c0 .3-.2.5-.5.5H4c-.3 0-.5-.2-.5-.5V7c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v10zm2.5-7v4l5 3V7l-5 3zm3.5 4.4l-2-1.2v-2.3l2-1.2v4.7z\"\n })\n});\nexport default captureVideo;\n//# sourceMappingURL=capture-video.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst category = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 5.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2V6zm11-.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM13 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2h-3a2 2 0 01-2-2V6zm5 8.5h-3a.5.5 0 00-.5.5v3a.5.5 0 00.5.5h3a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5zM15 13a2 2 0 00-2 2v3a2 2 0 002 2h3a2 2 0 002-2v-3a2 2 0 00-2-2h-3zm-9 1.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5zM4 15a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2v-3z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default category;\n//# sourceMappingURL=category.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cautionFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM12.75 8V13H11.25V8H12.75ZM12.75 14.5V16H11.25V14.5H12.75Z\"\n })\n});\nexport default cautionFilled;\n//# sourceMappingURL=caution-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst caution = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-.75 12v-1.5h1.5V16h-1.5Zm0-8v5h1.5V8h-1.5Z\"\n })\n});\nexport default caution;\n//# sourceMappingURL=caution.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chartBar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M11.25 5h1.5v15h-1.5V5zM6 10h1.5v10H6V10zm12 4h-1.5v6H18v-6z\",\n clipRule: \"evenodd\"\n })\n});\nexport default chartBar;\n//# sourceMappingURL=chart-bar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst check = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z\"\n })\n});\nexport default check;\n//# sourceMappingURL=check.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronDownSmall = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m15.99 10.889-3.988 3.418-3.988-3.418.976-1.14 3.012 2.582 3.012-2.581.976 1.139Z\"\n })\n});\nexport default chevronDownSmall;\n//# sourceMappingURL=chevron-down-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronDown = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z\"\n })\n});\nexport default chevronDown;\n//# sourceMappingURL=chevron-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronLeftSmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m13.1 16-3.4-4 3.4-4 1.1 1-2.6 3 2.6 3-1.1 1z\"\n })\n});\nexport default chevronLeftSmall;\n//# sourceMappingURL=chevron-left-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z\"\n })\n});\nexport default chevronLeft;\n//# sourceMappingURL=chevron-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronRightSmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.8622 8.04053L14.2805 12.0286L10.8622 16.0167L9.72327 15.0405L12.3049 12.0286L9.72327 9.01672L10.8622 8.04053Z\"\n })\n});\nexport default chevronRightSmall;\n//# sourceMappingURL=chevron-right-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z\"\n })\n});\nexport default chevronRight;\n//# sourceMappingURL=chevron-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronUpDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m12 20-4.5-3.6-.9 1.2L12 22l5.5-4.4-.9-1.2L12 20zm0-16 4.5 3.6.9-1.2L12 2 6.5 6.4l.9 1.2L12 4z\"\n })\n});\nexport default chevronUpDown;\n//# sourceMappingURL=chevron-up-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronUp = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z\"\n })\n});\nexport default chevronUp;\n//# sourceMappingURL=chevron-up.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst classic = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 6H4c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H4c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h16c.3 0 .5.2.5.5v9zM10 10H8v2h2v-2zm-5 2h2v-2H5v2zm8-2h-2v2h2v-2zm-5 6h8v-2H8v2zm6-4h2v-2h-2v2zm3 0h2v-2h-2v2zm0 4h2v-2h-2v2zM5 16h2v-2H5v2z\"\n })\n});\nexport default classic;\n//# sourceMappingURL=classic.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst closeSmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z\"\n })\n});\nexport default closeSmall;\n//# sourceMappingURL=close-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst close = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z\"\n })\n});\nexport default close;\n//# sourceMappingURL=close.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cloudDownload = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.3 10.1002C17.3 7.6002 15.2 5.7002 12.5 5.7002C10.3 5.7002 8.4 7.1002 7.9 9.0002H7.7C5.7 9.0002 4 10.7002 4 12.8002C4 14.9002 5.7 16.6002 7.7 16.6002V15.2002C6.5 15.2002 5.5 14.1002 5.5 12.9002C5.5 11.7002 6.5 10.5002 7.7 10.5002H9L9.3 9.4002C9.7 8.1002 11 7.2002 12.5 7.2002C14.3 7.2002 15.8 8.5002 15.8 10.1002V11.4002L17.1 11.6002C17.9 11.7002 18.5 12.5002 18.5 13.4002C18.5 14.4002 17.7 15.2002 16.8 15.2002H16.5V16.6002H16.7C18.5 16.6002 19.9 15.1002 19.9 13.3002C20 11.7002 18.8 10.4002 17.3 10.1002Z M9.8806 13.7576L8.81995 14.8182L12.0019 18.0002L15.1851 14.8171L14.1244 13.7564L12.7551 15.1257L12.7551 10.0002L11.2551 10.0002V15.1321L9.8806 13.7576Z\"\n })\n});\nexport default cloudDownload;\n//# sourceMappingURL=cloud-download.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cloudUpload = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.3 10.1C17.3 7.60001 15.2 5.70001 12.5 5.70001C10.3 5.70001 8.4 7.10001 7.9 9.00001H7.7C5.7 9.00001 4 10.7 4 12.8C4 14.9 5.7 16.6 7.7 16.6H9.5V15.2H7.7C6.5 15.2 5.5 14.1 5.5 12.9C5.5 11.7 6.5 10.5 7.7 10.5H9L9.3 9.40001C9.7 8.10001 11 7.20001 12.5 7.20001C14.3 7.20001 15.8 8.50001 15.8 10.1V11.4L17.1 11.6C17.9 11.7 18.5 12.5 18.5 13.4C18.5 14.4 17.7 15.2 16.8 15.2H14.5V16.6H16.7C18.5 16.6 19.9 15.1 19.9 13.3C20 11.7 18.8 10.4 17.3 10.1Z M14.1245 14.2426L15.1852 13.182L12.0032 10L8.82007 13.1831L9.88072 14.2438L11.25 12.8745V18H12.75V12.8681L14.1245 14.2426Z\"\n })\n});\nexport default cloudUpload;\n//# sourceMappingURL=cloud-upload.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cloud = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.3 10.1c0-2.5-2.1-4.4-4.8-4.4-2.2 0-4.1 1.4-4.6 3.3h-.2C5.7 9 4 10.7 4 12.8c0 2.1 1.7 3.8 3.7 3.8h9c1.8 0 3.2-1.5 3.2-3.3.1-1.6-1.1-2.9-2.6-3.2zm-.5 5.1h-9c-1.2 0-2.2-1.1-2.2-2.3s1-2.4 2.2-2.4h1.3l.3-1.1c.4-1.3 1.7-2.2 3.2-2.2 1.8 0 3.3 1.3 3.3 2.9v1.3l1.3.2c.8.1 1.4.9 1.4 1.8-.1 1-.9 1.8-1.8 1.8z\"\n })\n});\nexport default cloud;\n//# sourceMappingURL=cloud.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst code = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.8 10.7l-4.3-4.3-1.1 1.1 4.3 4.3c.1.1.1.3 0 .4l-4.3 4.3 1.1 1.1 4.3-4.3c.7-.8.7-1.9 0-2.6zM4.2 11.8l4.3-4.3-1-1-4.3 4.3c-.7.7-.7 1.8 0 2.5l4.3 4.3 1.1-1.1-4.3-4.3c-.2-.1-.2-.3-.1-.4z\"\n })\n});\nexport default code;\n//# sourceMappingURL=code.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cog = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M10.289 4.836A1 1 0 0111.275 4h1.306a1 1 0 01.987.836l.244 1.466c.787.26 1.503.679 2.108 1.218l1.393-.522a1 1 0 011.216.437l.653 1.13a1 1 0 01-.23 1.273l-1.148.944a6.025 6.025 0 010 2.435l1.149.946a1 1 0 01.23 1.272l-.653 1.13a1 1 0 01-1.216.437l-1.394-.522c-.605.54-1.32.958-2.108 1.218l-.244 1.466a1 1 0 01-.987.836h-1.306a1 1 0 01-.986-.836l-.244-1.466a5.995 5.995 0 01-2.108-1.218l-1.394.522a1 1 0 01-1.217-.436l-.653-1.131a1 1 0 01.23-1.272l1.149-.946a6.026 6.026 0 010-2.435l-1.148-.944a1 1 0 01-.23-1.272l.653-1.131a1 1 0 011.217-.437l1.393.522a5.994 5.994 0 012.108-1.218l.244-1.466zM14.929 12a3 3 0 11-6 0 3 3 0 016 0z\",\n clipRule: \"evenodd\"\n })\n});\nexport default cog;\n//# sourceMappingURL=cog.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst color = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.2 10.9c-.5-1-1.2-2.1-2.1-3.2-.6-.9-1.3-1.7-2.1-2.6L12 4l-1 1.1c-.6.9-1.3 1.7-2 2.6-.8 1.2-1.5 2.3-2 3.2-.6 1.2-1 2.2-1 3 0 3.4 2.7 6.1 6.1 6.1s6.1-2.7 6.1-6.1c0-.8-.3-1.8-1-3zm-5.1 7.6c-2.5 0-4.6-2.1-4.6-4.6 0-.3.1-1 .8-2.3.5-.9 1.1-1.9 2-3.1.7-.9 1.3-1.7 1.8-2.3.7.8 1.3 1.6 1.8 2.3.8 1.1 1.5 2.2 2 3.1.7 1.3.8 2 .8 2.3 0 2.5-2.1 4.6-4.6 4.6z\"\n })\n});\nexport default color;\n//# sourceMappingURL=color.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst column = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 6H6c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zM6 17.5c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h3v10H6zm13.5-.5c0 .3-.2.5-.5.5h-3v-10h3c.3 0 .5.2.5.5v9z\"\n })\n});\nexport default column;\n//# sourceMappingURL=column.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst columns = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 7.5h-5v10h5v-10Zm1.5 0v10H19a.5.5 0 0 0 .5-.5V8a.5.5 0 0 0-.5-.5h-2.5ZM6 7.5h2.5v10H6a.5.5 0 0 1-.5-.5V8a.5.5 0 0 1 .5-.5ZM6 6h13a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2Z\"\n })\n});\nexport default columns;\n//# sourceMappingURL=columns.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentAuthorAvatar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M7.25 16.437a6.5 6.5 0 1 1 9.5 0V16A2.75 2.75 0 0 0 14 13.25h-4A2.75 2.75 0 0 0 7.25 16v.437Zm1.5 1.193a6.47 6.47 0 0 0 3.25.87 6.47 6.47 0 0 0 3.25-.87V16c0-.69-.56-1.25-1.25-1.25h-4c-.69 0-1.25.56-1.25 1.25v1.63ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm10-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\",\n clipRule: \"evenodd\"\n })\n});\nexport default commentAuthorAvatar;\n//# sourceMappingURL=comment-author-avatar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, Circle } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst commentAuthorName = /*#__PURE__*/_jsxs(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12.9c0 .6.5 1.1 1.1 1.1.3 0 .5-.1.8-.3L8.5 17H18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H7.9l-2.4 2.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v9z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M15 15V15C15 13.8954 14.1046 13 13 13L11 13C9.89543 13 9 13.8954 9 15V15\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(Circle, {\n cx: \"12\",\n cy: \"9\",\n r: \"2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })]\n});\nexport default commentAuthorName;\n//# sourceMappingURL=comment-author-name.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentContent = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.68822 16.625L5.5 17.8145L5.5 5.5L18.5 5.5L18.5 16.625L6.68822 16.625ZM7.31 18.125L19 18.125C19.5523 18.125 20 17.6773 20 17.125L20 5C20 4.44772 19.5523 4 19 4H5C4.44772 4 4 4.44772 4 5V19.5247C4 19.8173 4.16123 20.086 4.41935 20.2237C4.72711 20.3878 5.10601 20.3313 5.35252 20.0845L7.31 18.125ZM16 9.99997H8V8.49997H16V9.99997ZM8 14H13V12.5H8V14Z\"\n })\n});\nexport default commentContent;\n//# sourceMappingURL=comment-content.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentEditLink = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m6.249 11.065.44-.44h3.186l-1.5 1.5H7.31l-1.957 1.96A.792.792 0 0 1 4 13.524V5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v1.5L12.5 8V5.5h-7v6.315l.749-.75ZM20 19.75H7v-1.5h13v1.5Zm0-12.653-8.967 9.064L8 17l.867-2.935L17.833 5 20 7.097Z\"\n })\n});\nexport default commentEditLink;\n//# sourceMappingURL=comment-edit-link.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentReplyLink = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.68822 10.625L6.24878 11.0649L5.5 11.8145L5.5 5.5L12.5 5.5V8L14 6.5V5C14 4.44772 13.5523 4 13 4H5C4.44772 4 4 4.44771 4 5V13.5247C4 13.8173 4.16123 14.086 4.41935 14.2237C4.72711 14.3878 5.10601 14.3313 5.35252 14.0845L7.31 12.125H8.375L9.875 10.625H7.31H6.68822ZM14.5605 10.4983L11.6701 13.75H16.9975C17.9963 13.75 18.7796 14.1104 19.3553 14.7048C19.9095 15.2771 20.2299 16.0224 20.4224 16.7443C20.7645 18.0276 20.7543 19.4618 20.7487 20.2544C20.7481 20.345 20.7475 20.4272 20.7475 20.4999L19.2475 20.5001C19.2475 20.4191 19.248 20.3319 19.2484 20.2394V20.2394C19.2526 19.4274 19.259 18.2035 18.973 17.1307C18.8156 16.5401 18.586 16.0666 18.2778 15.7483C17.9909 15.4521 17.5991 15.25 16.9975 15.25H11.8106L14.5303 17.9697L13.4696 19.0303L8.96956 14.5303L13.4394 9.50171L14.5605 10.4983Z\"\n })\n});\nexport default commentReplyLink;\n//# sourceMappingURL=comment-reply-link.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst comment = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12.9c0 .6.5 1.1 1.1 1.1.3 0 .5-.1.8-.3L8.5 17H18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H7.9l-2.4 2.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v9z\"\n })\n});\nexport default comment;\n//# sourceMappingURL=comment.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst connection = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fillRule: \"evenodd\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.53 4.47a.75.75 0 0 1 0 1.06L17.06 8l.77.769a3.155 3.155 0 0 1 .685 3.439 3.15 3.15 0 0 1-.685 1.022v.001L13.23 17.83v.001a3.15 3.15 0 0 1-4.462 0L8 17.06l-2.47 2.47a.75.75 0 0 1-1.06-1.06L6.94 16l-.77-.769a3.154 3.154 0 0 1-.685-3.439 3.15 3.15 0 0 1 .685-1.023l4.599-4.598a3.152 3.152 0 0 1 4.462 0l.769.768 2.47-2.47a.75.75 0 0 1 1.06 0Zm-2.76 7.7L15 13.94 10.06 9l1.771-1.77a1.65 1.65 0 0 1 2.338 0L16.77 9.83a1.649 1.649 0 0 1 0 2.338h-.001ZM13.94 15 9 10.06l-1.77 1.771a1.65 1.65 0 0 0 0 2.338l2.601 2.602a1.649 1.649 0 0 0 2.338 0v-.001L13.94 15Z\"\n })\n});\nexport default connection;\n//# sourceMappingURL=connection.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst copySmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.625 5.5h9.75c.069 0 .125.056.125.125v9.75a.125.125 0 0 1-.125.125h-9.75a.125.125 0 0 1-.125-.125v-9.75c0-.069.056-.125.125-.125ZM4 5.625C4 4.728 4.728 4 5.625 4h9.75C16.273 4 17 4.728 17 5.625v9.75c0 .898-.727 1.625-1.625 1.625h-9.75A1.625 1.625 0 0 1 4 15.375v-9.75Zm14.5 11.656v-9H20v9C20 18.8 18.77 20 17.251 20H6.25v-1.5h11.001c.69 0 1.249-.528 1.249-1.219Z\"\n })\n});\nexport default copySmall;\n//# sourceMappingURL=copy-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst copy = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5 4.5h11a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V5a.5.5 0 0 1 .5-.5ZM3 5a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5Zm17 3v10.75c0 .69-.56 1.25-1.25 1.25H6v1.5h12.75a2.75 2.75 0 0 0 2.75-2.75V8H20Z\"\n })\n});\nexport default copy;\n//# sourceMappingURL=copy.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cornerAll = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5Zm-12.5 9v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n});\nexport default cornerAll;\n//# sourceMappingURL=corner-all.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerBottomLeft = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.75 15v3c0 .138.112.25.25.25h3v1.5H6A1.75 1.75 0 0 1 4.25 18v-3h1.5Z\"\n })]\n});\nexport default cornerBottomLeft;\n//# sourceMappingURL=corner-bottom-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerBottomRight = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 18.25h3a.25.25 0 0 0 .25-.25v-3h1.5v3A1.75 1.75 0 0 1 18 19.75h-3v-1.5Z\"\n })]\n});\nexport default cornerBottomRight;\n//# sourceMappingURL=corner-bottom-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerTopLeft = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6 5.75a.25.25 0 0 0-.25.25v3h-1.5V6c0-.966.784-1.75 1.75-1.75h3v1.5H6Z\"\n })]\n});\nexport default cornerTopLeft;\n//# sourceMappingURL=corner-top-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerTopRight = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5Z\"\n })]\n});\nexport default cornerTopRight;\n//# sourceMappingURL=corner-top-right.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cover = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h6.2v8.9l2.5-3.1 2.5 3.1V4.5h2.2c.4 0 .8.4.8.8v13.4z\"\n })\n});\nexport default cover;\n//# sourceMappingURL=cover.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst create = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 11.2h-3.2V8h-1.6v3.2H8v1.6h3.2V16h1.6v-3.2H16z\"\n })\n});\nexport default create;\n//# sourceMappingURL=create.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst crop = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 20v-2h2v-1.5H7.75a.25.25 0 0 1-.25-.25V4H6v2H4v1.5h2v8.75c0 .966.784 1.75 1.75 1.75h8.75v2H18ZM9.273 7.5h6.977a.25.25 0 0 1 .25.25v6.977H18V7.75A1.75 1.75 0 0 0 16.25 6H9.273v1.5Z\"\n })\n});\nexport default crop;\n//# sourceMappingURL=crop.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst currencyDollar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.7 9.6c.3-.2.8-.4 1.3-.4s1 .2 1.3.4c.3.2.4.5.4.6 0 .4.3.8.8.8s.8-.3.8-.8c0-.8-.5-1.4-1.1-1.9-.4-.3-.9-.5-1.4-.6v-.3c0-.4-.3-.8-.8-.8s-.8.3-.8.8v.3c-.5 0-1 .3-1.4.6-.6.4-1.1 1.1-1.1 1.9s.5 1.4 1.1 1.9c.6.4 1.4.6 2.2.6h.2c.5 0 .9.2 1.1.4.3.2.4.5.4.6s0 .4-.4.6c-.3.2-.8.4-1.3.4s-1-.2-1.3-.4c-.3-.2-.4-.5-.4-.6 0-.4-.3-.8-.8-.8s-.8.3-.8.8c0 .8.5 1.4 1.1 1.9.4.3.9.5 1.4.6v.3c0 .4.3.8.8.8s.8-.3.8-.8v-.3c.5 0 1-.3 1.4-.6.6-.4 1.1-1.1 1.1-1.9s-.5-1.4-1.1-1.9c-.5-.4-1.2-.6-1.9-.6H12c-.6 0-1-.2-1.3-.4-.3-.2-.4-.5-.4-.6s0-.4.4-.6ZM12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5Z\"\n })\n});\nexport default currencyDollar;\n//# sourceMappingURL=currency-dollar.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst currencyEuro = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.9 9.3c.4 0 .8 0 1.1.2.4.1.7.3 1 .6.1.1.3.2.5.2s.4 0 .5-.2c.1-.1.2-.3.2-.5s0-.4-.2-.5c-.5-.5-1.1-.8-1.7-1.1-.7-.2-1.4-.2-2-.1-.7.1-1.3.4-1.9.8-.5.4-1 1-1.3 1.6h-.6c-.2 0-.4 0-.5.2-.1.1-.2.3-.2.5s0 .4.2.5c.1.1.3.2.5.2h.3v.5h-.3c-.2 0-.4 0-.5.2-.1.1-.2.3-.2.5s0 .4.2.5c.1.1.3.2.5.2h.6c.3.6.7 1.2 1.3 1.6.5.4 1.2.7 1.9.8.7.1 1.4 0 2-.1.7-.2 1.3-.6 1.7-1.1.1-.1.2-.3.2-.5s0-.4-.2-.5-.3-.2-.5-.2-.4 0-.5.2c-.3.3-.6.5-1 .6-.4.1-.7.2-1.1.2-.4 0-.8-.1-1.1-.3-.3-.2-.6-.4-.9-.7h.6c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2H9.3v-.5h2.2c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2H9.9c.2-.3.5-.5.9-.7s.7-.3 1.1-.3ZM12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5Z\"\n })\n});\nexport default currencyEuro;\n//# sourceMappingURL=currency-euro.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst currencyPound = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M14.4 14.5H11c.3-.4.5-1 .5-1.6v-.1h1c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2h-1.3c0-.1-.1-.3-.2-.4 0-.1-.1-.2-.1-.4v-.3c0-.8.6-1.4 1.4-1.4s.6 0 .8.2c.2.2.4.4.5.6 0 .2.2.3.4.4h.6c.2 0 .3-.2.4-.4v-.6c-.3-.6-.7-1.2-1.3-1.5-.6-.3-1.3-.4-2-.3s-1.3.5-1.7 1c-.4.5-.7 1.2-.7 1.9 0 .3 0 .5.2.8 0 0 0 .2.1.3-.2 0-.4 0-.5.2-.1.1-.2.3-.2.5s0 .4.2.5c.1.1.3.2.5.2h.5v.1c0 .4-.2.8-.5 1.2l-.6.6c-.1 0-.2.2-.3.4v.5c0 .1.1.3.3.4.1 0 .3.1.4.1h5.1c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2ZM12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5Z\"\n })\n});\nexport default currencyPound;\n//# sourceMappingURL=currency-pound.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst customLink = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5 14.5h-1V16h1c2.2 0 4-1.8 4-4s-1.8-4-4-4h-1v1.5h1c1.4 0 2.5 1.1 2.5 2.5s-1.1 2.5-2.5 2.5zm-4 1.5v-1.5h-1C6.1 14.5 5 13.4 5 12s1.1-2.5 2.5-2.5h1V8h-1c-2.2 0-4 1.8-4 4s1.8 4 4 4h1zm-1-3.2h5v-1.5h-5v1.5zM18 4H9c-1.1 0-2 .9-2 2v.5h1.5V6c0-.3.2-.5.5-.5h9c.3 0 .5.2.5.5v12c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5v-.5H7v.5c0 1.1.9 2 2 2h9c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2z\"\n })\n});\nexport default customLink;\n//# sourceMappingURL=custom-link.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst customPostType = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4zm.8-4l.7.7 2-2V12h1V9.2l2 2 .7-.7-2-2H12v-1H9.2l2-2-.7-.7-2 2V4h-1v2.8l-2-2-.7.7 2 2H4v1h2.8l-2 2z\"\n })\n});\nexport default customPostType;\n//# sourceMappingURL=custom-post-type.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst dashboard = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 5a8 8 0 0 1 3.842.984L14.726 7.1a6.502 6.502 0 0 0-7.323 1.303 6.5 6.5 0 0 0 0 9.194l-1.06 1.06A8 8 0 0 1 12 5Zm7.021 4.168a8 8 0 0 1-1.364 9.49l-1.06-1.061a6.5 6.5 0 0 0 1.307-7.312l1.117-1.117ZM17.47 6.47a.75.75 0 1 1 1.06 1.06l-5.083 5.082a1.5 1.5 0 1 1-1.06-1.06L17.47 6.47Z\"\n })\n});\nexport default dashboard;\n//# sourceMappingURL=dashboard.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst desktop = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.5 16h-.7V8c0-1.1-.9-2-2-2H6.2c-1.1 0-2 .9-2 2v8h-.7c-.8 0-1.5.7-1.5 1.5h20c0-.8-.7-1.5-1.5-1.5zM5.7 8c0-.3.2-.5.5-.5h11.6c.3 0 .5.2.5.5v7.6H5.7V8z\"\n })\n});\nexport default desktop;\n//# sourceMappingURL=desktop.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst details = /*#__PURE__*/_jsxs(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M4 16h10v1.5H4V16Zm0-4.5h16V13H4v-1.5ZM10 7h10v1.5H10V7Z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4 5.25 4 2.5-4 2.5v-5Z\"\n })]\n});\nexport default details;\n//# sourceMappingURL=details.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst download = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 11.3l-1-1.1-4 4V3h-1.5v11.3L7 10.2l-1 1.1 6.2 5.8 5.8-5.8zm.5 3.7v3.5h-13V15H4v5h16v-5h-1.5z\"\n })\n});\nexport default download;\n//# sourceMappingURL=download.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst drafts = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8 4a4 4 0 0 0 4-4H8a4 4 0 0 0 4 4Z\"\n })\n});\nexport default drafts;\n//# sourceMappingURL=drafts.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst dragHandle = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8 7h2V5H8v2zm0 6h2v-2H8v2zm0 6h2v-2H8v2zm6-14v2h2V5h-2zm0 8h2v-2h-2v2zm0 6h2v-2h-2v2z\"\n })\n});\nexport default dragHandle;\n//# sourceMappingURL=drag-handle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst drawerLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM8.5 18.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h2.5v13zm10-.5c0 .3-.2.5-.5.5h-8v-13h8c.3 0 .5.2.5.5v12z\"\n })\n});\nexport default drawerLeft;\n//# sourceMappingURL=drawer-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst drawerRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4 14.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h8v13zm4.5-.5c0 .3-.2.5-.5.5h-2.5v-13H18c.3 0 .5.2.5.5v12z\"\n })\n});\nexport default drawerRight;\n//# sourceMappingURL=drawer-right.js.map","/**\n * Internal dependencies\n */\n\nimport { default as pencil } from './pencil';\nexport default pencil;\n//# sourceMappingURL=edit.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst envelope = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 7c0-1.1.9-2 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Zm2-.5h14c.3 0 .5.2.5.5v1L12 13.5 4.5 7.9V7c0-.3.2-.5.5-.5Zm-.5 3.3V17c0 .3.2.5.5.5h14c.3 0 .5-.2.5-.5V9.8L12 15.4 4.5 9.8Z\"\n })\n});\nexport default envelope;\n//# sourceMappingURL=envelope.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst error = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.218 5.377a.25.25 0 0 0-.436 0l-7.29 12.96a.25.25 0 0 0 .218.373h14.58a.25.25 0 0 0 .218-.372l-7.29-12.96Zm-1.743-.735c.669-1.19 2.381-1.19 3.05 0l7.29 12.96a1.75 1.75 0 0 1-1.525 2.608H4.71a1.75 1.75 0 0 1-1.525-2.608l7.29-12.96ZM12.75 17.46h-1.5v-1.5h1.5v1.5Zm-1.5-3h1.5v-5h-1.5v5Z\"\n })\n});\nexport default error;\n//# sourceMappingURL=error.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst external = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.5 4.5h-7V6h4.44l-5.97 5.97 1.06 1.06L18 7.06v4.44h1.5v-7Zm-13 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3H17v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3V5.5h-3Z\"\n })\n});\nexport default external;\n//# sourceMappingURL=external.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst file = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.848 8a1 1 0 0 1-.914-.594l-.723-1.63a.5.5 0 0 0-.447-.276H5a.5.5 0 0 0-.5.5v11.5a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5v-9A.5.5 0 0 0 19 8h-6.152Zm.612-1.5a.5.5 0 0 1-.462-.31l-.445-1.084A2 2 0 0 0 10.763 4H5a2 2 0 0 0-2 2v11.5a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-5.54Z\"\n })\n});\nexport default file;\n//# sourceMappingURL=file.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst filter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4 4 19h16L12 4zm0 3.2 5.5 10.3H12V7.2z\"\n })\n});\nexport default filter;\n//# sourceMappingURL=filter.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst flipHorizontal = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 6v12c0 1.1.9 2 2 2h3v-1.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h3V4H6c-1.1 0-2 .9-2 2zm7.2 16h1.5V2h-1.5v20zM15 5.5h1.5V4H15v1.5zm3.5.5H20c0-1.1-.9-2-2-2v1.5c.3 0 .5.2.5.5zm0 10.5H20v-2h-1.5v2zm0-3.5H20v-2h-1.5v2zm-.5 5.5V20c1.1 0 2-.9 2-2h-1.5c0 .3-.2.5-.5.5zM15 20h1.5v-1.5H15V20zm3.5-10.5H20v-2h-1.5v2z\"\n })\n});\nexport default flipHorizontal;\n//# sourceMappingURL=flip-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst flipVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M2 11.2v1.5h20v-1.5H2zM5.5 6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v3H20V6c0-1.1-.9-2-2-2H6c-1.1 0-2 .9-2 2v3h1.5V6zm2 14h2v-1.5h-2V20zm3.5 0h2v-1.5h-2V20zm7-1.5V20c1.1 0 2-.9 2-2h-1.5c0 .3-.2.5-.5.5zm.5-2H20V15h-1.5v1.5zM5.5 18H4c0 1.1.9 2 2 2v-1.5c-.3 0-.5-.2-.5-.5zm0-3H4v1.5h1.5V15zm9 5h2v-1.5h-2V20z\"\n })\n});\nexport default flipVertical;\n//# sourceMappingURL=flip-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst footer = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M18 5.5h-8v8h8.5V6a.5.5 0 00-.5-.5zm-9.5 8h-3V6a.5.5 0 01.5-.5h2.5v8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default footer;\n//# sourceMappingURL=footer.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatBold = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.7 11.3c1-.6 1.5-1.6 1.5-3 0-2.3-1.3-3.4-4-3.4H7v14h5.8c1.4 0 2.5-.3 3.3-1 .8-.7 1.2-1.7 1.2-2.9.1-1.9-.8-3.1-2.6-3.7zm-5.1-4h2.3c.6 0 1.1.1 1.4.4.3.3.5.7.5 1.2s-.2 1-.5 1.2c-.3.3-.8.4-1.4.4H9.6V7.3zm4.6 9c-.4.3-1 .4-1.7.4H9.6v-3.9h2.9c.7 0 1.3.2 1.7.5.4.3.6.8.6 1.5s-.2 1.2-.6 1.5z\"\n })\n});\nexport default formatBold;\n//# sourceMappingURL=format-bold.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatCapitalize = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7.1 6.8L3.1 18h1.6l1.1-3h4.3l1.1 3h1.6l-4-11.2H7.1zm-.8 6.8L8 8.9l1.7 4.7H6.3zm14.5-1.5c-.3-.6-.7-1.1-1.2-1.5-.6-.4-1.2-.6-1.9-.6-.5 0-.9.1-1.4.3-.4.2-.8.5-1.1.8V6h-1.4v12h1.3l.2-1c.2.4.6.6 1 .8.4.2.9.3 1.4.3.7 0 1.2-.2 1.8-.5.5-.4 1-.9 1.3-1.5.3-.6.5-1.3.5-2.1-.1-.6-.2-1.3-.5-1.9zm-1.7 4c-.4.5-.9.8-1.6.8s-1.2-.2-1.7-.7c-.4-.5-.7-1.2-.7-2.1 0-.9.2-1.6.7-2.1.4-.5 1-.7 1.7-.7s1.2.3 1.6.8c.4.5.6 1.2.6 2 .1.8-.2 1.4-.6 2z\"\n })\n});\nexport default formatCapitalize;\n//# sourceMappingURL=format-capitalize.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatIndentRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM20.0303 9.03033L17.0607 12L20.0303 14.9697L18.9697 16.0303L15.4697 12.5303L14.9393 12L15.4697 11.4697L18.9697 7.96967L20.0303 9.03033Z\"\n })\n});\nexport default formatIndentRTL;\n//# sourceMappingURL=format-indent-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatIndent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-8-3.5l3 3-3 3 1 1 4-4-4-4-1 1z\"\n })\n});\nexport default formatIndent;\n//# sourceMappingURL=format-indent.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatItalic = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5 5L10 19h1.9l2.5-14z\"\n })\n});\nexport default formatItalic;\n//# sourceMappingURL=format-italic.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListBulletsRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 8.8h8.9V7.2H4v1.6zm0 7h8.9v-1.5H4v1.5zM18 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\n })\n});\nexport default formatListBulletsRTL;\n//# sourceMappingURL=format-list-bullets-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListBullets = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM6 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-7c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"\n })\n});\nexport default formatListBullets;\n//# sourceMappingURL=format-list-bullets.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListNumberedRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3.8 15.8h8.9v-1.5H3.8v1.5zm0-7h8.9V7.2H3.8v1.6zm14.7-2.1V10h1V5.3l-2.2.7.3 1 .9-.3zm1.2 6.1c-.5-.6-1.2-.5-1.7-.4-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5H20v-1h-.9c.3-.6.8-1.4.9-2.1 0-.3 0-.8-.3-1.1z\"\n })\n});\nexport default formatListNumberedRTL;\n//# sourceMappingURL=format-list-numbered-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListNumbered = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM5 6.7V10h1V5.3L3.8 6l.4 1 .8-.3zm-.4 5.7c-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5h2.7v-1h-1c.3-.6.8-1.4.9-2.1.1-.3 0-.8-.2-1.1-.5-.6-1.3-.5-1.7-.4z\"\n })\n});\nexport default formatListNumbered;\n//# sourceMappingURL=format-list-numbered.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatLowercase = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 16.8c-.1-.1-.2-.3-.3-.5v-2.6c0-.9-.1-1.7-.3-2.2-.2-.5-.5-.9-.9-1.2-.4-.2-.9-.3-1.6-.3-.5 0-1 .1-1.5.2s-.9.3-1.2.6l.2 1.2c.4-.3.7-.4 1.1-.5.3-.1.7-.2 1-.2.6 0 1 .1 1.3.4.3.2.4.7.4 1.4-1.2 0-2.3.2-3.3.7s-1.4 1.1-1.4 2.1c0 .7.2 1.2.7 1.6.4.4 1 .6 1.8.6.9 0 1.7-.4 2.4-1.2.1.3.2.5.4.7.1.2.3.3.6.4.3.1.6.1 1.1.1h.1l.2-1.2h-.1c-.4.1-.6 0-.7-.1zM9.2 16c-.2.3-.5.6-.9.8-.3.1-.7.2-1.1.2-.4 0-.7-.1-.9-.3-.2-.2-.3-.5-.3-.9 0-.6.2-1 .7-1.3.5-.3 1.3-.4 2.5-.5v2zm10.6-3.9c-.3-.6-.7-1.1-1.2-1.5-.6-.4-1.2-.6-1.9-.6-.5 0-.9.1-1.4.3-.4.2-.8.5-1.1.8V6h-1.4v12h1.3l.2-1c.2.4.6.6 1 .8.4.2.9.3 1.4.3.7 0 1.2-.2 1.8-.5.5-.4 1-.9 1.3-1.5.3-.6.5-1.3.5-2.1-.1-.6-.2-1.3-.5-1.9zm-1.7 4c-.4.5-.9.8-1.6.8s-1.2-.2-1.7-.7c-.4-.5-.7-1.2-.7-2.1 0-.9.2-1.6.7-2.1.4-.5 1-.7 1.7-.7s1.2.3 1.6.8c.4.5.6 1.2.6 2s-.2 1.4-.6 2z\"\n })\n});\nexport default formatLowercase;\n//# sourceMappingURL=format-lowercase.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatLtr = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 9c0 2.8 2.2 5 5 5v-.2V20h1.5V5.5H12V20h1.5V5.5h3V4H8C5.2 4 3 6.2 3 9Zm15.9-1-1.1 1 2.6 3-2.6 3 1.1 1 3.4-4-3.4-4Z\"\n })\n});\nexport default formatLtr;\n//# sourceMappingURL=format-ltr.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatOutdentRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM15.4697 14.9697L18.4393 12L15.4697 9.03033L16.5303 7.96967L20.0303 11.4697L20.5607 12L20.0303 12.5303L16.5303 16.0303L15.4697 14.9697Z\"\n })\n});\nexport default formatOutdentRTL;\n//# sourceMappingURL=format-outdent-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatOutdent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-4-4.6l-4 4 4 4 1-1-3-3 3-3-1-1z\"\n })\n});\nexport default formatOutdent;\n//# sourceMappingURL=format-outdent.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatRtl = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 9c0 2.8 2.2 5 5 5v-.2V20h1.5V5.5H12V20h1.5V5.5h3V4H8C5.2 4 3 6.2 3 9Zm19.3 0-1.1-1-3.4 4 3.4 4 1.1-1-2.6-3 2.6-3Z\"\n })\n});\nexport default formatRtl;\n//# sourceMappingURL=format-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatStrikethrough = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9.1 9v-.5c0-.6.2-1.1.7-1.4.5-.3 1.2-.5 2-.5.7 0 1.4.1 2.1.3.7.2 1.4.5 2.1.9l.2-1.9c-.6-.3-1.2-.5-1.9-.7-.8-.1-1.6-.2-2.4-.2-1.5 0-2.7.3-3.6 1-.8.7-1.2 1.5-1.2 2.6V9h2zM20 12H4v1h8.3c.3.1.6.2.8.3.5.2.9.5 1.1.8.3.3.4.7.4 1.2 0 .7-.2 1.1-.8 1.5-.5.3-1.2.5-2.1.5-.8 0-1.6-.1-2.4-.3-.8-.2-1.5-.5-2.2-.8L7 18.1c.5.2 1.2.4 2 .6.8.2 1.6.3 2.4.3 1.7 0 3-.3 3.9-1 .9-.7 1.3-1.6 1.3-2.8 0-.9-.2-1.7-.7-2.2H20v-1z\"\n })\n});\nexport default formatStrikethrough;\n//# sourceMappingURL=format-strikethrough.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatUnderline = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 18v1h10v-1H7zm5-2c1.5 0 2.6-.4 3.4-1.2.8-.8 1.1-2 1.1-3.5V5H15v5.8c0 1.2-.2 2.1-.6 2.8-.4.7-1.2 1-2.4 1s-2-.3-2.4-1c-.4-.7-.6-1.6-.6-2.8V5H7.5v6.2c0 1.5.4 2.7 1.1 3.5.8.9 1.9 1.3 3.4 1.3z\"\n })\n});\nexport default formatUnderline;\n//# sourceMappingURL=format-underline.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatUppercase = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.1 6.8L2.1 18h1.6l1.1-3h4.3l1.1 3h1.6l-4-11.2H6.1zm-.8 6.8L7 8.9l1.7 4.7H5.3zm15.1-.7c-.4-.5-.9-.8-1.6-1 .4-.2.7-.5.8-.9.2-.4.3-.9.3-1.4 0-.9-.3-1.6-.8-2-.6-.5-1.3-.7-2.4-.7h-3.5V18h4.2c1.1 0 2-.3 2.6-.8.6-.6 1-1.4 1-2.4-.1-.8-.3-1.4-.6-1.9zm-5.7-4.7h1.8c.6 0 1.1.1 1.4.4.3.2.5.7.5 1.3 0 .6-.2 1.1-.5 1.3-.3.2-.8.4-1.4.4h-1.8V8.2zm4 8c-.4.3-.9.5-1.5.5h-2.6v-3.8h2.6c1.4 0 2 .6 2 1.9.1.6-.1 1-.5 1.4z\"\n })\n});\nexport default formatUppercase;\n//# sourceMappingURL=format-uppercase.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst fullscreen = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 4a2 2 0 0 0-2 2v3h1.5V6a.5.5 0 0 1 .5-.5h3V4H6Zm3 14.5H6a.5.5 0 0 1-.5-.5v-3H4v3a2 2 0 0 0 2 2h3v-1.5Zm6 1.5v-1.5h3a.5.5 0 0 0 .5-.5v-3H20v3a2 2 0 0 1-2 2h-3Zm3-16a2 2 0 0 1 2 2v3h-1.5V6a.5.5 0 0 0-.5-.5h-3V4h3Z\"\n })\n});\nexport default fullscreen;\n//# sourceMappingURL=fullscreen.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst funnel = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z\"\n })\n});\nexport default funnel;\n//# sourceMappingURL=funnel.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const gallery = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.375 4.5H4.625a.125.125 0 0 0-.125.125v8.254l2.859-1.54a.75.75 0 0 1 .68-.016l2.384 1.142 2.89-2.074a.75.75 0 0 1 .874 0l2.313 1.66V4.625a.125.125 0 0 0-.125-.125Zm.125 9.398-2.75-1.975-2.813 2.02a.75.75 0 0 1-.76.067l-2.444-1.17L4.5 14.583v1.792c0 .069.056.125.125.125h11.75a.125.125 0 0 0 .125-.125v-2.477ZM4.625 3C3.728 3 3 3.728 3 4.625v11.75C3 17.273 3.728 18 4.625 18h11.75c.898 0 1.625-.727 1.625-1.625V4.625C18 3.728 17.273 3 16.375 3H4.625ZM20 8v11c0 .69-.31 1-.999 1H6v1.5h13.001c1.52 0 2.499-.982 2.499-2.5V8H20Z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default gallery;\n//# sourceMappingURL=gallery.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst globe = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm6.5 8c0 .6 0 1.2-.2 1.8h-2.7c0-.6.2-1.1.2-1.8s0-1.2-.2-1.8h2.7c.2.6.2 1.1.2 1.8Zm-.9-3.2h-2.4c-.3-.9-.7-1.8-1.1-2.4-.1-.2-.2-.4-.3-.5 1.6.5 3 1.6 3.8 3ZM12.8 17c-.3.5-.6 1-.8 1.3-.2-.3-.5-.8-.8-1.3-.3-.5-.6-1.1-.8-1.7h3.3c-.2.6-.5 1.2-.8 1.7Zm-2.9-3.2c-.1-.6-.2-1.1-.2-1.8s0-1.2.2-1.8H14c.1.6.2 1.1.2 1.8s0 1.2-.2 1.8H9.9ZM11.2 7c.3-.5.6-1 .8-1.3.2.3.5.8.8 1.3.3.5.6 1.1.8 1.7h-3.3c.2-.6.5-1.2.8-1.7Zm-1-1.2c-.1.2-.2.3-.3.5-.4.7-.8 1.5-1.1 2.4H6.4c.8-1.4 2.2-2.5 3.8-3Zm-1.8 8H5.7c-.2-.6-.2-1.1-.2-1.8s0-1.2.2-1.8h2.7c0 .6-.2 1.1-.2 1.8s0 1.2.2 1.8Zm-2 1.4h2.4c.3.9.7 1.8 1.1 2.4.1.2.2.4.3.5-1.6-.5-3-1.6-3.8-3Zm7.4 3c.1-.2.2-.3.3-.5.4-.7.8-1.5 1.1-2.4h2.4c-.8 1.4-2.2 2.5-3.8 3Z\"\n })\n});\nexport default globe;\n//# sourceMappingURL=globe.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst grid = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m3 5c0-1.10457.89543-2 2-2h13.5c1.1046 0 2 .89543 2 2v13.5c0 1.1046-.8954 2-2 2h-13.5c-1.10457 0-2-.8954-2-2zm2-.5h6v6.5h-6.5v-6c0-.27614.22386-.5.5-.5zm-.5 8v6c0 .2761.22386.5.5.5h6v-6.5zm8 0v6.5h6c.2761 0 .5-.2239.5-.5v-6zm0-8v6.5h6.5v-6c0-.27614-.2239-.5-.5-.5z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default grid;\n//# sourceMappingURL=grid.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst group = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4h-7c-1.1 0-2 .9-2 2v3H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-3h3c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h3V13c0 1.1.9 2 2 2h2.5v3zm0-4.5H11c-.3 0-.5-.2-.5-.5v-2.5H13c.3 0 .5.2.5.5v2.5zm5-.5c0 .3-.2.5-.5.5h-3V11c0-1.1-.9-2-2-2h-2.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7z\"\n })\n});\nexport default group;\n//# sourceMappingURL=group.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst handle = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 16.5h10V15H7v1.5zm0-9V9h10V7.5H7z\"\n })\n});\nexport default handle;\n//# sourceMappingURL=handle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst header = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 10.5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default header;\n//# sourceMappingURL=header.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel1 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.6 7c-.6.9-1.5 1.7-2.6 2v1h2v7h2V7h-1.4zM11 11H7V7H5v10h2v-4h4v4h2V7h-2v4z\"\n })\n});\nexport default headingLevel1;\n//# sourceMappingURL=heading-level-1.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel2 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11.1H5v-4H3v10h2v-4h4v4h2v-10H9v4zm8 4c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6v1.5h8v-2H17z\"\n })\n});\nexport default headingLevel2;\n//# sourceMappingURL=heading-level-2.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel3 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11H5V7H3v10h2v-4h4v4h2V7H9v4zm11.3 1.7c-.4-.4-1-.7-1.6-.8v-.1c.6-.2 1.1-.5 1.5-.9.3-.4.5-.8.5-1.3 0-.4-.1-.8-.3-1.1-.2-.3-.5-.6-.8-.8-.4-.2-.8-.4-1.2-.5-.6-.1-1.1-.2-1.6-.2-.6 0-1.3.1-1.8.3s-1.1.5-1.6.9l1.2 1.4c.4-.2.7-.4 1.1-.6.3-.2.7-.3 1.1-.3.4 0 .8.1 1.1.3.3.2.4.5.4.8 0 .4-.2.7-.6.9-.7.3-1.5.5-2.2.4v1.6c.5 0 1 0 1.5.1.3.1.7.2 1 .3.2.1.4.2.5.4s.1.4.1.6c0 .3-.2.7-.5.8-.4.2-.9.3-1.4.3s-1-.1-1.4-.3c-.4-.2-.8-.4-1.2-.7L13 15.6c.5.4 1 .8 1.6 1 .7.3 1.5.4 2.3.4.6 0 1.1-.1 1.6-.2.4-.1.9-.2 1.3-.5.4-.2.7-.5.9-.9.2-.4.3-.8.3-1.2 0-.6-.3-1.1-.7-1.5z\"\n })\n});\nexport default headingLevel3;\n//# sourceMappingURL=heading-level-3.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel4 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 13V7h-3l-4 6v2h5v2h2v-2h1v-2h-1zm-2 0h-2.8L18 9v4zm-9-2H5V7H3v10h2v-4h4v4h2V7H9v4z\"\n })\n});\nexport default headingLevel4;\n//# sourceMappingURL=heading-level-4.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel5 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11H5V7H3v10h2v-4h4v4h2V7H9v4zm11.7 1.2c-.2-.3-.5-.7-.8-.9-.3-.3-.7-.5-1.1-.6-.5-.1-.9-.2-1.4-.2-.2 0-.5.1-.7.1-.2.1-.5.1-.7.2l.1-1.9h4.3V7H14l-.3 5 1 .6.5-.2.4-.1c.1-.1.3-.1.4-.1h.5c.5 0 1 .1 1.4.4.4.2.6.7.6 1.1 0 .4-.2.8-.6 1.1-.4.3-.9.4-1.4.4-.4 0-.9-.1-1.3-.3-.4-.2-.7-.4-1.1-.7 0 0-1.1 1.4-1 1.5.5.4 1 .8 1.6 1 .7.3 1.5.4 2.3.4.5 0 1-.1 1.5-.3s.9-.4 1.3-.7c.4-.3.7-.7.9-1.1s.3-.9.3-1.4-.1-1-.3-1.4z\"\n })\n});\nexport default headingLevel5;\n//# sourceMappingURL=heading-level-5.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel6 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.7 12.4c-.2-.3-.4-.6-.7-.9s-.6-.5-1-.6c-.4-.2-.8-.2-1.2-.2-.5 0-.9.1-1.3.3s-.8.5-1.2.8c0-.5 0-.9.2-1.4l.6-.9c.2-.2.5-.4.8-.5.6-.2 1.3-.2 1.9 0 .3.1.6.3.8.5 0 0 1.3-1.3 1.3-1.4-.4-.3-.9-.6-1.4-.8-.6-.2-1.3-.3-2-.3-.6 0-1.1.1-1.7.4-.5.2-1 .5-1.4.9-.4.4-.8 1-1 1.6-.3.7-.4 1.5-.4 2.3s.1 1.5.3 2.1c.2.6.6 1.1 1 1.5.4.4.9.7 1.4.9 1 .3 2 .3 3 0 .4-.1.8-.3 1.2-.6.3-.3.6-.6.8-1 .2-.5.3-.9.3-1.4s-.1-.9-.3-1.3zm-2 2.1c-.1.2-.3.4-.4.5-.1.1-.3.2-.5.2-.2.1-.4.1-.6.1-.2.1-.5 0-.7-.1-.2 0-.3-.2-.5-.3-.1-.2-.3-.4-.4-.6-.2-.3-.3-.7-.3-1 .3-.3.6-.5 1-.7.3-.1.7-.2 1-.2.4 0 .8.1 1.1.3.3.3.4.7.4 1.1 0 .2 0 .5-.1.7zM9 11H5V7H3v10h2v-4h4v4h2V7H9v4z\"\n })\n});\nexport default headingLevel6;\n//# sourceMappingURL=heading-level-6.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst heading = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 5V18.5911L12 13.8473L18 18.5911V5H6Z\"\n })\n});\nexport default heading;\n//# sourceMappingURL=heading.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst helpFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm.8 12.5h-1.5V15h1.5v1.5Zm2.1-5.6c-.1.5-.4 1.1-.8 1.5-.4.4-.9.7-1.4.8v.8h-1.5v-1.2c0-.6.5-1 .9-1s.7-.2 1-.5c.2-.3.4-.7.4-1 0-.4-.2-.7-.5-1-.3-.3-.6-.4-1-.4s-.8.2-1.1.4c-.3.3-.4.7-.4 1.1H9c0-.6.2-1.1.5-1.6s.7-.9 1.2-1.1c.5-.2 1.1-.3 1.6-.3s1.1.3 1.5.6c.4.3.8.8 1 1.3.2.5.2 1.1.1 1.6Z\"\n })\n});\nexport default helpFilled;\n//# sourceMappingURL=help-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst help = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4a8 8 0 1 1 .001 16.001A8 8 0 0 1 12 4Zm0 1.5a6.5 6.5 0 1 0-.001 13.001A6.5 6.5 0 0 0 12 5.5Zm.75 11h-1.5V15h1.5v1.5Zm-.445-9.234a3 3 0 0 1 .445 5.89V14h-1.5v-1.25c0-.57.452-.958.917-1.01A1.5 1.5 0 0 0 12 8.75a1.5 1.5 0 0 0-1.5 1.5H9a3 3 0 0 1 3.305-2.984Z\"\n })\n});\nexport default help;\n//# sourceMappingURL=help.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst homeButton = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.25 7A2.75 2.75 0 0 1 7 4.25h10A2.75 2.75 0 0 1 19.75 7v10A2.75 2.75 0 0 1 17 19.75H7A2.75 2.75 0 0 1 4.25 17V7ZM7 5.75c-.69 0-1.25.56-1.25 1.25v10c0 .69.56 1.25 1.25 1.25h10c.69 0 1.25-.56 1.25-1.25V7c0-.69-.56-1.25-1.25-1.25H7Z\"\n })\n});\nexport default homeButton;\n//# sourceMappingURL=home-button.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst home = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4L4 7.9V20h16V7.9L12 4zm6.5 14.5H14V13h-4v5.5H5.5V8.8L12 5.7l6.5 3.1v9.7z\"\n })\n});\nexport default home;\n//# sourceMappingURL=home.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst html = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.8 11.4H2.1V9H1v6h1.1v-2.6h2.7V15h1.1V9H4.8v2.4zm1.9-1.3h1.7V15h1.1v-4.9h1.7V9H6.7v1.1zM16.2 9l-1.5 2.7L13.3 9h-.9l-.8 6h1.1l.5-4 1.5 2.8 1.5-2.8.5 4h1.1L17 9h-.8zm3.8 5V9h-1.1v6h3.6v-1H20z\"\n })\n});\nexport default html;\n//# sourceMappingURL=html.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst image = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z\"\n })\n});\nexport default image;\n//# sourceMappingURL=image.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst inbox = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M6 5.5h12a.5.5 0 01.5.5v7H14a2 2 0 11-4 0H5.5V6a.5.5 0 01.5-.5zm-.5 9V18a.5.5 0 00.5.5h12a.5.5 0 00.5-.5v-3.5h-3.337a3.5 3.5 0 01-6.326 0H5.5zM4 13V6a2 2 0 012-2h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2v-5z\",\n clipRule: \"evenodd\"\n })\n});\nexport default inbox;\n//# sourceMappingURL=inbox.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst info = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.75 4v1.5h-1.5V8h1.5Zm0 8v-5h-1.5v5h1.5Z\"\n })\n});\nexport default info;\n//# sourceMappingURL=info.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst insertAfter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 12h2v-2h2V8h-2V6H9v2H7v2h2v2zm1 4c3.9 0 7-3.1 7-7s-3.1-7-7-7-7 3.1-7 7 3.1 7 7 7zm0-12c2.8 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.2-5 5-5zM3 19h14v-2H3v2z\"\n })\n});\nexport default insertAfter;\n//# sourceMappingURL=insert-after.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst insertBefore = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 8H9v2H7v2h2v2h2v-2h2v-2h-2V8zm-1-4c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm0 12c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM3 1v2h14V1H3z\"\n })\n});\nexport default insertBefore;\n//# sourceMappingURL=insert-before.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst institute = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M18.646 9H20V8l-1-.5L12 4 5 7.5 4 8v1h14.646zm-3-1.5L12 5.677 8.354 7.5h7.292zm-7.897 9.44v-6.5h-1.5v6.5h1.5zm5-6.5v6.5h-1.5v-6.5h1.5zm5 0v6.5h-1.5v-6.5h1.5zm2.252 8.81c0 .414-.334.75-.748.75H4.752a.75.75 0 010-1.5h14.5a.75.75 0 01.749.75z\",\n clipRule: \"evenodd\"\n })\n});\nexport default institute;\n//# sourceMappingURL=institution.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyBottom = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15 4H9v11h6V4zM4 18.5V20h16v-1.5H4z\"\n })\n});\nexport default justifyBottom;\n//# sourceMappingURL=justify-bottom.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyCenterVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 11h-5V4H9v7H4v1.5h5V20h6v-7.5h5z\"\n })\n});\nexport default justifyCenterVertical;\n//# sourceMappingURL=justify-center-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyCenter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5 15v5H11v-5H4V9h7V4h1.5v5h7v6h-7Z\"\n })\n});\nexport default justifyCenter;\n//# sourceMappingURL=justify-center.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 9v6h11V9H9zM4 20h1.5V4H4v16z\"\n })\n});\nexport default justifyLeft;\n//# sourceMappingURL=justify-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 15h11V9H4v6zM18.5 4v16H20V4h-1.5z\"\n })\n});\nexport default justifyRight;\n//# sourceMappingURL=justify-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifySpaceBetweenVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 4H17V8L7 8V4ZM7 16L17 16V20L7 20V16ZM20 11.25H4V12.75H20V11.25Z\"\n })\n});\nexport default justifySpaceBetweenVertical;\n//# sourceMappingURL=justify-space-between-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifySpaceBetween = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 15h6V9H9v6zm-5 5h1.5V4H4v16zM18.5 4v16H20V4h-1.5z\"\n })\n});\nexport default justifySpaceBetween;\n//# sourceMappingURL=justify-space-between.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyStretchVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 4L20 4L20 5.5L4 5.5L4 4ZM10 7L14 7L14 17L10 17L10 7ZM20 18.5L4 18.5L4 20L20 20L20 18.5Z\"\n })\n});\nexport default justifyStretchVertical;\n//# sourceMappingURL=justify-stretch-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyStretch = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 4H5.5V20H4V4ZM7 10L17 10V14L7 14V10ZM20 4H18.5V20H20V4Z\"\n })\n});\nexport default justifyStretch;\n//# sourceMappingURL=justify-stretch.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyTop = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 20h6V9H9v11zM4 4v1.5h16V4H4z\"\n })\n});\nexport default justifyTop;\n//# sourceMappingURL=justify-top.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst key = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 13.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM9 16a4.002 4.002 0 003.8-2.75H15V16h2.5v-2.75H19v-2.5h-6.2A4.002 4.002 0 005 12a4 4 0 004 4z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default key;\n//# sourceMappingURL=key.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst keyboardClose = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"-2 -2 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18,0 L2,0 C0.9,0 0.01,0.9 0.01,2 L0,12 C0,13.1 0.9,14 2,14 L18,14 C19.1,14 20,13.1 20,12 L20,2 C20,0.9 19.1,0 18,0 Z M18,12 L2,12 L2,2 L18,2 L18,12 Z M9,3 L11,3 L11,5 L9,5 L9,3 Z M9,6 L11,6 L11,8 L9,8 L9,6 Z M6,3 L8,3 L8,5 L6,5 L6,3 Z M6,6 L8,6 L8,8 L6,8 L6,6 Z M3,6 L5,6 L5,8 L3,8 L3,6 Z M3,3 L5,3 L5,5 L3,5 L3,3 Z M6,9 L14,9 L14,11 L6,11 L6,9 Z M12,6 L14,6 L14,8 L12,8 L12,6 Z M12,3 L14,3 L14,5 L12,5 L12,3 Z M15,6 L17,6 L17,8 L15,8 L15,6 Z M15,3 L17,3 L17,5 L15,5 L15,3 Z M10,20 L14,16 L6,16 L10,20 Z\"\n })\n});\nexport default keyboardClose;\n//# sourceMappingURL=keyboard-close.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst keyboardReturn = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m6.734 16.106 2.176-2.38-1.093-1.028-3.846 4.158 3.846 4.158 1.093-1.028-2.176-2.38h2.811c1.125 0 2.25.03 3.374 0 1.428-.001 3.362-.25 4.963-1.277 1.66-1.065 2.868-2.906 2.868-5.859 0-2.479-1.327-4.896-3.65-5.93-1.82-.813-3.044-.8-4.806-.788l-.567.002v1.5c.184 0 .368 0 .553-.002 1.82-.007 2.704-.014 4.21.657 1.854.827 2.76 2.657 2.76 4.561 0 2.472-.973 3.824-2.178 4.596-1.258.807-2.864 1.04-4.163 1.04h-.02c-1.115.03-2.229 0-3.344 0H6.734Z\"\n })\n});\nexport default keyboardReturn;\n//# sourceMappingURL=keyboard-return.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst keyboard = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m16 15.5h-8v-1.5h8zm-7.5-2.5h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm-9-3h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18.5 6.5h-13a.5.5 0 0 0 -.5.5v9.5a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9.5a.5.5 0 0 0 -.5-.5zm-13-1.5h13a2 2 0 0 1 2 2v9.5a2 2 0 0 1 -2 2h-13a2 2 0 0 1 -2-2v-9.5a2 2 0 0 1 2-2z\"\n })]\n});\nexport default keyboard;\n//# sourceMappingURL=keyboard.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst language = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 10h-1.7l-3.7 10.5h1.7l.9-2.6h3.9l.9 2.6h1.7L17.5 10zm-2.2 6.3 1.4-4 1.4 4h-2.8zm-4.8-3.8c1.6-1.8 2.9-3.6 3.7-5.7H16V5.2h-5.8V3H8.8v2.2H3v1.5h9.6c-.7 1.6-1.8 3.1-3.1 4.6C8.6 10.2 7.8 9 7.2 8H5.6c.6 1.4 1.7 2.9 2.9 4.4l-2.4 2.4c-.3.4-.7.8-1.1 1.2l1 1 1.2-1.2c.8-.8 1.6-1.5 2.3-2.3.8.9 1.7 1.7 2.5 2.5l.6-1.5c-.7-.6-1.4-1.3-2.1-2z\"\n })\n});\nexport default language;\n//# sourceMappingURL=language.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst layout = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default layout;\n//# sourceMappingURL=layout.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst levelUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m13.53 8.47-1.06 1.06-2.72-2.72V12h-1.5V6.81L5.53 9.53 4.47 8.47 9 3.94l4.53 4.53Zm-1.802 7.968c1.307.697 3.235.812 5.772.812v1.5c-2.463 0-4.785-.085-6.478-.988a4.721 4.721 0 0 1-2.07-2.13C8.48 14.67 8.25 13.471 8.25 12h1.5c0 1.328.208 2.28.548 2.969.332.675.81 1.138 1.43 1.47Z\"\n })\n});\nexport default levelUp;\n//# sourceMappingURL=level-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lifesaver = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M17.375 15.656A6.47 6.47 0 0018.5 12a6.47 6.47 0 00-.943-3.374l-1.262.813c.448.749.705 1.625.705 2.561a4.977 4.977 0 01-.887 2.844l1.262.813zm-1.951 1.87l-.813-1.261A4.976 4.976 0 0112 17c-.958 0-1.852-.27-2.613-.736l-.812 1.261A6.47 6.47 0 0012 18.5a6.47 6.47 0 003.424-.974zm-8.8-1.87A6.47 6.47 0 015.5 12c0-1.235.344-2.39.943-3.373l1.261.812A4.977 4.977 0 007 12c0 1.056.328 2.036.887 2.843l-1.262.813zm2.581-7.803A4.977 4.977 0 0112 7c1.035 0 1.996.314 2.794.853l.812-1.262A6.47 6.47 0 0012 5.5a6.47 6.47 0 00-3.607 1.092l.812 1.261zM12 20a8 8 0 100-16 8 8 0 000 16zm0-4.5a3.5 3.5 0 100-7 3.5 3.5 0 000 7z\",\n clipRule: \"evenodd\"\n })\n});\nexport default lifesaver;\n//# sourceMappingURL=lifesaver.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lineDashed = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5 11.25h3v1.5H5v-1.5zm5.5 0h3v1.5h-3v-1.5zm8.5 0h-3v1.5h3v-1.5z\",\n clipRule: \"evenodd\"\n })\n});\nexport default lineDashed;\n//# sourceMappingURL=line-dashed.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lineDotted = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5.25 11.25h1.5v1.5h-1.5v-1.5zm3 0h1.5v1.5h-1.5v-1.5zm4.5 0h-1.5v1.5h1.5v-1.5zm1.5 0h1.5v1.5h-1.5v-1.5zm4.5 0h-1.5v1.5h1.5v-1.5z\",\n clipRule: \"evenodd\"\n })\n});\nexport default lineDotted;\n//# sourceMappingURL=line-dotted.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lineSolid = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 11.25h14v1.5H5z\"\n })\n});\nexport default lineSolid;\n//# sourceMappingURL=line-solid.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst linkOff = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.031 4.703 15.576 4l-1.56 3H14v.03l-2.324 4.47H9.5V13h1.396l-1.502 2.889h-.95a3.694 3.694 0 0 1 0-7.389H10V7H8.444a5.194 5.194 0 1 0 0 10.389h.17L7.5 19.53l1.416.719L15.049 8.5h.507a3.694 3.694 0 0 1 0 7.39H14v1.5h1.556a5.194 5.194 0 0 0 .273-10.383l1.202-2.304Z\"\n })\n});\nexport default linkOff;\n//# sourceMappingURL=link-off.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst link = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 17.389H8.444A5.194 5.194 0 1 1 8.444 7H10v1.5H8.444a3.694 3.694 0 0 0 0 7.389H10v1.5ZM14 7h1.556a5.194 5.194 0 0 1 0 10.39H14v-1.5h1.556a3.694 3.694 0 0 0 0-7.39H14V7Zm-4.5 6h5v-1.5h-5V13Z\"\n })\n});\nexport default link;\n//# sourceMappingURL=link.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst listItem = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 11v1.5h8V11h-8zm-6-1c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"\n })\n});\nexport default listItem;\n//# sourceMappingURL=list-item.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst listView = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 6h11v1.5H3V6Zm3.5 5.5h11V13h-11v-1.5ZM21 17H10v1.5h11V17Z\"\n })\n});\nexport default listView;\n//# sourceMappingURL=list-view.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst list = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 4v1.5h16V4H4zm8 8.5h8V11h-8v1.5zM4 20h16v-1.5H4V20zm4-8c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2z\"\n })\n});\nexport default list;\n//# sourceMappingURL=list.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lockOutline = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1zM9.8 7c0-1.2 1-2.2 2.2-2.2 1.2 0 2.2 1 2.2 2.2v3H9.8V7zm6.7 11.5h-9v-7h9v7z\"\n })\n});\nexport default lockOutline;\n//# sourceMappingURL=lock-outline.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lockSmall = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 11h-.2V9c0-1.5-1.2-2.8-2.8-2.8S9.2 7.5 9.2 9v2H9c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1zm-1.8 0h-2.5V9c0-.7.6-1.2 1.2-1.2s1.2.6 1.2 1.2v2z\"\n })\n});\nexport default lockSmall;\n//# sourceMappingURL=lock-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lock = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1zm-2.8 0H9.8V7c0-1.2 1-2.2 2.2-2.2s2.2 1 2.2 2.2v3z\"\n })\n});\nexport default lock;\n//# sourceMappingURL=lock.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst login = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 14.5l1.1 1.1 3-3 .5-.5-.6-.6-3-3-1 1 1.7 1.7H5v1.5h7.7L11 14.5zM16.8 5h-7c-1.1 0-2 .9-2 2v1.5h1.5V7c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v10c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5v-1.5H7.8V17c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2z\"\n })\n});\nexport default login;\n//# sourceMappingURL=login.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst loop = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.1823 11.6392C18.1823 13.0804 17.0139 14.2487 15.5727 14.2487C14.3579 14.2487 13.335 13.4179 13.0453 12.2922L13.0377 12.2625L13.0278 12.2335L12.3985 10.377L12.3942 10.3785C11.8571 8.64997 10.246 7.39405 8.33961 7.39405C5.99509 7.39405 4.09448 9.29465 4.09448 11.6392C4.09448 13.9837 5.99509 15.8843 8.33961 15.8843C8.88499 15.8843 9.40822 15.781 9.88943 15.5923L9.29212 14.0697C8.99812 14.185 8.67729 14.2487 8.33961 14.2487C6.89838 14.2487 5.73003 13.0804 5.73003 11.6392C5.73003 10.1979 6.89838 9.02959 8.33961 9.02959C9.55444 9.02959 10.5773 9.86046 10.867 10.9862L10.8772 10.9836L11.4695 12.7311C11.9515 14.546 13.6048 15.8843 15.5727 15.8843C17.9172 15.8843 19.8178 13.9837 19.8178 11.6392C19.8178 9.29465 17.9172 7.39404 15.5727 7.39404C15.0287 7.39404 14.5066 7.4968 14.0264 7.6847L14.6223 9.20781C14.9158 9.093 15.2358 9.02959 15.5727 9.02959C17.0139 9.02959 18.1823 10.1979 18.1823 11.6392Z\"\n })\n});\nexport default loop;\n//# sourceMappingURL=loop.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst mapMarker = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 9c-.8 0-1.5.7-1.5 1.5S11.2 12 12 12s1.5-.7 1.5-1.5S12.8 9 12 9zm0-5c-3.6 0-6.5 2.8-6.5 6.2 0 .8.3 1.8.9 3.1.5 1.1 1.2 2.3 2 3.6.7 1 3 3.8 3.2 3.9l.4.5.4-.5c.2-.2 2.6-2.9 3.2-3.9.8-1.2 1.5-2.5 2-3.6.6-1.3.9-2.3.9-3.1C18.5 6.8 15.6 4 12 4zm4.3 8.7c-.5 1-1.1 2.2-1.9 3.4-.5.7-1.7 2.2-2.4 3-.7-.8-1.9-2.3-2.4-3-.8-1.2-1.4-2.3-1.9-3.3-.6-1.4-.7-2.2-.7-2.5 0-2.6 2.2-4.7 5-4.7s5 2.1 5 4.7c0 .2-.1 1-.7 2.4z\"\n })\n});\nexport default mapMarker;\n//# sourceMappingURL=map-marker.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst mediaAndText = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 6v11.5h8V6H3Zm11 3h7V7.5h-7V9Zm7 3.5h-7V11h7v1.5ZM14 16h7v-1.5h-7V16Z\"\n })\n});\nexport default mediaAndText;\n//# sourceMappingURL=media-and-text.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst media = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7 6.5 4 2.5-4 2.5z\"\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"m5 3c-1.10457 0-2 .89543-2 2v14c0 1.1046.89543 2 2 2h14c1.1046 0 2-.8954 2-2v-14c0-1.10457-.8954-2-2-2zm14 1.5h-14c-.27614 0-.5.22386-.5.5v10.7072l3.62953-2.6465c.25108-.1831.58905-.1924.84981-.0234l2.92666 1.8969 3.5712-3.4719c.2911-.2831.7545-.2831 1.0456 0l2.9772 2.8945v-9.3568c0-.27614-.2239-.5-.5-.5zm-14.5 14.5v-1.4364l4.09643-2.987 2.99567 1.9417c.2936.1903.6798.1523.9307-.0917l3.4772-3.3806 3.4772 3.3806.0228-.0234v2.5968c0 .2761-.2239.5-.5.5h-14c-.27614 0-.5-.2239-.5-.5z\"\n })]\n});\nexport default media;\n//# sourceMappingURL=media.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst megaphone = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M6.863 13.644L5 13.25h-.5a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5H5L18 6.5h2V16h-2l-3.854-.815.026.008a3.75 3.75 0 01-7.31-1.549zm1.477.313a2.251 2.251 0 004.356.921l-4.356-.921zm-2.84-3.28L18.157 8h.343v6.5h-.343L5.5 11.823v-1.146z\",\n clipRule: \"evenodd\"\n })\n});\nexport default megaphone;\n//# sourceMappingURL=megaphone.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst menu = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 5v1.5h14V5H5zm0 7.8h14v-1.5H5v1.5zM5 19h14v-1.5H5V19z\"\n })\n});\nexport default menu;\n//# sourceMappingURL=menu.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst mobile = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15 4H9c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h6c.3 0 .5.2.5.5v12zm-4.5-.5h2V16h-2v1.5z\"\n })\n});\nexport default mobile;\n//# sourceMappingURL=mobile.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst moreHorizontal = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 13h2v-2h-2v2zm-6 0h2v-2H5v2zm12-2v2h2v-2h-2z\"\n })\n});\nexport default moreHorizontal;\n//# sourceMappingURL=more-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst moreVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z\"\n })\n});\nexport default moreVertical;\n//# sourceMappingURL=more-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst more = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 9v1.5h16V9H4zm12 5.5h4V13h-4v1.5zm-6 0h4V13h-4v1.5zm-6 0h4V13H4v1.5z\"\n })\n});\nexport default more;\n//# sourceMappingURL=more.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst moveTo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.75 9c0-1.257-.565-2.197-1.39-2.858-.797-.64-1.827-1.017-2.815-1.247-1.802-.42-3.703-.403-4.383-.396L11 4.5V6l.177-.001c.696-.006 2.416-.02 4.028.356.887.207 1.67.518 2.216.957.52.416.829.945.829 1.688 0 .592-.167.966-.407 1.23-.255.281-.656.508-1.236.674-1.19.34-2.82.346-4.607.346h-.077c-1.692 0-3.527 0-4.942.404-.732.209-1.424.545-1.935 1.108-.526.579-.796 1.33-.796 2.238 0 1.257.565 2.197 1.39 2.858.797.64 1.827 1.017 2.815 1.247 1.802.42 3.703.403 4.383.396L13 19.5h.714V22L18 18.5 13.714 15v3H13l-.177.001c-.696.006-2.416.02-4.028-.356-.887-.207-1.67-.518-2.216-.957-.52-.416-.829-.945-.829-1.688 0-.592.167-.966.407-1.23.255-.281.656-.508 1.237-.674 1.189-.34 2.819-.346 4.606-.346h.077c1.692 0 3.527 0 4.941-.404.732-.209 1.425-.545 1.936-1.108.526-.579.796-1.33.796-2.238z\"\n })\n});\nexport default moveTo;\n//# sourceMappingURL=move-to.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst navigation = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5zM9 16l4.5-3L15 8.4l-4.5 3L9 16z\"\n })\n});\nexport default navigation;\n//# sourceMappingURL=navigation.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst next = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.6 6L5.4 7l4.5 5-4.5 5 1.1 1 5.5-6-5.4-6zm6 0l-1.1 1 4.5 5-4.5 5 1.1 1 5.5-6-5.5-6z\"\n })\n});\nexport default next;\n//# sourceMappingURL=next.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst notAllowed = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5A6.5 6.5 0 0 1 6.93 7.931l9.139 9.138A6.473 6.473 0 0 1 12 18.5Zm5.123-2.498a6.5 6.5 0 0 0-9.124-9.124l9.124 9.124ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z\"\n })\n});\nexport default notAllowed;\n//# sourceMappingURL=not-allowed.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst notFound = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5H5c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm.5 12c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V7c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v10zm-11-7.6h-.7l-3.1 4.3h2.8V15h1v-1.3h.7v-.8h-.7V9.4zm-.9 3.5H6.3l1.2-1.7v1.7zm5.6-3.2c-.4-.2-.8-.4-1.2-.4-.5 0-.9.1-1.2.4-.4.2-.6.6-.8 1-.2.4-.3.9-.3 1.5s.1 1.1.3 1.6c.2.4.5.8.8 1 .4.2.8.4 1.2.4.5 0 .9-.1 1.2-.4.4-.2.6-.6.8-1 .2-.4.3-1 .3-1.6 0-.6-.1-1.1-.3-1.5-.1-.5-.4-.8-.8-1zm0 3.6c-.1.3-.3.5-.5.7-.2.1-.4.2-.7.2-.3 0-.5-.1-.7-.2-.2-.1-.4-.4-.5-.7-.1-.3-.2-.7-.2-1.2 0-.7.1-1.2.4-1.5.3-.3.6-.5 1-.5s.7.2 1 .5c.3.3.4.8.4 1.5-.1.5-.1.9-.2 1.2zm5-3.9h-.7l-3.1 4.3h2.8V15h1v-1.3h.7v-.8h-.7V9.4zm-1 3.5H16l1.2-1.7v1.7z\"\n })\n});\nexport default notFound;\n//# sourceMappingURL=not-found.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst offline = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M1.36605 2.81332L2.30144 1.87332L13.5592 13.1867L12.6239 14.1267L7.92702 9.40666C6.74618 9.41999 5.57861 9.87999 4.68302 10.78L3.35623 9.44665C4.19874 8.60665 5.2071 8.03999 6.2818 7.75332L4.7958 6.25999C3.78744 6.67332 2.84542 7.29332 2.02944 8.11332L0.702656 6.77999C1.512 5.97332 2.42085 5.33332 3.3894 4.84665L1.36605 2.81332ZM15.2973 6.77999L13.9705 8.11332C12.3054 6.43999 10.1096 5.61332 7.92039 5.62666L6.20883 3.90665C9.41303 3.34665 12.8229 4.29332 15.2973 6.77999ZM10.1759 7.89332C11.0781 8.21332 11.9273 8.72665 12.6438 9.44665L12.1794 9.90665L10.1759 7.89332ZM6.00981 12.1133L8 14.1133L9.99018 12.1133C8.89558 11.0067 7.11105 11.0067 6.00981 12.1133Z\"\n })\n});\nexport default offline;\n//# sourceMappingURL=offline.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst overlayText = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12-9.8c.4 0 .8-.3.9-.7l1.1-3h3.6l.5 1.7h1.9L13 9h-2.2l-3.4 9.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12H20V6c0-1.1-.9-2-2-2zm-6 7l1.4 3.9h-2.7L12 11z\"\n })\n});\nexport default overlayText;\n//# sourceMappingURL=overlay-text.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pageBreak = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 9V6a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v3H8V6a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v3h1.5Zm0 6.5V18a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2v-2.5H8V18a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2.5h1.5ZM4 13h16v-1.5H4V13Z\"\n })\n});\nexport default pageBreak;\n//# sourceMappingURL=page-break.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst page = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M15.5 7.5h-7V9h7V7.5Zm-7 3.5h7v1.5h-7V11Zm7 3.5h-7V16h7v-1.5Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M17 4H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2ZM7 5.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H7a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5Z\"\n })]\n});\nexport default page;\n//# sourceMappingURL=page.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst pages = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M14.5 5.5h-7V7h7V5.5ZM7.5 9h7v1.5h-7V9Zm7 3.5h-7V14h7v-1.5Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M16 2H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2ZM6 3.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V4a.5.5 0 0 1 .5-.5Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M20 8v11c0 .69-.31 1-.999 1H6v1.5h13.001c1.52 0 2.499-.982 2.499-2.5V8H20Z\"\n })]\n});\nexport default pages;\n//# sourceMappingURL=pages.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst paragraph = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m9.99609 14v-.2251l.00391.0001v6.225h1.5v-14.5h2.5v14.5h1.5v-14.5h3v-1.5h-8.50391c-2.76142 0-5 2.23858-5 5 0 2.7614 2.23858 5 5 5z\"\n })\n});\nexport default paragraph;\n//# sourceMappingURL=paragraph.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst payment = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5.5 9.5v-2h13v2h-13zm0 3v4h13v-4h-13zM4 7a1 1 0 011-1h14a1 1 0 011 1v10a1 1 0 01-1 1H5a1 1 0 01-1-1V7z\",\n clipRule: \"evenodd\"\n })\n});\nexport default payment;\n//# sourceMappingURL=payment.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pencil = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m19 7-3-3-8.5 8.5-1 4 4-1L19 7Zm-7 11.5H5V20h7v-1.5Z\"\n })\n});\nexport default pencil;\n//# sourceMappingURL=pencil.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pending = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8 4a4 4 0 0 1-4-4h4V8a4 4 0 0 1 0 8Z\"\n })\n});\nexport default pending;\n//# sourceMappingURL=pending.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst people = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15.5 9.5a1 1 0 100-2 1 1 0 000 2zm0 1.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zm-2.25 6v-2a2.75 2.75 0 00-2.75-2.75h-4A2.75 2.75 0 003.75 15v2h1.5v-2c0-.69.56-1.25 1.25-1.25h4c.69 0 1.25.56 1.25 1.25v2h1.5zm7-2v2h-1.5v-2c0-.69-.56-1.25-1.25-1.25H15v-1.5h2.5A2.75 2.75 0 0120.25 15zM9.5 8.5a1 1 0 11-2 0 1 1 0 012 0zm1.5 0a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0z\",\n fillRule: \"evenodd\"\n })\n});\nexport default people;\n//# sourceMappingURL=people.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst percent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M6.5 8a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zM8 5a3 3 0 100 6 3 3 0 000-6zm6.5 11a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zm1.5-3a3 3 0 100 6 3 3 0 000-6zM5.47 17.41a.75.75 0 001.06 1.06L18.47 6.53a.75.75 0 10-1.06-1.06L5.47 17.41z\",\n clipRule: \"evenodd\"\n })\n});\nexport default percent;\n//# sourceMappingURL=percent.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pinSmall = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.97 10.159a3.382 3.382 0 0 0-2.857.955l1.724 1.723-2.836 2.913L7 17h1.25l2.913-2.837 1.723 1.723a3.38 3.38 0 0 0 .606-.825c.33-.63.446-1.343.35-2.032L17 10.695 13.305 7l-2.334 3.159Z\"\n })\n});\nexport default pinSmall;\n//# sourceMappingURL=pin-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pin = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m21.5 9.1-6.6-6.6-4.2 5.6c-1.2-.1-2.4.1-3.6.7-.1 0-.1.1-.2.1-.5.3-.9.6-1.2.9l3.7 3.7-5.7 5.7v1.1h1.1l5.7-5.7 3.7 3.7c.4-.4.7-.8.9-1.2.1-.1.1-.2.2-.3.6-1.1.8-2.4.6-3.6l5.6-4.1zm-7.3 3.5.1.9c.1.9 0 1.8-.4 2.6l-6-6c.8-.4 1.7-.5 2.6-.4l.9.1L15 4.9 19.1 9l-4.9 3.6z\"\n })\n});\nexport default pin;\n//# sourceMappingURL=pin.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plugins = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.5 4v4h3V4H15v4h1.5a1 1 0 011 1v4l-3 4v2a1 1 0 01-1 1h-3a1 1 0 01-1-1v-2l-3-4V9a1 1 0 011-1H9V4h1.5zm.5 12.5v2h2v-2l3-4v-3H8v3l3 4z\"\n })\n});\nexport default plugins;\n//# sourceMappingURL=plugins.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plusCircleFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm3.8 8.8h-3v3h-1.5v-3h-3v-1.5h3v-3h1.5v3h3v1.5Z\"\n })\n});\nexport default plusCircleFilled;\n//# sourceMappingURL=plus-circle-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plusCircle = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.404 16.596a6.5 6.5 0 1 0 9.192-9.192 6.5 6.5 0 0 0-9.192 9.192ZM6.344 6.343a8 8 0 1 0 11.313 11.314A8 8 0 0 0 6.343 6.343Zm4.906 9.407v-3h-3v-1.5h3v-3h1.5v3h3v1.5h-3v3h-1.5Z\"\n })\n});\nexport default plusCircle;\n//# sourceMappingURL=plus-circle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plus = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z\"\n })\n});\nexport default plus;\n//# sourceMappingURL=plus.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst positionCenter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM7 9h10v6H7V9Z\"\n })\n});\nexport default positionCenter;\n//# sourceMappingURL=position-center.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst positionLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 5.5h8V4H5v1.5ZM5 20h8v-1.5H5V20ZM19 9H5v6h14V9Z\"\n })\n});\nexport default positionLeft;\n//# sourceMappingURL=position-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst positionRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5.5h-8V4h8v1.5ZM19 20h-8v-1.5h8V20ZM5 9h14v6H5V9Z\"\n })\n});\nexport default positionRight;\n//# sourceMappingURL=position-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postAuthor = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 4.5a1 1 0 11-2 0 1 1 0 012 0zm1.5 0a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm2.25 7.5v-1A2.75 2.75 0 0011 8.25H7A2.75 2.75 0 004.25 11v1h1.5v-1c0-.69.56-1.25 1.25-1.25h4c.69 0 1.25.56 1.25 1.25v1h1.5zM4 20h9v-1.5H4V20zm16-4H4v-1.5h16V16z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default postAuthor;\n//# sourceMappingURL=post-author.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postCategories = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 4H4v1.5h16V4zm-2 9h-3c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zm.5 5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-3c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3zM4 9.5h9V8H4v1.5zM9 13H6c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zm.5 5c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-3c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default postCategories;\n//# sourceMappingURL=post-categories.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postCommentsCount = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 8H4v1.5h9V8zM4 4v1.5h16V4H4zm9 8H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1V13c0-.6-.4-1-1-1zm-2.2 6.6H7l1.6-2.2c.3-.4.5-.7.6-.9.1-.2.2-.4.2-.5 0-.2-.1-.3-.1-.4-.1-.1-.2-.1-.4-.1s-.4 0-.6.1c-.3.1-.5.3-.7.4l-.2.2-.2-1.2.1-.1c.3-.2.5-.3.8-.4.3-.1.6-.1.9-.1.3 0 .6.1.9.2.2.1.4.3.6.5.1.2.2.5.2.7 0 .3-.1.6-.2.9-.1.3-.4.7-.7 1.1l-.5.6h1.6v1.2z\"\n })\n});\nexport default postCommentsCount;\n//# sourceMappingURL=post-comments-count.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postCommentsForm = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 8H4v1.5h9V8zM4 4v1.5h16V4H4zm9 8H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1V13c0-.6-.4-1-1-1zm-.5 6.6H6.7l-1.2 1.2v-6.3h7v5.1z\"\n })\n});\nexport default postCommentsForm;\n//# sourceMappingURL=post-comments-form.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postComments = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 10.1V4c0-.6-.4-1-1-1H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1zm-1.5-.5H6.7l-1.2 1.2V4.5h7v5.1zM19 12h-8c-.6 0-1 .4-1 1v6.1c0 .6.4 1 1 1h5.7l1.8 1.8c.1.2.4.3.6.3.1 0 .2 0 .3-.1.4-.1.6-.5.6-.8V13c0-.6-.4-1-1-1zm-.5 7.8l-1.2-1.2h-5.8v-5.1h7v6.3z\"\n })\n});\nexport default postComments;\n//# sourceMappingURL=post-comments.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postContent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 6h12V4.5H4V6Zm16 4.5H4V9h16v1.5ZM4 15h16v-1.5H4V15Zm0 4.5h16V18H4v1.5Z\"\n })\n});\nexport default postContent;\n//# sourceMappingURL=post-content.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst postDate = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M11.696 13.972c.356-.546.599-.958.728-1.235a1.79 1.79 0 00.203-.783c0-.264-.077-.47-.23-.618-.148-.153-.354-.23-.618-.23-.295 0-.569.07-.82.212a3.413 3.413 0 00-.738.571l-.147-1.188c.289-.234.59-.41.903-.526.313-.117.66-.175 1.041-.175.375 0 .695.08.959.24.264.153.46.362.59.626.135.265.203.556.203.876 0 .362-.08.734-.24 1.115-.154.381-.427.87-.82 1.466l-.756 1.152H14v1.106h-4l1.696-2.609z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M19.5 7h-15v12a.5.5 0 00.5.5h14a.5.5 0 00.5-.5V7zM3 7V5a2 2 0 012-2h14a2 2 0 012 2v14a2 2 0 01-2 2H5a2 2 0 01-2-2V7z\"\n })]\n});\nexport default postDate;\n//# sourceMappingURL=post-date.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postExcerpt = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.001 3.984V9.47c0 1.518-.98 2.5-2.499 2.5h-.5v-1.5h.5c.69 0 1-.31 1-1V6.984H4v-3h4.001ZM4 20h9v-1.5H4V20Zm16-4H4v-1.5h16V16ZM13.001 3.984V9.47c0 1.518-.98 2.5-2.499 2.5h-.5v-1.5h.5c.69 0 1-.31 1-1V6.984H9v-3h4.001Z\"\n })\n});\nexport default postExcerpt;\n//# sourceMappingURL=post-excerpt.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postFeaturedImage = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-.6 0-1 .4-1 1v7c0 .5.4 1 1 1h14c.5 0 1-.4 1-1V4c0-.6-.4-1-1-1zM5.5 10.5v-.4l1.8-1.3 1.3.8c.3.2.7.2.9-.1L11 8.1l2.4 2.4H5.5zm13 0h-2.9l-4-4c-.3-.3-.8-.3-1.1 0L8.9 8l-1.2-.8c-.3-.2-.6-.2-.9 0l-1.3 1V4.5h13v6zM4 20h9v-1.5H4V20zm0-4h16v-1.5H4V16z\"\n })\n});\nexport default postFeaturedImage;\n//# sourceMappingURL=post-featured-image.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postList = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 5.5H6a.5.5 0 0 0-.5.5v12a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.5-.5ZM6 4h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Zm1 5h1.5v1.5H7V9Zm1.5 4.5H7V15h1.5v-1.5ZM10 9h7v1.5h-7V9Zm7 4.5h-7V15h7v-1.5Z\"\n })\n});\nexport default postList;\n//# sourceMappingURL=post-list.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postTerms = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.1 12.3c.1.1.3.3.5.3.2.1.4.1.6.1.2 0 .4 0 .6-.1.2-.1.4-.2.5-.3l3-3c.3-.3.5-.7.5-1.1 0-.4-.2-.8-.5-1.1L9.7 3.5c-.1-.2-.3-.3-.5-.3H5c-.4 0-.8.4-.8.8v4.2c0 .2.1.4.2.5l3.7 3.6zM5.8 4.8h3.1l3.4 3.4v.1l-3 3 .5.5-.7-.5-3.3-3.4V4.8zM4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4z\"\n })\n});\nexport default postTerms;\n//# sourceMappingURL=post-terms.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst post = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m7.3 9.7 1.4 1.4c.2-.2.3-.3.4-.5 0 0 0-.1.1-.1.3-.5.4-1.1.3-1.6L12 7 9 4 7.2 6.5c-.6-.1-1.1 0-1.6.3 0 0-.1 0-.1.1-.3.1-.4.2-.6.4l1.4 1.4L4 11v1h1l2.3-2.3zM4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4z\"\n })\n});\nexport default post;\n//# sourceMappingURL=post.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst preformatted = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12zM7 16.5h6V15H7v1.5zm4-4h6V11h-6v1.5zM9 11H7v1.5h2V11zm6 5.5h2V15h-2v1.5z\"\n })\n});\nexport default preformatted;\n//# sourceMappingURL=preformatted.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst previous = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.6 7l-1.1-1L5 12l5.5 6 1.1-1L7 12l4.6-5zm6 0l-1.1-1-5.5 6 5.5 6 1.1-1-4.6-5 4.6-5z\"\n })\n});\nexport default previous;\n//# sourceMappingURL=previous.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst published = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm11.53-1.47-1.06-1.06L11 12.94l-1.47-1.47-1.06 1.06L11 15.06l4.53-4.53Z\"\n })\n});\nexport default published;\n//# sourceMappingURL=published.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pullLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 18h6V6H4v12zm9-9.5V10h7V8.5h-7zm0 7h7V14h-7v1.5z\"\n })\n});\nexport default pullLeft;\n//# sourceMappingURL=pull-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pullRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 6v12h6V6h-6zM4 10h7V8.5H4V10zm0 5.5h7V14H4v1.5z\"\n })\n});\nexport default pullRight;\n//# sourceMappingURL=pull-right.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pullquote = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 8H6c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-4c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v4zM4 4v1.5h16V4H4zm0 16h16v-1.5H4V20z\"\n })\n});\nexport default pullquote;\n//# sourceMappingURL=pullquote.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPaginationNext = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 13.5h3v-3H5v3zm5 0h3v-3h-3v3zM17 9l-1 1 2 2-2 2 1 1 3-3-3-3z\"\n })\n});\nexport default queryPaginationNext;\n//# sourceMappingURL=query-pagination-next.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPaginationNumbers = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 13.5h6v-3H4v3zm8.2-2.5.8-.3V14h1V9.3l-2.2.7.4 1zm7.1-1.2c-.5-.6-1.2-.5-1.7-.4-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5h2.7v-1h-.9c.3-.6.8-1.4.9-2.1 0-.3-.1-.8-.3-1.1z\"\n })\n});\nexport default queryPaginationNumbers;\n//# sourceMappingURL=query-pagination-numbers.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPaginationPrevious = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 10.5v3h3v-3h-3zm-5 3h3v-3h-3v3zM7 9l-3 3 3 3 1-1-2-2 2-2-1-1z\"\n })\n});\nexport default queryPaginationPrevious;\n//# sourceMappingURL=query-pagination-previous.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPagination = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 13.5h6v-3H4v3zm8 0h3v-3h-3v3zm5-3v3h3v-3h-3z\"\n })\n});\nexport default queryPagination;\n//# sourceMappingURL=query-pagination.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst quote = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 6v6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H13zm-9 6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H4v6z\"\n })\n});\nexport default quote;\n//# sourceMappingURL=quote.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst receipt = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M16.83 6.342l.602.3.625-.25.443-.176v12.569l-.443-.178-.625-.25-.603.301-1.444.723-2.41-.804-.475-.158-.474.158-2.41.803-1.445-.722-.603-.3-.625.25-.443.177V6.215l.443.178.625.25.603-.301 1.444-.722 2.41.803.475.158.474-.158 2.41-.803 1.445.722zM20 4l-1.5.6-1 .4-2-1-3 1-3-1-2 1-1-.4L5 4v17l1.5-.6 1-.4 2 1 3-1 3 1 2-1 1 .4 1.5.6V4zm-3.5 6.25v-1.5h-8v1.5h8zm0 3v-1.5h-8v1.5h8zm-8 3v-1.5h8v1.5h-8z\",\n clipRule: \"evenodd\"\n })\n});\nexport default receipt;\n//# sourceMappingURL=receipt.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst redo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15.6 6.5l-1.1 1 2.9 3.3H8c-.9 0-1.7.3-2.3.9-1.4 1.5-1.4 4.2-1.4 5.6v.2h1.5v-.3c0-1.1 0-3.5 1-4.5.3-.3.7-.5 1.3-.5h9.2L14.5 15l1.1 1.1 4.6-4.6-4.6-5z\"\n })\n});\nexport default redo;\n//# sourceMappingURL=redo.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst removeBug = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.45474 21.2069L16.4547 3.7069L15.5453 3.29114L14.2837 6.05081C13.5991 5.69873 12.8228 5.49999 12 5.49999C10.9385 5.49999 9.95431 5.83076 9.1448 6.39485L7.18994 4.44L6.12928 5.50066L8.05556 7.42694C7.49044 8.15127 7.12047 9.0353 7.02469 9.99999H5V11.5H7V13H5V14.5H7.10002C7.35089 15.7359 8.0576 16.8062 9.03703 17.5279L7.54526 20.7911L8.45474 21.2069ZM9.68024 16.1209C8.95633 15.4796 8.5 14.5431 8.5 13.5V10.5C8.5 8.567 10.067 6.99999 12 6.99999C12.6003 6.99999 13.1653 7.15111 13.659 7.41738L9.68024 16.1209ZM15.3555 9.50155L16.1645 7.73191C16.6053 8.39383 16.8926 9.16683 16.9753 9.99999H19V11.5H17V13H19V14.5H16.9C16.4367 16.7822 14.419 18.5 12 18.5C11.7508 18.5 11.5058 18.4818 11.2664 18.4466L11.928 16.9993C11.9519 16.9998 11.9759 17 12 17C13.933 17 15.5 15.433 15.5 13.5V10.5C15.5 10.1531 15.4495 9.81794 15.3555 9.50155Z\"\n })\n});\nexport default removeBug;\n//# sourceMappingURL=remove-bug.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst removeSubmenu = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"m13.955 20.748 8-17.5-.91-.416L19.597 6H13.5v1.5h5.411l-1.6 3.5H13.5v1.5h3.126l-1.6 3.5H13.5l.028 1.5h.812l-1.295 2.832.91.416ZM17.675 16l-.686 1.5h4.539L21.5 16h-3.825Zm2.286-5-.686 1.5H21.5V11h-1.54ZM2 12c0 3.58 2.42 5.5 6 5.5h.5V19l3-2.5-3-2.5v2H8c-2.48 0-4.5-1.52-4.5-4S5.52 7.5 8 7.5h3.5V6H8c-3.58 0-6 2.42-6 6Z\"\n })\n});\nexport default removeSubmenu;\n//# sourceMappingURL=remove-submenu.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst replace = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 10h4c.6 0 1-.4 1-1V5c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1zm-8 4H4c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1zm10-2.6L14.5 15l1.1 1.1 1.7-1.7c-.1 1.1-.3 2.3-.9 2.9-.3.3-.7.5-1.3.5h-4.5v1.5H15c.9 0 1.7-.3 2.3-.9 1-1 1.3-2.7 1.4-4l1.8 1.8 1.1-1.1-3.6-3.7zM6.8 9.7c.1-1.1.3-2.3.9-2.9.4-.4.8-.6 1.3-.6h4.5V4.8H9c-.9 0-1.7.3-2.3.9-1 1-1.3 2.7-1.4 4L3.5 8l-1 1L6 12.6 9.5 9l-1-1-1.7 1.7z\"\n })\n});\nexport default replace;\n//# sourceMappingURL=replace.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst reset = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 11.5h10V13H7z\"\n })\n});\nexport default reset;\n//# sourceMappingURL=reset.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst resizeCornerNE = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 18h4.5v1.5h-7v-7H6V17L17 6h-4.5V4.5h7v7H18V7L7 18Z\"\n })\n});\nexport default resizeCornerNE;\n//# sourceMappingURL=resize-corner-n-e.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst reusableBlock = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 7.2h8.2L13.5 9l1.1 1.1 3.6-3.6-3.5-4-1.1 1 1.9 2.3H7c-.9 0-1.7.3-2.3.9-1.4 1.5-1.4 4.2-1.4 5.6v.2h1.5v-.3c0-1.1 0-3.5 1-4.5.3-.3.7-.5 1.2-.5zm13.8 4V11h-1.5v.3c0 1.1 0 3.5-1 4.5-.3.3-.7.5-1.3.5H8.8l1.7-1.7-1.1-1.1L5.9 17l3.5 4 1.1-1-1.9-2.3H17c.9 0 1.7-.3 2.3-.9 1.5-1.4 1.5-4.2 1.5-5.6z\"\n })\n});\nexport default reusableBlock;\n//# sourceMappingURL=reusable-block.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst rotateLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4V2.2L9 4.8l3 2.5V5.5c3.6 0 6.5 2.9 6.5 6.5 0 2.9-1.9 5.3-4.5 6.2v.2l-.1-.2c-.4.1-.7.2-1.1.2l.2 1.5c.3 0 .6-.1 1-.2 3.5-.9 6-4 6-7.7 0-4.4-3.6-8-8-8zm-7.9 7l1.5.2c.1-1.2.5-2.3 1.2-3.2l-1.1-.9C4.8 8.2 4.3 9.6 4.1 11zm1.5 1.8l-1.5.2c.1.7.3 1.4.5 2 .3.7.6 1.3 1 1.8l1.2-.8c-.3-.5-.6-1-.8-1.5s-.4-1.1-.4-1.7zm1.5 5.5c1.1.9 2.4 1.4 3.8 1.6l.2-1.5c-1.1-.1-2.2-.5-3.1-1.2l-.9 1.1z\"\n })\n});\nexport default rotateLeft;\n//# sourceMappingURL=rotate-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst rotateRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15.1 4.8l-3-2.5V4c-4.4 0-8 3.6-8 8 0 3.7 2.5 6.9 6 7.7.3.1.6.1 1 .2l.2-1.5c-.4 0-.7-.1-1.1-.2l-.1.2v-.2c-2.6-.8-4.5-3.3-4.5-6.2 0-3.6 2.9-6.5 6.5-6.5v1.8l3-2.5zM20 11c-.2-1.4-.7-2.7-1.6-3.8l-1.2.8c.7.9 1.1 2 1.3 3.1L20 11zm-1.5 1.8c-.1.5-.2 1.1-.4 1.6s-.5 1-.8 1.5l1.2.9c.4-.5.8-1.1 1-1.8s.5-1.3.5-2l-1.5-.2zm-5.6 5.6l.2 1.5c1.4-.2 2.7-.7 3.8-1.6l-.9-1.1c-.9.7-2 1.1-3.1 1.2z\"\n })\n});\nexport default rotateRight;\n//# sourceMappingURL=rotate-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst row = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 6.5h5a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H4V16h5a.5.5 0 0 0 .5-.5v-7A.5.5 0 0 0 9 8H4V6.5Zm16 0h-5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h5V16h-5a.5.5 0 0 1-.5-.5v-7A.5.5 0 0 1 15 8h5V6.5Z\"\n })\n});\nexport default row;\n//# sourceMappingURL=row.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst rss = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 10.2h-.8v1.5H5c1.9 0 3.8.8 5.1 2.1 1.4 1.4 2.1 3.2 2.1 5.1v.8h1.5V19c0-2.3-.9-4.5-2.6-6.2-1.6-1.6-3.8-2.6-6.1-2.6zm10.4-1.6C12.6 5.8 8.9 4.2 5 4.2h-.8v1.5H5c3.5 0 6.9 1.4 9.4 3.9s3.9 5.8 3.9 9.4v.8h1.5V19c0-3.9-1.6-7.6-4.4-10.4zM4 20h3v-3H4v3z\"\n })\n});\nexport default rss;\n//# sourceMappingURL=rss.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst scheduled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm9 1V8h-1.5v3.5h-2V13H13Z\"\n })\n});\nexport default scheduled;\n//# sourceMappingURL=scheduled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst search = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z\"\n })\n});\nexport default search;\n//# sourceMappingURL=search.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst seen = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3.99961 13C4.67043 13.3354 4.6703 13.3357 4.67017 13.3359L4.67298 13.3305C4.67621 13.3242 4.68184 13.3135 4.68988 13.2985C4.70595 13.2686 4.7316 13.2218 4.76695 13.1608C4.8377 13.0385 4.94692 12.8592 5.09541 12.6419C5.39312 12.2062 5.84436 11.624 6.45435 11.0431C7.67308 9.88241 9.49719 8.75 11.9996 8.75C14.502 8.75 16.3261 9.88241 17.5449 11.0431C18.1549 11.624 18.6061 12.2062 18.9038 12.6419C19.0523 12.8592 19.1615 13.0385 19.2323 13.1608C19.2676 13.2218 19.2933 13.2686 19.3093 13.2985C19.3174 13.3135 19.323 13.3242 19.3262 13.3305L19.3291 13.3359C19.3289 13.3357 19.3288 13.3354 19.9996 13C20.6704 12.6646 20.6703 12.6643 20.6701 12.664L20.6697 12.6632L20.6688 12.6614L20.6662 12.6563L20.6583 12.6408C20.6517 12.6282 20.6427 12.6108 20.631 12.5892C20.6078 12.5459 20.5744 12.4852 20.5306 12.4096C20.4432 12.2584 20.3141 12.0471 20.1423 11.7956C19.7994 11.2938 19.2819 10.626 18.5794 9.9569C17.1731 8.61759 14.9972 7.25 11.9996 7.25C9.00203 7.25 6.82614 8.61759 5.41987 9.9569C4.71736 10.626 4.19984 11.2938 3.85694 11.7956C3.68511 12.0471 3.55605 12.2584 3.4686 12.4096C3.42484 12.4852 3.39142 12.5459 3.36818 12.5892C3.35656 12.6108 3.34748 12.6282 3.34092 12.6408L3.33297 12.6563L3.33041 12.6614L3.32948 12.6632L3.32911 12.664C3.32894 12.6643 3.32879 12.6646 3.99961 13ZM11.9996 16C13.9326 16 15.4996 14.433 15.4996 12.5C15.4996 10.567 13.9326 9 11.9996 9C10.0666 9 8.49961 10.567 8.49961 12.5C8.49961 14.433 10.0666 16 11.9996 16Z\"\n })\n});\nexport default seen;\n//# sourceMappingURL=seen.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst send = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.332 5.748c-1.03-.426-2.06.607-1.632 1.636l1.702 3.93 7.481.575c.123.01.123.19 0 .2l-7.483.575-1.7 3.909c-.429 1.029.602 2.062 1.632 1.636l12.265-5.076c1.03-.426 1.03-1.884 0-2.31L6.332 5.748Z\"\n })\n});\nexport default send;\n//# sourceMappingURL=send.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst separator = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.5 12.5v4H3V7h1.5v3.987h15V7H21v9.5h-1.5v-4h-15Z\"\n })\n});\nexport default separator;\n//# sourceMappingURL=separator.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst settings = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m19 7.5h-7.628c-.3089-.87389-1.1423-1.5-2.122-1.5-.97966 0-1.81309.62611-2.12197 1.5h-2.12803v1.5h2.12803c.30888.87389 1.14231 1.5 2.12197 1.5.9797 0 1.8131-.62611 2.122-1.5h7.628z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m19 15h-2.128c-.3089-.8739-1.1423-1.5-2.122-1.5s-1.8131.6261-2.122 1.5h-7.628v1.5h7.628c.3089.8739 1.1423 1.5 2.122 1.5s1.8131-.6261 2.122-1.5h2.128z\"\n })]\n});\nexport default settings;\n//# sourceMappingURL=settings.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shadow = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 8c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm0 6.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zM12.8 3h-1.5v3h1.5V3zm-1.6 18h1.5v-3h-1.5v3zm6.8-9.8v1.5h3v-1.5h-3zm-12 0H3v1.5h3v-1.5zm9.7 5.6 2.1 2.1 1.1-1.1-2.1-2.1-1.1 1.1zM8.3 7.2 6.2 5.1 5.1 6.2l2.1 2.1 1.1-1.1zM5.1 17.8l1.1 1.1 2.1-2.1-1.1-1.1-2.1 2.1zM18.9 6.2l-1.1-1.1-2.1 2.1 1.1 1.1 2.1-2.1z\"\n })\n});\nexport default shadow;\n//# sourceMappingURL=shadow.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst share = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11.8l6.1-4.5c.1.4.4.7.9.7h2c.6 0 1-.4 1-1V5c0-.6-.4-1-1-1h-2c-.6 0-1 .4-1 1v.4l-6.4 4.8c-.2-.1-.4-.2-.6-.2H6c-.6 0-1 .4-1 1v2c0 .6.4 1 1 1h2c.2 0 .4-.1.6-.2l6.4 4.8v.4c0 .6.4 1 1 1h2c.6 0 1-.4 1-1v-2c0-.6-.4-1-1-1h-2c-.5 0-.8.3-.9.7L9 12.2v-.4z\"\n })\n});\nexport default share;\n//# sourceMappingURL=share.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shield = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 3.176l6.75 3.068v4.574c0 3.9-2.504 7.59-6.035 8.755a2.283 2.283 0 01-1.43 0c-3.53-1.164-6.035-4.856-6.035-8.755V6.244L12 3.176zM6.75 7.21v3.608c0 3.313 2.145 6.388 5.005 7.33.159.053.331.053.49 0 2.86-.942 5.005-4.017 5.005-7.33V7.21L12 4.824 6.75 7.21z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default shield;\n//# sourceMappingURL=shield.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shipping = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 6.75C3 5.784 3.784 5 4.75 5H15V7.313l.05.027 5.056 2.73.394.212v3.468a1.75 1.75 0 01-1.75 1.75h-.012a2.5 2.5 0 11-4.975 0H9.737a2.5 2.5 0 11-4.975 0H3V6.75zM13.5 14V6.5H4.75a.25.25 0 00-.25.25V14h.965a2.493 2.493 0 011.785-.75c.7 0 1.332.287 1.785.75H13.5zm4.535 0h.715a.25.25 0 00.25-.25v-2.573l-4-2.16v4.568a2.487 2.487 0 011.25-.335c.7 0 1.332.287 1.785.75zM6.282 15.5a1.002 1.002 0 00.968 1.25 1 1 0 10-.968-1.25zm9 0a1 1 0 101.937.498 1 1 0 00-1.938-.498z\"\n })\n});\nexport default shipping;\n//# sourceMappingURL=shipping.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shortcode = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 4.2v1.5h2.5v12.5H16v1.5h4V4.2h-4zM4.2 19.8h4v-1.5H5.8V5.8h2.5V4.2h-4l-.1 15.6zm5.1-3.1l1.4.6 4-10-1.4-.6-4 10z\"\n })\n});\nexport default shortcode;\n//# sourceMappingURL=shortcode.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shuffle = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/SVG\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.192 6.75L15.47 5.03l1.06-1.06 3.537 3.53-3.537 3.53-1.06-1.06 1.723-1.72h-3.19c-.602 0-.993.202-1.28.498-.309.319-.538.792-.695 1.383-.13.488-.222 1.023-.296 1.508-.034.664-.116 1.413-.303 2.117-.193.721-.513 1.467-1.068 2.04-.575.594-1.359.954-2.357.954H4v-1.5h4.003c.601 0 .993-.202 1.28-.498.308-.319.538-.792.695-1.383.149-.557.216-1.093.288-1.662l.039-.31a9.653 9.653 0 0 1 .272-1.653c.193-.722.513-1.467 1.067-2.04.576-.594 1.36-.954 2.358-.954h3.19zM8.004 6.75c.8 0 1.46.23 1.988.628a6.24 6.24 0 0 0-.684 1.396 1.725 1.725 0 0 0-.024-.026c-.287-.296-.679-.498-1.28-.498H4v-1.5h4.003zM12.699 14.726c-.161.459-.38.94-.684 1.396.527.397 1.188.628 1.988.628h3.19l-1.722 1.72 1.06 1.06L20.067 16l-3.537-3.53-1.06 1.06 1.723 1.72h-3.19c-.602 0-.993-.202-1.28-.498a1.96 1.96 0 0 1-.024-.026z\"\n })\n});\nexport default shuffle;\n//# sourceMappingURL=shuffle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst sidebar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default sidebar;\n//# sourceMappingURL=sidebar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst sidesAll = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\"\n })\n});\nexport default sidesAll;\n//# sourceMappingURL=sides-all.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst sidesAxial = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.2 5.3h8V3.8h-8v1.5zm0 14.5h8v-1.5h-8v1.5zm3.5-6.5h1v-1h-1v1zm1-6.5h-1v.5h1v-.5zm-1 4.5h1v-1h-1v1zm0-2h1v-1h-1v1zm0 7.5h1v-.5h-1v.5zm1-2.5h-1v1h1v-1zm-8.5 1.5h1.5v-8H4.2v8zm14.5-8v8h1.5v-8h-1.5zm-5 4.5v-1h-1v1h1zm-6.5 0h.5v-1h-.5v1zm3.5-1v1h1v-1h-1zm6 1h.5v-1h-.5v1zm-8-1v1h1v-1h-1zm6 0v1h1v-1h-1z\"\n })\n});\nexport default sidesAxial;\n//# sourceMappingURL=sides-axial.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesBottom = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m16.5 19.5h-9v-1.5h9z\"\n })]\n});\nexport default sidesBottom;\n//# sourceMappingURL=sides-bottom.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesHorizontal = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4.5 7.5v9h1.5v-9z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18 7.5v9h1.5v-9z\"\n })]\n});\nexport default sidesHorizontal;\n//# sourceMappingURL=sides-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesLeft = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4.5 16.5v-9h1.5v9z\"\n })]\n});\nexport default sidesLeft;\n//# sourceMappingURL=sides-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesRight = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18 16.5v-9h1.5v9z\"\n })]\n});\nexport default sidesRight;\n//# sourceMappingURL=sides-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesTop = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m16.5 6h-9v-1.5h9z\"\n })]\n});\nexport default sidesTop;\n//# sourceMappingURL=sides-top.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesVertical = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 19.5h9v-1.5h-9z\"\n })]\n});\nexport default sidesVertical;\n//# sourceMappingURL=sides-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst siteLogo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 1.5c3.4 0 6.2 2.7 6.5 6l-1.2-.6-.8-.4c-.1 0-.2 0-.3-.1H16c-.1-.2-.4-.2-.7 0l-2.9 2.1L9 11.3h-.7L5.5 13v-1.1c0-3.6 2.9-6.5 6.5-6.5Zm0 13c-2.7 0-5-1.7-6-4l2.8-1.7 3.5 1.2h.4s.2 0 .4-.2l2.9-2.1.4.2c.6.3 1.4.7 2.1 1.1-.5 3.1-3.2 5.4-6.4 5.4Z\"\n })\n});\nexport default siteLogo;\n//# sourceMappingURL=site-logo.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst square = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fill: \"none\",\n d: \"M5.75 12.75V18.25H11.25M12.75 5.75H18.25V11.25\",\n stroke: \"currentColor\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"square\"\n })\n});\nexport default square;\n//# sourceMappingURL=square.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stack = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 4v5a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2V4H8v5a.5.5 0 0 0 .5.5h7A.5.5 0 0 0 16 9V4h1.5Zm0 16v-5a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v5H8v-5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v5h1.5Z\"\n })\n});\nexport default stack;\n//# sourceMappingURL=stack.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst starEmpty = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M9.706 8.646a.25.25 0 01-.188.137l-4.626.672a.25.25 0 00-.139.427l3.348 3.262a.25.25 0 01.072.222l-.79 4.607a.25.25 0 00.362.264l4.138-2.176a.25.25 0 01.233 0l4.137 2.175a.25.25 0 00.363-.263l-.79-4.607a.25.25 0 01.072-.222l3.347-3.262a.25.25 0 00-.139-.427l-4.626-.672a.25.25 0 01-.188-.137l-2.069-4.192a.25.25 0 00-.448 0L9.706 8.646zM12 7.39l-.948 1.921a1.75 1.75 0 01-1.317.957l-2.12.308 1.534 1.495c.412.402.6.982.503 1.55l-.362 2.11 1.896-.997a1.75 1.75 0 011.629 0l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39z\",\n clipRule: \"evenodd\"\n })\n});\nexport default starEmpty;\n//# sourceMappingURL=star-empty.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst starFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z\"\n })\n});\nexport default starFilled;\n//# sourceMappingURL=star-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst starHalf = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9.518 8.783a.25.25 0 00.188-.137l2.069-4.192a.25.25 0 01.448 0l2.07 4.192a.25.25 0 00.187.137l4.626.672a.25.25 0 01.139.427l-3.347 3.262a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.363.264l-4.137-2.176a.25.25 0 00-.233 0l-4.138 2.175a.25.25 0 01-.362-.263l.79-4.607a.25.25 0 00-.072-.222L4.753 9.882a.25.25 0 01.14-.427l4.625-.672zM12 14.533c.28 0 .559.067.814.2l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39v7.143z\"\n })\n});\nexport default starHalf;\n//# sourceMappingURL=star-half.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst store = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M19.75 11H21V8.667L19.875 4H4.125L3 8.667V11h1.25v8.75h15.5V11zm-1.5 0H5.75v7.25H10V13h4v5.25h4.25V11zm-5.5-5.5h2.067l.486 3.24.028.76H12.75v-4zm-3.567 0h2.067v4H8.669l.028-.76.486-3.24zm7.615 3.1l-.464-3.1h2.36l.806 3.345V9.5h-2.668l-.034-.9zM7.666 5.5h-2.36L4.5 8.845V9.5h2.668l.034-.9.464-3.1z\",\n clipRule: \"evenodd\"\n })\n});\nexport default store;\n//# sourceMappingURL=store.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stretchFullWidth = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 4h14v11H5V4Zm11 16H8v-1.5h8V20Z\"\n })\n});\nexport default stretchFullWidth;\n//# sourceMappingURL=stretch-full-width.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stretchWide = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 5.5H8V4h8v1.5ZM16 20H8v-1.5h8V20ZM5 9h14v6H5V9Z\"\n })\n});\nexport default stretchWide;\n//# sourceMappingURL=stretch-wide.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const styles = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20 12a8 8 0 1 1-16 0 8 8 0 0 1 16 0Zm-1.5 0a6.5 6.5 0 0 1-6.5 6.5v-13a6.5 6.5 0 0 1 6.5 6.5Z\"\n })\n});\nexport default styles;\n//# sourceMappingURL=styles.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst subscript = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.9 18.3l.8-1.2c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.1-.3-.4-.5-.6-.7-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.2 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3L15 19.4h4.3v-1.2h-2.4zM14.1 7.2h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z\"\n })\n});\nexport default subscript;\n//# sourceMappingURL=subscript.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst superscript = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.9 10.3l.8-1.3c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.2-.2-.4-.4-.7-.6-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.1 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3l-1.8 2.8h4.3v-1.2h-2.2zm-2.8-3.1h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z\"\n })\n});\nexport default superscript;\n//# sourceMappingURL=superscript.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst swatch = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7.1 5.7 8 6.9c.4-.3.9-.6 1.5-.8l-.6-1.4c-.7.3-1.3.6-1.8 1ZM4.6 8.9l1.4.6c.2-.5.5-1 .8-1.5l-1.2-.9c-.4.6-.8 1.2-1 1.8Zm14.8 0c-.3-.7-.6-1.3-1-1.8l-1.2.9c.3.4.6.9.8 1.5l1.4-.6ZM7.1 18.3c.6.4 1.2.8 1.8 1l.6-1.4c-.5-.2-1-.5-1.5-.8l-.9 1.2ZM5.5 12v-.9h-.7l-.7-.2v2l1.5-.2v-.9Zm-.7 3h-.2c.3.7.6 1.3 1 1.9l1.2-.9c-.3-.4-.6-.9-.8-1.5l-1.2.5Zm9.7 3 .5 1.2v.2c.7-.3 1.3-.6 1.9-1l-.9-1.2c-.4.3-.9.6-1.5.8Zm-2.5.5h-.9l-.2 1.3v.2h2l-.2-1.5h-.9Zm7.9-7.5-1.5.2V13h.7l.7.2v-2ZM18 14.5c-.2.5-.5 1-.8 1.5l1.2.9c.4-.6.8-1.2 1-1.8h-.2l-1.2-.6ZM11 4.1l.2 1.5H13V4.2h-1.9ZM14.5 6c.5.2 1 .5 1.5.8l.9-1.2c-.6-.4-1.2-.8-1.8-1L14.5 6Z\"\n })\n});\nexport default swatch;\n//# sourceMappingURL=swatch.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst symbolFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-17.6 1L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z\"\n })\n});\nexport default symbolFilled;\n//# sourceMappingURL=symbol-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst symbol = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-1 1.4l-5.6 5.6c-.1.1-.3.1-.4 0l-5.6-5.6c-.1-.1-.1-.3 0-.4l5.6-5.6s.1-.1.2-.1.1 0 .2.1l5.6 5.6c.1.1.1.3 0 .4zm-16.6-.4L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z\"\n })\n});\nexport default symbol;\n//# sourceMappingURL=symbol.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableColumnAfter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14.2c.1.9.9 1.7 1.8 1.8H19.2c1-.1 1.8-1 1.8-2V5c0-1.1-.9-2-2-2ZM8.5 19.5H5c-.3 0-.5-.2-.5-.5v-3.5h4v4Zm0-5.5h-4v-4h4v4Zm0-5.5h-4V5c0-.3.2-.5.5-.5h3.5v4Zm11 10.5c0 .3-.2.5-.5.5h-9v-15h9c.3 0 .5.2.5.5v14Zm-4-10.8H14v3h-3v1.5h3v3h1.5v-3h3v-1.5h-3v-3Z\"\n })\n});\nexport default tableColumnAfter;\n//# sourceMappingURL=table-column-after.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableColumnBefore = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1 .8 1.9 1.8 2H19.2c.9-.1 1.7-.9 1.8-1.8V5c0-1.1-.9-2-2-2Zm-5 16.5H5c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h9v15Zm5.5-.5c0 .3-.2.5-.5.5h-3.5v-4h4V19Zm0-5h-4v-4h4v4Zm0-5.5h-4v-4H19c.3 0 .5.2.5.5v3.5Zm-11 7.3H10v-3h3v-1.5h-3v-3H8.5v3h-3v1.5h3v3Z\"\n })\n});\nexport default tableColumnBefore;\n//# sourceMappingURL=table-column-before.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableColumnDelete = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14.2c.1.9.9 1.7 1.8 1.8H19.2c1-.1 1.8-1 1.8-2V5c0-1.1-.9-2-2-2ZM8.5 19.5H5c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h3.5v15Zm11-.5c0 .3-.2.5-.5.5h-9v-15h9c.3 0 .5.2.5.5v14ZM16.9 8.8l-2.1 2.1-2.1-2.1-1.1 1.1 2.1 2.1-2.1 2.1 1.1 1.1 2.1-2.1 2.1 2.1 1.1-1.1-2.1-2.1L18 9.9l-1.1-1.1Z\"\n })\n});\nexport default tableColumnDelete;\n//# sourceMappingURL=table-column-delete.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst tableOfContents = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20 9.484h-8.889v-1.5H20v1.5Zm0 7h-4.889v-1.5H20v1.5Zm-14 .032a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M13 15.516a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM8 8.484a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\"\n })]\n});\nexport default tableOfContents;\n//# sourceMappingURL=table-of-contents.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableRowAfter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H4.8c-.9.1-1.7.9-1.8 1.8V19.2c.1 1 1 1.8 2 1.8h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm-9 1.5h4v4h-4v-4ZM4.5 5c0-.3.2-.5.5-.5h3.5v4h-4V5Zm15 14c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-9h15v9Zm0-10.5h-4v-4H19c.3 0 .5.2.5.5v3.5Zm-8.3 10h1.5v-3h3V14h-3v-3h-1.5v3h-3v1.5h3v3Z\"\n })\n});\nexport default tableRowAfter;\n//# sourceMappingURL=table-row-after.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableRowBefore = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M21 5c0-1.1-.9-2-2-2H5c-1 0-1.9.8-2 1.8V19.2c.1.9.9 1.7 1.8 1.8H19c1.1 0 2-.9 2-2V5ZM4.5 14V5c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v9h-15Zm4 5.5H5c-.3 0-.5-.2-.5-.5v-3.5h4v4Zm5.5 0h-4v-4h4v4Zm5.5-.5c0 .3-.2.5-.5.5h-3.5v-4h4V19ZM11.2 10h-3V8.5h3v-3h1.5v3h3V10h-3v3h-1.5v-3Z\"\n })\n});\nexport default tableRowBefore;\n//# sourceMappingURL=table-row-before.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableRowDelete = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H4.8c-.9.1-1.7.9-1.8 1.8V19.2c.1 1 1 1.8 2 1.8h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-9h15v9Zm0-10.5h-15V5c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v3.5Zm-9.6 9.4 2.1-2.1 2.1 2.1 1.1-1.1-2.1-2.1 2.1-2.1-1.1-1.1-2.1 2.1-2.1-2.1-1.1 1.1 2.1 2.1-2.1 2.1 1.1 1.1Z\"\n })\n});\nexport default tableRowDelete;\n//# sourceMappingURL=table-row-delete.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst table = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm.5 2v6.2h-6.8V4.4h6.2c.3 0 .5.2.5.5ZM5 4.5h6.2v6.8H4.4V5.1c0-.3.2-.5.5-.5ZM4.5 19v-6.2h6.8v6.8H5.1c-.3 0-.5-.2-.5-.5Zm14.5.5h-6.2v-6.8h6.8v6.2c0 .3-.2.5-.5.5Z\"\n })\n});\nexport default table;\n//# sourceMappingURL=table.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tablet = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 4H7c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H7c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v12zm-7.5-.5h4V16h-4v1.5z\"\n })\n});\nexport default tablet;\n//# sourceMappingURL=tablet.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tag = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.75 4a.75.75 0 0 0-.75.75v7.826c0 .2.08.39.22.53l6.72 6.716a2.313 2.313 0 0 0 3.276-.001l5.61-5.611-.531-.53.532.528a2.315 2.315 0 0 0 0-3.264L13.104 4.22a.75.75 0 0 0-.53-.22H4.75ZM19 12.576a.815.815 0 0 1-.236.574l-5.61 5.611a.814.814 0 0 1-1.153 0L5.5 12.264V5.5h6.763l6.5 6.502a.816.816 0 0 1 .237.574ZM8.75 9.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"\n })\n});\nexport default tag;\n//# sourceMappingURL=tag.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tag = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.08 10.103h2.914L9.657 12h1.417L8.23 4H6.846L4 12h1.417l.663-1.897Zm1.463-4.137.994 2.857h-2l1.006-2.857ZM11 16H4v-1.5h7V16Zm1 0h8v-1.5h-8V16Zm-4 4H4v-1.5h4V20Zm7-1.5V20H9v-1.5h6Z\"\n })\n});\nexport default tag;\n//# sourceMappingURL=term-description.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textColor = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.9 6h-2l-4 11h1.9l1.1-3h4.2l1.1 3h1.9L12.9 6zm-2.5 6.5l1.5-4.9 1.7 4.9h-3.2z\"\n })\n});\nexport default textColor;\n//# sourceMappingURL=text-color.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textHorizontal = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.2 14.4h3.9L13 17h1.7L11 6.5H9.3L5.6 17h1.7l.9-2.6zm2-5.5 1.4 4H8.8l1.4-4zm7.4 7.5-1.3.8.8 1.4H5.5V20h14.3l-2.2-3.6z\"\n })\n});\nexport default textHorizontal;\n//# sourceMappingURL=text-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 5.6v1.7l2.6.9v3.9L7 13v1.7L17.5 11V9.3L7 5.6zm4.2 6V8.8l4 1.4-4 1.4zm-5.7 5.6V5.5H4v14.3l3.6-2.2-.8-1.3-1.3.9z\"\n })\n});\nexport default textVertical;\n//# sourceMappingURL=text-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst thumbsDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.8 4h-1.5l1 8h1.5l-1-8ZM17 5.8c-.1-1-1-1.8-2-1.8H6.8c-.9 0-1.7.6-1.9 1.4l-1.8 6C2.7 12.7 3.7 14 5 14h4.4l-.8 3.6c-.3 1.3.7 2.4 1.9 2.4h.2c.6 0 1.2-.3 1.6-.8l5-6.6c.3-.4.5-.9.4-1.5L17 5.7Zm-.9 5.9-5 6.6c0 .1-.2.2-.4.2h-.2c-.3 0-.6-.3-.5-.6l.8-3.6c.1-.4 0-.9-.3-1.3s-.7-.6-1.2-.6H4.9c-.3 0-.6-.3-.5-.6l1.8-6c0-.2.3-.4.5-.4h8.2c.3 0 .5.2.5.4l.7 5.4v.4Z\"\n })\n});\nexport default thumbsDown;\n//# sourceMappingURL=thumbs-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst thumbsUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m3 12 1 8h1.5l-1-8H3Zm15.8-2h-4.4l.8-3.6c.3-1.3-.7-2.4-1.9-2.4h-.2c-.6 0-1.2.3-1.6.8l-5 6.6c-.3.4-.4.8-.4 1.2v.2l.7 5.4v.2c.2.9 1 1.5 1.9 1.5h8.2c.9 0 1.7-.6 1.9-1.4l1.8-6c.4-1.3-.6-2.6-1.9-2.6Zm.5 2.1-1.8 6c0 .2-.3.4-.5.4H8.8c-.3 0-.5-.2-.5-.4l-.7-5.4v-.4l5-6.6c0-.1.2-.2.4-.2h.2c.3 0 .6.3.5.6l-.8 3.6c-.1.4 0 .9.3 1.3s.7.6 1.2.6h4.4c.3 0 .6.3.5.6Z\"\n })\n});\nexport default thumbsUp;\n//# sourceMappingURL=thumbs-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tip = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 15.8c-3.7 0-6.8-3-6.8-6.8s3-6.8 6.8-6.8c3.7 0 6.8 3 6.8 6.8s-3.1 6.8-6.8 6.8zm0-12C9.1 3.8 6.8 6.1 6.8 9s2.4 5.2 5.2 5.2c2.9 0 5.2-2.4 5.2-5.2S14.9 3.8 12 3.8zM8 17.5h8V19H8zM10 20.5h4V22h-4z\"\n })\n});\nexport default tip;\n//# sourceMappingURL=tip.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst title = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m4 5.5h2v6.5h1.5v-6.5h2v-1.5h-5.5zm16 10.5h-16v-1.5h16zm-7 4h-9v-1.5h9z\"\n })\n});\nexport default title;\n//# sourceMappingURL=title.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tool = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.103 7.128l2.26-2.26a4 4 0 00-5.207 4.804L5.828 15a2 2 0 102.828 2.828l5.329-5.328a4 4 0 004.804-5.208l-2.261 2.26-1.912-.512-.513-1.912zm-7.214 9.64a.5.5 0 11.707-.707.5.5 0 01-.707.707z\"\n })\n});\nexport default tool;\n//# sourceMappingURL=tool.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst trash = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 5.5A2.25 2.25 0 0 0 9.878 7h4.244A2.251 2.251 0 0 0 12 5.5ZM12 4a3.751 3.751 0 0 0-3.675 3H5v1.5h1.27l.818 8.997a2.75 2.75 0 0 0 2.739 2.501h4.347a2.75 2.75 0 0 0 2.738-2.5L17.73 8.5H19V7h-3.325A3.751 3.751 0 0 0 12 4Zm4.224 4.5H7.776l.806 8.861a1.25 1.25 0 0 0 1.245 1.137h4.347a1.25 1.25 0 0 0 1.245-1.137l.805-8.861Z\"\n })\n});\nexport default trash;\n//# sourceMappingURL=trash.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst trendingDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.195 8.245a.75.75 0 011.06-.05l5.004 4.55 4.025-3.521L19 13.939V10.75h1.5v5.75h-5.75V15h3.19l-3.724-3.723-3.975 3.478-5.995-5.45a.75.75 0 01-.051-1.06z\"\n })\n});\nexport default trendingDown;\n//# sourceMappingURL=trending-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst trendingUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3.445 16.505a.75.75 0 001.06.05l5.005-4.55 4.024 3.521 4.716-4.715V14h1.5V8.25H14v1.5h3.19l-3.724 3.723L9.49 9.995l-5.995 5.45a.75.75 0 00-.05 1.06z\"\n })\n});\nexport default trendingUp;\n//# sourceMappingURL=trending-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst typography = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m8.6 7 3.9 10.8h-1.7l-1-2.8H5.7l-1 2.8H3L6.9 7h1.7Zm-2.4 6.6h3L7.7 9.3l-1.5 4.3ZM17.691 8.879c.473 0 .88.055 1.221.165.352.1.643.264.875.495.274.253.456.572.544.957.088.374.132.83.132 1.37v4.554c0 .274.033.472.099.593.077.11.198.166.363.166.11 0 .215-.028.313-.083.11-.055.237-.137.38-.247l.165.28a3.304 3.304 0 0 1-.71.446c-.23.11-.527.165-.89.165-.352 0-.639-.055-.858-.165-.22-.11-.386-.27-.495-.479-.1-.209-.149-.468-.149-.775-.286.462-.627.814-1.023 1.056-.396.242-.858.363-1.386.363-.462 0-.858-.088-1.188-.264a1.752 1.752 0 0 1-.742-.726 2.201 2.201 0 0 1-.248-1.056c0-.484.11-.875.33-1.172.22-.308.5-.556.841-.742.352-.187.721-.341 1.106-.462.396-.132.765-.253 1.106-.363.351-.121.637-.259.857-.413.232-.154.347-.357.347-.61V10.81c0-.396-.066-.71-.198-.941a1.05 1.05 0 0 0-.511-.511 1.763 1.763 0 0 0-.76-.149c-.253 0-.522.039-.808.116a1.165 1.165 0 0 0-.677.412 1.1 1.1 0 0 1 .595.396c.165.187.247.424.247.71 0 .307-.104.55-.313.726-.198.176-.451.263-.76.263-.34 0-.594-.104-.758-.313a1.231 1.231 0 0 1-.248-.759c0-.297.072-.539.214-.726.154-.187.352-.363.595-.528.264-.176.6-.324 1.006-.445.418-.121.88-.182 1.386-.182Zm.99 3.729a1.57 1.57 0 0 1-.528.462c-.231.121-.479.248-.742.38a5.377 5.377 0 0 0-.76.462c-.23.165-.423.38-.577.643-.154.264-.231.6-.231 1.007 0 .429.11.77.33 1.023.22.242.517.363.891.363.308 0 .594-.088.858-.264.275-.176.528-.44.759-.792v-3.284Z\"\n })\n});\nexport default typography;\n//# sourceMappingURL=typography.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst undo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.3 11.7c-.6-.6-1.4-.9-2.3-.9H6.7l2.9-3.3-1.1-1-4.5 5L8.5 16l1-1-2.7-2.7H16c.5 0 .9.2 1.3.5 1 1 1 3.4 1 4.5v.3h1.5v-.2c0-1.5 0-4.3-1.5-5.7z\"\n })\n});\nexport default undo;\n//# sourceMappingURL=undo.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ungroup = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4h-7c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 9c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7zm-5 5c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h1V9H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-1h-1.5v1z\"\n })\n});\nexport default ungroup;\n//# sourceMappingURL=ungroup.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst unlock = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8h1.5c0-1.2 1-2.2 2.2-2.2s2.2 1 2.2 2.2v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1z\"\n })\n});\nexport default unlock;\n//# sourceMappingURL=unlock.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst unseen = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.7 12.7s0-.1-.1-.2c0-.2-.2-.4-.4-.6-.3-.5-.9-1.2-1.6-1.8-.7-.6-1.5-1.3-2.6-1.8l-.6 1.4c.9.4 1.6 1 2.1 1.5.6.6 1.1 1.2 1.4 1.6.1.2.3.4.3.5v.1l.7-.3.7-.3Zm-5.2-9.3-1.8 4c-.5-.1-1.1-.2-1.7-.2-3 0-5.2 1.4-6.6 2.7-.7.7-1.2 1.3-1.6 1.8-.2.3-.3.5-.4.6 0 0 0 .1-.1.2s0 0 .7.3l.7.3V13c0-.1.2-.3.3-.5.3-.4.7-1 1.4-1.6 1.2-1.2 3-2.3 5.5-2.3H13v.3c-.4 0-.8-.1-1.1-.1-1.9 0-3.5 1.6-3.5 3.5s.6 2.3 1.6 2.9l-2 4.4.9.4 7.6-16.2-.9-.4Zm-3 12.6c1.7-.2 3-1.7 3-3.5s-.2-1.4-.6-1.9L12.4 16Z\"\n })\n});\nexport default unseen;\n//# sourceMappingURL=unseen.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst update = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m11.3 17.2-5-5c-.1-.1-.1-.3 0-.4l2.3-2.3-1.1-1-2.3 2.3c-.7.7-.7 1.8 0 2.5l5 5H7.5v1.5h5.3v-5.2h-1.5v2.6zm7.5-6.4-5-5h2.7V4.2h-5.2v5.2h1.5V6.8l5 5c.1.1.1.3 0 .4l-2.3 2.3 1.1 1.1 2.3-2.3c.6-.7.6-1.9-.1-2.5z\"\n })\n});\nexport default update;\n//# sourceMappingURL=update.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst upload = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 15v3.5H13V6.7l4.5 4.1 1-1.1-6.2-5.8-5.8 5.8 1 1.1 4-4v11.7h-6V15H4v5h16v-5z\"\n })\n});\nexport default upload;\n//# sourceMappingURL=upload.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst verse = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.8 2l-.9.3c-.1 0-3.6 1-5.2 2.1C10 5.5 9.3 6.5 8.9 7.1c-.6.9-1.7 4.7-1.7 6.3l-.9 2.3c-.2.4 0 .8.4 1 .1 0 .2.1.3.1.3 0 .6-.2.7-.5l.6-1.5c.3 0 .7-.1 1.2-.2.7-.1 1.4-.3 2.2-.5.8-.2 1.6-.5 2.4-.8.7-.3 1.4-.7 1.9-1.2s.8-1.2 1-1.9c.2-.7.3-1.6.4-2.4.1-.8.1-1.7.2-2.5 0-.8.1-1.5.2-2.1V2zm-1.9 5.6c-.1.8-.2 1.5-.3 2.1-.2.6-.4 1-.6 1.3-.3.3-.8.6-1.4.9-.7.3-1.4.5-2.2.8-.6.2-1.3.3-1.8.4L15 7.5c.3-.3.6-.7 1-1.1 0 .4 0 .8-.1 1.2zM6 20h8v-1.5H6V20z\"\n })\n});\nexport default verse;\n//# sourceMappingURL=verse.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst video = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h13.4c.4 0 .8.4.8.8v13.4zM10 15l5-3-5-3v6z\"\n })\n});\nexport default video;\n//# sourceMappingURL=video.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst widget = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 3H8V5H16V3H18V5C19.1046 5 20 5.89543 20 7V19C20 20.1046 19.1046 21 18 21H6C4.89543 21 4 20.1046 4 19V7C4 5.89543 4.89543 5 6 5V3ZM18 6.5H6C5.72386 6.5 5.5 6.72386 5.5 7V8H18.5V7C18.5 6.72386 18.2761 6.5 18 6.5ZM18.5 9.5H5.5V19C5.5 19.2761 5.72386 19.5 6 19.5H18C18.2761 19.5 18.5 19.2761 18.5 19V9.5ZM11 11H13V13H11V11ZM7 11V13H9V11H7ZM15 13V11H17V13H15Z\"\n })\n});\nexport default widget;\n//# sourceMappingURL=widget.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst wordpress = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"-2 -2 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z\"\n })\n});\nexport default wordpress;\n//# sourceMappingURL=wordpress.js.map","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { NOTICE_CONTEXT } from '@popup-maker/core-data';\nimport { DEBUG_MODE } from '../';\n\n/**\n * Debug component to display all notices in the CTA editor context.\n * Only renders when DEBUG_MODE is enabled.\n */\nexport const DebugNotices = () => {\n\tconst notices = useSelect( ( select ) => {\n\t\treturn select( noticesStore ).getNotices( NOTICE_CONTEXT );\n\t}, [] );\n\n\t// Only render in debug mode\n\tif ( ! DEBUG_MODE ) {\n\t\treturn null;\n\t}\n\n\tif ( notices.length === 0 ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={ {\n\t\t\t\t\tpadding: '10px',\n\t\t\t\t\tbackground: '#f0f0f0',\n\t\t\t\t\tmargin: '10px 0',\n\t\t\t\t\tfontSize: '12px',\n\t\t\t\t\tfontFamily: 'monospace',\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<strong>\n\t\t\t\t\t{ `Debug: No notices found in context \"${ NOTICE_CONTEXT }\"` }\n\t\t\t\t</strong>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={ {\n\t\t\t\tpadding: '10px',\n\t\t\t\tbackground: '#ffeeee',\n\t\t\t\tmargin: '10px 0',\n\t\t\t\tfontSize: '12px',\n\t\t\t\tfontFamily: 'monospace',\n\t\t\t\tborder: '1px solid #cc1818',\n\t\t\t} }\n\t\t>\n\t\t\t<strong>\n\t\t\t\t{ `Debug: Notices in context \"${ NOTICE_CONTEXT }\":` }\n\t\t\t</strong>\n\t\t\t<ul style={ { margin: '5px 0 0 20px', padding: 0 } }>\n\t\t\t\t{ notices.map( ( notice ) => (\n\t\t\t\t\t<li key={ notice.id } style={ { marginBottom: '3px' } }>\n\t\t\t\t\t\t<strong>{ notice.id }</strong>: { notice.content }{ ' ' }\n\t\t\t\t\t\t(status: { notice.status })\n\t\t\t\t\t</li>\n\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t</div>\n\t);\n};\n\nexport default DebugNotices;\n","import React from 'react';\nimport { Field } from '@popup-maker/fields';\nimport { URLControl } from '@popup-maker/components';\nimport { FieldWrapper } from './field-wrapper';\nimport { useFieldError } from '../hooks';\n\nimport type { FieldProps } from '@popup-maker/fields';\n\ninterface FieldWithErrorProps {\n\tfieldId: string;\n\tfield: FieldProps;\n\tvalue: any;\n\tonChange: ( value: any ) => void;\n}\n\n/**\n * Custom field component that wraps fields with error handling.\n *\n * @param {FieldWithErrorProps} props - The component props.\n * @param {string} props.fieldId - The ID of the field.\n * @param {FieldProps & { type: string }} props.field - The field definition.\n * @param {any} props.value - The current value of the field.\n * @param {(value: any) => void} props.onChange - The function to call when the value changes.\n * @return {React.ReactNode} The rendered field component.\n */\nexport const FieldWithError: React.FC< FieldWithErrorProps > = ( {\n\tfieldId,\n\tfield,\n\tvalue,\n\tonChange,\n} ) => {\n\tconst { error, clearError } = useFieldError( fieldId );\n\n\t// Clear field error when value changes\n\tconst handleChange = ( newValue: any ) => {\n\t\t// Clear the field-specific error notice when the field is updated\n\t\tif ( error ) {\n\t\t\tclearError();\n\t\t}\n\t\tonChange( newValue );\n\t};\n\n\treturn (\n\t\t<FieldWrapper\n\t\t\tfieldId={ fieldId }\n\t\t\ttitle={ field.label ?? '' }\n\t\t\terror={ error }\n\t\t>\n\t\t\t{ field.type === 'url' ? (\n\t\t\t\t<URLControl\n\t\t\t\t\t{ ...field }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ ( urlValue ) => handleChange( urlValue.url ) }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Field { ...field } value={ value } onChange={ handleChange } />\n\t\t\t) }\n\t\t</FieldWrapper>\n\t);\n};\n\nexport default FieldWithError;\n","import React from 'react';\nimport clsx from 'clsx';\nimport { Panel, PanelBody } from '@wordpress/components';\n\ntype FieldWrapperProps = {\n\tfieldId: string;\n\ttitle: string;\n\terror?: string | null;\n\tclassName?: string;\n\tchildren: React.ReactNode;\n};\n\n/**\n * Field wrapper component that handles error styling and display.\n *\n * @param {FieldWrapperProps} props - The component props.\n * @param {string} props.fieldId - The ID of the field.\n * @param {string} props.title - The title of the field.\n * @param {string | null} props.error - The error message to display.\n * @param {string} props.className - The class name to apply to the wrapper.\n * @param {React.ReactNode} props.children - The child elements to render.\n * @return {React.ReactNode} The rendered field wrapper.\n */\nexport const FieldWrapper: React.FC< FieldWrapperProps > = ( {\n\tfieldId,\n\ttitle,\n\terror,\n\tclassName,\n\tchildren,\n} ) => {\n\tconst hasError = error !== null && error !== undefined && error !== '';\n\n\treturn (\n\t\t<Panel\n\t\t\theader={ title }\n\t\t\tclassName={ clsx(\n\t\t\t\t'components-field-panel',\n\t\t\t\t'cta-field-wrapper',\n\t\t\t\t`cta-field-wrapper--${ fieldId }`,\n\t\t\t\t{\n\t\t\t\t\t'cta-field-wrapper--has-error': hasError,\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t<PanelBody opened>\n\t\t\t\t{ children }\n\t\t\t\t{ hasError && <div className=\"cta-field-error\">{ error }</div> }\n\t\t\t</PanelBody>\n\t\t</Panel>\n\t);\n};\n\nexport default FieldWrapper;\n","export { default as FieldWrapper } from './field-wrapper';\nexport { default as DebugNotices } from './debug-notices';\nexport { default as FieldWithError } from './field-with-error';\nexport { default as TabErrorNotice } from './tab-error-notice';\n","import React, { useEffect, useState, useRef } from 'react';\nimport { Notice } from '@wordpress/components';\nimport { __ } from '@popup-maker/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { DEBUG_MODE } from '../index';\nimport { useTabErrors } from '../hooks';\nimport { callToActionStore } from '@popup-maker/core-data';\n\ninterface TabErrorNoticeProps {\n\ttabName: string;\n\tmessage?: string;\n}\n\n/**\n * A notice component that shows tab errors and auto-dismisses after a delay.\n *\n * @param {TabErrorNoticeProps} props - The component props.\n * @param {string} props.tabName - The name of the tab to check for errors.\n * @param {string} props.message - The error message to display.\n * @return {React.ReactNode} The rendered notice or null.\n */\nexport const TabErrorNotice: React.FC< TabErrorNoticeProps > = ( {\n\ttabName,\n\tmessage = __( 'Please fix the errors below.', 'popup-maker' ),\n} ) => {\n\tconst { hasErrors: hasError } = useTabErrors( tabName );\n\tconst [ showNotice, setShowNotice ] = useState( false );\n\tconst timerRef = useRef< NodeJS.Timeout | null >( null );\n\tconst lastHasError = useRef( false );\n\tconst wasSaving = useRef( false );\n\n\t// Track save state to detect save attempts\n\tconst isSaving = useSelect(\n\t\t( select ) =>\n\t\t\tselect( callToActionStore ).isResolving( 'updateCallToAction' ),\n\t\t[]\n\t);\n\n\tuseEffect( () => {\n\t\t// Clear any existing timer\n\t\tif ( timerRef.current ) {\n\t\t\tclearTimeout( timerRef.current );\n\t\t\ttimerRef.current = null;\n\t\t}\n\n\t\t// Detect when errors appear or when save completes with errors\n\t\tconst errorsJustAppeared = hasError && ! lastHasError.current;\n\t\tconst saveJustCompleted = wasSaving.current && ! isSaving;\n\n\t\tif ( hasError && ( errorsJustAppeared || saveJustCompleted ) ) {\n\t\t\t// Show the notice\n\t\t\tsetShowNotice( true );\n\n\t\t\t// Set timer to hide it\n\t\t\tif ( ! DEBUG_MODE ) {\n\t\t\t\ttimerRef.current = setTimeout( () => {\n\t\t\t\t\tsetShowNotice( false );\n\t\t\t\t}, 3000 );\n\t\t\t}\n\t\t} else if ( ! hasError ) {\n\t\t\t// No errors - hide immediately\n\t\t\tsetShowNotice( false );\n\t\t}\n\n\t\t// Update refs for next render\n\t\tlastHasError.current = hasError;\n\t\twasSaving.current = isSaving;\n\n\t\t// Cleanup timer on unmount\n\t\treturn () => {\n\t\t\tif ( timerRef.current ) {\n\t\t\t\tclearTimeout( timerRef.current );\n\t\t\t}\n\t\t};\n\t}, [ hasError, isSaving ] );\n\n\t// Only render if we should show the notice\n\tif ( ! showNotice ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Notice status=\"error\" isDismissible={ false }>\n\t\t\t{ message }\n\t\t</Notice>\n\t);\n};\n\nexport default TabErrorNotice;\n","import './editor.scss';\n\nimport clsx from 'clsx';\n\nimport { useMemo } from '@wordpress/element';\nimport { applyFilters } from '@wordpress/hooks';\nimport { TabPanel } from '@wordpress/components';\n\nimport { noop } from '@popup-maker/utils';\nimport { defaultCtaValues } from '@popup-maker/core-data';\nimport { useControlledState } from '@popup-maker/components';\n\nimport type { BaseEditorProps, BaseEditorTabProps, EditorTab } from '../types';\n\n/**\n * The base editor component.\n *\n * NOTE: The editor now conditionally renders tabs based on the number of available tabs.\n * - If there's only one tab, it renders the content directly without tab navigation.\n * - If there are multiple tabs, it renders the full TabPanel interface.\n * This provides a cleaner UX and is forward-compatible.\n *\n * @param {BaseEditorProps} props The props to pass to the editor.\n *\n * @return {JSX.Element} The editor component.\n */\nconst BaseEditor = ( {\n\tafterTabs,\n\tbeforeTabs,\n\tclassName,\n\t...props\n}: BaseEditorProps ): JSX.Element => {\n\t/**\n\t * Use the useControlledState hook to manage the tab and setTab function.\n\t *\n\t * This allows for the use of dataStore or hooks in parent component.\n\t */\n\tconst [ activeTab, setActiveTab ] = useControlledState< string >(\n\t\tprops.tab,\n\t\t'general',\n\t\tprops.setTab\n\t);\n\n\t/**\n\t * Use the useControlledState hook to manage the values and updateValues function.\n\t *\n\t * This allows for the use of dataStore or hooks in parent component.\n\t */\n\tconst [ values, onChange ] = useControlledState(\n\t\tprops.values,\n\t\tdefaultCtaValues,\n\t\tprops.onChange ?? noop\n\t);\n\n\t/**\n\t * Memoize the tab props.\n\t */\n\tconst tabProps: BaseEditorTabProps = useMemo( () => {\n\t\treturn {\n\t\t\tcallToAction: values,\n\t\t\tonChange,\n\t\t\tupdateFields: ( fields ) => {\n\t\t\t\tonChange( {\n\t\t\t\t\t...values,\n\t\t\t\t\t...fields,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tupdateSettings: ( settings ) => {\n\t\t\t\tonChange( {\n\t\t\t\t\t...values,\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\t...values.settings,\n\t\t\t\t\t\t...settings,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t},\n\t\t\tupdateSetting: ( setting, value ) => {\n\t\t\t\tonChange( {\n\t\t\t\t\t...values,\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\t...values.settings,\n\t\t\t\t\t\t[ setting ]: value,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t},\n\t\t};\n\t}, [ values, onChange ] );\n\n\tconst { tabsFilter } = props;\n\n\t/**\n\t * Memoize the tabs.\n\t */\n\tconst tabs: EditorTab[] = useMemo( () => {\n\t\t/**\n\t\t * Define the tabs to show in the editor.\n\t\t *\n\t\t * @param {EditorTab[]} tabs Array of tab components.\n\t\t *\n\t\t * @return {EditorTab[]} Array of tab components.\n\t\t */\n\t\tconst _tabs = applyFilters(\n\t\t\t'popupMaker.callToActionEditor.tabs',\n\t\t\t[]\n\t\t) as EditorTab[];\n\n\t\t/**\n\t\t * If a tabsFilter is provided, use it to filter the tabs.\n\t\t */\n\t\treturn tabsFilter ? tabsFilter( _tabs ) : _tabs;\n\t}, [ tabsFilter ] );\n\n\t/**\n\t * Determine if we should show tabs or render content directly.\n\t */\n\tconst shouldShowTabs = tabs.length > 1;\n\n\t/**\n\t * Get the component to render when not showing tabs.\n\t */\n\tconst getSingleTabComponent = () => {\n\t\tif ( tabs.length === 0 ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Find the active tab or use the first available tab\n\t\tconst targetTab =\n\t\t\ttabs.find( ( tab ) => tab.name === activeTab ) || tabs[ 0 ];\n\t\treturn targetTab?.Component;\n\t};\n\n\treturn (\n\t\t<div className={ clsx( 'call-to-action-editor', className ) }>\n\t\t\t{ beforeTabs && (\n\t\t\t\t<div className=\"editor-tabs-before\">{ beforeTabs }</div>\n\t\t\t) }\n\n\t\t\t<div className=\"editor-tabs-container\">\n\t\t\t\t{ shouldShowTabs ? (\n\t\t\t\t\t<TabPanel\n\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\tinitialTabName={ activeTab ?? 'general' }\n\t\t\t\t\t\tonSelect={ setActiveTab }\n\t\t\t\t\t\t// @ts-ignore This is a bug in the @types/wordpress__components package.\n\t\t\t\t\t\ttabs={ tabs }\n\t\t\t\t\t\tclassName=\"editor-tabs\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { Component } ) => <Component { ...tabProps } /> }\n\t\t\t\t\t</TabPanel>\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"editor-tab-content\">\n\t\t\t\t\t\t{ ( () => {\n\t\t\t\t\t\t\tconst Component = getSingleTabComponent();\n\t\t\t\t\t\t\treturn Component ? (\n\t\t\t\t\t\t\t\t<Component { ...tabProps } />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div className=\"no-content-available\">\n\t\t\t\t\t\t\t\t\tNo content available\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} )() }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\n\t\t\t{ afterTabs && (\n\t\t\t\t<div className=\"editor-tabs-after\">{ afterTabs }</div>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport default BaseEditor;\n","import { Fragment, useRef } from '@wordpress/element';\n\nimport { useEditorHeaderActions } from '../../registry';\n\nimport type { EditableCta } from '@popup-maker/core-data';\nimport type { EditorHeaderActionContext } from '../../registry';\n\nconst EditorHeaderActions = ( {\n\tvalues,\n\tcloseModal,\n}: EditorHeaderActionContext< EditableCta > & {\n\tcloseModal: () => void;\n} ) => {\n\tconst lastGroup = useRef< string | undefined >( undefined );\n\n\tconst headerActions = useEditorHeaderActions();\n\n\tconst headerActionsContext: EditorHeaderActionContext< EditableCta > = {\n\t\tvalues,\n\t\tcloseModal,\n\t};\n\n\t/**\n\t * Separates new groups of options with a horizontal line.\n\t * @param {Object} props\n\t * @param {string} props.group\n\t */\n\tconst GroupSeparator = ( { group }: { group?: string } ) => {\n\t\tif ( ! group || group === lastGroup.current ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst previousGroup = lastGroup.current;\n\t\tlastGroup.current = group;\n\n\t\treturn previousGroup ? <span>|</span> : null;\n\t};\n\n\tconst renderContent = () => {\n\t\tlastGroup.current = undefined;\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ headerActions.map( ( { id, group, render: Component } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t\t\t<GroupSeparator group={ group } />\n\t\t\t\t\t\t\t<Component { ...headerActionsContext } />\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</>\n\t\t);\n\t};\n\n\treturn <>{ renderContent() }</>;\n};\n\nexport default EditorHeaderActions;\n","import { debounce } from 'lodash';\n\nimport { __ } from '@popup-maker/i18n';\nimport { Button, Dropdown, NavigableMenu } from '@wordpress/components';\nimport { Fragment, useRef, useState } from '@wordpress/element';\nimport { moreHorizontal, moreVertical } from '@wordpress/icons';\n\nimport { useEditorHeaderOptions } from '../../registry';\n\nimport type { EditableCta } from '@popup-maker/core-data';\nimport type { EditorHeaderOptionsContext } from '../../registry';\n\nconst EditorHeaderOptions = ( {\n\tvalues,\n\tcloseModal,\n}: {\n\tvalues: EditableCta;\n\tcloseModal: () => void;\n} ) => {\n\tconst lastGroup = useRef< string | undefined >( undefined );\n\tconst btnRef = useRef< HTMLButtonElement >();\n\tconst clickOffTimerRef = useRef< NodeJS.Timeout | null >( null );\n\tconst [ isOpen, setIsOpen ] = useState( false );\n\n\tconst toggleOpen = debounce( () => {\n\t\tsetIsOpen( ! isOpen );\n\t}, 100 );\n\n\tconst headerOptions = useEditorHeaderOptions();\n\n\tconst headerOptionsContext: EditorHeaderOptionsContext< EditableCta > = {\n\t\tvalues,\n\t\tcloseModal,\n\t};\n\n\t/**\n\t * Separates new groups of options with a horizontal line.\n\t * @param {Object} props\n\t * @param {string} props.group\n\t */\n\tconst GroupSeparator = ( { group }: { group?: string } ) => {\n\t\tif ( ! group || group === lastGroup.current ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst previousGroup = lastGroup.current;\n\t\tlastGroup.current = group;\n\n\t\treturn previousGroup ? <hr /> : null;\n\t};\n\n\tconst renderContent = () => {\n\t\tlastGroup.current = undefined;\n\n\t\treturn (\n\t\t\t<NavigableMenu orientation=\"vertical\">\n\t\t\t\t{ headerOptions.map( ( { id, group, render: Component } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t\t\t<GroupSeparator group={ group } />\n\t\t\t\t\t\t\t<Component { ...headerOptionsContext } />\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</NavigableMenu>\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Dropdown\n\t\t\t\tclassName=\"editor-header-options\"\n\t\t\t\tcontentClassName=\"editor-header-options__popover\"\n\t\t\t\tfocusOnMount=\"firstElement\"\n\t\t\t\topen={ isOpen }\n\t\t\t\tpopoverProps={ {\n\t\t\t\t\tnoArrow: false,\n\t\t\t\t\tplacement: 'bottom',\n\t\t\t\t\tanchor: {\n\t\t\t\t\t\tgetBoundingClientRect: () => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\tbtnRef.current?.getBoundingClientRect() ||\n\t\t\t\t\t\t\t\tnew DOMRect()\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tonClose: () => {\n\t\t\t\t\t\ttoggleOpen();\n\t\t\t\t\t},\n\t\t\t\t\tonFocusOutside: () => {\n\t\t\t\t\t\ttoggleOpen();\n\t\t\t\t\t\tclickOffTimerRef.current = setTimeout( () => {\n\t\t\t\t\t\t\tclearTimeout(\n\t\t\t\t\t\t\t\tclickOffTimerRef.current ?? undefined\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tclickOffTimerRef.current = null;\n\t\t\t\t\t\t}, 300 );\n\t\t\t\t\t},\n\t\t\t\t} }\n\t\t\t\trenderToggle={ () => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"popover-toggle\"\n\t\t\t\t\t\tref={ ( ref: HTMLButtonElement ) => {\n\t\t\t\t\t\t\tbtnRef.current = ref;\n\t\t\t\t\t\t} }\n\t\t\t\t\t\taria-label={ __( 'Options', 'popup-maker' ) }\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif ( ! isOpen && ! clickOffTimerRef.current ) {\n\t\t\t\t\t\t\t\tsetIsOpen( true );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ isOpen ? moreVertical : moreHorizontal }\n\t\t\t\t\t\ticonSize={ 20 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\trenderContent={ renderContent }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default EditorHeaderOptions;\n","export { default as EditorHeaderActions } from './header-actions';\nexport { default as EditorHeaderOptions } from './header-options';\n","// extracted by mini-css-extract-plugin\nexport {};","export { default as withDataStore } from './with-data-store';\nexport { default as withModal } from './with-modal';\nexport { default as withQueryParams } from './with-query-params';\n","import { __ } from '@popup-maker/i18n';\nimport {\n\tdefaultCtaValues,\n\tcallToActionStore,\n\tDispatchStatus,\n\tNOTICE_CONTEXT,\n} from '@popup-maker/core-data';\nimport { Notice } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport { DebugNotices } from '../../components';\nimport { useAllFieldErrors } from '../../hooks/use-field-error';\n\nimport type { ComponentType } from 'react';\nimport type { EditorId, EditableCta } from '@popup-maker/core-data';\nimport type { BaseEditorProps } from '../../types';\n\ntype Editable = EditableCta;\n\n/**\n * Higher Order Component (HOC) that provides data store integration for Call To Action editors.\n * This version has more robust error handling and state management.\n *\n * The props for the EditorWithDataStore component.\n *\n * Does not implement saving by default. Dispatch createCallToAction or updateCallToAction from the data store.\n *\n * Omits the values & onChange props because they are set by the data store.\n *\n * Consumers should use onSave in place of onChange & get values from the data store.`\n */\nexport interface EditorWithDataStoreProps\n\textends Omit< BaseEditorProps, 'values' | 'onChange' > {\n\t/**\n\t * The editor id.\n\t */\n\tid: NonNullable< EditorId >;\n\n\t/**\n\t * The default values for the editor, only applicable when creating a new call to action.\n\t *\n\t * Does not use PartialEditableCta because it requires an id.\n\t */\n\tdefaultValues?: Partial< EditableCta > | undefined;\n\n\t/**\n\t * Callback to run when the CallToAction is saved.\n\t *\n\t * @param values The values saved. Data store already saved the values to the database.\n\t */\n\tonSave?: ( values: Editable ) => void;\n}\n\n/**\n * Wrap the editor with the data store.\n *\n * @param {ComponentType<EditorWithDataStoreProps>} WrappedComponent The component to wrap.\n *\n * @return {Function} The wrapped component.\n */\nexport const withDataStore = (\n\tWrappedComponent: ComponentType< BaseEditorProps >\n) => {\n\treturn function DataStoreWrappedEditor( {\n\t\tid,\n\t\tdefaultValues = defaultCtaValues,\n\t\tonSave,\n\t\t...componentProps\n\t}: EditorWithDataStoreProps ) {\n\t\t/**\n\t\t * State for tracking save attempts and preventing duplicate saves\n\t\t *\n\t\t * TODO Consider putthing this in a hook or data s.\n\t\t */\n\t\tconst [ triedSaving, setTriedSaving ] = useState< boolean >( false );\n\t\tconst saveHandledRef = useRef( false );\n\n\t\tconst fullDefaultValues = useMemo( () => {\n\t\t\treturn {\n\t\t\t\t...defaultCtaValues,\n\t\t\t\t...defaultValues,\n\t\t\t\tid,\n\t\t\t};\n\t\t}, [ defaultValues, id ] );\n\n\t\tconst {\n\t\t\tvalues = fullDefaultValues,\n\t\t\tisEditorActive,\n\t\t\tisSaving,\n\t\t\tsavedSuccessfully,\n\t\t\tgetEditorValues,\n\t\t} = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst store = select( callToActionStore );\n\n\t\t\t\tconst resolutionState =\n\t\t\t\t\tstore.getResolutionState( 'createCallToAction' ) ||\n\t\t\t\t\tstore.getResolutionState( 'updateCallToAction' );\n\n\t\t\t\treturn {\n\t\t\t\t\tvalues: store.getEditedCallToAction( id ),\n\t\t\t\t\tisEditorActive: store.isEditorActive(),\n\t\t\t\t\tisSaving: store.isResolving( 'updateCallToAction' ),\n\t\t\t\t\tgetEditorValues: store.getEditedCallToAction,\n\t\t\t\t\tsavedSuccessfully:\n\t\t\t\t\t\tresolutionState?.status === DispatchStatus.Success,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ id ]\n\t\t);\n\n\t\tconst { id: valuesId } = values;\n\n\t\tconst { editRecord, resetRecordEdits, changeEditorId } =\n\t\t\tuseDispatch( callToActionStore );\n\n\t\t/**\n\t\t * Get general error notices (not field-specific)\n\t\t */\n\t\tconst notices = useSelect( ( select ) => {\n\t\t\tconst allNotices =\n\t\t\t\tselect( noticesStore ).getNotices( NOTICE_CONTEXT );\n\t\t\t// Filter out field-specific notices\n\t\t\treturn allNotices.filter(\n\t\t\t\t( notice ) => ! notice.id?.startsWith( 'field-error-' )\n\t\t\t);\n\t\t}, [] );\n\n\t\tconst { removeNotice } = useDispatch( noticesStore );\n\t\tconst { clearAllErrors } = useAllFieldErrors();\n\n\t\tuseEffect(\n\t\t\t() => {\n\t\t\t\tif ( ! isEditorActive && id ) {\n\t\t\t\t\tchangeEditorId( id );\n\t\t\t\t}\n\n\t\t\t\treturn () => {\n\t\t\t\t\tif ( valuesId && isEditorActive ) {\n\t\t\t\t\t\t// Clear all field errors for this CTA when editor closes\n\t\t\t\t\t\tclearAllErrors();\n\t\t\t\t\t\tchangeEditorId( undefined );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t[ id, valuesId, isEditorActive, changeEditorId ] // Adding clearAllErrors here causes errors in the editor to not work properly.\n\t\t);\n\n\t\t/**\n\t\t * Save the CallToAction when the editor is saved.\n\t\t */\n\t\tuseEffect( () => {\n\t\t\tif ( ! triedSaving ) {\n\t\t\t\tif ( isSaving ) {\n\t\t\t\t\tsetTriedSaving( true );\n\t\t\t\t\tsaveHandledRef.current = false;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( savedSuccessfully && ! saveHandledRef.current ) {\n\t\t\t\tsaveHandledRef.current = true;\n\t\t\t\tsetTriedSaving( false );\n\t\t\t\t// Get the latest CTA from the store after save\n\t\t\t\tconst latestCta = getEditorValues( values.id );\n\t\t\t\tonSave?.( latestCta || ( values as Editable ) );\n\t\t\t}\n\t\t}, [\n\t\t\tonSave,\n\t\t\ttriedSaving,\n\t\t\tsavedSuccessfully,\n\t\t\tgetEditorValues,\n\t\t\tvalues,\n\t\t\tisSaving,\n\t\t] );\n\n\t\tconst hasEdits = useSelect(\n\t\t\t( select ) => select( callToActionStore ).hasEdits( valuesId ),\n\t\t\t[ valuesId ]\n\t\t);\n\n\t\t// Set up confirm to close dialogue as well as prevent changing pages in the brower while hasEdits.\n\t\tuseEffect(\n\t\t\t() => {\n\t\t\t\t// On beforeunload event, confirm loss of unsaved changes.\n\t\t\t\tconst confirmLossOfUnsavedChanges = (\n\t\t\t\t\tevent: BeforeUnloadEvent\n\t\t\t\t) => {\n\t\t\t\t\tif ( hasEdits ) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t// eslint-disable-next-line no-alert, no-restricted-globals\n\t\t\t\t\t\t\twindow.confirm(\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Changes you made may not be saved.',\n\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tresetRecordEdits( valuesId );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\twindow.addEventListener(\n\t\t\t\t\t'beforeunload',\n\t\t\t\t\tconfirmLossOfUnsavedChanges\n\t\t\t\t);\n\n\t\t\t\treturn () => {\n\t\t\t\t\twindow.removeEventListener(\n\t\t\t\t\t\t'beforeunload',\n\t\t\t\t\t\tconfirmLossOfUnsavedChanges\n\t\t\t\t\t);\n\t\t\t\t};\n\t\t\t},\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t[ hasEdits, valuesId ]\n\t\t);\n\n\t\t// When no values, don't show the editor.\n\t\tif ( ! values ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Editor requires a valid call to action.',\n\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\tif ( ! isEditorActive ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t/**\n\t\t * Render the error messages.\n\t\t */\n\t\tconst ErrorMessages = () => (\n\t\t\t<>\n\t\t\t\t{ notices.map( ( notice ) => (\n\t\t\t\t\t<Notice\n\t\t\t\t\t\tkey={ notice.id }\n\t\t\t\t\t\tstatus={\n\t\t\t\t\t\t\t( notice.status as\n\t\t\t\t\t\t\t\t| 'error'\n\t\t\t\t\t\t\t\t| 'warning'\n\t\t\t\t\t\t\t\t| 'success'\n\t\t\t\t\t\t\t\t| 'info'\n\t\t\t\t\t\t\t\t| undefined ) || 'error'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName=\"call-to-action-editor-error\"\n\t\t\t\t\t\tonDismiss={\n\t\t\t\t\t\t\tnotice.isDismissible !== false\n\t\t\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\t\t\tremoveNotice(\n\t\t\t\t\t\t\t\t\t\t\tnotice.id,\n\t\t\t\t\t\t\t\t\t\t\tNOTICE_CONTEXT\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ notice.content }\n\t\t\t\t\t</Notice>\n\t\t\t\t) ) }\n\t\t\t</>\n\t\t);\n\n\t\tconst editorValues = values;\n\n\t\treturn (\n\t\t\t<WrappedComponent\n\t\t\t\t{ ...componentProps }\n\t\t\t\tvalues={ editorValues }\n\t\t\t\tonChange={ ( newValues ) => {\n\t\t\t\t\teditRecord( values.id, newValues );\n\t\t\t\t} }\n\t\t\t\tbeforeTabs={\n\t\t\t\t\t<>\n\t\t\t\t\t\t<DebugNotices />\n\t\t\t\t\t\t<ErrorMessages />\n\t\t\t\t\t\t{ componentProps.beforeTabs }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t};\n};\n\nexport default withDataStore;\n","import clsx from 'clsx';\n\nimport { __ } from '@popup-maker/i18n';\nimport { ConfirmDialogue } from '@popup-maker/components';\nimport { callToActionStore } from '@popup-maker/core-data';\nimport { close, link } from '@wordpress/icons';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Button, Modal, Spinner } from '@wordpress/components';\nimport { useCallback, useEffect, useMemo, useState } from '@wordpress/element';\n\nimport { EditorHeaderActions, EditorHeaderOptions } from '../components';\nimport { useAllFieldErrors } from '../../hooks';\n\nimport type { ComponentType } from 'react';\nimport type { ModalProps } from '@wordpress/components/build-types/modal/types';\nimport type { EditorWithDataStoreProps } from './with-data-store';\n\nexport const documenationUrl =\n\t'https://wppopupmaker.com/docs/?utm_campaign=documentation&utm_source=call-to-action-editor&utm_medium=plugin-ui&utm_content=footer-documentation-link';\n\nexport interface EditorWithModalProps extends EditorWithDataStoreProps {\n\t/**\n\t * The callback function to call when the editor is closed.\n\t */\n\tonClose?: () => void;\n\n\t/**\n\t * Whether to close the modal when the editor is saved.\n\t */\n\tcloseOnSave?: boolean;\n\n\t/**\n\t * Whether to show the documentation link.\n\t */\n\tshowDocumentationLink?: boolean;\n\n\t/**\n\t * Whether to show the actions.\n\t */\n\tshowActions?: boolean;\n\n\t/**\n\t * The props to pass to the modal.\n\t */\n\tmodalProps?: Partial< ModalProps >;\n}\n\n/**\n * Wrap the editor with a modal.\n *\n * @param {ComponentType<EditorWithDataStoreProps>} WrappedComponent The component to wrap.\n *\n * @return {Function} The wrapped component.\n */\nexport const withModal = (\n\tWrappedComponent: ComponentType< EditorWithDataStoreProps >\n) => {\n\treturn function ModalWrappedEditor( {\n\t\tcloseOnSave = true,\n\t\tshowDocumentationLink = true,\n\t\tshowActions = true,\n\t\tonClose,\n\t\t// @ts-ignore It exists but is not typed.\n\t\tonRequestClose,\n\t\tmodalProps,\n\t\t...componentProps\n\t}: EditorWithModalProps ) {\n\t\tconst [ confirm, setConfirm ] = useState< {\n\t\t\tmessage: string;\n\t\t\tcallback: () => void;\n\t\t\tisDestructive?: boolean;\n\t\t} >();\n\n\t\t// Fetch values separately so they will still be available to the component.\n\t\tconst values = useSelect( ( select ) => {\n\t\t\tconst store = select( callToActionStore );\n\n\t\t\treturn store.getCurrentEditorValues() ?? store.getDefaultValues();\n\t\t}, [] );\n\n\t\tconst isSaving = useSelect(\n\t\t\t( select ) =>\n\t\t\t\tselect( callToActionStore ).isResolving( 'updateCallToAction' ),\n\t\t\t[]\n\t\t);\n\n\t\tconst { hasEdits, getHasEdits } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tif ( ! values.id ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\thasEdits: false,\n\t\t\t\t\t\tgetHasEdits: () => false,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst store = select( callToActionStore );\n\n\t\t\t\treturn {\n\t\t\t\t\thasEdits: store.hasEdits( values.id ),\n\t\t\t\t\tgetHasEdits: store.hasEdits,\n\t\t\t\t};\n\t\t\t},\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t[ values, isSaving ]\n\t\t);\n\n\t\tconst { saveEditorValues, resetRecordEdits } =\n\t\t\tuseDispatch( callToActionStore );\n\n\t\tconst { hasAnyError } = useAllFieldErrors();\n\n\t\t/**\n\t\t * Get the modal title based on the CTA state.\n\t\t */\n\t\tconst modalTitle = useMemo( () => {\n\t\t\tif ( modalProps?.title ) {\n\t\t\t\treturn modalProps.title;\n\t\t\t}\n\n\t\t\treturn values?.id > 0\n\t\t\t\t? `${ __( 'Edit Call to Action', 'popup-maker' ) } #${\n\t\t\t\t\t\tvalues.id\n\t\t\t\t }${ values?.title ? ` - ${ values.title }` : '' }`\n\t\t\t\t: __( 'New Call to Action', 'popup-maker' );\n\t\t}, [ modalProps?.title, values?.id, values?.title ] );\n\n\t\tconst confirmLoss = () => {\n\t\t\t// eslint-disable-next-line no-alert, no-restricted-globals\n\t\t\treturn window.confirm(\n\t\t\t\t__( 'Changes you made may not be saved.', 'popup-maker' )\n\t\t\t);\n\t\t};\n\n\t\t/**\n\t\t * Handle the close event.\n\t\t */\n\t\tconst closeModal = useCallback(\n\t\t\t() => {\n\t\t\t\tif ( isSaving ) {\n\t\t\t\t\treturn; // Prevent closing while saving\n\t\t\t\t}\n\n\t\t\t\tif ( hasEdits ) {\n\t\t\t\t\tsetConfirm( {\n\t\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t\t'Changes you made may not be saved.',\n\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\t\tresetRecordEdits( values.id );\n\t\t\t\t\t\t\tonClose?.();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisDestructive: true,\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tresetRecordEdits( values.id );\n\t\t\t\tonClose?.();\n\t\t\t},\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t[ isSaving, onClose, hasEdits ]\n\t\t);\n\n\t\t/**\n\t\t * Handle saving the values.\n\t\t */\n\t\tconst saveValues = useCallback(\n\t\t\tasync () => {\n\t\t\t\t// Don't save if there are field errors\n\t\t\t\tif ( hasAnyError ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\t// Save to the database\n\t\t\t\t\tawait saveEditorValues();\n\n\t\t\t\t\t// Call the onSave callback if it exists\n\t\t\t\t\tcomponentProps?.onSave?.( values );\n\n\t\t\t\t\tconst hasRemainingEdits = getHasEdits( values.id );\n\t\t\t\t\t// Handle modal closing if needed\n\t\t\t\t\tif ( ! hasRemainingEdits && closeOnSave ) {\n\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t}\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.error( 'Save failed:', error );\n\t\t\t\t}\n\t\t\t},\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t[ closeOnSave, closeModal, getHasEdits, hasAnyError ]\n\t\t);\n\n\t\tconst { id: valuesId } = values;\n\n\t\t// Set up confirm to close dialogue as well as prevent changing pages in the brower while hasEdits.\n\t\tuseEffect(\n\t\t\t() => {\n\t\t\t\t// On beforeunload event, confirm loss of unsaved changes.\n\t\t\t\tconst confirmLossOfUnsavedChanges = (\n\t\t\t\t\tevent: BeforeUnloadEvent\n\t\t\t\t) => {\n\t\t\t\t\tif ( hasEdits ) {\n\t\t\t\t\t\tif ( confirmLoss() ) {\n\t\t\t\t\t\t\tresetRecordEdits( valuesId );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\twindow.addEventListener(\n\t\t\t\t\t'beforeunload',\n\t\t\t\t\tconfirmLossOfUnsavedChanges\n\t\t\t\t);\n\n\t\t\t\treturn () => {\n\t\t\t\t\twindow.removeEventListener(\n\t\t\t\t\t\t'beforeunload',\n\t\t\t\t\t\tconfirmLossOfUnsavedChanges\n\t\t\t\t\t);\n\t\t\t\t};\n\t\t\t},\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t[ hasEdits, valuesId ]\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ confirm && (\n\t\t\t\t\t<ConfirmDialogue\n\t\t\t\t\t\t{ ...confirm }\n\t\t\t\t\t\tonClose={ () => setConfirm( undefined ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<Modal\n\t\t\t\t\t{ ...modalProps }\n\t\t\t\t\ttitle={ modalTitle }\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'call-to-action-editor-modal',\n\t\t\t\t\t\tmodalProps?.className\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ closeModal }\n\t\t\t\t\tshouldCloseOnClickOutside={ true }\n\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\theaderActions={\n\t\t\t\t\t\t<div className=\"editor-header-actions\">\n\t\t\t\t\t\t\t<EditorHeaderActions\n\t\t\t\t\t\t\t\tvalues={ values }\n\t\t\t\t\t\t\t\tcloseModal={ closeModal }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<EditorHeaderOptions\n\t\t\t\t\t\t\t\tvalues={ values }\n\t\t\t\t\t\t\t\tcloseModal={ closeModal }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName=\"close-button\"\n\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\t\t\taria-label={ __( 'Close', 'popup-maker' ) }\n\t\t\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tcolor: 'currentColor',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<WrappedComponent { ...componentProps } />\n\n\t\t\t\t\t{ showActions && (\n\t\t\t\t\t\t<div className=\"editor-actions\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ttext={ __( 'Cancel', 'popup-maker' ) }\n\t\t\t\t\t\t\t\tdisabled={ isSaving }\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tisDestructive={ true }\n\t\t\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\t\t\tclassName=\"cancel-button\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\tisSaving || ! hasEdits || hasAnyError\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ (\n\t\t\t\t\t\t\t\t\tevent: React.MouseEvent< HTMLButtonElement >\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\t\t\t\tsaveValues();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ isSaving && <Spinner /> }\n\t\t\t\t\t\t\t\t{ typeof values.id === 'number' && values.id > 0\n\t\t\t\t\t\t\t\t\t? __( 'Save Call to Action', 'popup-maker' )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'Add Call to Action',\n\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t\t{ showDocumentationLink && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t\t\t\t\t'Documentation',\n\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\thref={ documenationUrl }\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\t\ticonSize={ 20 }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</Modal>\n\t\t\t</>\n\t\t);\n\t};\n};\n\nexport default withModal;\n","import { __ } from '@popup-maker/i18n';\nimport { callToActionStore } from '@popup-maker/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\n\nimport { useEditor } from '../../hooks';\n\nimport type { ComponentType } from 'react';\nimport type { EditableCta } from '@popup-maker/core-data';\nimport type { EditorWithModalProps } from './with-modal';\nimport type { EditorWithDataStoreProps } from './with-data-store';\n\n// TODO: Create a new hook & context for query params & consumers. Move any query param logic to this hook from useEditor.\n// TODO: Export the hook & context from this file.\n// TODO Move editorId to the query params, otherwise pass the id prop from the parent component.\n\n/**\n * Props for the EditorWithQueryParams component.\n * This type extends EditorWithDataStoreProps (which is always required)\n * and optionally includes modal-specific props from EditorWithModalProps.\n */\nexport type EditorWithQueryParamsProps = Omit<\n\tEditorWithDataStoreProps &\n\t\tPartial< Omit< EditorWithModalProps, keyof EditorWithDataStoreProps > >,\n\t'id'\n>;\n\n/**\n * Wrap the editor with query param handling.\n *\n * @param {ComponentType<EditorWithDataStoreProps>} WrappedComponent The component to wrap.\n *\n * @return {Function} The wrapped component.\n */\nexport const withQueryParams = (\n\tWrappedComponent: ComponentType<\n\t\tEditorWithModalProps | EditorWithDataStoreProps\n\t>\n) => {\n\treturn function QueryParamsWrappedEditor( {\n\t\tonSave: onSaveProp,\n\t\tonClose: onCloseProp,\n\t\t...componentProps\n\t}: EditorWithQueryParamsProps ) {\n\t\tconst closeOnSave = true;\n\n\t\tconst { tab, setTab, clearEditorParams, editorId } = useEditor();\n\n\t\tconst { isEditorActive, isSaving } = useSelect( ( select ) => {\n\t\t\tconst store = select( callToActionStore );\n\n\t\t\treturn {\n\t\t\t\tisEditorActive: store.isEditorActive(),\n\t\t\t\tisSaving: store.isResolving( 'updateCallToAction' ),\n\t\t\t};\n\t\t}, [] );\n\n\t\t/**\n\t\t * Clear the editor data when the component unmounts.\n\t\t */\n\t\t// useEffect( () => {\n\t\t// if ( editorId !== id ) {\n\t\t// eslint-disable-next-line no-console\n\t\t// console.log( 'changeEditorId', id, editorId );\n\t\t// changeEditorId( id );\n\t\t// }\n\t\t// return () => {\n\t\t// resetRecordEdits( id ?? 0 );\n\t\t// };\n\t\t// }, [ id, editorId, changeEditorId, resetRecordEdits ] );\n\n\t\t/**\n\t\t * Handle clearing query params when the editor is saved.\n\t\t */\n\t\tconst onSave = useCallback(\n\t\t\t( newValues: EditableCta ) => {\n\t\t\t\tif ( closeOnSave ) {\n\t\t\t\t\tclearEditorParams();\n\t\t\t\t}\n\n\t\t\t\t// Save the values.\n\t\t\t\tonSaveProp?.( newValues );\n\t\t\t},\n\t\t\t[ onSaveProp, closeOnSave, clearEditorParams ]\n\t\t);\n\n\t\t/**\n\t\t * Clear the editor params if the editor is closed.\n\t\t */\n\t\tconst onClose = useCallback( () => {\n\t\t\tif ( isSaving ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearEditorParams();\n\n\t\t\t// Pass the close event to the parent component.\n\t\t\tonCloseProp?.();\n\t\t}, [ isSaving, clearEditorParams, onCloseProp ] );\n\n\t\t// If the editor isn't active, return empty.\n\t\tif ( ! isEditorActive ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// When no editorId, dont' show the editor.\n\t\tif ( ! editorId ) {\n\t\t\treturn <>{ __( 'Editor requires a valid id', 'popup-maker' ) }</>;\n\t\t}\n\n\t\treturn (\n\t\t\t<WrappedComponent\n\t\t\t\t{ ...componentProps }\n\t\t\t\tid={ editorId }\n\t\t\t\ttab={ tab }\n\t\t\t\tsetTab={ setTab }\n\t\t\t\tonSave={ onSave }\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t);\n\t};\n};\n\nexport default withQueryParams;\n","import BaseEditor from './base-editor';\nimport { withDataStore } from './hocs';\n\nexport * from './hocs';\nexport { default as BaseEditor } from './base-editor';\n\n/**\n * The default editor component.\n */\nexport const Editor = withDataStore( BaseEditor );\n\nexport default Editor;\n","export { default as useEditor } from './use-editor';\nexport { default as useFields } from './use-fields';\nexport {\n\tuseFieldError,\n\tuseTabHasError,\n\tuseTabErrors,\n\tuseAllFieldErrors,\n} from './use-field-error';\n","import {\n\tBooleanParam,\n\tNumberParam,\n\tStringParam,\n\tuseQueryParams,\n} from '@popup-maker/use-query-params';\n\nimport { callToActionStore } from '@popup-maker/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useCallback } from '@wordpress/element';\n\nlet initialized = false;\n\nconst useEditor = () => {\n\t// Fetch needed data from the @popup-maker/core-data & @wordpress/data stores.\n\tconst { isEditorActive, editorId } = useSelect( ( select ) => {\n\t\tconst storeSelect = select( callToActionStore );\n\n\t\treturn {\n\t\t\t// Editor Status.\n\t\t\teditorId: storeSelect.getEditorId(),\n\t\t\tisEditorActive: storeSelect.isEditorActive(),\n\t\t};\n\t}, [] );\n\n\t// Grab needed action dispatchers.\n\tconst { changeEditorId } = useDispatch( callToActionStore );\n\n\tconst [ queryParams, setQueryParams ] = useQueryParams( {\n\t\tedit: NumberParam,\n\t\tadd: BooleanParam,\n\t\ttab: StringParam,\n\t} );\n\n\t// Extract params with usable names.\n\tconst { edit, tab } = queryParams;\n\n\t// Initialize on mount if URL has an ID\n\tuseEffect(\n\t\t() => {\n\t\t\tif ( initialized ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Only once on app load.\n\t\t\tinitialized = true;\n\t\t\tconst urlId = edit && edit > 0 ? edit : undefined;\n\n\t\t\t// Only initialize if we have a URL ID and no current editor ID\n\t\t\tif ( urlId && ! editorId ) {\n\t\t\t\tchangeEditorId( urlId );\n\t\t\t}\n\t\t},\n\t\t// Only run on mount.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[]\n\t);\n\n\t/**\n\t * Set the editor to edit a specific call to action.\n\t *\n\t * This both updates the editorId & sets matching url params.\n\t *\n\t * NOTE: It is important that both get updated at the same time, to prevent\n\t * infinite state updates via useEffect above.\n\t *\n\t * @param {number|undefined} id Id to edit.\n\t */\n\tconst setEditorId = useCallback(\n\t\t( id: number | undefined ) => {\n\t\t\tchangeEditorId( id );\n\t\t\tsetQueryParams( {\n\t\t\t\tedit: id,\n\t\t\t} );\n\t\t},\n\t\t[ changeEditorId, setQueryParams ]\n\t);\n\n\t// Quick helper to reset all query params.\n\tconst clearEditorParams = () => {\n\t\tchangeEditorId( undefined );\n\t\tsetQueryParams( {\n\t\t\tadd: undefined,\n\t\t\tedit: undefined,\n\t\t\ttab: undefined,\n\t\t} );\n\t};\n\n\treturn {\n\t\ttab: tab === null ? undefined : tab,\n\t\tsetTab: ( newTab: string ) => setQueryParams( { tab: newTab } ),\n\t\tsetEditorId,\n\t\tclearEditorParams,\n\t\teditorId,\n\t\tisEditorActive,\n\t};\n};\n\nexport default useEditor;\n","import { callToActionStore, NOTICE_CONTEXT } from '@popup-maker/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\n\nimport useFields from './use-fields';\n\n/**\n * Hook to get the error message and clear function for a specific field.\n *\n * @param {string} fieldId The field ID to check for errors.\n * @return {Object} Object containing error message and clearError function.\n */\nexport const useFieldError = (\n\tfieldId: string\n): {\n\terror: string | null;\n\tclearError: () => void;\n} => {\n\tconst ctaId = useSelect(\n\t\t( select ) => select( callToActionStore ).getEditorId(),\n\t\t[]\n\t);\n\tconst { removeNotice } = useDispatch( noticesStore );\n\n\tconst error = useSelect(\n\t\t( select ) => {\n\t\t\tconst notices = select( noticesStore ).getNotices( NOTICE_CONTEXT );\n\t\t\tconst fieldNotice = notices.find(\n\t\t\t\t( notice ) =>\n\t\t\t\t\tnotice.id === `field-error-${ ctaId || 'new' }-${ fieldId }`\n\t\t\t);\n\t\t\treturn fieldNotice?.content || null;\n\t\t},\n\t\t[ ctaId, fieldId ]\n\t);\n\n\tconst clearError = useCallback( () => {\n\t\tif ( ctaId !== undefined ) {\n\t\t\tremoveNotice(\n\t\t\t\t`field-error-${ ctaId || 'new' }-${ fieldId }`,\n\t\t\t\tNOTICE_CONTEXT\n\t\t\t);\n\t\t}\n\t}, [ ctaId, fieldId, removeNotice ] );\n\n\treturn { error, clearError };\n};\n\n/**\n * Hook to get tab error information and clear function.\n *\n * @param {string} tabName The tab name to check for errors.\n * @return {Object} Object containing hasErrors, errorCount, and clearTabErrors function.\n */\nexport const useTabErrors = (\n\ttabName: string\n): {\n\thasErrors: boolean;\n\terrorCount: number;\n\tclearTabErrors: () => void;\n} => {\n\tconst ctaId = useSelect(\n\t\t( select ) => select( callToActionStore ).getEditorId(),\n\t\t[]\n\t);\n\tconst { removeNotice } = useDispatch( noticesStore );\n\tconst { getTabFields } = useFields();\n\n\tconst tabErrors = useSelect(\n\t\t( select ) => {\n\t\t\tconst notices = select( noticesStore ).getNotices( NOTICE_CONTEXT );\n\t\t\tconst tabFields = getTabFields( tabName );\n\t\t\tconst fieldIds = new Set( tabFields.map( ( f ) => f.id ) );\n\n\t\t\treturn notices.filter( ( notice ) => {\n\t\t\t\tif (\n\t\t\t\t\t! notice.id?.startsWith(\n\t\t\t\t\t\t`field-error-${ ctaId || 'new' }-`\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst fieldMatch = notice.id.match(\n\t\t\t\t\t/field-error-(?:\\d+|new)-(.+)$/\n\t\t\t\t);\n\t\t\t\tconst fieldId = fieldMatch?.[ 1 ];\n\t\t\t\treturn fieldId && fieldIds.has( fieldId );\n\t\t\t} );\n\t\t},\n\t\t[ ctaId, tabName ]\n\t);\n\n\tconst hasErrors = tabErrors.length > 0;\n\tconst errorCount = tabErrors.length;\n\tconst errorIds = tabErrors.map( ( n ) => n.id );\n\n\tconst clearTabErrors = useCallback( () => {\n\t\terrorIds.forEach( ( id ) => removeNotice( id, NOTICE_CONTEXT ) );\n\t}, [ errorIds, removeNotice ] );\n\n\treturn { hasErrors, errorCount, clearTabErrors };\n};\n\n/**\n * Legacy hook for backward compatibility.\n *\n * @param {string} tabName The tab name to check for errors.\n * @return {boolean} True if the tab has errors, false otherwise.\n */\nexport const useTabHasError = ( tabName: string ): boolean => {\n\tconst { hasErrors } = useTabErrors( tabName );\n\treturn hasErrors;\n};\n\n/**\n * Hook to manage all field errors across the CTA.\n *\n * @return {Object} Object containing errors map, hasAnyError flag, and clear functions.\n */\nexport const useAllFieldErrors = (): {\n\terrors: Record< string, string >;\n\thasAnyError: boolean;\n\tclearAllErrors: () => void;\n\tclearFieldError: ( fieldId: string ) => void;\n} => {\n\tconst ctaId = useSelect(\n\t\t( select ) => select( callToActionStore ).getEditorId(),\n\t\t[]\n\t);\n\tconst { removeNotice } = useDispatch( noticesStore );\n\n\tconst errors = useSelect(\n\t\t( select ) => {\n\t\t\tconst notices = select( noticesStore ).getNotices( NOTICE_CONTEXT );\n\t\t\tconst fieldErrors: Record< string, string > = {};\n\n\t\t\tnotices.forEach( ( notice ) => {\n\t\t\t\tconst match = notice.id?.match(\n\t\t\t\t\tnew RegExp( `^field-error-${ ctaId || 'new' }-(.+)$` )\n\t\t\t\t);\n\t\t\t\tif ( match ) {\n\t\t\t\t\tfieldErrors[ match[ 1 ] ] = notice.content as string;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\treturn fieldErrors;\n\t\t},\n\t\t[ ctaId ]\n\t);\n\n\tconst errorIds = useSelect(\n\t\t( select ) => {\n\t\t\tconst notices = select( noticesStore ).getNotices( NOTICE_CONTEXT );\n\t\t\tconst ids: string[] = [];\n\n\t\t\tnotices.forEach( ( notice ) => {\n\t\t\t\tconst match = notice.id?.match(\n\t\t\t\t\tnew RegExp( `^field-error-${ ctaId || 'new' }-(.+)$` )\n\t\t\t\t);\n\t\t\t\tif ( match ) {\n\t\t\t\t\tids.push( notice.id );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\treturn ids;\n\t\t},\n\t\t[ ctaId ]\n\t);\n\n\tconst clearAllErrors = useCallback( () => {\n\t\terrorIds.forEach( ( id ) => removeNotice( id, NOTICE_CONTEXT ) );\n\t}, [ errorIds, removeNotice ] );\n\n\tconst clearFieldError = useCallback(\n\t\t( fieldId: string ) => {\n\t\t\tif ( ctaId !== undefined ) {\n\t\t\t\tremoveNotice(\n\t\t\t\t\t`field-error-${ ctaId || 'new' }-${ fieldId }`,\n\t\t\t\t\tNOTICE_CONTEXT\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ ctaId, removeNotice ]\n\t);\n\n\treturn {\n\t\terrors,\n\t\thasAnyError: Object.keys( errors ).length > 0,\n\t\tclearAllErrors,\n\t\tclearFieldError,\n\t};\n};\n\nexport default useFieldError;\n","import { callToActionStore, defaultCtaValues } from '@popup-maker/core-data';\nimport { applyFilters } from '@wordpress/hooks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useCallback, useMemo } from '@wordpress/element';\n\nimport type { EditableCta } from '@popup-maker/core-data';\n\nexport type FieldDef = {\n\tcomponent: JSX.Element;\n\tid: keyof EditableCta[ 'settings' ];\n\tpriority: number;\n};\n\n/**\n * The current values for the call to action in the edit store format.\n */\ntype CurrentValues = EditableCta;\ntype CurrentSettings = CurrentValues[ 'settings' ];\n\nconst useFields = () => {\n\tconst { updateEditorValues: updateValues } =\n\t\tuseDispatch( callToActionStore );\n\n\tconst { values } = useSelect( ( select ) => {\n\t\tconst storeSelectors = select( callToActionStore );\n\n\t\treturn {\n\t\t\tvalues: storeSelectors.getCurrentEditorValues(),\n\t\t\tisEditorActive: storeSelectors.isEditorActive(),\n\t\t};\n\t}, [] );\n\n\tconst currentValues: CurrentValues = useMemo(\n\t\t() => values ?? defaultCtaValues,\n\t\t[ values ]\n\t);\n\n\tconst { settings } = currentValues;\n\n\t/**\n\t * Update settings for the given call to action.\n\t *\n\t * @param {Partial< CurrentValues[ 'settings' ] >} newSettings Updated settings.\n\t */\n\tconst updateSettings = useCallback(\n\t\t( newSettings: Partial< CurrentSettings > ) => {\n\t\t\tupdateValues( {\n\t\t\t\t...currentValues,\n\t\t\t\tsettings: {\n\t\t\t\t\t...currentValues.settings,\n\t\t\t\t\t...newSettings,\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\t\t[ updateValues, currentValues ]\n\t);\n\n\tconst updateField = < T extends keyof CurrentSettings >(\n\t\tfield: T,\n\t\tvalue: CurrentSettings[ T ]\n\t) => {\n\t\tupdateSettings( {\n\t\t\t[ field ]: value,\n\t\t} );\n\t};\n\n\tconst fieldIsVisible = (\n\t\tfield: keyof CurrentSettings,\n\t\ttab: string\n\t): boolean => {\n\t\t/**\n\t\t * Allow external overrides via a filter with null default.\n\t\t *\n\t\t * @param {boolean|undefined} show The current value of the field.\n\t\t * @param {string} field The field name.\n\t\t * @param {CurrentSettings} settings The current settings.\n\t\t * @param {string} tab The current tab name.\n\t\t * @return {boolean|undefined} The new value of the field.\n\t\t */\n\t\tconst show = applyFilters(\n\t\t\t'popupMaker.callToActionEditor.fieldIsVisible',\n\t\t\tundefined,\n\t\t\tfield,\n\t\t\tsettings,\n\t\t\ttab // Tab name.\n\t\t) as boolean | undefined;\n\n\t\t// If the filter returned a value, use it.\n\t\treturn show !== undefined ? show : true;\n\t};\n\n\t/**\n\t * Define the fields to show in each tab.\n\t *\n\t * This should only be done once, so we memoize the result.\n\t */\n\tconst tabFields = useMemo( () => {\n\t\t/**\n\t\t * Allow external overrides via a filter with null default.\n\t\t *\n\t\t * @param {Record<string, FieldDef[]>} fields The current fields.\n\t\t * @param {CurrentSettings} settings The current settings.\n\t\t * @param {Function} updateSettings The updateSettings function.\n\t\t *\n\t\t * @return {Record<string, FieldDef[]>} The new fields.\n\t\t */\n\t\treturn applyFilters(\n\t\t\t'popupMaker.callToActionEditor.tabFields',\n\t\t\t{},\n\t\t\tsettings,\n\t\t\tupdateSettings\n\t\t) as Record< string, FieldDef[] >;\n\t}, [ settings, updateSettings ] );\n\n\t/**\n\t * Get the fields to render.\n\t *\n\t * @param {string} tab The current tab name.\n\t * @return {FieldDef[]} The field components.\n\t */\n\tconst getTabFields = ( tab: string ): FieldDef[] => {\n\t\tconst fields = applyFilters(\n\t\t\t`popupMaker.callToActionEditor.tabFields.${ tab }`,\n\t\t\ttabFields[ tab ] ?? [],\n\t\t\tsettings,\n\t\t\tupdateSettings\n\t\t) as FieldDef[];\n\n\t\treturn fields\n\t\t\t.sort( ( a, b ) => a.priority - b.priority )\n\t\t\t.filter( ( field ) => fieldIsVisible( field.id, tab ) )\n\t\t\t.map( ( field ) => {\n\t\t\t\t/**\n\t\t\t\t * Allow external overrides via a filter with null default.\n\t\t\t\t *\n\t\t\t\t * @param {JSX.Element} component The current field component.\n\t\t\t\t * @param {string} id The field name.\n\t\t\t\t * @param {string} tab The current tab name.\n\t\t\t\t * @return {JSX.Element} The new field component.\n\t\t\t\t */\n\t\t\t\tconst component = applyFilters(\n\t\t\t\t\t'popupMaker.callToActionEditor.renderField',\n\t\t\t\t\tfield.component,\n\t\t\t\t\tfield.id,\n\t\t\t\t\ttab\n\t\t\t\t) as JSX.Element;\n\n\t\t\t\treturn {\n\t\t\t\t\t...field,\n\t\t\t\t\tcomponent,\n\t\t\t\t};\n\t\t\t} );\n\t};\n\n\treturn {\n\t\tvalues,\n\t\tfieldIsVisible,\n\t\tgetTabFields,\n\t\tupdateSettings,\n\t\tupdateField,\n\t};\n};\n\nexport default useFields;\n","import domReady from '@wordpress/dom-ready';\nimport { doAction } from '@wordpress/hooks';\n\nimport initEditor from './init';\nimport type { OldField } from '@popup-maker/fields';\n\n/**\n * Debug mode flag for CTA editor.\n * When enabled, shows additional debugging information like notice contexts.\n */\nexport const DEBUG_MODE = false;\n\nexport * from './hooks';\nexport * from './editor';\nexport * from './registry';\n\nexport type * from './hooks';\nexport type * from './editor';\nexport type * from './registry';\n\ndeclare global {\n\tinterface Window {\n\t\tpopupMakerCtaEditor: {\n\t\t\tcta_types: {\n\t\t\t\tkey: string;\n\t\t\t\tlabel: string;\n\t\t\t\tfields: OldField[];\n\t\t\t}[];\n\t\t};\n\t}\n}\n\n/**\n * Initialize the editor.\n */\n// initEditor();\ndomReady( () => {\n\tinitEditor();\n\tdoAction( 'popupMaker.ctaEditor.init' );\n} );\n","import { addFilter, removeFilter } from '@wordpress/hooks';\n\nimport {\n\tregisterEditorHeaderAction,\n\tregisterEditorHeaderOption,\n} from './registry';\n\nimport { headerActions, headerOptions, initFields, tabs } from './registries';\n\nexport const initHeaderActions = () => {\n\t// Register core editor header actions.\n\tObject.values( headerActions ).forEach( ( action ) => {\n\t\tregisterEditorHeaderAction( action );\n\t} );\n\n\t// Register core editor header options.\n\tObject.values( headerOptions ).forEach( ( option ) => {\n\t\tregisterEditorHeaderOption( option );\n\t} );\n};\n\nexport const initTabs = () => {\n\taddFilter(\n\t\t'popupMaker.callToActionEditor.tabs',\n\t\t'popup-maker/cta-editor/tabs',\n\t\t( registeredTabs ) => [ ...registeredTabs, ...Object.values( tabs ) ]\n\t);\n};\n\nexport const deinitTabs = () => {\n\tremoveFilter(\n\t\t'popupMaker.callToActionEditor.tabs',\n\t\t'popup-maker/cta-editor/tabs'\n\t);\n};\n\nlet initialized = false;\n\nconst initEditor = () => {\n\tif ( initialized ) {\n\t\treturn;\n\t}\n\n\tinitTabs();\n\tinitFields();\n\tinitHeaderActions();\n\n\tinitialized = true;\n};\n\nexport default initEditor;\n","import { Fragment } from '@wordpress/element';\nimport { addFilter } from '@wordpress/hooks';\nimport { FieldWithError } from '../../components';\n\nimport type { FieldProps } from '@popup-maker/fields';\nimport type { CallToAction } from '@popup-maker/core-data';\n\nconst { cta_types: callToActions } = window.popupMakerCtaEditor;\n\nconst getCtaFields = (\n\tkey: string\n): {\n\t[ tabName: string ]: {\n\t\t[ fieldId: string ]: FieldProps;\n\t};\n} => {\n\tconst fields =\n\t\tObject.values( callToActions ).find( ( cta ) => cta.key === key )\n\t\t\t?.fields ?? {};\n\n\treturn fields;\n};\n\nexport const initCustomFields = () => {\n\t// Initialize custom fields by adding them to the tab fields filter\n\taddFilter(\n\t\t'popupMaker.callToActionEditor.tabFields',\n\t\t'popup-maker',\n\t\t(\n\t\t\tfields: Record<\n\t\t\t\tstring,\n\t\t\t\t{ id: string; priority: number; component: React.JSX.Element }[]\n\t\t\t>,\n\t\t\tsettings: CallToAction[ 'settings' ],\n\t\t\tupdateSettings: (\n\t\t\t\tsettings: Partial< CallToAction[ 'settings' ] >\n\t\t\t) => void\n\t\t) => {\n\t\t\tconst extraFields = getCtaFields( settings.type );\n\n\t\t\tif ( Object.keys( extraFields ).length === 0 ) {\n\t\t\t\treturn fields;\n\t\t\t}\n\n\t\t\treturn Object.entries( extraFields ).reduce(\n\t\t\t\t( acc, [ tab, tabFields ] ) => {\n\t\t\t\t\tif ( ! acc[ tab ] ) {\n\t\t\t\t\t\tacc[ tab ] = [];\n\t\t\t\t\t}\n\n\t\t\t\t\tacc[ tab ] = [\n\t\t\t\t\t\t...acc[ tab ],\n\t\t\t\t\t\t...Object.entries( tabFields )\n\t\t\t\t\t\t\t.map( ( [ fieldId, field ] ) => {\n\t\t\t\t\t\t\t\tif ( ! field || ! field.type ) {\n\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tconst shouldHide = () => {\n\t\t\t\t\t\t\t\t\tif ( ! field.dependencies ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tconst dependencies = field.dependencies;\n\n\t\t\t\t\t\t\t\t\treturn ! Object.entries(\n\t\t\t\t\t\t\t\t\t\tdependencies\n\t\t\t\t\t\t\t\t\t).every( ( [ key, value ] ) => {\n\t\t\t\t\t\t\t\t\t\tconst dependencyValue = settings[ key ];\n\n\t\t\t\t\t\t\t\t\t\tif ( typeof value === 'string' ) {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\ttypeof dependencyValue ===\n\t\t\t\t\t\t\t\t\t\t\t\t'undefined'\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn value === '';\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn value === dependencyValue;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( typeof value === 'boolean' ) {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\ttypeof dependencyValue ===\n\t\t\t\t\t\t\t\t\t\t\t\t'undefined'\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn value === false;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn value === dependencyValue;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...field,\n\t\t\t\t\t\t\t\t\tid: fieldId,\n\t\t\t\t\t\t\t\t\tpriority: field?.priority ?? 0,\n\t\t\t\t\t\t\t\t\tcomponent: (\n\t\t\t\t\t\t\t\t\t\t<Fragment key={ fieldId }>\n\t\t\t\t\t\t\t\t\t\t\t{ ! shouldHide() && (\n\t\t\t\t\t\t\t\t\t\t\t\t<FieldWithError\n\t\t\t\t\t\t\t\t\t\t\t\t\tfieldId={ fieldId }\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsettings[ fieldId ]\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSettings( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ fieldId ]: value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t\t( item ): item is NonNullable< typeof item > =>\n\t\t\t\t\t\t\t\t\titem !== null\n\t\t\t\t\t\t\t),\n\t\t\t\t\t];\n\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t{ ...fields }\n\t\t\t);\n\t\t}\n\t);\n};\n\nexport default initCustomFields;\n","// import {\n// \t initTypeField,\n// \tinitTypeLinkFields,\n// } from './general';\nimport { initCustomFields } from './custom-fields';\n\nexport const initFields = () => {\n\t// initTypeField();\n\t// initTypeLinkFields();\n\tinitCustomFields();\n};\n\nexport default initFields;\n","import { __ } from '@popup-maker/i18n';\nimport { callToActionStore, type EditableCta } from '@popup-maker/core-data';\nimport { Button } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\nimport type { EditorHeaderActionContext } from '../../registry';\n\nconst HistoryEditorHeaderAction = ( {\n\tvalues,\n}: EditorHeaderActionContext< EditableCta > ) => {\n\tconst isSaving = useSelect(\n\t\t( select ) =>\n\t\t\tselect( callToActionStore ).isResolving( 'updateCallToAction' ),\n\t\t[]\n\t);\n\n\tconst { hasUndo, hasRedo, hasEdits } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! values.id ) {\n\t\t\t\treturn {\n\t\t\t\t\thasUndo: false,\n\t\t\t\t\thasRedo: false,\n\t\t\t\t\thasEdits: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst store = select( callToActionStore );\n\n\t\t\treturn {\n\t\t\t\thasUndo: store.hasUndo( values.id ),\n\t\t\t\thasRedo: store.hasRedo( values.id ),\n\t\t\t\thasEdits: store.hasEdits( values.id ),\n\t\t\t};\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[ values, isSaving ]\n\t);\n\n\tconst { undo, redo } = useDispatch( callToActionStore );\n\n\treturn (\n\t\t<>\n\t\t\t{ hasEdits && (\n\t\t\t\t<>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdisabled={ isSaving || ! hasUndo }\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\ticon={ 'undo' }\n\t\t\t\t\t\taria-label={ __( 'Undo', 'popup-maker' ) }\n\t\t\t\t\t\tonClick={ () => undo( values.id ) }\n\t\t\t\t\t/>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdisabled={ isSaving || ! hasRedo }\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\ticon={ 'redo' }\n\t\t\t\t\t\taria-label={ __( 'Redo', 'popup-maker' ) }\n\t\t\t\t\t\tonClick={ () => redo( values.id ) }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default {\n\tid: 'history',\n\tpriority: 99,\n\trender: HistoryEditorHeaderAction,\n};\n","export { default as historyEditorHeaderAction } from './history';\nexport { default as statusEditorHeaderAction } from './status';\n","import clsx from 'clsx';\nimport { __ } from '@popup-maker/i18n';\nimport { callToActionStore, type EditableCta } from '@popup-maker/core-data';\nimport { ToggleControl } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\nimport type { EditorHeaderActionContext } from '../../registry';\n\nconst StatusEditorHeaderAction = ( {\n\tvalues,\n}: EditorHeaderActionContext< EditableCta > ) => {\n\tconst isSaving = useSelect(\n\t\t( select ) =>\n\t\t\tselect( callToActionStore ).isResolving( 'updateCallToAction' ),\n\t\t[]\n\t);\n\n\tconst { updateEditorValues } = useDispatch( callToActionStore );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx( [\n\t\t\t\t'call-to-action-enabled-toggle',\n\t\t\t\tvalues?.status === 'publish' ? 'enabled' : 'disabled',\n\t\t\t] ) }\n\t\t\tstyle={ {\n\t\t\t\tminWidth: '11.5ch',\n\t\t\t} }\n\t\t>\n\t\t\t<ToggleControl\n\t\t\t\tdisabled={ isSaving }\n\t\t\t\tlabel={\n\t\t\t\t\tvalues?.status === 'publish'\n\t\t\t\t\t\t? __( 'Enabled', 'popup-maker' )\n\t\t\t\t\t\t: __( 'Disabled', 'popup-maker' )\n\t\t\t\t}\n\t\t\t\tchecked={ values?.status === 'publish' }\n\t\t\t\tonChange={ ( checked ) =>\n\t\t\t\t\tupdateEditorValues( {\n\t\t\t\t\t\tid: values.id,\n\t\t\t\t\t\tstatus: checked ? 'publish' : 'draft',\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default {\n\tid: 'status',\n\tpriority: 100,\n\trender: StatusEditorHeaderAction,\n};\n","import { __ } from '@popup-maker/i18n';\nimport { ConfirmDialogue } from '@popup-maker/components';\nimport { callToActionStore } from '@popup-maker/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { cancelCircleFilled } from '@wordpress/icons';\nimport { Button, ToggleControl } from '@wordpress/components';\nimport { useCallback, useState, useRef, useEffect } from '@wordpress/element';\n\nimport type { EditorHeaderOptionsContext } from '../../registry';\n\nconst DeleteEditorHeaderOption = ( {\n\tvalues,\n\tcloseModal,\n}: EditorHeaderOptionsContext ) => {\n\tconst [ forceDelete, setForceDelete ] = useState( false );\n\tconst forceDeleteRef = useRef( forceDelete ); // Add ref to track current value\n\tconst [ confirm, setConfirm ] = useState< {\n\t\tcallback: () => void;\n\t\tisDestructive?: boolean;\n\t} >();\n\n\t// Sync ref with state\n\tuseEffect( () => {\n\t\tforceDeleteRef.current = forceDelete;\n\t}, [ forceDelete ] );\n\n\tconst { deleteCallToAction } = useDispatch( callToActionStore );\n\n\tconst handleDelete = useCallback( () => {\n\t\tdeleteCallToAction( values.id, forceDeleteRef.current );\n\t\tcloseModal();\n\t}, [ deleteCallToAction, values.id, closeModal ] );\n\n\treturn (\n\t\t<>\n\t\t\t{ confirm && (\n\t\t\t\t<ConfirmDialogue\n\t\t\t\t\t{ ...confirm }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetConfirm( undefined );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Are you sure you want to delete this call to action?',\n\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t'Permanently delete all associated content',\n\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ forceDelete }\n\t\t\t\t\t\tonChange={ setForceDelete }\n\t\t\t\t\t/>\n\t\t\t\t</ConfirmDialogue>\n\t\t\t) }\n\t\t\t<Button\n\t\t\t\ttext={ __( 'Delete', 'popup-maker' ) }\n\t\t\t\ticon={ cancelCircleFilled }\n\t\t\t\tisDestructive={ true }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetConfirm( {\n\t\t\t\t\t\tisDestructive: true,\n\t\t\t\t\t\tcallback: handleDelete,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default {\n\tid: 'delete',\n\tgroup: 'trash',\n\tpriority: 6,\n\trender: DeleteEditorHeaderOption,\n};\n","export { default as deleteBulkAction } from './delete';\n","export * as headerActions from './header-actions';\nexport * as headerOptions from './header-options';\n\nexport * as tabs from './tabs';\nexport * from './fields';\n","import { __ } from '@popup-maker/i18n';\nimport { clamp } from '@popup-maker/utils';\nimport { cleanForSlug } from '@wordpress/url';\nimport { Fragment } from '@wordpress/element';\nimport { applyFilters } from '@wordpress/hooks';\nimport {\n\tNotice,\n\tSelectControl,\n\tTextareaControl,\n\tTextControl,\n} from '@wordpress/components';\n\nimport { useFields, useAllFieldErrors } from '../../hooks';\nimport { TabErrorNotice } from '../../components';\n\nimport type { CallToAction } from '@popup-maker/core-data';\nimport type { BaseEditorTabProps } from '../../types';\n\nexport const name = 'general';\n\nexport const title = __( 'General', 'popup-maker' );\n\nexport const getCallToActionTypeOptions = () => {\n\t// Get all registered CTA types from the global data\n\tconst { cta_types: registeredCtaTypes = {} } =\n\t\twindow.popupMakerCtaEditor || {};\n\n\t// Convert registered CTA types to dropdown options\n\tconst registeredOptions = Object.values( registeredCtaTypes ).map(\n\t\t( ctaType: any ) => ( {\n\t\t\tvalue: ctaType.key,\n\t\t\tlabel: ctaType.label,\n\t\t} )\n\t);\n\n\tconst callToActionTypeOptions: {\n\t\tvalue: Exclude< CallToAction[ 'settings' ][ 'type' ], undefined > | '';\n\t\tlabel: string;\n\t\tdisabled?: boolean;\n\t\t[ key: string ]: any;\n\t}[] = applyFilters( 'popupMaker.callToActionEditor.typeOptions', [\n\t\t{\n\t\t\tvalue: '',\n\t\t\tlabel: __( 'Select a type', 'popup-maker' ),\n\t\t},\n\t\t// Include all registered CTA types (core + pro)\n\t\t...registeredOptions,\n\t\t// {\n\t\t// \tvalue: 'openPopup',\n\t\t// \tlabel: __( 'Open Popup (Available in Pro)', 'popup-maker' ),\n\t\t// \tdisabled: true,\n\t\t// },\n\t\t// {\n\t\t// \tvalue: 'addToCart',\n\t\t// \tlabel: __( 'Add to Cart (Available in Pro+)', 'popup-maker' ),\n\t\t// \tdisabled: true,\n\t\t// },\n\t\t// {\n\t\t// \tvalue: 'applyDiscount',\n\t\t// \tlabel: __( 'Apply Discount (Available in Pro+)', 'popup-maker' ),\n\t\t// \tdisabled: true,\n\t\t// },\n\t] ) as {\n\t\tvalue: Exclude< CallToAction[ 'settings' ][ 'type' ], undefined > | '';\n\t\tlabel: string;\n\t\tdisabled?: boolean;\n\t\t[ key: string ]: any;\n\t}[];\n\n\treturn callToActionTypeOptions;\n};\n\nexport const Component = ( {\n\tcallToAction,\n\tupdateFields,\n\tupdateSettings,\n}: BaseEditorTabProps ) => {\n\tconst { getTabFields } = useFields();\n\tconst { clearAllErrors } = useAllFieldErrors();\n\n\tconst { settings } = callToAction;\n\n\tconst descriptionRowEst = ( callToAction.excerpt ?? '' ).length / 80;\n\tconst descriptionRows = clamp( descriptionRowEst, 1, 5 );\n\n\tconst callToActionTypeOptions = getCallToActionTypeOptions();\n\n\treturn (\n\t\t<div className=\"general-tab\">\n\t\t\t<TabErrorNotice tabName=\"general\" />\n\n\t\t\t<TextControl\n\t\t\t\tlabel={ __( 'Name', 'popup-maker' ) }\n\t\t\t\t// hideLabelFromVision={ true }\n\t\t\t\tplaceholder={ __( 'Name…', 'popup-maker' ) }\n\t\t\t\tclassName=\"title-field\"\n\t\t\t\tvalue={ callToAction.title ?? '' }\n\t\t\t\tonChange={ ( newTitle ) =>\n\t\t\t\t\tupdateFields( {\n\t\t\t\t\t\ttitle: newTitle,\n\t\t\t\t\t\tslug: cleanForSlug( newTitle ),\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t/>\n\n\t\t\t<TextareaControl\n\t\t\t\trows={ descriptionRows }\n\t\t\t\t// @ts-ignore\n\t\t\t\tscrolling={ descriptionRows > 5 ? 'auto' : 'no' }\n\t\t\t\tlabel={ __( 'Description', 'popup-maker' ) }\n\t\t\t\t// hideLabelFromVision={ true }\n\t\t\t\tplaceholder={ __( 'Add description…', 'popup-maker' ) }\n\t\t\t\tclassName=\"description-field\"\n\t\t\t\tvalue={ callToAction.excerpt ?? '' }\n\t\t\t\tonChange={ ( excerpt ) => updateFields( { excerpt } ) }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t/>\n\n\t\t\t{ ( callToAction.title ?? '' ).length <= 0 && (\n\t\t\t\t<Notice\n\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\tclassName=\"title-field-notice\"\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Enter a label for this set.', 'popup-maker' ) }\n\t\t\t\t</Notice>\n\t\t\t) }\n\n\t\t\t{ callToActionTypeOptions.length > 1 && (\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Action Type', 'popup-maker' ) }\n\t\t\t\t\toptions={ callToActionTypeOptions }\n\t\t\t\t\tvalue={ settings.type ?? '' }\n\t\t\t\t\tonChange={ ( type ) => {\n\t\t\t\t\t\tclearAllErrors();\n\t\t\t\t\t\tupdateSettings( { type } );\n\t\t\t\t\t} }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ getTabFields( 'general' ).map( ( field ) => (\n\t\t\t\t<Fragment key={ field.id }>{ field.component }</Fragment>\n\t\t\t) ) }\n\t\t</div>\n\t);\n};\n\nexport default Component;\n","export * as generalTab from './general';\n","import type { EditableCta } from '@popup-maker/core-data';\nimport {\n\tcreateRegistry,\n\ttype PopupMaker as BasePopupMaker,\n} from '@popup-maker/registry';\n\nexport type EditorHeaderActionContext< T extends EditableCta > = {\n\tvalues: T;\n\tcloseModal: () => void;\n};\n\ndeclare namespace PopupMaker {\n\tinterface BaseEditorHeaderAction< T extends EditableCta = EditableCta >\n\t\textends BasePopupMaker.RegistryItem {\n\t\trender: React.FC< EditorHeaderActionContext< T > >;\n\t}\n\n\texport type EditorHeaderAction< T extends EditableCta = EditableCta > =\n\t\tBaseEditorHeaderAction< T >;\n}\n\nexport const EditorHeaderActionsRegistry =\n\tcreateRegistry< PopupMaker.EditorHeaderAction >( {\n\t\tname: 'cta-editor/editor-header-actions',\n\t\tgroups: {\n\t\t\tgeneral: { priority: 10 },\n\t\t},\n\t\tdefaultGroup: 'general',\n\t} );\n\n// Helper hook for components\nexport const useEditorHeaderActions = () =>\n\tEditorHeaderActionsRegistry.useItems();\n\nexport const registerEditorHeaderAction = EditorHeaderActionsRegistry.register;\n\nexport const registerEditorHeaderActionGroup =\n\tEditorHeaderActionsRegistry.registerGroup;\n\nexport const getEditorHeaderActions = () =>\n\tEditorHeaderActionsRegistry.getItems();\n","import type { EditableCta } from '@popup-maker/core-data';\nimport {\n\tcreateRegistry,\n\ttype PopupMaker as BasePopupMaker,\n} from '@popup-maker/registry';\n\nexport type EditorHeaderOptionsContext< T extends EditableCta = EditableCta > =\n\t{\n\t\tvalues: T;\n\t\tcloseModal: () => void;\n\t};\n\ndeclare namespace PopupMaker {\n\tinterface BaseEditorHeaderOption< T extends EditableCta = EditableCta >\n\t\textends BasePopupMaker.RegistryItem {\n\t\trender: React.FC< EditorHeaderOptionsContext< T > >;\n\t}\n\n\texport type EditorHeaderOption< T extends EditableCta = EditableCta > =\n\t\tBaseEditorHeaderOption< T >;\n}\n\nexport const EditorHeaderOptionsRegistry =\n\tcreateRegistry< PopupMaker.EditorHeaderOption >( {\n\t\tname: 'cta-editor/editor-header-options',\n\t\tgroups: {\n\t\t\tgeneral: { priority: 10 },\n\t\t},\n\t} );\n\n// Helper hook for components\nexport const useEditorHeaderOptions = () =>\n\tEditorHeaderOptionsRegistry.useItems();\n\nexport const registerEditorHeaderOption = EditorHeaderOptionsRegistry.register;\n\nexport const registerEditorHeaderOptionGroup =\n\tEditorHeaderOptionsRegistry.registerGroup;\n\nexport const getEditorHeaderOptions = () =>\n\tEditorHeaderOptionsRegistry.getItems();\n","export * from './header-actions';\nexport * from './header-options';\n","module.exports = window[\"popupMaker\"][\"components\"];","module.exports = window[\"popupMaker\"][\"coreData\"];","module.exports = window[\"popupMaker\"][\"fields\"];","module.exports = window[\"popupMaker\"][\"i18n\"];","module.exports = window[\"popupMaker\"][\"registry\"];","module.exports = window[\"popupMaker\"][\"useQueryParams\"];","module.exports = window[\"popupMaker\"][\"utils\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"domReady\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"hooks\"];","module.exports = window[\"wp\"][\"notices\"];","module.exports = window[\"wp\"][\"primitives\"];","module.exports = window[\"wp\"][\"url\"];","module.exports = window[\"lodash\"];","module.exports = window[\"React\"];","module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./packages/cta-editor/src/index.ts\");\n",""],"names":["useSelect","store","noticesStore","NOTICE_CONTEXT","DEBUG_MODE","jsx","_jsx","jsxs","_jsxs","DebugNotices","notices","select","getNotices","length","style","padding","background","margin","fontSize","fontFamily","children","border","map","notice","marginBottom","id","content","status","React","Field","URLControl","FieldWrapper","useFieldError","FieldWithError","fieldId","field","value","onChange","_field$label","error","clearError","handleChange","newValue","title","label","type","urlValue","url","clsx","Panel","PanelBody","className","hasError","undefined","header","opened","default","TabErrorNotice","useEffect","useState","useRef","Notice","__","useTabErrors","callToActionStore","tabName","message","hasErrors","showNotice","setShowNotice","timerRef","lastHasError","wasSaving","isSaving","isResolving","current","clearTimeout","errorsJustAppeared","saveJustCompleted","setTimeout","isDismissible","useMemo","applyFilters","TabPanel","noop","defaultCtaValues","useControlledState","BaseEditor","afterTabs","beforeTabs","props","_props$onChange","activeTab","setActiveTab","tab","setTab","values","tabProps","callToAction","updateFields","fields","updateSettings","settings","updateSetting","setting","tabsFilter","tabs","_tabs","shouldShowTabs","getSingleTabComponent","targetTab","find","name","Component","orientation","initialTabName","onSelect","Fragment","useEditorHeaderActions","_Fragment","EditorHeaderActions","closeModal","lastGroup","headerActions","headerActionsContext","GroupSeparator","group","previousGroup","renderContent","render","debounce","Button","Dropdown","NavigableMenu","moreHorizontal","moreVertical","useEditorHeaderOptions","EditorHeaderOptions","btnRef","clickOffTimerRef","isOpen","setIsOpen","toggleOpen","headerOptions","headerOptionsContext","contentClassName","focusOnMount","open","popoverProps","noArrow","placement","anchor","getBoundingClientRect","DOMRect","onClose","onFocusOutside","_clickOffTimerRef$cur","renderToggle","ref","variant","onClick","icon","iconSize","withDataStore","withModal","withQueryParams","DispatchStatus","useDispatch","useAllFieldErrors","WrappedComponent","DataStoreWrappedEditor","defaultValues","onSave","componentProps","triedSaving","setTriedSaving","saveHandledRef","fullDefaultValues","isEditorActive","savedSuccessfully","getEditorValues","resolutionState","getResolutionState","getEditedCallToAction","Success","valuesId","editRecord","resetRecordEdits","changeEditorId","allNotices","filter","startsWith","removeNotice","clearAllErrors","latestCta","hasEdits","confirmLossOfUnsavedChanges","event","window","confirm","preventDefault","addEventListener","removeEventListener","ErrorMessages","onDismiss","editorValues","newValues","ConfirmDialogue","close","link","Modal","Spinner","useCallback","documenationUrl","ModalWrappedEditor","closeOnSave","showDocumentationLink","showActions","onRequestClose","modalProps","setConfirm","_store$getCurrentEdit","getCurrentEditorValues","getDefaultValues","getHasEdits","saveEditorValues","hasAnyError","modalTitle","confirmLoss","callback","isDestructive","saveValues","hasRemainingEdits","console","shouldCloseOnClickOutside","color","text","disabled","href","target","useEditor","QueryParamsWrappedEditor","onSaveProp","onCloseProp","clearEditorParams","editorId","Editor","useFields","useTabHasError","BooleanParam","NumberParam","StringParam","useQueryParams","initialized","storeSelect","getEditorId","queryParams","setQueryParams","edit","add","urlId","setEditorId","newTab","ctaId","fieldNotice","getTabFields","tabErrors","tabFields","fieldIds","Set","f","fieldMatch","match","has","errorCount","errorIds","n","clearTabErrors","forEach","errors","fieldErrors","RegExp","ids","push","clearFieldError","Object","keys","updateEditorValues","updateValues","storeSelectors","currentValues","newSettings","updateField","fieldIsVisible","show","_tabFields$tab","sort","a","b","priority","component","domReady","doAction","initEditor","addFilter","removeFilter","registerEditorHeaderAction","registerEditorHeaderOption","initFields","initHeaderActions","action","option","initTabs","registeredTabs","deinitTabs","cta_types","callToActions","popupMakerCtaEditor","getCtaFields","key","_Object$values$find$f","cta","initCustomFields","extraFields","entries","reduce","acc","_field$priority","shouldHide","dependencies","every","dependencyValue","item","HistoryEditorHeaderAction","hasUndo","hasRedo","undo","redo","historyEditorHeaderAction","statusEditorHeaderAction","ToggleControl","StatusEditorHeaderAction","minWidth","checked","__nextHasNoMarginBottom","cancelCircleFilled","DeleteEditorHeaderOption","forceDelete","setForceDelete","forceDeleteRef","deleteCallToAction","handleDelete","deleteBulkAction","clamp","cleanForSlug","SelectControl","TextareaControl","TextControl","getCallToActionTypeOptions","registeredCtaTypes","registeredOptions","ctaType","callToActionTypeOptions","_callToAction$excerpt","_callToAction$title","_callToAction$excerpt2","_callToAction$title2","_settings$type","descriptionRowEst","excerpt","descriptionRows","placeholder","newTitle","slug","__next40pxDefaultSize","rows","scrolling","options","generalTab","createRegistry","EditorHeaderActionsRegistry","groups","general","defaultGroup","useItems","register","registerEditorHeaderActionGroup","registerGroup","getEditorHeaderActions","getItems","EditorHeaderOptionsRegistry","registerEditorHeaderOptionGroup","getEditorHeaderOptions"],"sourceRoot":""} dist/packages/cta-editor-rtl.css 0000644 00000016326 15174671772 0012662 0 ustar 00 .call-to-action-editor-modal{margin:8vh auto auto;max-height:85%;max-width:36rem;width:100%}.call-to-action-editor-modal .components-modal__content{margin-bottom:64px;margin-top:64px;overflow-y:scroll;padding:16px}.call-to-action-editor-modal .components-modal__content::-webkit-scrollbar{-webkit-appearance:none;width:7px}.call-to-action-editor-modal .components-modal__content::-webkit-scrollbar-thumb{background-color:#00000080;border-radius:4px;-webkit-box-shadow:0 0 1px #ffffff80}.call-to-action-editor-modal .components-modal__header{border-bottom:1px solid #c3c4c7;height:64px;padding:0 16px}.call-to-action-editor-modal .components-modal__header .components-modal__header-heading-container{line-clamp:1;display:-webkit-box;margin-left:125px;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.call-to-action-editor-modal .components-modal__header .components-modal__header-heading-container h1{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:fit-content}.call-to-action-editor-modal .call-to-action-enabled-toggle .components-h-stack{direction:ltr}.call-to-action-editor-modal .call-to-action-enabled-toggle.disabled label{color:#a30000}.call-to-action-editor-modal .call-to-action-enabled-toggle.enabled label{color:#00a32a}.call-to-action-editor+.editor-actions,.call-to-action-editor+.modal-actions{align-items:center;border-top:1px solid #c3c4c7;bottom:0;box-sizing:border-box;display:flex;gap:16px;height:64px;justify-content:right;right:0;padding:0 32px;position:absolute;left:0}.call-to-action-editor+.editor-actions>:last-child,.call-to-action-editor+.modal-actions>:last-child{right:32px;position:absolute}.call-to-action-editor+.editor-actions>:last-child svg,.call-to-action-editor+.modal-actions>:last-child svg{margin-left:3px;fill:#fff;stroke:green}.call-to-action-editor .editor-tabs{display:flex;gap:16px;width:100%}.call-to-action-editor .editor-tabs .components-tab-panel__tabs{flex:1 0 150px;text-align:right}.call-to-action-editor .editor-tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{background-color:#f0f0f0}.call-to-action-editor .editor-tabs .components-tab-panel__tab-content{flex:3 1 100%}.call-to-action-editor .components-base-control{margin-bottom:16px}.call-to-action-editor .components-base-control:last-child{margin-bottom:0}.call-to-action-editor .components-base-control.is-large .components-text-control__input{padding:1em}.call-to-action-editor .components-base-control .is-large .components-select-control__input{font-size:13px;height:auto;line-height:normal;min-height:30px;padding:1em}.call-to-action-editor .components-base-control__label,.call-to-action-editor .components-checkbox-control__label,.call-to-action-editor .components-input-control__label,.call-to-action-editor .components-toggle-control__label{font-size:13px!important;font-weight:500!important;text-transform:none!important}.call-to-action-editor .components-radio-button-control .options{gap:16px;max-width:500px}.call-to-action-editor .components-radio-button-control .components-button{box-sizing:border-box;flex:1 1 0%;font-size:13px;font-style:normal;font-weight:600;height:auto;line-height:140%;padding:16px 0}.call-to-action-editor .components-radio-button-control .components-button.is-primary{background:#007cba100%d;color:#007cba}.call-to-action-editor .components-radio-button-control .components-button.is-primary:not(:disabled):focus{box-shadow:inset 0 0 0 2px #007cba,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:3px solid #0000}.call-to-action-editor .components-radio-button-control .components-button.is-primary:not(:disabled):not(:focus){box-shadow:inset 0 0 0 2px #007cba}.call-to-action-editor .components-radio-button-control .components-button.is-secondary{background:#fff;color:#757575}.call-to-action-editor .components-radio-button-control .components-button.is-secondary:not(:disabled):focus{box-shadow:inset 0 0 0 2px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:3px solid #0000}.call-to-action-editor .components-radio-button-control .components-button.is-secondary:not(:disabled):not(:focus){box-shadow:inset 0 0 0 2px #ddd}.call-to-action-editor .components-url-input .url-input__input{min-height:40px}.call-to-action-editor .general-tab .title-field .components-text-control__input{border-color:#eee;font-size:1.8em;height:auto;line-height:1;margin-bottom:1px;padding-right:5px}.call-to-action-editor .general-tab .title-field .components-base-control__field{margin-bottom:0}.call-to-action-editor .general-tab .title-field-notice{line-height:1;margin-bottom:32px;margin-right:0;margin-top:-32px}.call-to-action-editor .general-tab .title-field-notice .components-notice__content{padding:0}.call-to-action-editor .general-tab .description-field .components-text-control__input,.call-to-action-editor .general-tab .description-field .components-textarea-control__input{border-color:#eee;font-size:.9em;height:auto;min-height:auto;resize:none}.call-to-action-editor .general-tab .components-url-control .url-control-wrapper .url-control .url-control__input{min-height:40px}.call-to-action-editor .general-tab .components-url-control .url-control-wrapper .url-control .url-control__actions{left:6px;top:6px}.call-to-action-editor .call-to-action-editor-error{margin:-5px 0 10px}.call-to-action-editor .cta-field-wrapper--has-error .components-panel__header{border-bottom:1px solid #cc1818!important}.call-to-action-editor .cta-field-wrapper--has-error .components-panel__body{background:linear-gradient(-180deg,#cc181808,#cc181814);border-radius:0 0 4px 4px}.call-to-action-editor .cta-field-wrapper--has-error .components-base-control__label{color:#cc1818!important}.call-to-action-editor .cta-field-wrapper--has-error .component-smart-token-control__input,.call-to-action-editor .cta-field-wrapper--has-error .components-input-control__input,.call-to-action-editor .cta-field-wrapper--has-error .components-number-control__input,.call-to-action-editor .cta-field-wrapper--has-error .components-select-control__input,.call-to-action-editor .cta-field-wrapper--has-error .components-select-control__input-wrapper,.call-to-action-editor .cta-field-wrapper--has-error .components-text-control__input,.call-to-action-editor .cta-field-wrapper--has-error .components-textarea-control__input,.call-to-action-editor .cta-field-wrapper--has-error .url-control__input{background-color:#fff;border:1px solid #cc1818!important;box-shadow:0 0 0 1px #cc1818!important}.call-to-action-editor .cta-field-wrapper--has-error .components-input-control__backdrop{background-color:#0000;border-color:#0000}.call-to-action-editor .cta-field-wrapper .cta-field-error{color:#cc1818;font-size:12px;line-height:1.4;margin-top:8px}.call-to-action-editor .editor-tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.error{background-color:#f4a2a2;border-right:4px solid #cc1818}.editor-header-actions{align-items:center;display:flex;flex-direction:row;gap:6px;justify-content:space-between;max-width:max-content}.editor-header-actions .components-button.close-button{min-width:auto;padding:0}.editor-header-actions .editor-header-options .components-button.popover-toggle{min-width:auto;padding-right:4px;padding-left:4px}.editor-header-options__popover .components-popover__content{min-width:fit-content} dist/packages/components.js 0000644 00000106442 15174671772 0012040 0 ustar 00 (()=>{var e={942:(e,t)=>{var n;!function(){"use strict";var o={}.hasOwnProperty;function a(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=r(e,s(n)))}return e}function s(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return a.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var n in e)o.call(e,n)&&e[n]&&(t=r(t,n));return t}function r(e,t){return t?e?e+" "+t:e+t:e}e.exports?(a.default=a,e.exports=a):void 0===(n=function(){return a}.apply(t,[]))||(e.exports=n)}()}},t={};function n(o){var a=t[o];if(void 0!==a)return a.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};(()=>{"use strict";n.r(o),n.d(o,{CallToActionSelectControl:()=>w,ConfirmDialogue:()=>k,ControlledTabPanel:()=>y,DeviceToggle:()=>N,EntitySelectControl:()=>E,FieldPanel:()=>$,FieldRow:()=>B,FreeFormEditControl:()=>O,FullScreenPanel:()=>H,ListTable:()=>K,PopupSelectControl:()=>J,RadioButtonControl:()=>Q,SearchableMulticheckControl:()=>ee,SmartTokenControl:()=>j,SortDirection:()=>U,TextHighlight:()=>ne,URLControl:()=>re,useControlledState:()=>Z});const e=window.wp.data,t=window.wp.element,a=window.wp.compose,s=window.wp.htmlEntities,r=window.popupMaker.i18n,l=window.popupMaker.coreData;function i(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=i(e[t]))&&(o&&(o+=" "),o+=n)}else for(n in e)e[n]&&(o&&(o+=" "),o+=n);return o}const c=function(){for(var e,t,n=0,o="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=i(e))&&(o&&(o+=" "),o+=t);return o},h=window.wp.components,u=((0,t.forwardRef)(({icon:e,size:n=24,...o},a)=>(0,t.cloneElement)(e,{width:n,height:n,...o,ref:a})),window.wp.primitives),d=window.ReactJSXRuntime,p=(u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,(0,d.jsx)(u.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,d.jsx)(u.Path,{d:"m16.5 13.5-3.7 3.7V4h-1.5v13.2l-3.8-3.7-1 1 5.5 5.6 5.5-5.6z"})})),S=(u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,(0,d.jsx)(u.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,d.jsx)(u.Path,{d:"M12 3.9 6.5 9.5l1 1 3.8-3.7V20h1.5V6.8l3.7 3.7 1-1z"})})),m=(u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.Circle,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,(0,d.jsx)(u.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,d.jsx)(u.Path,{d:"M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z"})})),g=(u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,(0,d.jsx)(u.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,d.jsx)(u.Path,{d:"M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z"})})),P=(u.SVG,u.Path,u.SVG,u.Path,(0,d.jsx)(u.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,d.jsx)(u.Path,{d:"m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z"})})),V=(u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.Path,u.Circle,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.G,u.Path,u.Path,u.SVG,u.G,u.Path,u.Path,u.SVG,u.G,u.Path,u.Path,u.SVG,u.G,u.Path,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,(0,d.jsx)(u.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,d.jsx)(u.Path,{d:"m19 7-3-3-8.5 8.5-1 4 4-1L19 7Zm-7 11.5H5V20h7v-1.5Z"})})),G=(u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,(0,d.jsx)(u.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,d.jsx)(u.Path,{d:"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm6.5 8c0 .6 0 1.2-.2 1.8h-2.7c0-.6.2-1.1.2-1.8s0-1.2-.2-1.8h2.7c.2.6.2 1.1.2 1.8Zm-.9-3.2h-2.4c-.3-.9-.7-1.8-1.1-2.4-.1-.2-.2-.4-.3-.5 1.6.5 3 1.6 3.8 3ZM12.8 17c-.3.5-.6 1-.8 1.3-.2-.3-.5-.8-.8-1.3-.3-.5-.6-1.1-.8-1.7h3.3c-.2.6-.5 1.2-.8 1.7Zm-2.9-3.2c-.1-.6-.2-1.1-.2-1.8s0-1.2.2-1.8H14c.1.6.2 1.1.2 1.8s0 1.2-.2 1.8H9.9ZM11.2 7c.3-.5.6-1 .8-1.3.2.3.5.8.8 1.3.3.5.6 1.1.8 1.7h-3.3c.2-.6.5-1.2.8-1.7Zm-1-1.2c-.1.2-.2.3-.3.5-.4.7-.8 1.5-1.1 2.4H6.4c.8-1.4 2.2-2.5 3.8-3Zm-1.8 8H5.7c-.2-.6-.2-1.1-.2-1.8s0-1.2.2-1.8h2.7c0 .6-.2 1.1-.2 1.8s0 1.2.2 1.8Zm-2 1.4h2.4c.3.9.7 1.8 1.1 2.4.1.2.2.4.3.5-1.6-.5-3-1.6-3.8-3Zm7.4 3c.1-.2.2-.3.3-.5.4-.7.8-1.5 1.1-2.4h2.4c-.8 1.4-2.2 2.5-3.8 3Z"})})),x=(u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.Path,u.SVG,u.Path,(0,d.jsx)(u.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,d.jsx)(u.Path,{d:"m6.734 16.106 2.176-2.38-1.093-1.028-3.846 4.158 3.846 4.158 1.093-1.028-2.176-2.38h2.811c1.125 0 2.25.03 3.374 0 1.428-.001 3.362-.25 4.963-1.277 1.66-1.065 2.868-2.906 2.868-5.859 0-2.479-1.327-4.896-3.65-5.93-1.82-.813-3.044-.8-4.806-.788l-.567.002v1.5c.184 0 .368 0 .553-.002 1.82-.007 2.704-.014 4.21.657 1.854.827 2.76 2.657 2.76 4.561 0 2.472-.973 3.824-2.178 4.596-1.258.807-2.864 1.04-4.163 1.04h-.02c-1.115.03-2.229 0-3.344 0H6.734Z"})})),v=(u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,(0,d.jsx)(u.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,d.jsx)(u.Path,{d:"M10 17.389H8.444A5.194 5.194 0 1 1 8.444 7H10v1.5H8.444a3.694 3.694 0 0 0 0 7.389H10v1.5ZM14 7h1.556a5.194 5.194 0 0 1 0 10.39H14v-1.5h1.556a3.694 3.694 0 0 0 0-7.39H14V7Zm-4.5 6h5v-1.5h-5V13Z"})})),f=(u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.Path,u.SVG,u.Path,u.Path,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.Path,u.SVG,u.Path,u.Path,u.Path,u.SVG,u.Path,u.Path,u.SVG,u.Path,u.Path,u.SVG,u.Path,u.Path,u.SVG,u.Path,u.Path,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,u.SVG,u.Path,window.popupMaker.utils),b={container:"component-smart-token-control",popover:"component-smart-token-control__suggestions-popover",inputContainer:"component-smart-token-control__input",tokens:"component-smart-token-control__tokens",token:"component-smart-token-control__token",tokenLabel:"component-smart-token-control__token-label",tokenRemove:"component-smart-token-control__token-remove",textInput:"component-smart-token-control__text-input",toggleSuggestions:"component-smart-token-control__toggle",suggestions:"component-smart-token-control__suggestions",suggestion:"component-smart-token-control__suggestion"},_=({id:e,value:n,onChange:o,label:s,placeholder:l=(0,r.__)("Enter a value","popup-maker"),className:i,inputStyles:u={},popoverStyles:p={},tokenOnComma:S=!1,classes:m=b,renderToken:g=e=>(0,d.jsx)(d.Fragment,{children:"string"==typeof e?e:e.item}),renderSuggestion:V=e=>(0,d.jsx)(d.Fragment,{children:e}),onInputChange:G=f.noop,saveTransform:x=e=>e,closeOnSelect:v=!1,hideLabelFromVision:j=!1,extraKeyboardShortcuts:w={},multiple:k=!1,suggestions:C,extraOptions:y=[],messages:N={searchTokens:(0,r.__)("Search","popup-maker"),noSuggestions:(0,r.__)("No suggestions","popup-maker"),removeToken:(0,r.__)("Remove token","popup-maker")}},R)=>{const E={...b,...m},$=(0,a.useInstanceId)(_),B=(0,t.useRef)(null),I=(0,t.useRef)(null),F=(0,t.useRef)(null),[L,T]=(0,t.useState)({inputText:"",isFocused:!1,selectedSuggestion:-1,popoverOpen:!1,refocus:!1}),{inputText:M,isFocused:O,selectedSuggestion:D,popoverOpen:A}=L;function H(e){return"object"==typeof e?e.value:e}function Z(e){return n.some(t=>H(e)===H(t))}function U(e){!function(e){const t=[...new Set(e.map(x).filter(Boolean).filter(e=>!Z(e)))];t.length>0&&o([...n,...t])}([e]),T({...L,inputText:"",selectedSuggestion:-1,popoverOpen:!v&&A})}const q=C.length,z=D>q?0:D;(0,t.useEffect)(()=>{setTimeout(()=>{F.current&&F.current.scrollIntoView()},25)},[D,A]),(0,t.useEffect)(()=>{L.refocus&&(T({...L,refocus:!1}),I.current?.focus())},[L,L.refocus]);const K={up:e=>{e.preventDefault(),T({...L,popoverOpen:0===M.length&&!A||A,selectedSuggestion:(0,f.clamp)(z-1>=0?z-1:q,0,q)})},down:e=>{e.preventDefault(),T({...L,popoverOpen:0===M.length&&!A||A,selectedSuggestion:(0,f.clamp)(z+1<=q?z+1:0,0,q)})},"alt+down":()=>T({...L,popoverOpen:!0}),enter:()=>{if(-1===D)return T({...L,popoverOpen:!1});J(W[z])},escape:e=>{e.preventDefault(),e.stopPropagation(),T({...L,selectedSuggestion:-1,popoverOpen:!1})},",":e=>{S&&(e.preventDefault(),0!==M.length&&U(M))},...w},W=[...C,...y.map(e=>e.label)],J=e=>{const t=y.find(t=>t.label===e);if(t)return t.onSelect?.(),void U(t.value.toString());U(e)},X=A&&I.current&&(W.length>0||y.length>0);return(0,d.jsx)(h.KeyboardShortcuts,{shortcuts:K,children:(0,d.jsxs)("div",{id:e?`${e}-wrapper`:`component-smart-token-control-${$}-wrapper`,className:c([E.container,O&&"is-focused",i]),ref:e=>{B.current=e,R&&"object"==typeof R&&(R.current=e)},onBlur:e=>{e.relatedTarget&&e.relatedTarget.closest(`.${E.popover}`)||T({...L,isFocused:!1,popoverOpen:!1,selectedSuggestion:-1})},children:[(0,d.jsx)(h.BaseControl,{id:e||`component-smart-token-control-${$}`,label:s,hideLabelFromVision:j,__nextHasNoMarginBottom:!0,children:(0,d.jsxs)("div",{className:c([E.inputContainer,!k&&n.length>0&&"input-disabled"]),children:[n.length>0&&(0,d.jsx)("div",{className:E.tokens,children:n.map(e=>(0,d.jsxs)("div",{className:E.token,children:[(0,d.jsx)("div",{className:E.tokenLabel,children:g(e)}),(0,d.jsx)(h.Button,{className:E.tokenRemove,label:N.removeToken,icon:P,onClick:()=>function(e){T({...L,refocus:!0}),o(n.filter(t=>H(t)!==H(e)))}(e)})]},H(e)))}),(0,d.jsx)("input",{id:e||`component-smart-token-control-${$}`,type:"text",className:c([E.textInput]),style:null!=u?u:{},placeholder:l,disabled:!k&&n.length>0,ref:I,value:null!=M?M:"",onChange:e=>{return t=e.target.value,T({...L,inputText:t,selectedSuggestion:-1,popoverOpen:t.length>=1||y.length>0&&0===t.length}),void G(t);var t},autoComplete:"off","aria-autocomplete":"list","aria-controls":e?`${e}-listbox`:`${$}-listbox`,"aria-activedescendant":`sug-${z}`,onFocus:()=>{T({...L,isFocused:!0,popoverOpen:M.length>=1||y.length>0&&(0===C.length||0===M.length)})},onClick:()=>{!A&&(C.length>0||y.length>0)&&T({...L,popoverOpen:!0})},onBlur:e=>{const t=e.relatedTarget;t&&t.closest(`.${E.popover}`)||T({...L,isFocused:!1,popoverOpen:!1,selectedSuggestion:-1})}})]})}),X&&(0,d.jsx)(h.Popover,{focusOnMount:!1,onClose:()=>{T({...L,popoverOpen:!1,selectedSuggestion:-1})},position:"bottom right",anchor:I.current,className:E.popover,style:null!=p?p:{},children:(0,d.jsx)("div",{className:E.suggestions,style:{width:I.current?.clientWidth},children:W.length?W.map((e,t)=>(0,d.jsx)("div",{id:`sug-${t}`,className:c([E.suggestion,t===z&&"is-currently-highlighted",Z(e)&&"is-selected"]),ref:t===z?F:void 0,onFocus:()=>{(e=>{T({...L,selectedSuggestion:e})})(t)},onMouseDown:e=>{e.preventDefault(),J(W[t])},role:"option",tabIndex:t,"aria-selected":t===z,children:V(e)},t)):(0,d.jsx)("div",{children:N.noSuggestions})})})]})})},j=(0,t.forwardRef)(_),w=({id:n,label:o,value:i,onChange:c,placeholder:h,multiple:u=!1,...p})=>{const[S,m]=(0,t.useState)(""),g=(0,a.useDebounce)(e=>{m(e)},300),{suggestions:P=[],isLoading:V=!1}=(0,e.useSelect)(e=>({suggestions:e(l.callToActionStore).getCallToActions()||[],isLoading:e(l.callToActionStore).isResolving("getCallToActions")}),[]),G=e=>P&&P.find(t=>t.id.toString()===e.toString()),x=(0,t.useMemo)(()=>P.filter(e=>e.title.rendered.toLowerCase().includes(S.toLowerCase())),[P,S]),v=i?(Array.isArray(i)?i:[i]).map(e=>e.toString()):[],f=e=>"object"==typeof e?e.value:e;return(0,d.jsx)("div",{className:"pum-object-search-field",children:(0,d.jsx)(j,{id:n,label:o||(0,r.sprintf)( // translators: %s: entity type. // translators: %s: entity type. (0,r.__)("%s(s)","popup-maker"),"Call to Action"),multiple:u,placeholder:h||(0,r.sprintf)( // translators: %s: entity type. // translators: %s: entity type. (0,r.__)("Select %s(s)","popup-maker"),"call to action"),...p,tokenOnComma:!0,value:v,onInputChange:g,onChange:e=>{const t=(u&&!Array.isArray(e)?[e]:e).map(e=>{const t=f(e);if("string"==typeof t&&!t.match(/^\d+$/))return t;const n=parseInt(t,10);return isNaN(n)?null:n}).filter(e=>null!==e);c(u?t:t[0])},renderToken:e=>{var t;const n=G(f(e));return n?(0,s.decodeEntities)(null!==(t=n.title.rendered)&&void 0!==t?t:n.title.raw||n.title.rendered):f(e)},renderSuggestion:e=>{var t;const n=G(e);return n?(0,d.jsx)(d.Fragment,{children:(0,s.decodeEntities)(null!==(t=n.title.rendered)&&void 0!==t?t:n.title.raw||n.title.rendered)}):e},suggestions:x.length?x.map(e=>e.id.toString()).filter(e=>e):[],messages:V?{noSuggestions:(0,r.__)("Searching…","popup-maker")}:void 0})})},k=({message:e,callback:n,onClose:o,isDestructive:a=!1,children:s})=>{const l=(0,t.useRef)(null),i=(0,t.useRef)(null);return(0,t.useEffect)(()=>(l.current?.ownerDocument&&(i.current=l.current.ownerDocument.activeElement),l.current?.focus(),()=>{i.current&&"focus"in i.current&&i.current.focus()}),[n,o]),(e&&e.length||s)&&n?(0,d.jsxs)(h.Modal,{title:(0,r.__)("Confirm Action","popup-maker"),onRequestClose:o,focusOnMount:!1,children:[s||(0,d.jsx)("p",{children:e}),(0,d.jsxs)(h.Flex,{justify:"right",children:[(0,d.jsx)(h.Button,{text:(0,r.__)("Cancel","popup-maker"),onClick:o}),(0,d.jsx)(h.Button,{variant:"primary",text:(0,r.__)("Confirm","popup-maker"),isDestructive:a,ref:l,onClick:()=>{n(),o()}})]})]}):null},C=({tabId:e,onClick:t,children:n,selected:o,...a})=>(0,d.jsx)(h.Button,{role:"tab",tabIndex:o?void 0:-1,"aria-selected":o,id:e,onClick:t,...a,children:n}),y=(0,a.withInstanceId)(({instanceId:e,orientation:t="horizontal",activeClass:n="is-active",tabsClass:o="tabs",tabClass:a="tab",className:s,tabs:r,selected:l,onSelect:i,children:u})=>{var p;const S=r.find(e=>l===e.name)||r[0],m=`${e}-${null!==(p=S?.name)&&void 0!==p?p:"none"}`;return(0,d.jsxs)("div",{className:c(s,"pum-"+t+"-tabs"),children:[(0,d.jsx)(h.NavigableMenu,{role:"tablist",orientation:t,onNavigate:(e,t)=>{t.click()},className:c([o,"components-tab-panel__tabs"]),children:r.map(t=>{var o,s;return(0,d.jsx)(C,{className:c(a,"components-tab-panel__tabs-item","components-tab-panel__tab",t.className,{[n]:t.name===S.name}),tabId:`${e}-${t.name}`,"aria-controls":`${e}-${t.name}-view`,selected:t.name===S.name,onClick:()=>{return e=t.name,void i?.(e);var e},href:null!==(o=t?.href)&&void 0!==o?o:void 0,target:null!==(s=t?.target)&&void 0!==s?s:void 0,children:t.title},t.name)})}),S&&(0,d.jsx)("div",{"aria-labelledby":m,role:"tabpanel",id:`${m}-view`,className:"components-tab-panel__tab-content",tabIndex:0,children:u&&u(S)},m)]})}),N=({label:e,icon:t,isVisible:n,onChange:o=f.noop})=>{const a=n?/* translators: 1. Device type. */ /* translators: 1. Device type. */ (0,r._x)("Show on %1$s","Device toggle option","popup-maker"):/* translators: 1. Device type. */ /* translators: 1. Device type. */ (0,r._x)("Hide on %1$s","Device toggle option","popup-maker"),s=n?"visibility":"hidden",l=()=>o(!n);return(0,d.jsxs)("div",{className:c(["pum__component-device-toggle",n&&"is-checked"]),children:[(0,d.jsxs)("h3",{className:"pum__component-device-toggle__label",children:[(0,d.jsx)(h.Icon,{icon:t}),e]}),(0,d.jsxs)("div",{className:"pum__component-device-toggle__control",children:[(0,d.jsx)(h.Tooltip,{text:(0,r.sprintf)(a,e),children:(0,d.jsx)("span",{children:(0,d.jsx)(h.Icon,{className:"pum__component-device-toggle__control-icon",onClick:l,icon:s})})}),(0,d.jsx)(h.Tooltip,{text:(0,r.sprintf)(a,e),children:(0,d.jsx)("span",{children:(0,d.jsx)(h.ToggleControl,{className:"pum__component-device-toggle__control-input",checked:n,onChange:l,hideLabelFromVision:!0,"aria-label":a,label:(0,r.sprintf)(/* translators: 1. Device type. */ /* translators: 1. Device type. */ (0,r._x)("Show on %1$s","Device toggle option","popup-maker"),e),__nextHasNoMarginBottom:!0})})})]})]})},R=window.wp.coreData,E=({id:n,label:o,value:l,onChange:i,placeholder:c,entityKind:h="postType",entityType:u="post",multiple:p=!1,forceRefresh:S=!1,...m})=>{const[g,P]=(0,t.useState)(""),V=(0,a.useDebounce)(e=>{P(e)},300),{prefill:G=[]}=(0,e.useSelect)(e=>({prefill:l?e(R.store).getEntityRecords(h,u,{context:"view",include:l,per_page:-1}):[]}),[l,h,u,S]),{suggestions:x=[],isSearching:v=!1}=(0,e.useSelect)(e=>({suggestions:e(R.store).getEntityRecords(h,u,{context:"view",search:g,per_page:-1}),isSearching:e("core/data").isResolving("core","getEntityRecords",[h,u,{context:"view",search:g,per_page:-1}])}),[h,u,g,S]),f=e=>x&&x.find(t=>t.id.toString()===e.toString())||G&&G.find(t=>t.id.toString()===e.toString()),b=l?(Array.isArray(l)?l:[l]).map(e=>e.toString()):[],_=e=>"object"==typeof e?e.value:e;return(0,d.jsx)("div",{className:"pum-object-search-field",children:(0,d.jsx)(j,{id:n,label:o||(0,r.sprintf)( // translators: %s: entity type. // translators: %s: entity type. (0,r.__)("%s(s)","popup-maker"),u.replace(/_/g," ").charAt(0).toUpperCase()+u.replace(/_/g," ").slice(1)),multiple:p,placeholder:c||(0,r.sprintf)( // translators: %s: entity type. // translators: %s: entity type. (0,r.__)("Select %s(s)","popup-maker"),u.replace(/_/g," ").toLowerCase()),...m,tokenOnComma:!0,value:b,onInputChange:V,onChange:e=>{const t=e.map(e=>{const t=_(e);if("string"==typeof t&&!t.match(/^\d+$/))return t;const n=parseInt(t,10);return isNaN(n)?null:n}).filter(e=>null!==e);i(p?t:t[0])},renderToken:e=>{var t;const n=f(_(e));return n?"postType"===h?(0,s.decodeEntities)(null!==(t=n.title.rendered)&&void 0!==t?t:n.title.raw):n.name:_(e)},renderSuggestion:e=>{var t;const n=f(e);return n?(0,d.jsx)(d.Fragment,{children:"postType"===h?(0,s.decodeEntities)(null!==(t=n.title.rendered)&&void 0!==t?t:n.title.raw):n.name}):e},suggestions:x?x.map(e=>{var t;return null!==(t=e?.id.toString())&&void 0!==t&&t}):[],messages:v?{noSuggestions:(0,r.__)("Searching…","popup-maker")}:void 0})})},$=({title:e,className:t,children:n})=>(0,d.jsx)(h.Panel,{header:e,className:c(["components-field-panel",t]),children:(0,d.jsx)(h.PanelBody,{opened:!0,children:n})}),B=({id:e,label:t,description:n,className:o,children:a})=>(0,d.jsxs)("div",{className:c(["components-field-row",o]),children:[(0,d.jsxs)("div",{className:"components-base-control",children:[(0,d.jsx)("label",{htmlFor:e,className:"components-truncate components-text components-input-control__label",children:t}),(0,d.jsx)("p",{className:"components-base-control__help",children:n})]}),(0,d.jsx)("div",{className:"components-base-control__field",children:a})]}),I=window.wp.keycodes,{wp:F,tinymce:L,wpEditorL10n:T={tinymce:{baseURL:"",suffix:"",settings:{}}}}=window,M=e=>{const n=(0,a.useInstanceId)(M),{label:o,value:s,onChange:l=f.noop,className:i,minHeight:u=100}=e,p=(0,t.useRef)(!1);return(0,t.useEffect)(()=>{if(!p.current)return;const e=L.get(`editor-${n}`),t=e?.getContent();t!==s&&e.setContent(s||"")},[s,n]),(0,t.useEffect)(()=>{const{baseURL:e,suffix:t}=T.tinymce;function o(e){let t;s&&e.on("loadContent",()=>e.setContent(s)),e.on("blur",()=>{t=e.selection.getBookmark(2,!0);const n=document.querySelector(".interface-interface-skeleton__content"),o=n?.scrollTop;return l(e.getContent()),e.once("focus",()=>{t&&(e.selection.moveToBookmark(t),n&&n?.scrollTop!==o&&(n.scrollTop=o||0))}),!1}),e.on("mousedown touchstart",()=>{t=null});const n=(0,a.debounce)(()=>{const t=e.getContent();t!==e._lastChange&&(e._lastChange=t,l(t))},250);e.on("Paste Change input Undo Redo",n),e.on("remove",n.cancel),e.on("keydown",e=>{I.isKeyboardEvent.primary(e,"z")&&e.stopPropagation();const{altKey:t}=e;t&&e.keyCode===I.F10&&e.stopPropagation()}),e.on("init",()=>{const t=e.getBody();t.ownerDocument.activeElement===t&&(t.blur(),e.focus())})}function r(){const{settings:e}=T.tinymce;F.oldEditor.initialize(`editor-${n}`,{tinymce:{...e,inline:!0,content_css:!1,fixed_toolbar_container:`#toolbar-${n}`,setup:o}})}function i(){"complete"===document.readyState&&r()}return p.current=!0,L.EditorManager.overrideDefaults({base_url:e,suffix:t}),"complete"===document.readyState?r():document.addEventListener("readystatechange",i),()=>{document.removeEventListener("readystatechange",i),F.oldEditor.remove(`editor-${n}`)}},[]),(0,d.jsxs)(h.BaseControl,{id:`freeform-edit-control-${n}`,label:o,className:c(["component-freeform-edit-control",i]),__nextHasNoMarginBottom:!0,children:[(0,d.jsx)("div",{id:`toolbar-${n}`,className:"block-library-classic__toolbar",onClick:function(){const e=L.get(`editor-${n}`);e&&e.focus()},onKeyDown:function(e){e.stopPropagation(),e.nativeEvent.stopImmediatePropagation()},"data-placeholder":(0,r.__)("Click here to edit this text.","popup-maker")},"toolbar"),(0,d.jsx)("div",{id:`editor-${n}`,style:{minHeight:u},className:"wp-block-freeform block-library-rich-text__tinymce"},"editor")]})},O=M;var D=n(942),A=n.n(D);const H=e=>{const{className:n,children:o}=e,[a,s]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{const e=document.querySelector("html");a?e?.classList.add("disable-scroll"):e?.classList.remove("disable-scroll")},[a]),(0,d.jsxs)("div",{className:A()("fullscreen-panel",n,{"is-full-screen":a}),children:[(0,d.jsx)("button",{onClick:()=>{s(!a)},className:A()("maximize-fullscreen-panel","dashicons",a?"dashicons dashicons-no-alt":"dashicons-editor-expand")}),o]})};function Z(e,n,o){const[a,s]=(0,t.useState)(null!=e?e:n),r=(0,t.useRef)(void 0!==e),l=r.current,i=void 0!==e,c=(0,t.useRef)(a);l!==i&&console.warn(`WARN: A component changed from ${l?"controlled":"uncontrolled"} to ${i?"controlled":"uncontrolled"}.`),r.current=i;const h=(0,t.useCallback)((e,...t)=>{const n=(e,...t)=>{o&&(Object.is(c.current,e)||o(e,...t)),i||(c.current=e)};"function"==typeof e?(console.warn("We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320"),s((o,...a)=>{const s=e(i?c.current:o,...a);return n(s,...t),i?o:s})):(i||s(e),n(e,...t))},[i,o]);return i?c.current=e:e=a,[e,h]}let U=function(e){return e.ASC="ASC",e.DESC="DESC",e}({});const q=window.React,z=({heading:e=!1,children:t,...n})=>e?(0,d.jsx)("th",{...n,children:t}):(0,d.jsx)("td",{...n,children:t}),K=({items:e,columns:n,sortableColumns:o=[],idCol:a="id",rowClasses:s=e=>[`item-${e.id}`],renderCell:l=(e,t)=>t[e],noItemsText:i=(0,r.__)("No items found.","popup-maker"),showBulkSelect:u=!0,className:m,selectedItems:g=[],onSelectItems:P=()=>{},onSort:V,initialSort:G})=>{var x;const v={[a]:null!==(x=n[a])&&void 0!==x?x:"",...n},f=Object.keys(v).length,[b,_]=Z(g,[],P);(0,t.useEffect)(()=>{P(b)},[b,P]);const j=({header:t=!1})=>(0,d.jsx)(d.Fragment,{children:Object.entries(v).map(([n,s])=>{var r;const l=u&&n===a,i=G?.orderby===n,m=!l&&o.indexOf(n)>=0,g={key:n,heading:!l,id:t&&!l?n:void 0,scope:l?void 0:"col",className:c([`column-${n}`,...!l&&m?["sortable",null!==(r=G?.order)&&void 0!==r?r:U.ASC]:[],l&&"check-column"])},P=()=>(0,d.jsx)(d.Fragment,{children:"function"==typeof s?s():(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{children:s}),i&&(0,d.jsx)(h.Icon,{icon:G?.order===U.ASC?S:p,size:16})]})});return(0,q.createElement)(z,{...g,key:n},l&&(0,d.jsx)(h.CheckboxControl,{onChange:t=>_(t?e.map(e=>e.id):[]),checked:b.length>0&&b.length===e.length,indeterminate:b.length>0&&b.length<e.length,__nextHasNoMarginBottom:!0}),!l&&m&&(0,d.jsx)(h.Button,{variant:"link",onClick:()=>{if(V){let e;e=G?.orderby===n&&G.order===U.ASC?U.DESC:U.ASC,V(n,e)}},children:(0,d.jsx)(P,{})}),!l&&!m&&(0,d.jsx)(P,{}))})});return(0,d.jsxs)("table",{className:c([m,"component-list-table","list-table",0===e.length&&"no-items"]),children:[(0,d.jsx)("thead",{children:(0,d.jsx)("tr",{children:(0,d.jsx)(j,{header:!0})})}),(0,d.jsx)("tbody",{children:e.length?e.map((e,t)=>(0,d.jsx)("tr",{className:c(s(e)),children:Object.entries(v).map(([n])=>{const o=n===a;return(0,d.jsx)(z,{heading:o,className:c([`column-${n}`,u&&o&&"check-column"]),scope:o?"row":void 0,children:o?(0,d.jsx)(h.CheckboxControl,{onChange:t=>{const n=t?[...b,e.id]:b.filter(t=>t!==e.id);_(n)},checked:b.indexOf(e.id)>=0,__nextHasNoMarginBottom:!0}):l(n,e,t)},n)})},e.id)):(0,d.jsx)("tr",{children:(0,d.jsx)("td",{colSpan:f,children:i})})}),(0,d.jsx)("tfoot",{children:(0,d.jsx)("tr",{children:(0,d.jsx)(j,{})})})]})},{popups:W}=window.popupMakerComponents,J=({onChange:e,value:t,label:n=(0,r.__)("Select Popup","popup-maker"),emptyValueLabel:o=(0,r.__)("Choose a popup","popup-maker"),hideLabelFromVision:a=!1,multiple:s=!1,required:l=!1,options:i=[{value:"",label:o},...W.map(({ID:e,post_title:t})=>({value:`${e}`,label:t}))],...u})=>(0,d.jsx)(h.SelectControl,{label:n,hideLabelFromVision:a,className:c("pum-component-popup-select-control",s&&"pum-popup-select-control--multiple"),options:i,required:l,...s?{multiple:!0,value:t,onChange:e}:{value:t,onChange:e},...u,__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),X=({id:e,label:t,value:n,onChange:o,className:s,options:r=[],orientation:l="horizontal",equalWidth:i=!1,spacing:u,hideLabelFromVision:p=!1})=>{const S=(0,a.useInstanceId)(X);return(0,d.jsx)(h.BaseControl,{id:e||`radio-button-control-${S}`,label:t,className:c("components-radio-button-control",l,i&&"equal-width",s),hideLabelFromVision:p,__nextHasNoMarginBottom:!0,children:(0,d.jsx)("div",{className:"options",style:u?{gap:`${u}px`}:void 0,children:r.map(({label:e,value:t})=>(0,d.jsx)(h.Button,{variant:t===n?"primary":"secondary",onClick:()=>o(t),children:e},t))})})},Q=X,Y=({label:e="",placeholder:n="",searchIcon:o,value:s=[],options:l=[],onChange:i=()=>{},className:u=""})=>{const p=(0,a.useInstanceId)(Y),[S,P]=(0,t.useState)(""),[V,G]=(0,t.useState)("ASC"),x=e=>-1!==s.indexOf(e),v=e=>i(x(e)?[...s.filter(t=>t!==e)]:[...s,e]),f=l.filter(({label:e,value:t,keywords:n})=>e.includes(S)||"string"==typeof t&&t.includes(S)||n&&n.includes(S)),b=f.sort((e,t)=>"ASC"===V?e.label>t.label?1:-1:t.label>e.label?1:-1);return(0,d.jsxs)(h.BaseControl,{id:`searchable-multicheck-control-${p}`,label:e,className:c(["component-searchable-multicheck-control",u]),__nextHasNoMarginBottom:!0,children:[(0,d.jsxs)("div",{className:"select-actions",children:[(0,d.jsx)(h.Button,{variant:"link",text:(0,r.__)("Select All","popup-maker"),onClick:()=>{const e=f.map(({value:e})=>e),t=[...s,...e];i([...new Set(t)])}}),(0,d.jsx)(h.Button,{variant:"link",text:(0,r.__)("Deselect All","popup-maker"),onClick:()=>{const e=f.map(({value:e})=>e),t=[...s.filter(t=>-1===e.indexOf(t))];i([...new Set(t)])}})]}),(0,d.jsxs)("div",{className:c([o?"icon-input":null]),children:[(0,d.jsx)("input",{type:"text",className:"components-text-control__input",placeholder:n,value:S,onChange:e=>P(e.target.value)}),o&&(0,d.jsx)(h.Icon,{icon:o})]}),(0,d.jsxs)("table",{children:[(0,d.jsx)("thead",{children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"label-column",children:(0,d.jsx)(h.Button,{text:(0,r.__)("Name","popup-maker"),onClick:()=>G("DESC"===V?"ASC":"DESC"),icon:"DESC"===V?g:m,iconPosition:"right"})}),(0,d.jsx)("td",{className:"cb-column"})]})}),(0,d.jsx)("tbody",{children:b.map(({label:e,value:t})=>(0,d.jsxs)("tr",{children:[(0,d.jsx)("td",{children:(0,d.jsx)("span",{role:"button",tabIndex:-1,onClick:()=>v(t),onKeyDown:()=>{},children:e})}),(0,d.jsx)("th",{className:"cb-column",children:(0,d.jsx)(h.CheckboxControl,{checked:x(t),onChange:()=>v(t),__nextHasNoMarginBottom:!0})})]},t.toString()))})]})]})},ee=Y,te=window.lodash,ne=e=>{const{text:n="",highlight:o=""}=e,a=(Array.isArray(o)?o:[o]).map(e=>e.trim()).filter(e=>!!e).map(e=>(0,te.escapeRegExp)(e));if(!a.length)return(0,d.jsx)(d.Fragment,{children:n});const s=new RegExp(`(${a.join("|")})`,"gi");return(0,t.createInterpolateElement)(n.replace(s,"<mark>$&</mark>"),{mark:(0,d.jsx)("mark",{})})},oe=(0,t.forwardRef)(({icon:e,title:t,info:n,type:o,className:a,isSelected:s,onFocus:r=f.noop,onSelect:l=f.noop,...i},u)=>(0,d.jsxs)(h.Button,{type:"button",className:c(["suggestion",s&&"is-selected",a]),ref:u,onClick:l,onFocus:r,onMouseOver:r,"aria-selected":s,role:"option",tabIndex:-1,...i,children:[e&&(0,d.jsx)(h.Icon,{icon:e,className:"suggestion-item-icon"}),(0,d.jsxs)("span",{className:"suggestion-item-header",children:[(0,d.jsx)("span",{className:"suggestion-item-title",children:t}),n&&(0,d.jsx)("span",{"aria-hidden":"true",className:"suggestion-item-info",children:n})]}),o&&(0,d.jsx)("span",{className:"suggestion-item-type",children:o})]})),ae={id:-1,title:"",url:"",type:(0,r.__)("URL","popup-maker")},se=({id:n,label:o,value:s,onChange:i=()=>{},className:u=""},p)=>{var S,m;const g=(0,a.useInstanceId)(se),P=(0,t.useRef)(null),f=(0,t.useRef)(null),b=(0,t.useRef)(null),_=(0,t.useRef)(null),j=(0,t.useRef)(null),w=(0,t.useRef)([]);(0,t.useImperativeHandle)(p,()=>b.current,[b]);const k="string"==typeof s?{...ae,url:s}:null!=s?s:ae,C={value:k,query:null!==(S=k.url)&&void 0!==S?S:"",isEditing:!1,isFocused:!1,selected:-1,showSuggestions:!1},[y,N]=(0,t.useState)(C),{value:R,query:E,isFocused:$,isEditing:B,selected:I,showSuggestions:F}=y,L=n||`url-input-control-${g}`,T=`url-input-control-suggestions-${g}`,M=`url-input-${g}-sug-`,{unfilteredSuggestions:O,isFetchingSuggestions:D}=(0,e.useSelect)(e=>({unfilteredSuggestions:e(l.urlSearchStore).getSuggestions(),isFetchingSuggestions:e(l.urlSearchStore).isResolving("updateSuggestions")}),[]),{updateSuggestions:A}=(0,e.useDispatch)(l.urlSearchStore),H=(0,te.debounce)(A,200,{leading:!0}),Z=e=>N({...y,selected:e}),U=e=>{const t={...y,value:{...R,...e},query:"",isEditing:!1,isFocused:!0,selected:-1,showSuggestions:!1};N(t)};(0,t.useEffect)(()=>{k.url!==R.url&&i(R)},[R,k.url,i]),(0,t.useEffect)(()=>{$&&(B?b.current?.focus():j.current?.focus())},[B,$]);const q=(0,t.useMemo)(()=>O.filter((e,t)=>{const n=O.findIndex(t=>e.id===t.id);return n===t}),[O]).slice(0,10),z=q.length,K=I>z?0:I,W={up:()=>N({...y,showSuggestions:0===E.length&&!F||F,selected:(0,te.clamp)(K-1>=0?K-1:z,0,z)}),down:()=>{N({...y,showSuggestions:0===E.length&&!F||F,selected:(0,te.clamp)(K+1<=z?K+1:0,0,z)})},"alt+down":()=>N({...y,showSuggestions:!0}),enter:e=>{e.preventDefault(),F&&K>-1&&K!==z?U(q[K]):R.url===E?N({...y,isEditing:!1,query:"",showSuggestions:!1,selected:-1}):U({title:(0,r.__)("Custom URL","popup-maker"),type:"URL",url:E})},escape:e=>{e.preventDefault(),e.stopPropagation(),N({...y,selected:-1,showSuggestions:!1})}};return(0,d.jsx)(h.BaseControl,{id:L,label:o,className:c(["components-url-control",$&&"is-focused",u]),__nextHasNoMarginBottom:!0,children:(0,d.jsx)("div",{ref:P,onFocus:()=>{N({...y,isFocused:!0,showSuggestions:E.length>=1})},onBlur:e=>{if(!P.current?.contains(e.relatedTarget)&&!_.current?.contains(e.relatedTarget)){const e={...y,selected:-1,isFocused:!1,showSuggestions:!1};B&&(e.isEditing=!1,e.value=I>-1?q[I]:{title:(0,r.__)("Custom URL","popup-maker"),type:"URL",url:E}),N(e)}},children:!B&&k.url.length>0?(0,d.jsxs)("div",{className:"chosen-suggestion",children:[(0,d.jsx)(h.Icon,{icon:G,className:"suggestion-item-icon"}),(0,d.jsxs)("span",{className:"suggestion-item-header",children:[(0,d.jsx)("span",{className:"suggestion-item-title",children:(0,d.jsx)(d.Fragment,{children:null!==(m=R?.title)&&void 0!==m?m:R?.url})}),(0,d.jsx)("span",{"aria-hidden":"true",className:"suggestion-item-info",children:R.url})]}),(0,d.jsx)(h.Button,{"aria-label":(0,r.__)("Edit","popup-maker"),icon:V,onClick:()=>{N({...y,isEditing:!0,isFocused:!0,query:k.url})},ref:j})]}):(0,d.jsx)(h.KeyboardShortcuts,{shortcuts:W,children:(0,d.jsxs)("div",{className:c(["url-control-wrapper"]),ref:f,children:[(0,d.jsxs)("div",{className:"url-control",children:[(0,d.jsx)(h.Icon,{icon:v,className:"url-control__input-icon"}),(0,d.jsx)("input",{id:L,className:"url-control__input",ref:b,type:"text",role:"combobox",placeholder:(0,r.__)("Search or type url","popup-maker"),value:E,onChange:e=>{return t=e.target.value,N({...y,query:t,showSuggestions:t.length>=1}),void H(t.trim(),{type:["post","term"]});var t},autoComplete:"off","aria-autocomplete":"list","aria-controls":T,"aria-expanded":F,"aria-activedescendant":K>=0?`${M}-${K}`:void 0,"aria-label":o?void 0:(0,r.__)("URL","popup-maker")}),(0,d.jsxs)("div",{className:"url-control__actions",children:[D&&(0,d.jsx)(h.Spinner,{}),(0,d.jsx)(h.Button,{icon:x,iconSize:30,onClick:()=>U({title:(0,r.__)("Custom URL","popup-maker"),type:"URL",url:E})})]})]}),F&&q.length>0&&(0,d.jsx)(h.Popover,{ref:_,focusOnMount:!1,onClose:()=>Z(-1),position:"bottom right",anchor:f.current,className:"suggestions-popover",children:(0,d.jsxs)("div",{className:"suggestions",id:T,role:"listbox",children:[q.map((e,t)=>(0,d.jsx)(oe,{id:`${M}-${t}`,title:e.title,info:e.url,type:e.type,isSelected:t===K,onSelect:()=>U(e),onFocus:()=>Z(t),ref:e=>{w.current[t]=e}},e.id)),E.length>0&&(0,d.jsx)(oe,{id:`${M}-${z}`,icon:G,title:E,info:(0,r.__)("Press ENTER to add this link","popup-maker"),type:(0,r.__)("URL","popup-maker"),className:"is-url",isSelected:z===K,onSelect:()=>U({title:(0,r.__)("Custom URL","popup-maker"),type:"URL",url:E}),onFocus:()=>{Z(z)},ref:e=>{w.current[z]=e}},"use-current-input-text")]})})]})})})})},re=(0,t.forwardRef)(se)})(),(window.popupMaker=window.popupMaker||{}).components=o})(); dist/packages/block-editor.css.map 0000644 00000115765 15174671772 0013171 0 ustar 00 {"version":3,"file":"block-editor.css","mappings":";;;AAAA;EACC;AACD,C;;;;ACFA;;EAAA;ACUA;;EAAA;AAOA;;EAAA;AA6BA;;;EAAA;AAiBA;;EAAA;AAWA;;EAAA;AAgBA;;EAAA;AAwBA;;EAAA;AAKA;;EAAA;AAeA;;EAAA;AAmBA;;EAAA;AASA;;;EAAA;AClKA;AAoHA;;;EAAA;AFpHA;;EAAA;AAAA;;EAAA;ACAA;;;;;;EAAA;AAUA;;EAAA;AAOA;;EAAA;AA6BA;;;EAAA;AAiBA;;EAAA;AAWA;;EAAA;AAgBA;;EAAA;AAwBA;;EAAA;AAKA;;EAAA;AAeA;;EAAA;AAmBA;;EAAA;AASA;;;EAAA;AAlKA;;;;;;EAAA;ADAA;;EAAA;ACAA;;;;;;EAAA;AAUA;;EAAA;AAOA;;EAAA;AA6BA;;;EAAA;AAiBA;;EAAA;AAWA;;EAAA;AAgBA;;EAAA;AAwBA;;EAAA;AAKA;;EAAA;AAeA;;EAAA;AAmBA;;EAAA;AASA;;;EAAA;AElKA;;EAAA;ACAA;;;;;CAAA;ACAA;;;;;EAAA;AC4EA;;EAAA;AA0DA;;EAAA;AAgDA;;EAAA;AAqCA;;EAAA;AAoBA;;EAAA;AAwLA;;;EAAA;AAgDA;;EAAA;AHvdA;;EAAA;AIuCA;EACC;EACA;EACA;EAEA;EACA;EACA;EACA;AAgJD;AA9IC;EACC;AAgJF;AA7IC;;EAEC;EACA;EACA;EAKA;EACA;EAEA;EACA,eNmD0B;AMuF5B;ADvFC;EChEA;;IAOE,YAxBU;EA6KX;AACF;AD7FC;EChEA;;IAgBE,eN7CgB;EM+LjB;AACF;AAhJE;;EACC;AAmJH;AA/IC;EACC;AAiJF;AA9IC;EACC;AAgJF;;AA5IA;AACA;EACC;AA+ID;;AA5IA;EAMC;AA0ID;;AAvIA;EAGC;AAwID;;AArIA;EACC;EACA;AAwID;AAtIC;EACC;AAwIF;;AApIA;EACC;AAuID;;AAlIA;EAEC;AAoID;;AAhIA;EACC;AAmID;AAjIC;EACC;EACA,kBN9Da;EM+Db;EACA;AAmIF;AAhIC;EACC;AAkIF;AAhIE;EAlID;EACA,sBPGO;EOFP,cL6Ge;EK5Gf,yDACC;AAoQF;AAjIC;EACC;AAmIF;AAjIE;EA1HD,4GACC;EAKD;AAyPD;;AA/HA;EACC;EAGA;EACA;EACA;AAgID;AA9HC;EACC;AAgIF;;AA5HA;EACC;EACA,aNlHc;EMmHd;AA+HD;AA7HC;;EAEC;AA+HF;;AA3HA;;EAEC;AA8HD;;AA3HA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA8HD;AA5HC;EACC,cP3KU;AOySZ,C","sources":["webpack://popup-maker/core/./packages/block-editor/src/block-extensions/popup-trigger/editor.scss?","webpack://popup-maker/core/./node_modules/@wordpress/base-styles/_colors.scss?","webpack://popup-maker/core/./node_modules/@wordpress/base-styles/_variables.scss?","webpack://popup-maker/core/./node_modules/@wordpress/base-styles/_colors.native.scss?","webpack://popup-maker/core/./node_modules/@wordpress/base-styles/_breakpoints.scss?","webpack://popup-maker/core/./node_modules/@wordpress/base-styles/_functions.scss?","webpack://popup-maker/core/./node_modules/@wordpress/base-styles/_long-content-fade.scss?","webpack://popup-maker/core/./node_modules/@wordpress/base-styles/_mixins.scss?","webpack://popup-maker/core/./packages/block-editor/src/formats/popup-trigger/trigger-popover/editor.scss?"],"sourcesContent":[".pum-block-inspector-popup-controls {\n\tborder-bottom: 1px solid #e2e4e7 !important;\n}\n","/**\n * Colors\n */\n\n// WordPress grays.\n$black: #000;\t\t\t// Use only when you truly need pure black. For UI, use $gray-900.\n$gray-900: #1e1e1e;\n$gray-800: #2f2f2f;\n$gray-700: #757575;\t\t// Meets 4.6:1 (4.5:1 is minimum) text contrast against white.\n$gray-600: #949494;\t\t// Meets 3:1 UI or large text contrast against white.\n$gray-400: #ccc;\n$gray-300: #ddd;\t\t// Used for most borders.\n$gray-200: #e0e0e0;\t\t// Used sparingly for light borders.\n$gray-100: #f0f0f0;\t\t// Used for light gray backgrounds.\n$white: #fff;\n\n// Opacities & additional colors.\n$dark-gray-placeholder: rgba($gray-900, 0.62);\n$medium-gray-placeholder: rgba($gray-900, 0.55);\n$light-gray-placeholder: rgba($white, 0.65);\n\n// Alert colors.\n$alert-yellow: #f0b849;\n$alert-red: #cc1818;\n$alert-green: #4ab866;\n\n// Deprecated, please avoid using these.\n$dark-theme-focus: $white;\t// Focus color when the theme is dark.\n","/**\n * SCSS Variables.\n *\n * Please use variables from this sheet to ensure consistency across the UI.\n * Don't add to this sheet unless you're pretty sure the value will be reused in many places.\n * For example, don't add rules to this sheet that affect block visuals. It's purely for UI.\n */\n\n@use \"./colors\";\n\n/**\n * Fonts & basic variables.\n */\n\n$default-font: -apple-system, BlinkMacSystemFont,\"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell,\"Helvetica Neue\", sans-serif; // Todo: deprecate in favor of $family variables\n$default-line-height: 1.4; // Todo: deprecate in favor of $line-height tokens\n\n/**\n * Typography\n */\n\n// Sizes\n$font-size-x-small: 11px;\n$font-size-small: 12px;\n$font-size-medium: 13px;\n$font-size-large: 15px;\n$font-size-x-large: 20px;\n$font-size-2x-large: 32px;\n\n// Line heights\n$font-line-height-x-small: 16px;\n$font-line-height-small: 20px;\n$font-line-height-medium: 24px;\n$font-line-height-large: 28px;\n$font-line-height-x-large: 32px;\n$font-line-height-2x-large: 40px;\n\n// Weights\n$font-weight-regular: 400;\n$font-weight-medium: 500;\n\n// Families\n$font-family-headings: -apple-system, \"system-ui\", \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n$font-family-body: -apple-system, \"system-ui\", \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n$font-family-mono: Menlo, Consolas, monaco, monospace;\n\n/**\n * Grid System.\n * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/\n */\n\n$grid-unit: 8px;\n$grid-unit-05: 0.5 * $grid-unit;\t// 4px\n$grid-unit-10: 1 * $grid-unit;\t\t// 8px\n$grid-unit-15: 1.5 * $grid-unit;\t// 12px\n$grid-unit-20: 2 * $grid-unit;\t\t// 16px\n$grid-unit-30: 3 * $grid-unit;\t\t// 24px\n$grid-unit-40: 4 * $grid-unit;\t\t// 32px\n$grid-unit-50: 5 * $grid-unit;\t\t// 40px\n$grid-unit-60: 6 * $grid-unit;\t\t// 48px\n$grid-unit-70: 7 * $grid-unit;\t\t// 56px\n$grid-unit-80: 8 * $grid-unit;\t\t// 64px\n\n/**\n * Radius scale.\n */\n\n$radius-x-small: 1px; // Applied to elements like buttons nested within primitives like inputs.\n$radius-small: 2px; // Applied to most primitives.\n$radius-medium: 4px; // Applied to containers with smaller padding.\n$radius-large: 8px; // Applied to containers with larger padding.\n$radius-full: 9999px; // For pills.\n$radius-round: 50%; // For circles and ovals.\n\n/**\n * Elevation scale.\n */\n\n// For sections and containers that group related content and controls, which may overlap other content. Example: Preview Frame.\n$elevation-x-small: 0 1px 1px rgba(colors.$black, 0.03), 0 1px 2px rgba(colors.$black, 0.02), 0 3px 3px rgba(colors.$black, 0.02), 0 4px 4px rgba(colors.$black, 0.01);\n\n// For components that provide contextual feedback without being intrusive. Generally non-interruptive. Example: Tooltips, Snackbar.\n$elevation-small: 0 1px 2px rgba(colors.$black, 0.05), 0 2px 3px rgba(colors.$black, 0.04), 0 6px 6px rgba(colors.$black, 0.03), 0 8px 8px rgba(colors.$black, 0.02);\n\n// For components that offer additional actions. Example: Menus, Command Palette\n$elevation-medium: 0 2px 3px rgba(colors.$black, 0.05), 0 4px 5px rgba(colors.$black, 0.04), 0 12px 12px rgba(colors.$black, 0.03), 0 16px 16px rgba(colors.$black, 0.02);\n\n// For components that confirm decisions or handle necessary interruptions. Example: Modals.\n$elevation-large: 0 5px 15px rgba(colors.$black, 0.08), 0 15px 27px rgba(colors.$black, 0.07), 0 30px 36px rgba(colors.$black, 0.04), 0 50px 43px rgba(colors.$black, 0.02);\n\n/**\n * Dimensions.\n */\n\n$icon-size: 24px;\n$button-size: 36px;\n$button-size-next-default-40px: 40px; // transitionary variable for next default button size\n$button-size-small: 24px;\n$button-size-compact: 32px;\n$header-height: 64px;\n$panel-header-height: $grid-unit-60;\n$nav-sidebar-width: 300px;\n$admin-bar-height: 32px;\n$admin-bar-height-big: 46px;\n$admin-sidebar-width: 160px;\n$admin-sidebar-width-big: 190px;\n$admin-sidebar-width-collapsed: 36px;\n$modal-min-width: 350px;\n$modal-width-small: 384px;\n$modal-width-medium: 512px;\n$modal-width-large: 840px;\n$spinner-size: 16px;\n$canvas-padding: $grid-unit-20;\n\n/**\n * Mobile specific styles\n */\n$mobile-text-min-font-size: 16px; // Any font size below 16px will cause Mobile Safari to \"zoom in\".\n\n/**\n * Editor styles.\n */\n\n$sidebar-width: 280px;\n$content-width: 840px;\n$wide-content-width: 1100px;\n$widget-area-width: 700px;\n$secondary-sidebar-width: 350px;\n$editor-font-size: 16px;\n$default-block-margin: 28px; // This value provides a consistent, contiguous spacing between blocks.\n$text-editor-font-size: 15px;\n$editor-line-height: 1.8;\n$editor-html-font: $font-family-mono;\n\n/**\n * Block & Editor UI.\n */\n\n$block-toolbar-height: $grid-unit-60;\n$border-width: 1px;\n$border-width-focus-fallback: 2px; // This exists as a fallback, and is ideally overridden by var(--wp-admin-border-width-focus) unless in some SASS math cases.\n$border-width-tab: 1.5px;\n$helptext-font-size: 12px;\n$radio-input-size: 16px;\n$radio-input-size-sm: 24px; // Width & height for small viewports.\n\n// Deprecated, please avoid using these.\n$block-padding: 14px; // Used to define space between block footprint and surrounding borders.\n$radius-block-ui: $radius-small;\n$shadow-popover: $elevation-x-small;\n$shadow-modal: $elevation-large;\n$default-font-size: $font-size-medium;\n\n/**\n * Block paddings.\n */\n\n// Padding for blocks with a background color (e.g. paragraph or group).\n$block-bg-padding--v: 1.25em;\n$block-bg-padding--h: 2.375em;\n\n\n/**\n * React Native specific.\n * These variables do not appear to be used anywhere else.\n */\n\n// Dimensions.\n$mobile-header-toolbar-height: 44px;\n$mobile-header-toolbar-expanded-height: 52px;\n$mobile-floating-toolbar-height: 44px;\n$mobile-floating-toolbar-margin: 8px;\n$mobile-color-swatch: 48px;\n\n// Block UI.\n$mobile-block-toolbar-height: 44px;\n$dimmed-opacity: 1;\n$block-edge-to-content: 16px;\n$solid-border-space: 12px;\n$dashed-border-space: 6px;\n$block-selected-margin: 3px;\n$block-selected-border-width: 1px;\n$block-selected-padding: 0;\n$block-selected-child-margin: 5px;\n$block-selected-to-content: $block-edge-to-content - $block-selected-margin - $block-selected-border-width;\n","/** @format */\n\n@use \"sass:color\";\n\n// Hugo's new WordPress shades of gray, from http://codepen.io/hugobaeta/pen/grJjVp.\n$black: #000;\n$white: #fff;\n\n$light-gray-500: #e2e4e7; // Good for \"grayed\" items and borders.\n$light-gray-400: #e8eaeb; // Good for \"readonly\" input fields and special text selection.\n\n// Dark opacities, for use with light themes.\n$dark-opacity-900: rgba(#000510, 0.9);\n$dark-opacity-800: rgba(#00000a, 0.85);\n$dark-opacity-600: rgba(#000913, 0.75);\n\n\n// Light opacities, for use with dark themes.\n$light-opacity-700: rgba($white, 0.85);\n$light-opacity-200: rgba($white, 0.6);\n$light-opacity-light-100: rgba($white, 0.1);\n$light-opacity-light-700: rgba($white, 0.4);\n\n\n// Alert colors.\n$alert-yellow: #f0b849;\n$alert-red: #d94f4f;\n$alert-green: #4ab866;\n$red-30: #f86368;\n$red-40: #e65054;\n$red-50: #d63638;\n\n// Primary Accent (Blues)\n$blue-wordpress: #0087be;\n$blue-medium: #00aadc;\n$blue-60: #055d9c;\n$blue-500: #016087;\n// Primary tint color (light)\n$blue-50: #2271b1;\n$blue-40: #1689db;\n// Primary tint color (dark)\n$blue-30: #5198d9;\n\n// Grays\n$gray: #87a6bc;\n$gray-light: color.adjust($gray, $lightness: 33%); //#f3f6f8\n$gray-dark: color.adjust($gray, $lightness: -38%); //#2e4453\n$gray-900: #1a1a1a;\n$gray-700: #757575;\n\n// $gray-text: ideal for standard, non placeholder text\n// $gray-text-min: minimum contrast needed for WCAG 2.0 AA on white background\n$gray-text: $gray-dark;\n$gray-text-min: color.adjust($gray, $lightness: -18%); //#537994\n\n// Shades of gray\n$gray-lighten-10: color.adjust($gray, $lightness: 10%); // #a8bece\n$gray-lighten-20: color.adjust($gray, $lightness: 20%); // #c8d7e1\n$gray-lighten-30: color.adjust($gray, $lightness: 30%); // #e9eff3\n$gray-darken-10: color.adjust($gray, $lightness: -10%);\n$gray-darken-20: color.adjust($gray, $lightness: -20%); // #4f748e\n$gray-darken-30: color.adjust($gray, $lightness: -30%); // #3d596d\n\n// Custom\n$toolbar-button: #7b9ab1;\n$toolbar-button-disabled: $gray-lighten-30;\n\n$background-dark-elevated: #2e2e2e;\n$background-dark-secondary: #1e2327;\n\n$button-fallback-bg: #595959;\n\n// color-studio\n$gray-0: #f6f7f7;\n$gray-5: #dcdcde;\n$gray-10: #c3c4c7;\n$gray-20: #a7aaad;\n$gray-30: #8e9196;\n$gray-40: #787c82;\n$gray-50: #646970;\n$gray-60: #50575e;\n$gray-70: #3c434a;\n$gray-80: #2c3338;\n$gray-90: #1d2327;\n$gray-100: #101517;\n\n$yellow-30: #deb100;\n$yellow-50: #9d6e00;\n\n// neutral (light) - black is a base color in light mode\n$light-primary: #000d; //rgba(0, 0, 0, 0.87);\n$light-secondary: #0009; //rgba(0, 0, 0, 0.6);\n$light-tertiary: #0000006d; //rgba(0, 0, 0, 0.43);\n$light-quaternary: #0000003f; //rgba(0, 0, 0, 0.25);\n$light-dim: #0000001e; //rgba(0, 0, 0, 0.12);\n$light-ultra-dim: #0000000a; //rgba(0, 0, 0, 0.04);\n\n// neutral (dark) - white is a base color in dark mode\n$dark-primary: #fffd; //rgba(255, 255, 255, 0.87);\n$dark-secondary: #fff9; //rgba(255, 255, 255, 0.6);\n$dark-tertiary: #ffffff6d; //rgba(255, 255, 255, 0.43);\n$dark-quaternary: #ffffff3f; //rgba(255, 255, 255, 0.25);\n$dark-ultra-dim: #ffffff14; //rgba(255, 255, 255, 0.08);\n$dark-dim: #ffffff1f; //rgba(255, 255, 255, 0.12)\n\n// Design Token colors\n$app-background: $white;\n$app-background-dark: $black;\n$app-background-dark-alt: $background-dark-elevated;\n$app-safe-area-background-dark: #141414;\n\n$modal-background: $white;\n$modal-background-dark: $background-dark-elevated;\n\n$sub-heading: $gray-text-min;\n$sub-heading-dark: $white;\n/**\n * Deprecated colors.\n * Please avoid using these.\n */\n\n$dark-gray-500: #555d66;\n","/**\n * Breakpoints & Media Queries\n */\n\n// Most used breakpoints\n$break-xhuge: 1920px;\n$break-huge: 1440px;\n$break-wide: 1280px;\n$break-xlarge: 1080px;\n$break-large: 960px;\t// admin sidebar auto folds\n$break-medium: 782px;\t// adminbar goes big\n$break-small: 600px;\n$break-mobile: 480px;\n$break-zoomed-in: 280px;\n\n// All media queries currently in WordPress:\n//\n// min-width: 2000px\n// min-width: 1680px\n// min-width: 1250px\n// max-width: 1120px *\n// max-width: 1000px\n// min-width: 769px and max-width: 1000px\n// max-width: 960px *\n// max-width: 900px\n// max-width: 850px\n// min-width: 800px and max-width: 1499px\n// max-width: 800px\n// max-width: 799px\n// max-width: 782px *\n// max-width: 768px\n// max-width: 640px *\n// max-width: 600px *\n// max-width: 520px\n// max-width: 500px\n// max-width: 480px *\n// max-width: 400px *\n// max-width: 380px\n// max-width: 320px *\n//\n// Those marked * seem to be more commonly used than the others.\n// Let's try and use as few of these as possible, and be mindful about adding new ones, so we don't make the situation worse\n","/**\n* Converts a hex value into the rgb equivalent.\n*\n* @param {string} hex - the hexadecimal value to convert\n* @return {string} comma separated rgb values\n*/\n\n@use \"sass:color\";\n@use \"sass:meta\";\n\n@function hex-to-rgb($hex) {\n\t/*\n\t * TODO: `color.{red|green|blue}` will trigger a deprecation warning in Dart Sass,\n\t * but the Sass used by the Gutenberg project doesn't support `color.channel()` yet,\n\t * so we can't migrate to it at this time.\n\t * In the future, after the Gutenberg project has been fully migrated to Dart Sass,\n\t * Remove this conditional statement and use only `color.channel()`.\n\t */\n\t@if meta.function-exists(\"channel\", \"color\") {\n\t\t@return color.channel($hex, \"red\"), color.channel($hex, \"green\"), color.channel($hex, \"blue\");\n\t} @else {\n\t\t@return color.red($hex), color.green($hex), color.blue($hex);\n\t}\n}\n","/**\n * Long content fade mixin\n *\n * Creates a fading overlay to signify that the content is longer\n * than the space allows.\n */\n\n@mixin long-content-fade($direction: right, $size: 20%, $color: #fff, $edge: 0, $z-index: false) {\n\tcontent: \"\";\n\tdisplay: block;\n\tposition: absolute;\n\t-webkit-touch-callout: none;\n\t-webkit-user-select: none;\n\t-khtml-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\tpointer-events: none;\n\n\t@if $z-index {\n\t\tz-index: $z-index;\n\t}\n\n\t@if $direction == \"bottom\" {\n\t\tbackground: linear-gradient(to top, transparent, $color 90%);\n\t\tleft: $edge;\n\t\tright: $edge;\n\t\ttop: $edge;\n\t\tbottom: calc(100% - $size);\n\t\twidth: auto;\n\t}\n\n\t@if $direction == \"top\" {\n\t\tbackground: linear-gradient(to bottom, transparent, $color 90%);\n\t\ttop: calc(100% - $size);\n\t\tleft: $edge;\n\t\tright: $edge;\n\t\tbottom: $edge;\n\t\twidth: auto;\n\t}\n\n\t@if $direction == \"left\" {\n\t\tbackground: linear-gradient(to left, transparent, $color 90%);\n\t\ttop: $edge;\n\t\tleft: $edge;\n\t\tbottom: $edge;\n\t\tright: auto;\n\t\twidth: $size;\n\t\theight: auto;\n\t}\n\n\t@if $direction == \"right\" {\n\t\tbackground: linear-gradient(to right, transparent, $color 90%);\n\t\ttop: $edge;\n\t\tbottom: $edge;\n\t\tright: $edge;\n\t\tleft: auto;\n\t\twidth: $size;\n\t\theight: auto;\n\t}\n}\n","/**\n * Typography\n */\n\n@use \"sass:color\";\n@use \"sass:math\";\n@use \"./variables\";\n@use \"./colors\";\n@use \"./breakpoints\";\n@use \"./functions\";\n@use \"./long-content-fade\";\n\n@mixin _text-heading() {\n\tfont-family: variables.$font-family-headings;\n\tfont-weight: variables.$font-weight-medium;\n}\n\n@mixin _text-body() {\n\tfont-family: variables.$font-family-body;\n\tfont-weight: variables.$font-weight-regular;\n}\n\n@mixin heading-small() {\n\t@include _text-heading();\n\tfont-size: variables.$font-size-x-small;\n\tline-height: variables.$font-line-height-x-small;\n}\n\n@mixin heading-medium() {\n\t@include _text-heading();\n\tfont-size: variables.$font-size-medium;\n\tline-height: variables.$font-line-height-small;\n}\n\n@mixin heading-large() {\n\t@include _text-heading();\n\tfont-size: variables.$font-size-large;\n\tline-height: variables.$font-line-height-small;\n}\n\n@mixin heading-x-large() {\n\t@include _text-heading();\n\tfont-size: variables.$font-size-x-large;\n\tline-height: variables.$font-line-height-medium;\n}\n\n@mixin heading-2x-large() {\n\t@include _text-heading();\n\tfont-size: variables.$font-size-2x-large;\n\tline-height: variables.$font-line-height-2x-large;\n}\n\n@mixin body-small() {\n\t@include _text-body();\n\tfont-size: variables.$font-size-small;\n\tline-height: variables.$font-line-height-x-small;\n}\n\n@mixin body-medium() {\n\t@include _text-body();\n\tfont-size: variables.$font-size-medium;\n\tline-height: variables.$font-line-height-small;\n}\n\n@mixin body-large() {\n\t@include _text-body();\n\tfont-size: variables.$font-size-large;\n\tline-height: variables.$font-line-height-medium;\n}\n\n@mixin body-x-large() {\n\t@include _text-body();\n\tfont-size: variables.$font-size-x-large;\n\tline-height: variables.$font-line-height-x-large;\n}\n\n/**\n * Breakpoint mixins\n */\n\n@mixin break-xhuge() {\n\t@media (min-width: #{ (breakpoints.$break-xhuge) }) {\n\t\t@content;\n\t}\n}\n\n@mixin break-huge() {\n\t@media (min-width: #{ (breakpoints.$break-huge) }) {\n\t\t@content;\n\t}\n}\n\n@mixin break-wide() {\n\t@media (min-width: #{ (breakpoints.$break-wide) }) {\n\t\t@content;\n\t}\n}\n\n@mixin break-xlarge() {\n\t@media (min-width: #{ (breakpoints.$break-xlarge) }) {\n\t\t@content;\n\t}\n}\n\n@mixin break-large() {\n\t@media (min-width: #{ (breakpoints.$break-large) }) {\n\t\t@content;\n\t}\n}\n\n@mixin break-medium() {\n\t@media (min-width: #{ (breakpoints.$break-medium) }) {\n\t\t@content;\n\t}\n}\n\n@mixin break-small() {\n\t@media (min-width: #{ (breakpoints.$break-small) }) {\n\t\t@content;\n\t}\n}\n\n@mixin break-mobile() {\n\t@media (min-width: #{ (breakpoints.$break-mobile) }) {\n\t\t@content;\n\t}\n}\n\n@mixin break-zoomed-in() {\n\t@media (min-width: #{ (breakpoints.$break-zoomed-in) }) {\n\t\t@content;\n\t}\n}\n\n/**\n * Focus styles.\n */\n\n@mixin block-toolbar-button-style__focus() {\n\tbox-shadow: inset 0 0 0 variables.$border-width colors.$white, 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);\n\n\t// Windows High Contrast mode will show this outline, but not the box-shadow.\n\toutline: 2px solid transparent;\n}\n\n// Tabs, Inputs, Square buttons.\n@mixin input-style__neutral() {\n\tbox-shadow: 0 0 0 transparent;\n\tborder-radius: variables.$radius-small;\n\tborder: variables.$border-width solid colors.$gray-600;\n\n\t@media not (prefers-reduced-motion) {\n\t\ttransition: box-shadow 0.1s linear;\n\t}\n}\n\n\n@mixin input-style__focus($accent-color: var(--wp-admin-theme-color)) {\n\tborder-color: $accent-color;\n\t// Expand the default border focus style by .5px to be a total of 1.5px.\n\tbox-shadow: 0 0 0 0.5px $accent-color;\n\t// Windows High Contrast mode will show this outline, but not the box-shadow.\n\toutline: 2px solid transparent;\n}\n\n@mixin button-style__focus() {\n\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);\n\n\t// Windows High Contrast mode will show this outline, but not the box-shadow.\n\toutline: 2px solid transparent;\n}\n\n\n@mixin button-style-outset__focus($focus-color) {\n\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus) colors.$white, 0 0 0 calc(2 * var(--wp-admin-border-width-focus)) $focus-color;\n\n\t// Windows High Contrast mode will show this outline, but not the box-shadow.\n\toutline: 2px solid transparent;\n\toutline-offset: 2px;\n}\n\n\n/**\n * Applies editor left position to the selector passed as argument\n */\n\n@mixin editor-left($selector) {\n\t#{$selector} { /* Set left position when auto-fold is not on the body element. */\n\t\tleft: 0;\n\n\t\t@media (min-width: #{ (breakpoints.$break-medium + 1) }) {\n\t\t\tleft: variables.$admin-sidebar-width;\n\t\t}\n\t}\n\n\t.auto-fold #{$selector} { /* Auto fold is when on smaller breakpoints, nav menu auto collapses. */\n\t\t@media (min-width: #{ (breakpoints.$break-medium + 1) }) {\n\t\t\tleft: variables.$admin-sidebar-width-collapsed;\n\t\t}\n\n\t\t@media (min-width: #{ (breakpoints.$break-large + 1) }) {\n\t\t\tleft: variables.$admin-sidebar-width;\n\t\t}\n\t}\n\n\t/* Sidebar manually collapsed. */\n\t.folded #{$selector} {\n\t\tleft: 0;\n\n\t\t@media (min-width: #{ (breakpoints.$break-medium + 1) }) {\n\t\t\tleft: variables.$admin-sidebar-width-collapsed;\n\t\t}\n\t}\n\n\tbody.is-fullscreen-mode #{$selector} {\n\t\tleft: 0 !important;\n\t}\n}\n\n/**\n * Styles that are reused verbatim in a few places\n */\n\n// These are additional styles for all captions, when the theme opts in to block styles.\n@mixin caption-style() {\n\tmargin-top: 0.5em;\n\tmargin-bottom: 1em;\n}\n\n@mixin caption-style-theme() {\n\tcolor: #555;\n\tfont-size: variables.$default-font-size;\n\ttext-align: center;\n\n\t.is-dark-theme & {\n\t\tcolor: colors.$light-gray-placeholder;\n\t}\n}\n\n/**\n * Allows users to opt-out of animations via OS-level preferences.\n */\n\n@mixin reduce-motion($property: \"\") {\n\n\t@if $property == \"transition\" {\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\ttransition-duration: 0s;\n\t\t\ttransition-delay: 0s;\n\t\t}\n\t} @else if $property == \"animation\" {\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\tanimation-duration: 1ms;\n\t\t\tanimation-delay: 0s;\n\t\t}\n\t} @else {\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\ttransition-duration: 0s;\n\t\t\ttransition-delay: 0s;\n\t\t\tanimation-duration: 1ms;\n\t\t\tanimation-delay: 0s;\n\t\t}\n\t}\n}\n\n@mixin input-control($accent-color: var(--wp-admin-theme-color)) {\n\tfont-family: variables.$default-font;\n\tpadding: 6px 8px;\n\t/* Fonts smaller than 16px causes mobile safari to zoom. */\n\tfont-size: variables.$mobile-text-min-font-size;\n\t/* Override core line-height. To be reviewed. */\n\tline-height: normal;\n\t@include input-style__neutral();\n\n\t@include break-small {\n\t\tfont-size: variables.$default-font-size;\n\t\t/* Override core line-height. To be reviewed. */\n\t\tline-height: normal;\n\t}\n\n\t&:focus {\n\t\t@include input-style__focus($accent-color);\n\t}\n\n\t// Use opacity to work in various editor styles.\n\t&::-webkit-input-placeholder {\n\t\tcolor: colors.$dark-gray-placeholder;\n\t}\n\n\t&::-moz-placeholder {\n\t\tcolor: colors.$dark-gray-placeholder;\n\t}\n\n\t&:-ms-input-placeholder {\n\t\tcolor: colors.$dark-gray-placeholder;\n\t}\n}\n\n@mixin checkbox-control {\n\tborder: variables.$border-width solid colors.$gray-900;\n\tmargin-right: variables.$grid-unit-15;\n\ttransition: none;\n\tborder-radius: variables.$radius-small;\n\t@include input-control;\n\n\t&:focus {\n\t\tbox-shadow: 0 0 0 (variables.$border-width * 2) colors.$white, 0 0 0 (variables.$border-width * 2 + variables.$border-width-focus-fallback) var(--wp-admin-theme-color);\n\n\t\t// Only visible in Windows High Contrast mode.\n\t\toutline: 2px solid transparent;\n\t}\n\n\t&:checked {\n\t\tbackground: var(--wp-admin-theme-color);\n\t\tborder-color: var(--wp-admin-theme-color);\n\n\t\t// Hide default checkbox styles in IE.\n\t\t&::-ms-check {\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t&:checked::before,\n\t&[aria-checked=\"mixed\"]::before {\n\t\tmargin: -3px -5px;\n\t\tcolor: colors.$white;\n\n\t\t@include break-medium() {\n\t\t\tmargin: -4px 0 0 -5px;\n\t\t}\n\t}\n\n\t&[aria-checked=\"mixed\"] {\n\t\tbackground: var(--wp-admin-theme-color);\n\t\tborder-color: var(--wp-admin-theme-color);\n\n\t\t&::before {\n\t\t\t// Inherited from `forms.css`.\n\t\t\t// See: https://github.com/WordPress/wordpress-develop/tree/5.1.1/src/wp-admin/css/forms.css#L122-L132\n\t\t\tcontent: \"\\f460\";\n\t\t\tfloat: left;\n\t\t\tdisplay: inline-block;\n\t\t\tvertical-align: middle;\n\t\t\twidth: 16px;\n\t\t\t/* stylelint-disable-next-line font-family-no-missing-generic-family-keyword -- dashicons don't need a generic family keyword. */\n\t\t\tfont: normal 30px/1 dashicons;\n\t\t\tspeak: none;\n\t\t\t-webkit-font-smoothing: antialiased;\n\t\t\t-moz-osx-font-smoothing: grayscale;\n\n\t\t\t@include break-medium() {\n\t\t\t\tfloat: none;\n\t\t\t\tfont-size: 21px;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[aria-disabled=\"true\"],\n\t&:disabled {\n\t\tbackground: colors.$gray-100;\n\t\tborder-color: colors.$gray-300;\n\t\tcursor: default;\n\n\t\t// Override style inherited from wp-admin. Required to avoid degraded appearance on different backgrounds.\n\t\topacity: 1;\n\t}\n}\n\n@mixin radio-control {\n\tborder: variables.$border-width solid colors.$gray-900;\n\tmargin-right: variables.$grid-unit-15;\n\ttransition: none;\n\tborder-radius: variables.$radius-round;\n\twidth: variables.$radio-input-size-sm;\n\theight: variables.$radio-input-size-sm;\n\tmin-width: variables.$radio-input-size-sm;\n\tmax-width: variables.$radio-input-size-sm;\n\tposition: relative;\n\n\t@media not (prefers-reduced-motion) {\n\t\ttransition: box-shadow 0.1s linear;\n\t}\n\n\t@include break-small() {\n\t\theight: variables.$radio-input-size;\n\t\twidth: variables.$radio-input-size;\n\t\tmin-width: variables.$radio-input-size;\n\t\tmax-width: variables.$radio-input-size;\n\t}\n\n\t&:checked::before {\n\t\tbox-sizing: inherit;\n\t\twidth: math.div(variables.$radio-input-size-sm, 2);\n\t\theight: math.div(variables.$radio-input-size-sm, 2);\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\tleft: 50%;\n\t\ttransform: translate(-50%, -50%);\n\t\tmargin: 0;\n\t\tbackground-color: colors.$white;\n\n\t\t// This border serves as a background color in Windows High Contrast mode.\n\t\tborder: 4px solid colors.$white;\n\n\t\t@include break-small() {\n\t\t\twidth: math.div(variables.$radio-input-size, 2);\n\t\t\theight: math.div(variables.$radio-input-size, 2);\n\t\t}\n\t}\n\n\t&:focus {\n\t\tbox-shadow: 0 0 0 (variables.$border-width * 2) colors.$white, 0 0 0 (variables.$border-width * 2 + variables.$border-width-focus-fallback) var(--wp-admin-theme-color);\n\n\t\t// Only visible in Windows High Contrast mode.\n\t\toutline: 2px solid transparent;\n\t}\n\n\t&:checked {\n\t\tbackground: var(--wp-admin-theme-color);\n\t\tborder: none;\n\t}\n}\n\n/**\n * Reset default styles for JavaScript UI based pages.\n * This is a WP-admin agnostic reset\n */\n\n@mixin reset {\n\tbox-sizing: border-box;\n\n\t*,\n\t*::before,\n\t*::after {\n\t\tbox-sizing: inherit;\n\t}\n}\n\n@mixin link-reset {\n\t&:focus {\n\t\tcolor: var(--wp-admin-theme-color--rgb);\n\t\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color, #007cba);\n\t\tborder-radius: variables.$radius-small;\n\t}\n}\n\n// The editor input reset with increased specificity to avoid theme styles bleeding in.\n@mixin editor-input-reset() {\n\tfont-family: variables.$editor-html-font !important;\n\tcolor: colors.$gray-900 !important;\n\tbackground: colors.$white !important;\n\tpadding: variables.$grid-unit-15 !important;\n\tborder: variables.$border-width solid colors.$gray-900 !important;\n\tbox-shadow: none !important;\n\tborder-radius: variables.$radius-small !important;\n\n\t// Fonts smaller than 16px causes mobile safari to zoom.\n\tfont-size: variables.$mobile-text-min-font-size !important;\n\t@include break-small {\n\t\tfont-size: variables.$default-font-size !important;\n\t}\n\n\t&:focus {\n\t\tborder-color: var(--wp-admin-theme-color) !important;\n\t\tbox-shadow: 0 0 0 (variables.$border-width-focus-fallback - variables.$border-width) var(--wp-admin-theme-color) !important;\n\n\t\t// Windows High Contrast mode will show this outline, but not the box-shadow.\n\t\toutline: 2px solid transparent !important;\n\t}\n}\n\n/**\n * Reset the WP Admin page styles for Gutenberg-like pages.\n */\n\n@mixin wp-admin-reset( $content-container ) {\n\tbackground: colors.$white;\n\n\t#wpcontent {\n\t\tpadding-left: 0;\n\t}\n\n\t#wpbody-content {\n\t\tpadding-bottom: 0;\n\t}\n\n\t/* We hide legacy notices in Gutenberg Based Pages, because they were not designed in a way that scaled well.\n\t Plugins can use Gutenberg notices if they need to pass on information to the user when they are editing. */\n\t#wpbody-content > div:not(#{ $content-container }):not(#screen-meta) {\n\t\tdisplay: none;\n\t}\n\n\t#wpfooter {\n\t\tdisplay: none;\n\t}\n\n\t.a11y-speak-region {\n\t\tleft: -1px;\n\t\ttop: -1px;\n\t}\n\n\tul#adminmenu a.wp-has-current-submenu::after,\n\tul#adminmenu > li.current > a.current::after {\n\t\tborder-right-color: colors.$white;\n\t}\n\n\t.media-frame select.attachment-filters:last-of-type {\n\t\twidth: auto;\n\t\tmax-width: 100%;\n\t}\n}\n\n@mixin admin-scheme($color-primary) {\n\t// Define RGB equivalents for use in rgba function.\n\t// Hexadecimal css vars do not work in the rgba function.\n\t--wp-admin-theme-color: #{$color-primary};\n\t--wp-admin-theme-color--rgb: #{functions.hex-to-rgb($color-primary)};\n\t// Darker shades.\n\t--wp-admin-theme-color-darker-10: #{color.adjust($color-primary, $lightness: -5%)};\n\t--wp-admin-theme-color-darker-10--rgb: #{functions.hex-to-rgb(color.adjust($color-primary, $lightness: -5%))};\n\t--wp-admin-theme-color-darker-20: #{color.adjust($color-primary, $lightness: -10%)};\n\t--wp-admin-theme-color-darker-20--rgb: #{functions.hex-to-rgb(color.adjust($color-primary, $lightness: -10%))};\n\n\t// Focus style width.\n\t// Avoid rounding issues by showing a whole 2px for 1x screens, and 1.5px on high resolution screens.\n\t--wp-admin-border-width-focus: 2px;\n\t@media ( -webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\n\t\t--wp-admin-border-width-focus: 1.5px;\n\t}\n}\n\n@mixin wordpress-admin-schemes() {\n\tbody.admin-color-light {\n\t\t@include admin-scheme(#0085ba);\n\t}\n\n\tbody.admin-color-modern {\n\t\t@include admin-scheme(#3858e9);\n\t}\n\n\tbody.admin-color-blue {\n\t\t@include admin-scheme(#096484);\n\t}\n\n\tbody.admin-color-coffee {\n\t\t@include admin-scheme(#46403c);\n\t}\n\n\tbody.admin-color-ectoplasm {\n\t\t@include admin-scheme(#523f6d);\n\t}\n\n\tbody.admin-color-midnight {\n\t\t@include admin-scheme(#e14d43);\n\t}\n\n\tbody.admin-color-ocean {\n\t\t@include admin-scheme(#627c83);\n\t}\n\n\tbody.admin-color-sunrise {\n\t\t@include admin-scheme(#dd823b);\n\t}\n}\n\n// Deprecated from UI, kept for back-compat.\n@mixin background-colors-deprecated() {\n\t.has-very-light-gray-background-color {\n\t\tbackground-color: #eee;\n\t}\n\n\t.has-very-dark-gray-background-color {\n\t\tbackground-color: #313131;\n\t}\n}\n\n// Deprecated from UI, kept for back-compat.\n@mixin foreground-colors-deprecated() {\n\t.has-very-light-gray-color {\n\t\tcolor: #eee;\n\t}\n\n\t.has-very-dark-gray-color {\n\t\tcolor: #313131;\n\t}\n}\n\n// Deprecated from UI, kept for back-compat.\n@mixin gradient-colors-deprecated() {\n\t// Our classes uses the same values we set for gradient value attributes.\n\n\t/* stylelint-disable @stylistic/function-comma-space-after -- We can not use spacing because of WP multi site kses rule. */\n\t.has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background {\n\t\tbackground: linear-gradient(135deg,rgba(0,208,132,1) 0%,rgba(6,147,227,1) 100%);\n\t}\n\n\t.has-purple-crush-gradient-background {\n\t\tbackground: linear-gradient(135deg,rgb(52,226,228) 0%,rgb(71,33,251) 50%,rgb(171,29,254) 100%);\n\t}\n\n\t.has-hazy-dawn-gradient-background {\n\t\tbackground: linear-gradient(135deg,rgb(250,172,168) 0%,rgb(218,208,236) 100%);\n\t}\n\n\t.has-subdued-olive-gradient-background {\n\t\tbackground: linear-gradient(135deg,rgb(250,250,225) 0%,rgb(103,166,113) 100%);\n\t}\n\n\t.has-atomic-cream-gradient-background {\n\t\tbackground: linear-gradient(135deg,rgb(253,215,154) 0%,rgb(0,74,89) 100%);\n\t}\n\n\t.has-nightshade-gradient-background {\n\t\tbackground: linear-gradient(135deg,rgb(51,9,104) 0%,rgb(49,205,207) 100%);\n\t}\n\n\t.has-midnight-gradient-background {\n\t\tbackground: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);\n\t}\n\t/* stylelint-enable @stylistic/function-comma-space-after */\n}\n\n@mixin custom-scrollbars-on-hover($handle-color, $handle-color-hover) {\n\n\t// WebKit\n\t&::-webkit-scrollbar {\n\t\twidth: 12px;\n\t\theight: 12px;\n\t}\n\t&::-webkit-scrollbar-track {\n\t\tbackground-color: transparent;\n\t}\n\t&::-webkit-scrollbar-thumb {\n\t\tbackground-color: $handle-color;\n\t\tborder-radius: 8px;\n\t\tborder: 3px solid transparent;\n\t\tbackground-clip: padding-box;\n\t}\n\t&:hover::-webkit-scrollbar-thumb, // This needs specificity.\n\t&:focus::-webkit-scrollbar-thumb,\n\t&:focus-within::-webkit-scrollbar-thumb {\n\t\tbackground-color: $handle-color-hover;\n\t}\n\n\t// Firefox 109+ and Chrome 111+\n\tscrollbar-width: thin;\n\tscrollbar-gutter: stable both-edges;\n\tscrollbar-color: $handle-color transparent; // Syntax, \"dark\", \"light\", or \"#handle-color #track-color\"\n\n\t&:hover,\n\t&:focus,\n\t&:focus-within {\n\t\tscrollbar-color: $handle-color-hover transparent;\n\t}\n\n\t// Needed to fix a Safari rendering issue.\n\twill-change: transform;\n\n\t// Always show scrollbar on Mobile devices.\n\t@media (hover: none) {\n\t\t& {\n\t\t\tscrollbar-color: $handle-color-hover transparent;\n\t\t}\n\t}\n}\n\n@mixin selected-block-outline($widthRatio: 1) {\n\toutline-color: var(--wp-admin-theme-color);\n\toutline-style: solid;\n\toutline-width: calc(#{$widthRatio} * (var(--wp-admin-border-width-focus) / var(--wp-block-editor-iframe-zoom-out-scale, 1)));\n\toutline-offset: calc(#{$widthRatio} * ((-1 * var(--wp-admin-border-width-focus) ) / var(--wp-block-editor-iframe-zoom-out-scale, 1)));\n}\n\n@mixin selected-block-focus($widthRatio: 1) {\n\tcontent: \"\";\n\tposition: absolute;\n\tpointer-events: none;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\t@include selected-block-outline($widthRatio);\n}\n","@import \"~@wordpress/base-styles/variables\";\n@import \"~@wordpress/base-styles/colors.native\";\n@import \"~@wordpress/base-styles/colors\";\n@import \"~@wordpress/base-styles/variables\";\n@import \"~@wordpress/base-styles/mixins\";\n@import \"~@wordpress/base-styles/breakpoints\";\n@import \"~@wordpress/base-styles/animations\";\n@import \"~@wordpress/base-styles/z-index\";\n\n@mixin button-style__active() {\n\toutline: none;\n\tbackground-color: $white;\n\tcolor: $dark-gray-500;\n\tbox-shadow:\n\t\tinset 0 0 0 1px $light-gray-500,\n\t\tinset 0 0 0 2px $white;\n}\n\n@mixin button-style__focus-active() {\n\tbox-shadow: 0 0 0 1px var(--wp-admin-theme-color);\n\n\t// Windows High Contrast mode will show this outline, but not the box-shadow.\n\toutline: 1px solid transparent;\n}\n\n@mixin block-toolbar-button-style__focus() {\n\tbox-shadow:\n\t\tinset 0 0 0 var(--wp-admin-border-width-focus)\n\t\t\tvar(--wp-admin-theme-color),\n\t\tinset 0 0 0 4px $white;\n\n\t// Windows High Contrast mode will show this outline, but not the box-shadow.\n\toutline: 2px solid transparent;\n}\n\n// Link input\n$input-size: 300px;\n\n//.block-editor-popup-select-input,\n.components-popover .block-editor-popup-select-input {\n\tflex-grow: 1;\n\tposition: relative;\n\tpadding: 1px;\n\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: space-between;\n\tgap: 0;\n\n\t.components-base-control__field {\n\t\tmargin-bottom: 0;\n\t}\n\n\tinput[type=\"text\"],\n\tselect {\n\t\tmin-height: 36px !important;\n\t\twidth: 100% !important;\n\t\tmin-width: $input-size !important;\n\n\t\t@include break-small() {\n\t\t\twidth: $input-size;\n\t\t}\n\t\tborder: none;\n\t\tborder-radius: 0;\n\n\t\t/* Fonts smaller than 16px causes mobile safari to zoom. */\n\t\tfont-size: $mobile-text-min-font-size;\n\n\t\t@include break-small {\n\t\t\tfont-size: $default-font-size;\n\t\t}\n\n\t\t&::-ms-clear {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t.components-input-control__backdrop {\n\t\tborder: none;\n\t}\n\n\tbutton[type=\"submit\"] {\n\t\tz-index: 1;\n\t}\n}\n\n/** Copied from @wordpress/block-editor/src/components/url-popover/style.scss */\n.block-editor-popup-trigger-popover__additional-controls {\n\tborder-top: $border-width solid $light-gray-500;\n}\n\n.block-editor-popup-trigger-popover__additional-controls\n\t> div[role=\"menu\"]\n\t.components-icon-button:not(:disabled):not([aria-disabled=\"true\"]):not(\n\t\t.is-default\n\t)\n\t> svg {\n\tbox-shadow: none;\n}\n\n.block-editor-popup-trigger-popover__additional-controls\n\tdiv[role=\"menu\"]\n\t> .components-icon-button {\n\tpadding-left: 2px;\n}\n\n.block-editor-popup-trigger-popover .components-notice.is-dismissible {\n\tmargin: 0;\n\tpadding-right: 0;\n\n\t.components-notice__content {\n\t\tmargin: 0;\n\t}\n}\n\n.block-editor-popup-trigger-popover__row {\n\tdisplay: flex;\n}\n\n// Any children of the popover-row that are not the settings-toggle\n// should take up as much space as possible.\n.block-editor-popup-trigger-popover__row\n\t> :not(.block-editor-popup-trigger-popover__settings-toggle) {\n\tflex-grow: 1;\n}\n\n// Mimic toolbar component styles for the icons in this popover.\n.block-editor-popup-trigger-popover .components-icon-button {\n\tpadding: 3px;\n\n\t> svg {\n\t\tpadding: 5px;\n\t\tborder-radius: $radius-large;\n\t\theight: 30px;\n\t\twidth: 30px;\n\t}\n\n\t&:not(:disabled):not([aria-disabled=\"true\"]):not(.is-default):hover {\n\t\tbox-shadow: none;\n\n\t\t> svg {\n\t\t\t@include button-style__active;\n\t\t}\n\t}\n\n\t&:not(:disabled):focus {\n\t\tbox-shadow: none;\n\n\t\t> svg {\n\t\t\t@include block-toolbar-button-style__focus;\n\t\t}\n\t}\n}\n\n.block-editor-popup-trigger-popover__settings-toggle {\n\tflex-shrink: 0;\n\n\t// Add a left divider to the toggle button.\n\tborder-radius: 0;\n\tborder-left: $border-width solid $light-gray-500;\n\tmargin-left: 1px;\n\n\t&[aria-expanded=\"true\"] .dashicon {\n\t\ttransform: rotate(180deg);\n\t}\n}\n\n.block-editor-popup-trigger-popover__settings {\n\tdisplay: block;\n\tpadding: $grid-unit-20;\n\tborder-top: $border-width solid $light-gray-500;\n\n\t.components-base-control:last-child,\n\t.components-base-control:last-child .components-base-control__field {\n\t\tmargin-bottom: 0;\n\t}\n}\n\n.block-editor-popup-trigger-popover__popup-editor,\n.block-editor-popup-trigger-popover__popup-viewer {\n\tdisplay: flex;\n}\n\n.block-editor-popup-trigger-popover__popup-viewer-text {\n\tmargin: $grid-unit - $border-width;\n\tflex-grow: 1;\n\tflex-shrink: 1;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\tmin-width: 150px;\n\tmax-width: 500px;\n\n\t&.has-invalid-link {\n\t\tcolor: $alert-red;\n\t}\n}\n"],"names":[],"sourceRoot":""} dist/packages/fields.js.map 0000644 00000330653 15174671772 0011700 0 ustar 00 {"version":3,"file":"fields.js","mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,kBAAkB,sBAAsB;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK,KAA6B;AAClC;AACA;AACA,GAAG,SAAS,IAA4E;AACxF;AACA,EAAE,iCAAqB,EAAE,mCAAE;AAC3B;AACA,GAAG;AAAA,kGAAC;AACJ,GAAG,KAAK;AAAA,EAEN;AACF,CAAC;;;;;;;;;;;;;;;;;;AC5EmD;;;;;;;;;;;;;;;;;;;;;;;;ACAJ;AACe;AAAA;AA8BxD,MAAMO,aAAa,GAAGJ,iEAAa,CAAuB;EAChEK,OAAO,EAAE,EAAE;EACXC,MAAM,EAAE,EAAE;EACVC,MAAM,EAAE,CAAC,CAA0B;EACnCC,SAAS,EAAEA,CAAA,KAAM,CAAC;AACnB,CAAE,CAAC;AAEI,MAAMC,oBAAoB,GAAGA,CAEjC;EACFJ,OAAO;EACPC,MAAM;EACNC,MAAM;EACNC,SAAS;EACTE;AAGD,CAAC,KAAM;EACN,oBACCP,sDAAA,CAACC,aAAa,CAACO,QAAQ;IACtBC,KAAK,EAAG;MAAEP,OAAO;MAAEC,MAAM;MAAEC,MAAM;MAAEC;IAAU,CAAG;IAAAE,QAAA,EAE9CA;EAAQ,CACa,CAAC;AAE3B,CAAC;AASM,MAAMZ,SAAS,GAAGA,CAAA,KAOpB;EACJ,MAAM;IACLO,OAAO;IACPC,MAAM,GAAG,EAAE;IACXC,MAAM;IACNC;EACD,CAAC,GAAGP,8DAAU,CAAEG,aAAc,CAAC;EAE/B,MAAMS,SAAS,GAAGA,CACjBC,OAAqB,GAAG;IACvBC,OAAO,EAAE;EACV,CAAC,KACG;IACJ,MAAMC,OAAO,GAAG,CAAEV,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,EAAE,EAC5BW,MAAM,CAAIC,KAAK,IAAM;MACrB,IAAKJ,OAAO,EAAEK,GAAG,IAAID,KAAK,CAACC,GAAG,KAAKL,OAAO,CAACK,GAAG,EAAG;QAChD,OAAO,KAAK;MACb;MAEA,IAAKL,OAAO,EAAEM,OAAO,IAAIF,KAAK,CAACE,OAAO,KAAKN,OAAO,CAACM,OAAO,EAAG;QAC5D,OAAO,KAAK;MACb;MAEA,IAAKN,OAAO,EAAEO,KAAK,IAAIH,KAAK,CAACG,KAAK,KAAKP,OAAO,CAACO,KAAK,EAAG;QACtD,OAAO,KAAK;MACb;MAEA,IAAKP,OAAO,EAAEC,OAAO,IAAI,CAAEO,cAAc,CAAEJ,KAAK,CAACK,EAAG,CAAC,EAAG;QACvD,OAAO,KAAK;MACb;MAEA,OAAO,IAAI;IACZ,CAAE,CAAC,CACFC,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAACE,QAAQ,GAAGD,CAAC,CAACC,QAAS,CAAC,CAC3CC,GAAG,CAAIV,KAAK,IAAM;MAClB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACI,MAAMW,SAAS,GAAG9B,8DAAY,CAC7B,GAAIM,OAAO,cAAe,EAC1Ba,KAAK,CAACW,SAAS,EACfX,KAAK,CAACK,EAAE,EACRL,KACD,CAAgB;MAEhB,OAAO;QACN,GAAGA,KAAK;QACRW;MACD,CAAC;IACF,CAAE,CAAC;;IAEJ;AACF;AACA;AACA;AACA;AACA;AACA;IACE,OAAO9B,8DAAY,CAClB,GAAIM,OAAO,YAAa,EACxBW,OAAO,EACPF,OACD,CAAC;EACF,CAAC;EAED,MAAMgB,WAAW,GAAGA,CAAuBZ,KAAQ,EAAEN,KAAa,KAAM;IACvEJ,SAAS,CAAE;MACV,GAAGD,MAAM;MACT,CAAEW,KAAK,GAAIN;IACZ,CAAE,CAAC;EACJ,CAAC;EAED,MAAMU,cAAc,GAAKJ,KAAc,IAAe;IACrD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;IAEE,MAAMa,IAAI,GAAGhC,8DAAY,CACxB,GAAIM,OAAO,iBAAkB,EAC7B2B,SAAS,EACTd,KAAK,EACLX,MAAM,CAAC;IACR,CAAwB;;IAExB;IACA,OAAOwB,IAAI,KAAKC,SAAS,GAAGD,IAAI,GAAG,IAAI;EACxC,CAAC;EAED,OAAO;IACN1B,OAAO;IACPC,MAAM;IACNC,MAAM;IACNC,SAAS;IACTK,SAAS;IACTiB,WAAW;IACXR;EACD,CAAC;AACF,CAAC;AAED,iEAAexB,SAAS,E;;;;;;;;;;;;;;;;;;AClLO;AAAA;AAI/B,MAAMsC,aAAa,GAAGA,CAAE;EACvBxB,KAAK;EACLyB,QAAQ;EACRC,KAAK;EACL,GAAGC;AACgC,CAAC,KAAM;EAC1C,MAAMC,MAAM,GAAG,KAAK;EAEpB,IAAK,CAAEA,MAAM,EAAG;IACf,oBACCrC,sDAAA,CAAC+B,kEAAe;MAAA,GACVK,UAAU;MACfD,KAAK,EAAGA,KAAO;MACfG,OAAO,EAAG7B,KAAO;MACjByB,QAAQ,EAAGA,QAAU;MACrBK,uBAAuB;IAAA,CACvB,CAAC;EAEJ;EAEA,oBACCvC,sDAAA,CAAC8B,8DAAW;IACXV,EAAE,EAAGgB,UAAU,CAAChB,EAAI;IACpBe,KAAK,EAAGA,KAAO;IACfI,uBAAuB;IAAAhC,QAAA,eAEvBP,sDAAA,CAACgC,6DAAU;MACVM,OAAO,EAAG7B,KAAO;MACjByB,QAAQ,EAAGA,CAAA,KAAMA,QAAQ,CAAE,CAAEzB,KAAM,CAAG;MAAA,GACjC2B;IAAU,CACf;EAAC,CACU,CAAC;AAEhB,CAAC;AAED,iEAAeH,aAAa,E;;;;;;;;;;;;;;;;;;ACvCG;AAAA;AAI/B,MAAMc,UAAU,GAAGA,CAAE;EACpBtC,KAAK,GAAG,EAAE;EACVyB,QAAQ;EACR,GAAGE;AACgC,CAAC,KAAM;EAC1C,MAAMY,MAAM,GAAG,CACd;IAAEC,IAAI,EAAE,KAAK;IAAEC,KAAK,EAAE;EAAO,CAAC,EAC9B;IAAED,IAAI,EAAE,OAAO;IAAEC,KAAK,EAAE;EAAO,CAAC,EAChC;IAAED,IAAI,EAAE,MAAM;IAAEC,KAAK,EAAE;EAAO,CAAC,CAC/B;EAED,oBACCJ,uDAAA,CAAAF,uDAAA;IAAArC,QAAA,gBACCP,sDAAA,CAACwC,iEAAc;MAACW,UAAU,EAAG1C;IAAO,CAAE,CAAC,eACvCT,sDAAA,CAAC0C,8DAAW;MAAA,GACNN,UAAU;MACfc,KAAK,EAAGzC,KAAO;MACf2C,gBAAgB,EAAKF,KAAK;QAAA,IAAAG,UAAA;QAAA;UACzB;UACAnB,QAAQ,EAAAmB,UAAA,GAAEH,KAAK,EAAEI,GAAG,cAAAD,UAAA,cAAAA,UAAA,GAAIH,KAAM;QAAC;MAAA;IAC/B,CACD,CAAC,eACFlD,sDAAA,CAACyC,+DAAY;MACZhC,KAAK,EAAGA,KAAO;MACfyB,QAAQ,EAAKqB,QAAQ,IAAM;QAC1BrB,QAAQ,CAAEqB,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI,EAAG,CAAC;MAC3B,CAAG;MACHP,MAAM,EAAGA,MAAQ;MACjBQ,SAAS,EAAG;IAAM,CAClB,CAAC;EAAA,CACD,CAAC;AAEL,CAAC;AAED,iEAAeT,UAAU,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1CgC;AACT;AACC;AACS;AACE;AACJ;AAAA;AASxD,MAAMkB,iBAAiB,GAAGA,CAAE;EAC3B9B,KAAK;EACL1B,KAAK;EACLyB,QAAQ;EACRgC,UAAU;EACVC,QAAQ,GAAG,KAAK;EAChBC,WAAW,GAAG;AACyB,CAAC,KAAM;EAC9C,MAAM,CAAEC,SAAS,EAAEC,YAAY,CAAE,GAAGb,4DAAQ,CAAE,EAAG,CAAC;EAClD,MAAM,CAAEc,OAAO,EAAEC,UAAU,CAAE,GAAGf,4DAAQ,CAGnC;IACJgB,OAAO,EAAE,EAAE;IACXC,WAAW,EAAE;EACd,CAAE,CAAC;EACH,MAAM,CAAEC,SAAS,EAAEC,YAAY,CAAE,GAAGnB,4DAAQ,CAAE,KAAM,CAAC;EAErD,MAAMoB,eAAe,GAAGhB,+DAAW,CAAIiB,IAAY,IAAM;IACxDR,YAAY,CAAEQ,IAAK,CAAC;EACrB,CAAC,EAAE,GAAI,CAAC;;EAER;EACApB,6DAAS,CAAE,MAAM;IAChB,MAAMqB,YAAY,GAAG,MAAAA,CAAA,KAAY;MAChCH,YAAY,CAAE,IAAK,CAAC;MACpB,IAAI;QACH;QACA,IAAII,MAAM,GAAG,GAAIZ,WAAW,0CAA4CF,UAAU,EAAG;;QAErF;QACA,IAAKzD,KAAK,EAAG;UACZ,MAAMwE,UAAU,GAAGC,KAAK,CAACC,OAAO,CAAE1E,KAAM,CAAC,GACtCA,KAAK,GACL,CAAEA,KAAK,CAAE;UACZuE,MAAM,IAAI,YAAaC,UAAU,CAACG,IAAI,CAAE,GAAI,CAAC,EAAG;QACjD;;QAEA;QACA,IAAKf,SAAS,EAAG;UAChBW,MAAM,IAAI,MAAOX,SAAS,EAAG;QAC9B;QAEA,MAAMgB,QAAQ,GAAG,MAAMrB,sEAAc,CAGhCgB,MAAO,CAAC;;QAEb;QACA,MAAMM,UAAgC,GAAGD,QAAQ,CAACE,KAAK,CAAC9D,GAAG,CACxD+D,IAAI,KAAQ;UACbpE,EAAE,EAAEoE,IAAI,CAACpE,EAAE;UACX0D,IAAI,EAAEU,IAAI,CAACV;QACZ,CAAC,CACF,CAAC;;QAED;QACA,IAAIW,WAAiC,GAAG,EAAE;QAC1C,IAAKhF,KAAK,EAAG;UACZ,MAAMwE,UAAU,GAAGC,KAAK,CAACC,OAAO,CAAE1E,KAAM,CAAC,GACtCA,KAAK,GACL,CAAEA,KAAK,CAAE;UACZgF,WAAW,GAAGH,UAAU,CAACxE,MAAM,CAAI0E,IAAI,IACtCP,UAAU,CAACS,QAAQ,CAAEF,IAAI,CAACpE,EAAG,CAC9B,CAAC;QACF;QAEAoD,UAAU,CAAE;UACXC,OAAO,EAAEgB,WAAW;UACpBf,WAAW,EAAEY;QACd,CAAE,CAAC;MACJ,CAAC,CAAC,OAAQK,KAAK,EAAG;QACjB;QACAnB,UAAU,CAAE;UAAEC,OAAO,EAAE,EAAE;UAAEC,WAAW,EAAE;QAAG,CAAE,CAAC;MAC/C,CAAC,SAAS;QACTE,YAAY,CAAE,KAAM,CAAC;MACtB;IACD,CAAC;IAEDG,YAAY,CAAC,CAAC;EACf,CAAC,EAAE,CAAEtE,KAAK,EAAE4D,SAAS,EAAEH,UAAU,EAAEE,WAAW,CAAG,CAAC;EAElD,MAAMwB,cAAc,GAAKxE,EAAU,IAAM;IACxC,MAAMyE,UAAU,GAAKC,IAA0B,IAAM;MACpD,OAAOA,IAAI,CAACC,IAAI,CAAIC,UAAU,IAAMA,UAAU,CAAC5E,EAAE,KAAKA,EAAG,CAAC;IAC3D,CAAC;IAED,MAAM6E,KAAK,GAAGJ,UAAU,CAAEtB,OAAO,CAACG,WAAY,CAAC;IAC/C,IAAKuB,KAAK,EAAG;MACZ,OAAOA,KAAK;IACb;IAEA,OAAOJ,UAAU,CAAEtB,OAAO,CAACE,OAAQ,CAAC;EACrC,CAAC;EAED,MAAMrE,MAAM,GAAG,CAAE,MAAM;IACtB,IAAK,CAAEK,KAAK,EAAG;MACd,OAAO,EAAE;IACV;IAEA,OAAO,OAAOA,KAAK,KAAK,QAAQ,GAAG,CAAEA,KAAK,CAAE,GAAGA,KAAK;EACrD,CAAC,EAAG,CAAC;EAEL,MAAMyF,aAAa,GAAKC,KAAiC,IAAM;IAC9D,IAAK,OAAOA,KAAK,KAAK,QAAQ,EAAG;MAChC,OAAOA,KAAK,CAAC1F,KAAK;IACnB;IAEA,OAAO0F,KAAK;EACb,CAAC;EAED,oBACCnG,sDAAA;IAAKoG,SAAS,EAAC,gCAAgC;IAAA7F,QAAA,eAC9CP,sDAAA,CAAC+D,sEAAiB;MACjB5B,KAAK,EACJA,KAAK,GACFA,KAAK,GACLyB,0DAAO;MACP;MACAD,qDAAE,CAAE,OAAO,EAAE,aAAc,CAAC,EAC5BO,UAAU,CACRmC,OAAO,CAAE,IAAI,EAAE,GAAI;MACpB;MAAA,CACCC,MAAM,CAAE,CAAE,CAAC,CACXC,WAAW,CAAC,CAAC,GACdrC,UAAU,CAACmC,OAAO,CAAE,IAAI,EAAE,GAAI,CAAC,CAACG,KAAK,CAAE,CAAE,CAC1C,CACH;MACDC,mBAAmB,EAAG,IAAM;MAC5BtC,QAAQ,EAAGA,QAAU;MACrBuC,WAAW,EAAG9C,0DAAO;MACpB;MACAD,qDAAE,CAAE,cAAc,EAAE,aAAc,CAAC,EACnCO,UAAU,CAACmC,OAAO,CAAE,IAAI,EAAE,GAAI,CAAC,CAACM,WAAW,CAAC,CAC7C,CAAG;MACHC,YAAY,EAAG,IAAM;MACrBnG,KAAK,EAAGL,MAAQ;MAChByG,aAAa,EAAGhC,eAAiB;MACjC3C,QAAQ,EAAKqB,QAAQ,IAAM;QAC1B,MAAMuD,YAAY,GAAGvD,QAAQ,CAC3B9B,GAAG,CAAIsF,CAAC,IAAMb,aAAa,CAAEa,CAAE,CAAE,CAAC,CAClCjG,MAAM,CAAIiG,CAAC,IAAMA,CAAC,KAAK,IAAI,IAAIA,CAAC,KAAK,EAAG,CAAC;QAE3C7E,QAAQ,CACPiC,QAAQ,GAAG2C,YAAY,GAAGA,YAAY,CAAE,CAAC,CAAE,IAAI,EAChD,CAAC;MACF,CAAG;MACHE,WAAW,EAAKb,KAAK,IAAM;QAC1B,MAAMH,UAAU,GAAGJ,cAAc,CAAEM,aAAa,CAAEC,KAAM,CAAE,CAAC;QAE3D,IAAK,CAAEH,UAAU,EAAG;UACnB,OAAOE,aAAa,CAAEC,KAAM,CAAC;QAC9B;QAEA,OAAOrC,wEAAc,CAAEkC,UAAU,CAAClB,IAAK,CAAC;MACzC,CAAG;MACHmC,gBAAgB,EAAKzB,IAAI,IAAM;QAC9B,MAAMQ,UAAU,GAAGJ,cAAc,CAAEJ,IAAK,CAAC;QAEzC,IAAK,CAAEQ,UAAU,EAAG;UACnB,OAAOR,IAAI;QACZ;QAEA,oBAAOxF,sDAAA,CAAA4C,uDAAA;UAAArC,QAAA,EAAIuD,wEAAc,CAAEkC,UAAU,CAAClB,IAAK;QAAC,CAAI,CAAC;MAClD,CAAG;MACHJ,WAAW,EAAGH,OAAO,CAACG,WAAW,CAACjD,GAAG,CAClCyF,MAAM,IAAMA,MAAM,CAAC9F,EACtB,CAAG;MACH+F,QAAQ,EACPxC,SAAS,GACN;QACAyC,aAAa,EAAEzD,qDAAE,CAChB,YAAY,EACZ,aACD;MACA,CAAC,GACD9B;IACH,CACD;EAAC,CACE,CAAC;AAER,CAAC;AAED,iEAAeoC,iBAAiB,E;;;;;;;;;;;;;;;;;;ACrMoB;AAAA;AAIpD,MAAMoD,SAAS,GAAGA,CAAE;EACnB5G,KAAK;EACLyB,QAAQ;EACR,GAAGE;AAC4B,CAAC,KAAM;EACtC,oBACCpC,sDAAA,CAAA4C,uDAAA;IAAArC,QAAA,eACCP,sDAAA,CAAC8B,8DAAW;MAAA,GACNM,UAAU;MACfqE,mBAAmB,EAAG,IAAM;MAC5BlE,uBAAuB;MAAAhC,QAAA,eAEvBP,sDAAA;QACCsH,IAAI,EAAC,MAAM;QACX7G,KAAK,EAAGA,KAAO;QACfyB,QAAQ,EAAKqF,KAAK,IAAMrF,QAAQ,CAAEqF,KAAK,CAACC,MAAM,CAAC/G,KAAM;MAAG,CACxD;IAAC,CACU;EAAC,CACb,CAAC;AAEL,CAAC;AAED,iEAAe4G,SAAS,E;;;;;;;;;;;;;;;;;;;;;;AC1BY;AAEY;AAkBpC;AAG8B;AAAA;AAE1C,MAAMiB,cAAc,GAAKlG,UAAkC,IAAmB;EAC7E,MAAM;IAAEkF;EAAK,CAAC,GAAGlF,UAAU;EAE3B,QAASkF,IAAI;IACZ,KAAK,UAAU;MACd,oBAAOtH,sDAAA,CAACiC,4CAAa;QAAA,GAAMG;MAAU,CAAI,CAAC;IAC3C,KAAK,OAAO;MACX,oBAAOpC,sDAAA,CAAC+C,yCAAU;QAAA,GAAMX;MAAU,CAAI,CAAC;IACxC,KAAK,cAAc;MAClB,oBAAOpC,sDAAA,CAACiE,gDAAiB;QAAA,GAAM7B;MAAU,CAAI,CAAC;IAC/C,KAAK,MAAM;MACV,oBAAOpC,sDAAA,CAACqH,wCAAS;QAAA,GAAMjF;MAAU,CAAI,CAAC;IACvC,KAAK,SAAS;MACb,oBAAOpC,sDAAA,CAAC0H,2CAAY;QAAA,GAAMtF;MAAU,CAAI,CAAC;IAC1C,KAAK,YAAY;MAChB,oBAAOpC,sDAAA,CAAC2H,8CAAe;QAAA,GAAMvF;MAAU,CAAI,CAAC;IAC7C,KAAK,QAAQ;IACb,KAAK,aAAa;MACjB,oBAAOpC,sDAAA,CAACiI,0CAAW;QAAA,GAAM7F;MAAU,CAAI,CAAC;IACzC,KAAK,cAAc;IACnB,KAAK,YAAY;IACjB,KAAK,gBAAgB;IACrB,KAAK,YAAY;MAChB,oBAAOpC,sDAAA,CAAC8H,gDAAiB;QAAA,GAAM1F;MAAU,CAAI,CAAC;IAC/C,KAAK,OAAO;MACX,oBAAOpC,sDAAA,CAAC+H,yCAAU;QAAA,GAAM3F;MAAU,CAAI,CAAC;IACxC,KAAK,aAAa;MACjB,oBAAOpC,sDAAA,CAACgI,+CAAgB;QAAA,GAAM5F;MAAU,CAAI,CAAC;IAC9C,KAAK,QAAQ;MACZ,oBAAOpC,sDAAA,CAAC6H,0CAAW;QAAA,GAAMzF;MAAU,CAAI,CAAC;IACzC,KAAK,OAAO;IACZ,KAAK,KAAK;IACV,KAAK,QAAQ;IACb,KAAK,MAAM;IACX,KAAK,UAAU;MACd,oBAAOpC,sDAAA,CAACmI,wCAAS;QAAA,GAAM/F;MAAU,CAAI,CAAC;IACvC,KAAK,UAAU;MACd,oBAAOpC,sDAAA,CAACkI,4CAAa;QAAA,GAAM9F;MAAU,CAAI,CAAC;IAC3C,KAAK,aAAa;MACjB,oBAAOpC,sDAAA,CAACoI,+CAAgB;QAAA,GAAMhG;MAAU,CAAI,CAAC;IAC9C,KAAK,MAAM;MACV,oBAAOpC,sDAAA,CAAC4H,wCAAS;QAAA,GAAMxF;MAAU,CAAI,CAAC;EACxC;EAEA,oBACCpC,sDAAA,CAAA4C,uDAAA;IAAArC,QAAA,EACGqD,0DAAO,CACR;IACAD,qDAAE,CAAE,2BAA2B,EAAE,aAAc,CAAC,EAChD2D,IACD;EAAC,CACA,CAAC;AAEL,CAAC;AAED,MAAMiB,KAAK,GAAKC,KAA6B,IAAM;EAClD,MAAM;IAAElB,IAAI;IAAElB,SAAS;IAAElE;EAAS,CAAC,GAAGsG,KAAK;EAE3C,oBACCxI,sDAAA;IACCoG,SAAS,EAAGqB,iDAAU,CAAE,CACvB,WAAW,EACX,cAAeH,IAAI,EAAG,EACtBlB,SAAS,CACR,CAAG;IAAA7F,QAAA,eAGLP,sDAAA,CAACsI,cAAc;MACdpG,QAAQ,EAAGA,QAAU;MAAA,GAChBmG,uDAAe,CAAEG,KAAM;IAAC,CAC7B;EAAC,CACE,CAAC;AAER,CAAC;AAED,iEAAeD,KAAK,E;;;;;;;;;;;;;;;;;ACpGQ;AAAA;AAQ5B,MAAME,MAAM,GAAKD,KAAY,IAAM;EAClC,MAAM;IAAErI;EAAO,CAAC,GAAGqI,KAAK;EAExB,oBACCxI,sDAAA,CAAA4C,uDAAA;IAAArC,QAAA,EACGJ,MAAM,CAACsB,GAAG,CAAE,CAAEV,KAAK,EAAE2H,CAAC,kBACvB1I,sDAAA,CAACuI,8CAAK;MAAA,GAAgBxH;IAAK,GAAd2H,CAAkB,CAC9B;EAAC,CACF,CAAC;AAEL,CAAC;AAED,iEAAeD,MAAM,E;;;;;;;;;;;;;;;;;AClBrB,MAAMb,SAAS,GAAGA,CAAE;EAAEe;AAAwB,CAAC,KAAM;EACpD,oBAAO3I,sDAAA;IAAK4I,uBAAuB,EAAG;MAAEC,MAAM,EAAEF,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI;IAAG;EAAG,CAAE,CAAC;AACrE,CAAC;AAED,iEAAef,SAAS,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACN8B;AACN;AACe;AACjB;AACH;AACE;AACC;AACM;AACM;AACR;AACa;AACf;AACY;AACV;AACI;AACR;;;;;;;;;;;;;;;;;;;;;ACXf;AAC0B;AAAA;AAIzD,MAAMF,YAAY,GAAGA,CAAE;EACtBjH,KAAK;EACLyB,QAAQ;EACR8G,KAAK;EACL,GAAG5G;AAC+B,CAAC,KAAM;EAAA,IAAA6G,cAAA;EACzC,MAAMC,MAAM,GAAGzI,KAAK,GAAG0I,QAAQ,CAAE1I,KAAM,CAAC,GAAG,EAAE;EAE7C,MAAM,CAAE2I,KAAK,EAAEC,QAAQ,CAAE,GAAG5F,4DAAQ,CAAE;IACrCyF,MAAM;IACNI,IAAI,GAAAL,cAAA,GAAExI,KAAK,EAAE4F,OAAO,CAAE,GAAI6C,MAAM,EAAG,EAAE,EAAG,CAAC,cAAAD,cAAA,cAAAA,cAAA,GAAI;EAC9C,CAAE,CAAC;EAEHvF,6DAAS,CAAE,MAAM;IAChBxB,QAAQ,CAAE,GAAIkH,KAAK,CAACF,MAAM,GAAKE,KAAK,CAACE,IAAI,EAAI,CAAC;EAC/C,CAAC,EAAE,CAAEF,KAAK,EAAElH,QAAQ,CAAG,CAAC;EAExB,MAAMqH,UAAU,GAAGC,MAAM,CAACC,OAAO,CAAET,KAAM,CAAC,CAACvH,GAAG,CAAE,CAAE,CAAEsF,CAAC,EAAE2C,CAAC,CAAE,MAAQ;IACjEjJ,KAAK,EAAEsG,CAAC;IACR5E,KAAK,EAAEuH;EACR,CAAC,CAAG,CAAC;EAEL,oBACC1J,sDAAA,CAAC+I,4EAAW;IAAA,GACN3G,UAAU;IACf3B,KAAK,EAAGA,KAAO;IACfyB,QAAQ,EAAGA,CAAEyH,SAAiB,GAAG,GAAG,KACnCN,QAAQ,CAAE;MAAE,GAAGD,KAAK;MAAEF,MAAM,EAAES;IAAU,CAAE,CAC1C;IACDC,YAAY,EAAGL,UAAU,CAACM,MAAM,KAAK,CAAG;IACxCb,KAAK,EAAGO,UAAY;IACpBO,YAAY,EAAGA,CAAEC,OAAe,GAAG,EAAE,KACpCV,QAAQ,CAAE;MAAE,GAAGD,KAAK;MAAEE,IAAI,EAAES;IAAQ,CAAE;IAEvC;IAAA;IACAxH,uBAAuB,EAAG;EAAM,CAChC,CAAC;AAEJ,CAAC;AAED,iEAAemF,YAAY,E;;;;;;;;;;;;;;;;;;;AC7CI;AAEa;AAAA;AAI5C,MAAMC,eAAe,GAAGA,CAAE;EACzBlH,KAAK;EACLyB,QAAQ;EACR,GAAGE;AACkC,CAAC,KAAM;EAC5C,MAAMC,MAAM,GAAG,KAAK;EAEpB,MAAMC,OAAO,GAAG7B,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE;EAE3B,MAAMwJ,OAAO,GAAGD,yDAAiB,CAAE5H,UAAU,CAAC6H,OAAQ,CAAC;EAEvD,MAAMC,WAAW,GAAGzJ,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE;;EAE/B;AACD;AACA;AACA;;EAEC,MAAM0J,UAAU,GAAGA,CAAA,kBAClBnK,sDAAA,CAAA4C,uDAAA;IAAArC,QAAA,EACG0J,OAAO,CAACxI,GAAG,CAAE,CAAE;MAAEU,KAAK,EAAEiI,QAAQ;MAAE3J,KAAK,EAAE4J;IAAS,CAAC,KAAM;MAC1D,MAAMC,SAAS,GAAGhI,OAAO,CAACiI,OAAO,CAAEF,QAAS,CAAC,IAAI,CAAC;MAElD,MAAMG,YAAY,GAAGA,CAAA,KACpBtI,QAAQ,CACP,CAAEoI,SAAS,GACR,CAAE,GAAGJ,WAAW,EAAEG,QAAQ,CAAE,GAC5BH,WAAW,CAACpJ,MAAM,CAAI2J,GAAG,IAAMJ,QAAQ,KAAKI,GAAI,CACpD,CAAC;MAEF,IAAK,CAAEpI,MAAM,EAAG;QACf,oBACCrC,sDAAA,CAAC+B,kEAAe;UAEfI,KAAK,EAAGiI,QAAU;UAClB9H,OAAO,EAAGgI,SAAW;UACrBpI,QAAQ,EAAGsI,YAAc;UACzBjI,uBAAuB;QAAA,GAJjB8H,QAKN,CAAC;MAEJ;MACA,oBACCrK,sDAAA,CAAC8B,8DAAW;QAEXV,EAAE,EAAGgB,UAAU,CAAChB,EAAE,GAAG,GAAG,GAAGiJ,QAAQ,CAACK,QAAQ,CAAC,CAAG;QAChDvI,KAAK,EAAGiI,QAAU;QAClB7H,uBAAuB;QAAAhC,QAAA,eAEvBP,sDAAA,CAACgC,6DAAU;UACVM,OAAO,EAAGgI,SAAW;UACrBpI,QAAQ,EAAGsI;QAAc,CACzB;MAAC,GARIH,QASM,CAAC;IAEhB,CAAE;EAAC,CACF,CACF;EAED,oBAAOrK,sDAAA,CAACmK,UAAU,IAAE,CAAC;AACtB,CAAC;AAED,iEAAexC,eAAe,E;;;;;;;;;;;;;;;;;;ACnEC;AAAA;AAI/B,MAAME,WAAW,GAAGA,CAAE;EACrBpH,KAAK;EACLyB,QAAQ;EACR,GAAGE;AAC8B,CAAC,KAAM;EACxC,oBACCpC,sDAAA,CAAC4K,8EAAa;IAAA,GACRxI,UAAU;IACf3B,KAAK,EAAGA,KAAO;IACfyB,QAAQ,EAAGA,CAAEqB,QAAQ,GAAG,GAAG,KAC1BrB,QAAQ,CAAEiH,QAAQ,CAAE5F,QAAQ,EAAE,EAAG,CAAE;IAEpC;IAAA;IACAhB,uBAAuB,EAAG,IAAM;IAChCsI,qBAAqB,EAAG;EAAM,CAC9B,CAAC;AAEJ,CAAC;AAED,iEAAehD,WAAW,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BkB;AACa;AACT;AACC;AACS;AACI;AACF;AACJ;AAAA;AAmBxD,MAAMC,iBAAiB,GAAGA,CAAE;EAC3B3F,KAAK;EACL1B,KAAK;EACLyB,QAAQ;EACR+I,UAAU,GAAG,UAAU;EACvB/G,UAAU,GAAG,MAAM;EACnBC,QAAQ,GAAG;AAMZ,CAAC,KAAM;EACN,MAAM,CAAEE,SAAS,EAAEC,YAAY,CAAE,GAAGb,4DAAQ,CAAE,EAAG,CAAC;EAClD,MAAM,CAAEyH,gBAAgB,EAAEC,mBAAmB,CAAE,GAAG1H,4DAAQ,CAAE,KAAM,CAAC;EACnE,MAAM,CAAEc,OAAO,EAAEC,UAAU,CAAE,GAAGf,4DAAQ,CAGnC;IACJgB,OAAO,EAAE,EAAE;IACXC,WAAW,EAAE;EACd,CAAE,CAAC;EAEH,MAAMG,eAAe,GAAGhB,+DAAW,CAAIiB,IAAY,IAAM;IACxDR,YAAY,CAAEQ,IAAK,CAAC;EACrB,CAAC,EAAE,GAAI,CAAC;EAER,MAAML,OAAO,GAAGqG,0DAAS,CACtBM,MAAM,IAAM;IACb,IAAKF,gBAAgB,EAAG;MACvB,OAAO3G,OAAO,CAACE,OAAO;IACvB;IAEA,IAAK,CAAEhE,KAAK,EAAG;MACd,OAAO,EAAE;IACV;IAEA,MAAM4K,OAAO,GAAGD,MAAM,CAAEJ,uDAAc,CAAC,CAACM,gBAAgB,CACvDL,UAAU,EACV/G,UAAU,EACV;MACChE,OAAO,EAAE,MAAM;MACfqL,OAAO,EAAE9K,KAAK;MACd+K,QAAQ,EAAE,CAAC;IACZ,CACD,CAAmB;;IAEnB;IACA,IACCH,OAAO,KAAK,IAAI,IAChB,CAAEH,gBAAgB,IAClBD,UAAU,KAAK,UAAU,EACxB;MACDE,mBAAmB,CAAE,IAAK,CAAC;IAC5B;IAEA,OAAOE,OAAO,IAAI,EAAE;EACrB,CAAC,EACD,CAAE5K,KAAK,EAAEwK,UAAU,EAAE/G,UAAU,EAAEgH,gBAAgB,EAAE3G,OAAO,CAACE,OAAO,CACnE,CAAC;EAED,MAAMC,WAAW,GAAGoG,0DAAS,CAC1BM,MAAM,IAAM;IACb,IAAKF,gBAAgB,EAAG;MACvB,OAAO3G,OAAO,CAACG,WAAW;IAC3B;IAEA,IAAKuG,UAAU,KAAK,MAAM,EAAG;MAC5B,OACCG,MAAM,CAAEJ,uDAAc;MACrB;MAAA,CACCS,QAAQ,CAAE;QACVvL,OAAO,EAAE,MAAM;QACfwL,MAAM,EAAErH,SAAS;QACjBmH,QAAQ,EAAE,CAAC;MACZ,CAAE,CAAC;IAEN;IAEA,MAAMH,OAAO,GAAGD,MAAM,CAAEJ,uDAAc,CAAC,CAACM,gBAAgB,CACvDL,UAAU,EACV/G,UAAU,EACV;MACChE,OAAO,EAAE,MAAM;MACfwL,MAAM,EAAErH,SAAS;MACjBmH,QAAQ,EAAE,CAAC;IACZ,CACD,CAAmB;;IAEnB;IACA,IACCH,OAAO,KAAK,IAAI,IAChB,CAAEH,gBAAgB,IAClBD,UAAU,KAAK,UAAU,EACxB;MACDE,mBAAmB,CAAE,IAAK,CAAC;IAC5B;IAEA,OAAOE,OAAO;EACf,CAAC,EACD,CACChH,SAAS,EACT4G,UAAU,EACV/G,UAAU,EACVgH,gBAAgB,EAChB3G,OAAO,CAACG,WAAW,CAErB,CAAC;EAED,MAAMiH,WAAW,GAAGb,0DAAS,CAC1BM,MAAM,IAAM;IACb,IAAKF,gBAAgB,EAAG;MACvB,OAAO,KAAK,CAAC,CAAC;IACf;IAEA,IAAKD,UAAU,KAAK,MAAM,EAAG;MAC5B,OACCG,MAAM,CAAE,WAAY;MACnB;MAAA,CACCQ,WAAW,CAAE,MAAM,EAAE,UAAU,EAAE,CACjCX,UAAU,EACV/G,UAAU,EACV;QACChE,OAAO,EAAE,MAAM;QACfwL,MAAM,EAAErH,SAAS;QACjBmH,QAAQ,EAAE,CAAC;MACZ,CAAC,CACA,CAAC;IAEN;IAEA,OACCJ,MAAM,CAAE,WAAY;IACnB;IAAA,CACCQ,WAAW,CAAE,MAAM,EAAE,kBAAkB,EAAE,CACzCX,UAAU,EACV/G,UAAU,EACV;MACChE,OAAO,EAAE,MAAM;MACfwL,MAAM,EAAErH,SAAS;MACjBmH,QAAQ,EAAE,CAAC;IACZ,CAAC,CACA,CAAC;EAEN,CAAC,EACD,CACCnH,SAAS,EACT4G,UAAU,EACV/G,UAAU,EACVgH,gBAAgB,EAChB3G,OAAO,CAACG,WAAW,CAErB,CAAC;;EAED;EACAhB,6DAAS,CAAE,MAAM;IAChB,IAAK,CAAEwH,gBAAgB,EAAG;MACzB;IACD;IAEA,MAAMnG,YAAY,GAAG,MAAAA,CAAA,KAAY;MAChC,IAAI;QACH;QACA,IAAIC,MAAM,GAAG,iEAAkEd,UAAU,EAAG;;QAE5F;QACA,IAAKzD,KAAK,EAAG;UACZ,MAAMwE,UAAU,GAAGC,KAAK,CAACC,OAAO,CAAE1E,KAAM,CAAC,GACtCA,KAAK,GACL,CAAEA,KAAK,CAAE;UACZuE,MAAM,IAAI,YAAaC,UAAU,CAACG,IAAI,CAAE,GAAI,CAAC,EAAG;QACjD;;QAEA;QACA,IAAKf,SAAS,EAAG;UAChBW,MAAM,IAAI,MAAOX,SAAS,EAAG;QAC9B;QAEA,MAAMgB,QAAQ,GAAG,MAAMrB,sEAAc,CAGhCgB,MAAO,CAAC;;QAEb;QACA,MAAM6G,QAAQ,GACbtG,KAA4C,IAE5CA,KAAK,CAAC9D,GAAG,CAAI+D,IAAI,KAAQ;UACxBpE,EAAE,EAAEoE,IAAI,CAACpE,EAAE;UACX0K,KAAK,EAAE;YACNC,QAAQ,EAAEvG,IAAI,CAACV;UAChB;QACD,CAAC,CAAG,CAAC;QAEN,MAAMQ,UAAU,GAAGuG,QAAQ,CAAExG,QAAQ,CAACE,KAAM,CAAC;;QAE7C;QACA,IAAIE,WAA2B,GAAG,EAAE;QACpC,IAAKhF,KAAK,EAAG;UACZ,MAAMwE,UAAU,GAAGC,KAAK,CAACC,OAAO,CAAE1E,KAAM,CAAC,GACtCA,KAAK,GACL,CAAEA,KAAK,CAAE;UACZgF,WAAW,GAAGH,UAAU,CAACxE,MAAM,CAAI0E,IAAI,IACtCP,UAAU,CAACS,QAAQ,CAAEF,IAAI,CAACpE,EAAG,CAC9B,CAAC;QACF;QAEAoD,UAAU,CAAE;UACXC,OAAO,EAAEgB,WAAW;UACpBf,WAAW,EAAEY;QACd,CAAE,CAAC;MACJ,CAAC,CAAC,OAAQK,KAAK,EAAG;QACjB;QACAnB,UAAU,CAAE;UAAEC,OAAO,EAAE,EAAE;UAAEC,WAAW,EAAE;QAAG,CAAE,CAAC;MAC/C;IACD,CAAC;IAEDK,YAAY,CAAC,CAAC;EACf,CAAC,EAAE,CAAEmG,gBAAgB,EAAEzK,KAAK,EAAE4D,SAAS,EAAEH,UAAU,CAAG,CAAC;EAEvD,MAAM0B,cAAc,GAAKxE,EAAmB,IAAM;IACjD,MAAMyE,UAAU,GAAKC,IAA2B,IAAM;MACrD,IAAK,CAAEA,IAAI,EAAG;QACb,OAAO,IAAI;MACZ;MAEA,OAAOA,IAAI,CAACC,IAAI,CACbC,UAAU,IAAMA,UAAU,CAAC5E,EAAE,CAACsJ,QAAQ,CAAC,CAAC,KAAKtJ,EAAE,CAACsJ,QAAQ,CAAC,CAC5D,CAAC;IACF,CAAC;IAED,MAAMzE,KAAK,GAAGJ,UAAU,CAAEnB,WAAY,CAAC;IACvC,IAAKuB,KAAK,EAAG;MACZ,OAAOA,KAAK;IACb;IAEA,OAAOJ,UAAU,CAAEpB,OAAQ,CAAC;EAC7B,CAAC;EAED,MAAMrE,MAAM,GAAG,CAAE,MAAM;IACtB,IAAK,CAAEK,KAAK,EAAG;MACd,OAAO,EAAE;IACV;IAEA,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,GAC1D,CAAEA,KAAK,CAAE,GACTA,KAAK;EACT,CAAC,EAAG,CAAC;EAEL,MAAMyF,aAAa,GAAKC,KAAiC,IAAM;IAC9D,IAAK,OAAOA,KAAK,KAAK,QAAQ,EAAG;MAChC,OAAOA,KAAK,CAAC1F,KAAK;IACnB;IAEA,OAAO0F,KAAK;EACb,CAAC;EAED,oBACCnG,sDAAA;IAAKoG,SAAS,EAAC,yBAAyB;IAAA7F,QAAA,eACvCP,sDAAA,CAAC+D,sEAAiB;MACjB5B,KAAK,EACJA,KAAK,GACFA,KAAK,GACLyB,0DAAO;MACP;MACAD,qDAAE,CAAE,OAAO,EAAE,aAAc,CAAC,EAC5BO,UAAU,CACRmC,OAAO,CAAE,IAAI,EAAE,GAAI;MACpB;MAAA,CACCC,MAAM,CAAE,CAAE,CAAC,CACXC,WAAW,CAAC,CAAC,GACdrC,UAAU,CAACmC,OAAO,CAAE,IAAI,EAAE,GAAI,CAAC,CAACG,KAAK,CAAE,CAAE,CAC1C,CACH;MACDC,mBAAmB,EAAG,IAAM;MAC5BtC,QAAQ,EAAGA,QAAU;MACrBuC,WAAW,EAAG9C,0DAAO;MACpB;MACAD,qDAAE,CAAE,cAAc,EAAE,aAAc,CAAC,EACnCO,UAAU,CAACmC,OAAO,CAAE,IAAI,EAAE,GAAI,CAAC,CAACM,WAAW,CAAC,CAC7C,CAAG;MACHC,YAAY,EAAG,IAAM;MACrBnG,KAAK,EAAGL,MAAM,CAACqB,GAAG,CAAIsF,CAAC,IAAMA,CAAC,CAAC2D,QAAQ,CAAC,CAAE,CAAG;MAC7C7D,aAAa,EAAGhC,eAAiB;MACjC3C,QAAQ,EAAKqB,QAAQ,IAAM;QAC1BrB,QAAQ,CACPqB,QAAQ,CACN9B,GAAG,CAAIsF,CAAC,IAAMoC,QAAQ,CAAEjD,aAAa,CAAEa,CAAE,CAAC,EAAE,EAAG,CAAE,CAAC,CAClDjG,MAAM,CAAIiG,CAAC,IAAM,CAAEiF,KAAK,CAAEjF,CAAE,CAAE,CACjC,CAAC;MACF,CAAG;MACHC,WAAW,EAAKb,KAAK,IAAM;QAC1B,MAAMH,UAAU,GAAGJ,cAAc,CAAEM,aAAa,CAAEC,KAAM,CAAE,CAAC;QAE3D,IAAK,CAAEH,UAAU,EAAG;UACnB,OAAOE,aAAa,CAAEC,KAAM,CAAC;QAC9B;QAEA,OAAO,UAAU,KAAK8E,UAAU,GAC7BnH,wEAAc,CAAEkC,UAAU,CAAC8F,KAAK,EAAEC,QAAQ,IAAI,EAAG,CAAC,GAClD/F,UAAU,CAAC/C,IAAI,IAAI,EAAE;MACzB,CAAG;MACHgE,gBAAgB,EAAKzB,IAAI,IAAM;QAAA,IAAAyG,qBAAA;QAC9B,MAAMjG,UAAU,GAAGJ,cAAc,CAAEJ,IAAK,CAAC;QAEzC,IAAK,CAAEQ,UAAU,EAAG;UACnB,OAAOR,IAAI;QACZ;QACA,oBACCxF,sDAAA,CAAA4C,uDAAA;UAAArC,QAAA,EACG,UAAU,KAAK0K,UAAU,GACxBnH,wEAAc,CACd,EAAAmI,qBAAA,GAAEjG,UAAU,CAAC8F,KAAK,EAAEC,QAAQ,cAAAE,qBAAA,cAAAA,qBAAA,GAC3BjG,UAAU,CAAC8F,KAAK,EAAEI,GAAG,KACrB,EACD,CAAC,GACDlG,UAAU,CAAC/C,IAAI,IAAI;QAAE,CACvB,CAAC;MAEL,CAAG;MACHyB,WAAW,EACVA,WAAW,GACRA,WAAW,CAACjD,GAAG,CAAIyF,MAAM,IAAM;QAAA,IAAAiF,mBAAA;QAC/B,QAAAA,mBAAA,GAAOjF,MAAM,EAAE9F,EAAE,CAACsJ,QAAQ,CAAC,CAAC,cAAAyB,mBAAA,cAAAA,mBAAA,GAAI,KAAK;MACrC,CAAE,CAAC,GACH,EACH;MACDhF,QAAQ,EACPwE,WAAW,GACR;QACAvE,aAAa,EAAEzD,qDAAE,CAChB,YAAY,EACZ,aACD;MACA,CAAC,GACD9B;IACH,CACD;EAAC,CACE,CAAC;AAER,CAAC;AAED,iEAAeiG,iBAAiB,E;;;;;;;;;;;;;;;;;;AChXqB;AAAA;AAIrD,MAAMC,UAAU,GAAGA,CAAE;EACpBtH,KAAK;EACLyB,QAAQ;EACR,GAAGE;AAC6B,CAAC,KAAM;EACvC,MAAM6H,OAAO,GAAG7H,UAAU,CAAC6H,OAAO;EAElC,oBACCjK,sDAAA,CAACoM,+DAAY;IAAA,GACPhK,UAAU;IACfiK,QAAQ,EAAG5L,KAAK,EAAEiK,QAAQ,CAAC,CAAG;IAC9BT,OAAO,EAAGA,OAA+C;IACzD/H,QAAQ,EAAGA;IACX;IACAK,uBAAuB,EAAG;EAAM,CAChC,CAAC;AAEJ,CAAC;AAED,iEAAewF,UAAU,E;;;;;;;;;;;;;;;;;;ACvB4B;AAAA;AAGrD,MAAMC,gBAAgB,GAAGA,CAAE;EAC1BvH,KAAK;EACLyB,QAAQ;EACRqK,eAAe,GAAG,CAAC;EACnB,GAAGnK;AACmC,CAAC,KAAM;EAC7C,MAAM;IAAEoK;EAAK,CAAC,GAAGpK,UAAU;EAE3B,oBACCpC,sDAAA,CAACsM,+DAAYA;EACZ;EAAA;IACA7L,KAAK,EAAGA,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI8L,eAAiB;IAClCrK,QAAQ,EAAGA,CAAEqB,QAAQ,GAAG,CAAC,KAAMrB,QAAQ,CAAEqB,QAAS,CAAG;IACrDkJ,cAAc,EAAG,IAAM;IACvBlK,uBAAuB,EAAG,IAAM;IAChC+E,IAAI,EAAGkF,IAAI,GAAG,SAAS,GAAG3K;EAAW,CACrC,CAAC;AAEJ,CAAC;AAED,iEAAemG,gBAAgB,E;;;;;;;;;;;;;;;;;;;;ACvBuB;AAEV;AAAA;AAS5C;AACA;AACA;AACA;AACA;AACA;AACO,MAAM2E,YAAY,GACxB1C,OAAiC,IAEjCT,MAAM,CAACC,OAAO,CAAEQ,OAAQ,CAAC,CAAC2C,MAAM,CAAE,CAAEC,SAAS,EAAE,CAAEC,IAAI,EAAEC,MAAM,CAAE,KAAM;EACpE,IAAK,IAAI,KAAKF,SAAS,EAAG;IACzB,OAAOA,SAAS;EACjB;EAEA,OACC,OAAOC,IAAI,KAAK,QAAQ,IACxB,EAAI3D,QAAQ,CAAE2D,IAAK,CAAC,IAAI,CAAC,CAAE,IAC3B,OAAOC,MAAM,KAAK,QAAQ;AAE5B,CAAC,EAAE,KAAM,CAAC;AAIX,MAAMC,OAAO,GAAGA,CAAE;EAAE/C;AAAsB,CAAC,kBAC1CjK,sDAAA,CAAA4C,uDAAA;EAAArC,QAAA,EACGyJ,yDAAiB,CAAEC,OAAQ,CAAC,CAACxI,GAAG,CAAE,CAAE;IAAEU,KAAK;IAAE1B;EAAM,CAAC,kBACrDT,sDAAA;IAAsBS,KAAK,EAAGA,KAAO;IAAAF,QAAA,EAClC4B;EAAK,GADM1B,KAEN,CACP;AAAC,CACF,CACF;AAED,MAAMwM,SAAS,GAAGA,CAAE;EAAEC;AAAwC,CAAC,kBAC9DlN,sDAAA,CAAA4C,uDAAA;EAAArC,QAAA,EACGiJ,MAAM,CAACC,OAAO,CAAEyD,SAAU,CAAC,CAACzL,GAAG,CAAE,CAAE,CAAEU,KAAK,EAAE8H,OAAO,CAAE,kBACtDjK,sDAAA;IAAwBmC,KAAK,EAAGA,KAAO;IAAA5B,QAAA,eACtCP,sDAAA,CAACgN,OAAO;MAAC/C,OAAO,EAAGA;IAAS,CAAE;EAAC,GADhB9H,KAEN,CACT;AAAC,CACF,CACF;AAED,MAAM8F,WAAW,GAAGA,CAAE;EACrBxH,KAAK;EACLyB,QAAQ;EACR,GAAGE;AAGmC,CAAC,KAAM;EAAA,IAAA+K,mBAAA;EAC7C,MAAM;IAAEhJ,QAAQ,GAAG;EAAM,CAAC,GAAG/B,UAAU;EAEvC,MAAM6H,OAAO,IAAAkD,mBAAA,GAAG/K,UAAU,CAAC6H,OAAO,cAAAkD,mBAAA,cAAAA,mBAAA,GAAI,CAAC,CAAC;EAExC;IAAA;IACC;IACAnN,sDAAA,CAAC0M,gEAAa;MAAA,GACRtK,UAAU;MACf+B,QAAQ,EAAGA,QAAU;MACrB1D,KAAK;MACJ;MACA0D,QAAQ,IAAI,OAAO1D,KAAK,KAAK,QAAQ,GAClCA,KAAK,CAAC2M,KAAK,CAAE,GAAI,CAAC,GAClB3M,KACH;MACDyB,QAAQ,EAAGA,QAAU;MACrB2I,qBAAqB;MACrBtI,uBAAuB;MAAAhC,QAAA,EAErBoM,YAAY,CAAE1C,OAAQ,CAAC,gBACxBjK,sDAAA,CAACiN,SAAS;QAACC,SAAS,EAAGjD;MAAS,CAAE,CAAC,gBAEnCjK,sDAAA,CAACgN,OAAO;QAAC/C,OAAO,EAAGA;MAAS,CAAE;IAC9B,CACa;EAAC;AAElB,CAAC;AAED,iEAAehC,WAAW,E;;;;;;;;;;;;;;;;;;ACzF0B;AAAA;AAIpD,MAAME,SAAS,GAAGA,CAAE;EACnBb,IAAI;EACJ7G,KAAK;EACLyB,QAAQ;EACR,GAAGE;AAC+D,CAAC,KAAM;EACzE;IAAA;IACC;IACApC,sDAAA,CAACqN,8DAAW;MAAA,GACNjL,UAAU;MACfkF,IAAI,EAAGA,IAAI,KAAK,QAAQ,GAAGA,IAAI,GAAGzF,SAAW;MAC7CpB,KAAK,EAAGA,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAI;MACrByB,QAAQ,EAAGA;MACX;MACA2I,qBAAqB;MACrBtI,uBAAuB;IAAA,CACvB;EAAC;AAEJ,CAAC;AAED,iEAAe4F,SAAS,E;;;;;;;;;;;;;;;;;;ACxBgC;AAAA;AAIxD,MAAMD,aAAa,GAAGA,CAAE;EACvBzH,KAAK;EACLyB,QAAQ;EACRqL,IAAI,GAAG,CAAC;EACR,GAAGnL;AACgC,CAAC,KAAM;EAC1C,oBACCpC,sDAAA,CAACsN,kEAAe;IAAA,GACVlL,UAAU;IACf3B,KAAK,EAAGA,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAI;IACrByB,QAAQ,EAAGA,QAAU;IACrBqL,IAAI,EAAGA,IAAM;IACbhL,uBAAuB;EAAA,CACvB,CAAC;AAEJ,CAAC;AAED,iEAAe2F,aAAa,E;;;;;;;;;;;;;;;;;;;;;;ACrBW;AACO;AACc;AAAA;AAI5D,MAAME,gBAAgB,GAAGA,CAAE;EAC1BjG,KAAK;EACL1B,KAAK;EACLyB,QAAQ;EACRiC,QAAQ,GAAG,KAAK;EAChBuC,WAAW,GAAG/C,qDAAE,CAAE,QAAQ,EAAE,aAAc,CAAC;EAC3CsG,OAAO,GAAG,CAAC;AAC2B,CAAC,KAAM;EAC7C,MAAM,CAAEuD,SAAS,EAAEC,YAAY,CAAE,GAAGhK,4DAAQ,CAAE,EAAG,CAAC;EAElD,MAAMrD,MAAM,GAAG,CAAE,MAAM;IACtB,IAAK,CAAEK,KAAK,EAAG;MACd,OAAO,EAAE;IACV;IAEA,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,GAC1D,CAAEA,KAAK,CAAE,GACTA,KAAK;EACT,CAAC,EAAG,CAAC;EAEL,MAAMiE,WAAW,GAAG8E,MAAM,CAACkE,IAAI,CAAEzD,OAAQ,CAAC,CAACnJ,MAAM,CAAI6M,GAAG,IAAM;IAC7D,IAAK,CAAEH,SAAS,EAAG;MAClB,OAAO,IAAI;IACZ;IAEA,IAAK,OAAOvD,OAAO,CAAE0D,GAAG,CAAE,KAAK,QAAQ,EAAG;MACzC,OAAO1D,OAAO,CAAE0D,GAAG,CAAE,CACnBhH,WAAW,CAAC,CAAC,CACbjB,QAAQ,CAAE8H,SAAS,CAAC7G,WAAW,CAAC,CAAE,CAAC;IACtC;IAEA,OAAO,KAAK;EACb,CAAE,CAAC;EAEH,MAAMiH,YAAY,GAAKC,WAAuC,IAAM;IAAA,IAAAC,YAAA;IACnE,MAAMrD,GAAG,GACR,OAAOoD,WAAW,KAAK,QAAQ,GAAGA,WAAW,CAACpN,KAAK,GAAGoN,WAAW;IAElE,MAAME,WAAW,IAAAD,YAAA,GAAG7D,OAAO,CAAEQ,GAAG,CAAE,cAAAqD,YAAA,cAAAA,YAAA,GAAI,IAAI;IAE1C,IAAK,CAAEC,WAAW,EAAG;MACpB,OAAOtD,GAAG;IACX;IACA,OAAOsD,WAAW;EACnB,CAAC;EAED,oBACC/N,sDAAA;IAAKoG,SAAS,EAAC,wBAAwB;IAAA7F,QAAA,eACtCP,sDAAA,CAAC+D,sEAAiB;MACjB5B,KAAK,EAAGA,KAAO;MACfsE,mBAAmB,EAAG,IAAM;MAC5BtC,QAAQ,EAAGA,QAAU;MACrBuC,WAAW,EAAGA,WAAa;MAC3BjG,KAAK,EAAGL,MAAM,CAACqB,GAAG,CAAIsF,CAAC,IAAMA,CAAC,CAAC2D,QAAQ,CAAC,CAAE,CAAG;MAC7C7D,aAAa,EAAG4G,YAAc;MAC9BvL,QAAQ,EAAKqB,QAAQ,IAAMrB,QAAQ,CAAEqB,QAAS,CAAG;MACjDyD,WAAW,EAAG4G,YAAc;MAC5B3G,gBAAgB,EAAG2G,YAAc;MACjClJ,WAAW,EAAGA;IAAa,CAC3B;EAAC,CACE,CAAC;AAER,CAAC;AAED,iEAAe0D,gBAAgB,E;;;;;;;;;;;;;;;;;;;;;;;;ACtEK;AAEM;AAEgB;AAAA;AAW1D;AACA;AACA;AACO,MAAM8F,gBAAgB,GAAG;EAC/B9M,EAAE,EAAE,EAAE;EACN+M,SAAS,EAAE,EAAE;EACblL,IAAI,EAAE,EAAE;EACRd,KAAK,EAAE,EAAE;EACTuE,WAAW,EAAE,EAAE;EACf0H,IAAI,EAAE,IAAI;EACVC,YAAY,EAAE,IAAI;EAClB1F,OAAO,EAAE,EAAE;EACX2F,IAAI,EAAE,SAAS;EACfC,OAAO,EAAE,EAAE;EACXC,YAAY,EAAE,EAAE;EAChB/N,KAAK,EAAE,IAAI;EACXgO,OAAO,EAAE,KAAK;EACdC,UAAU,EAAE,KAAK;EACjBvK,QAAQ,EAAE,KAAK;EACfwK,QAAQ,EAAE,KAAK;EACf1E,OAAO,EAAE,EAAE;EACX2E,WAAW,EAAE,IAAI;EACjBC,UAAU,EAAE,IAAI;EAChBC,SAAS,EAAE,IAAI;EACfC,QAAQ,EAAE,IAAI;EACdC,GAAG,EAAE,IAAI;EACTC,GAAG,EAAE,CAAC;EACNC,GAAG,EAAE,EAAE;EACP1C,IAAI,EAAE,CAAC;EACPlD,IAAI,EAAE,IAAI;EACVN,KAAK,EAAE,CAAC,CAAC;EACTmG,QAAQ,EAAE,KAAK;EACfC,aAAa,EAAE,QAAQ;EACvBC,IAAI,EAAE,CAAC;AACR,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,mBAAmB,GAC/BC,IAAmB,IACS;EAAA,IAAAC,IAAA,EAAAC,QAAA,EAAAC,WAAA,EAAAC,qBAAA,EAAAC,aAAA,EAAAC,WAAA,EAAAC,cAAA,EAAAC,iBAAA;EAC5B,MAAM3N,UAAU,GAAG;IAClB;IACAkF,IAAI,EAAE,SAAS,KAAKiI,IAAI,CAACjI,IAAI,GAAGiI,IAAI,CAACjI,IAAI,GAAG,QAAQ;IACpD;IACA5H,OAAO,EAAE6P,IAAI,CAACP,GAAG;IACjB5N,EAAE,GAAAoO,IAAA,IAAAC,QAAA,GAAEF,IAAI,CAACnO,EAAE,cAAAqO,QAAA,cAAAA,QAAA,GAAIF,IAAI,CAACtM,IAAI,cAAAuM,IAAA,cAAAA,IAAA,GAAI,EAAE;IAC9B;IACA,GAAGvB,wDAAI,CACNsB,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,OAAO,EACP,UAAU,EACV,cACD;EACD,CAAsB;;EAEtB;EACA,MAAMhB,OAAiB,GAAG,EAAE;EAE5B,IAAK,OAAOgB,IAAI,CAAChB,OAAO,KAAK,WAAW,EAAG;IAC1C,IAAK,QAAQ,KAAK,OAAOgB,IAAI,CAAChB,OAAO,EAAG;MACvCA,OAAO,CAACyB,IAAI,CAAE,GAAGT,IAAI,CAAChB,OAAO,CAACnB,KAAK,CAAE,GAAI,CAAE,CAAC;IAC7C,CAAC,MAAM,IAAKlI,KAAK,CAACC,OAAO,CAAEoK,IAAI,CAAChB,OAAQ,CAAC,EAAG;MAC3CA,OAAO,CAACyB,IAAI,CAAE,GAAGT,IAAI,CAAChB,OAAQ,CAAC;IAChC;EACD;EAEA,IAAK,OAAOgB,IAAI,CAACU,KAAK,KAAK,WAAW,EAAG;IACxC1B,OAAO,CAACyB,IAAI,CAAET,IAAI,CAACU,KAAM,CAAC;EAC3B;;EAEA;EACA7N,UAAU,CAACgE,SAAS,GAAG4H,iDAAU,CAAEO,OAAQ,CAAC;;EAE5C;EACA,IAAKgB,IAAI,CAAClB,YAAY,EAAG;IACxBjM,UAAU,CAAC8N,IAAI,gBAAGlQ,sDAAA,CAAA4C,uDAAA;MAAArC,QAAA,EAAIgP,IAAI,CAAClB;IAAY,CAAI,CAAC;EAC7C,CAAC,MAAM,IAAKkB,IAAI,CAACnB,IAAI,EAAG;IACvBhM,UAAU,CAAC8N,IAAI,GAAGX,IAAI,CAACnB,IAAI;EAC5B;;EAEA;;EAEA;EACA,QAAShM,UAAU,CAACkF,IAAI;IACvB,KAAK,UAAU;MACd,OAAOlF,UAAU;IAElB,KAAK,OAAO;MACX,OAAO;QACN,GAAGA,UAAU;QACb1C,OAAO,GAAAgQ,WAAA,GAAEH,IAAI,CAAC9O,KAAK,cAAAiP,WAAA,cAAAA,WAAA,GAAI;MACxB,CAAC;IAEF,KAAK,QAAQ;MACZ,OAAOtN,UAAU;IAElB,KAAK,MAAM;MACV,OAAOA,UAAU;IAElB,KAAK,aAAa;MACjB,OAAOA,UAAU;IAElB,KAAK,cAAc;MAClB;MACA,OAAO;QACN,GAAGA,UAAU;QACb8B,UAAU,GAAAyL,qBAAA,GAAEvN,UAAU,CAAC8B,UAAU,cAAAyL,qBAAA,cAAAA,qBAAA,GAAI;MACtC,CAAC;IAEF,KAAK,MAAM;IACX,KAAK,OAAO;IACZ,KAAK,KAAK;IACV,KAAK,UAAU;IACf;MACC,OAAO;QACN,GAAGvN,UAAU;QACb,IAAKA,UAAU,CAACkF,IAAI,KAAKiI,IAAI,CAACjI,IAAI,IAAI;UACrCgH,IAAI,EAAEiB,IAAI,EAAEjB,IAAI;UAChB5H,WAAW,EAAE6I,IAAI,EAAE7I;QACpB,CAAC;MACF,CAAC;IAEF,KAAK,OAAO;IACZ,KAAK,YAAY;MAChB,OAAO;QACN,GAAGtE,UAAU;QACb6H,OAAO,EAAE,EAAE;QACX,IAAK7H,UAAU,CAACkF,IAAI,KAAKiI,IAAI,CAACjI,IAAI,IAAI;UACrC2C,OAAO,GAAA2F,aAAA,GAAEL,IAAI,CAACtF,OAAO,cAAA2F,aAAA,cAAAA,aAAA,GAAI;QAC1B,CAAC;MACF,CAAC;IAEF,KAAK,QAAQ;IACb,KAAK,aAAa;MACjB,IAAKxN,UAAU,CAACkF,IAAI,KAAKiI,IAAI,CAACjI,IAAI,IAAI,SAAS,KAAKiI,IAAI,CAACjI,IAAI,EAAG;QAAA,IAAA6I,cAAA;QAC/D;QACA/N,UAAU,CAAC6H,OAAO,GAAGD,iBAAiB,EAAAmG,cAAA,GAAEZ,IAAI,CAACtF,OAAO,cAAAkG,cAAA,cAAAA,cAAA,GAAI,EAAG,CAAC;QAC5D/N,UAAU,CAACgO,UAAU,GAAG,SAAS,KAAKb,IAAI,CAACjI,IAAI;QAC/ClF,UAAU,CAAC+B,QAAQ,GAClB/B,UAAU,CAACkF,IAAI,KAAK,aAAa,IAAIiI,IAAI,CAACpL,QAAQ;MACpD;MAEA,OAAO;QACN8F,OAAO,EAAE,EAAE;QACX,GAAG7H;MACJ,CAAC;IAEF,KAAK,aAAa;MACjB,OAAO;QACN3B,KAAK,EAAE,EAAE;QACTwJ,OAAO,EAAE,CAAC,CAAC;QACX,GAAG7H;MACJ,CAAC;IAEF,KAAK,QAAQ;IACb,KAAK,aAAa;MACjB,OAAO;QACN,GAAGA,UAAU;QACb,IAAKA,UAAU,CAACkF,IAAI,KAAKiI,IAAI,CAACjI,IAAI,IAAI;UACrCgH,IAAI,EAAEiB,IAAI,EAAEjB,IAAI;UAChB5H,WAAW,EAAE6I,IAAI,EAAE7I,WAAW;UAC9BuI,GAAG,EAAEM,IAAI,EAAEN,GAAG;UACdC,GAAG,EAAEK,IAAI,EAAEL,GAAG;UACd1C,IAAI,EAAE+C,IAAI,EAAE/C;QACb,CAAC;MACF,CAAC;IAEF,KAAK,SAAS;MACb,OAAO;QACN,GAAGpK,UAAU;QACb4G,KAAK,EAAE,CAAC,CAAC;QACT,IAAK5G,UAAU,CAACkF,IAAI,KAAKiI,IAAI,CAACjI,IAAI,IAAI;UACrC;UACAgH,IAAI,EAAEiB,IAAI,EAAEjB,IAAI;UAChB5H,WAAW,EAAE6I,IAAI,EAAE7I,WAAW;UAC9BuI,GAAG,EAAEM,IAAI,EAAEN,GAAG;UACdC,GAAG,EAAEK,IAAI,EAAEL,GAAG;UACd1C,IAAI,EAAE+C,IAAI,EAAE/C,IAAI;UAChB;UACAxD,KAAK,GAAA6G,WAAA,GAAEN,IAAI,EAAEvG,KAAK,cAAA6G,WAAA,cAAAA,WAAA,GAAI,CAAC;QACxB,CAAC;MACF,CAAC;IAEF,KAAK,cAAc;IACnB,KAAK,YAAY;IACjB,KAAK,gBAAgB;IACrB,KAAK,YAAY;MAChBzN,UAAU,CAACkF,IAAI,GAAG,cAAc;MAChC;MACAlF,UAAU,CAAC+B,QAAQ,IAAA2L,cAAA,GAAGP,IAAI,EAAEpL,QAAQ,cAAA2L,cAAA,cAAAA,cAAA,GAAI,KAAK;MAC7C;MACA1N,UAAU,CAACsE,WAAW,IAAAqJ,iBAAA,GAAGR,IAAI,EAAE7I,WAAW,cAAAqJ,iBAAA,cAAAA,iBAAA,GAAI,EAAE;MAEhD,IAAKR,IAAI,CAACjI,IAAI,KAAK,YAAY,EAAG;QAAA,IAAA+I,eAAA;QACjC,OAAO;UACN,GAAGjO,UAAU;UACb6I,UAAU,EAAE,UAAU;UACtB/G,UAAU,GAAAmM,eAAA,GAAEd,IAAI,EAAET,SAAS,cAAAuB,eAAA,cAAAA,eAAA,GAAI;QAChC,CAAC;MACF,CAAC,MAAM,IAAKd,IAAI,CAACjI,IAAI,KAAK,gBAAgB,EAAG;QAAA,IAAAgJ,cAAA;QAC5C,OAAO;UACN,GAAGlO,UAAU;UACb6I,UAAU,EAAE,UAAU;UACtB/G,UAAU,GAAAoM,cAAA,GAAEf,IAAI,EAAER,QAAQ,cAAAuB,cAAA,cAAAA,cAAA,GAAI;QAC/B,CAAC;MACF,CAAC,MAAM,IAAKf,IAAI,CAACjI,IAAI,KAAK,YAAY,EAAG;QACxC,OAAO;UACN,GAAGlF,UAAU;UACb6I,UAAU,EAAE,MAAM;UAClB/G,UAAU,EAAE;QACb,CAAC;MACF;MAEA,OAAO;QACN,GAAG9B,UAAU;QACb6I,UAAU,EAAE,UAAU;QACtB/G,UAAU,EAAE;MACb,CAAC;IAEF,KAAK,UAAU;MACd,OAAO;QACN,GAAG9B,UAAU;QACb,IAAKA,UAAU,CAACkF,IAAI,KAAKiI,IAAI,CAACjI,IAAI,IAAI;UACrCiJ,SAAS,EAAEhB,IAAI,EAAEb;QAClB,CAAC;MACF,CAAC;EACH;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,MAAM1E,iBAAiB,GAC7BC,OAAmC,IACtB;EACb,IAAK,OAAOA,OAAO,KAAK,QAAQ,EAAG;IAClC;IACA,OAAOA,OAAO,CACZmD,KAAK,CAAE,GAAI,CAAC,CACZ3L,GAAG,CAAIyF,MAAM,KAAQ;MAAE/E,KAAK,EAAE+E,MAAM;MAAEzG,KAAK,EAAEyG;IAAO,CAAC,CAAG,CAAC;EAC5D,CAAC,MAAM,IAAK,CAAEhC,KAAK,CAACC,OAAO,CAAE8E,OAAQ,CAAC,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAG;IACvE;IACA,OAAOT,MAAM,CAACC,OAAO,CAAEQ,OAAQ,CAAC,CAACxI,GAAG,CAAE,CAAE,CAAEhB,KAAK,EAAE0B,KAAK,CAAE,MAAQ;MAC/DA,KAAK;MACL1B;IACD,CAAC,CAAG,CAAC;EACN;EAEA,OAAOwJ,OAAO,CAACxI,GAAG,CAAIyF,MAAuB,IAC5C,OAAOA,MAAM,KAAK,QAAQ,GACvB;EACA;IACA/E,KAAK,EAAE+E,MAAM;IACbzG,KAAK,EAAEyG;EACP,CAAC,GACD;EACAA,MACJ,CAAC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMsJ,eAAe,GAAGA,CAC9B/P,KAAU,EACV2B,UAAa,KACK;EAClB,IAAIqO,WAAgB,GAAGhQ,KAAK;EAE5B,MAAM;IAAE6G,IAAI;IAAE5H,OAAO,EAAEsP;EAAI,CAAC,GAAG5M,UAAU;EAEzC,IAAK4M,GAAG,KAAKnN,SAAS,IAAIyF,IAAI,KAAK,UAAU,IAAImJ,WAAW,KAAK,IAAI,EAAG;IACvEA,WAAW,GAAGzB,GAAG;EAClB;EAEA,QAAS5M,UAAU,CAACkF,IAAI;IACvB,KAAK,UAAU;MACd,QAAS,OAAOmJ,WAAW;QAC1B,KAAK,QAAQ;UACZ,IAAKvL,KAAK,CAACC,OAAO,CAAEsL,WAAY,CAAC,EAAG;YACnCA,WAAW,GACVA,WAAW,CAAC5G,MAAM,KAAK,CAAC,IACxB4G,WAAW,CAAE,CAAC,CAAE,CAAC/F,QAAQ,CAAC,CAAC,KAAK,GAAG;UACrC;UACA;QACD,KAAK,QAAQ;UACZ,IACC,CAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAE,CAACH,OAAO,CACtCkG,WACD,CAAC,IAAI,CAAC,IACNtH,QAAQ,CAAEsH,WAAW,EAAE,EAAG,CAAC,GAAG,CAAC,EAC9B;YACDA,WAAW,GAAG,IAAI;UACnB,CAAC,MAAM;YACNA,WAAW,GAAG,KAAK;UACpB;UACA;QAED,KAAK,QAAQ;UACZ,IAAKA,WAAW,GAAG,CAAC,EAAG;YACtBA,WAAW,GAAG,IAAI;UACnB;UACA;MACF;MACA;IAED,KAAK,QAAQ;MACZ,IAAK,OAAOA,WAAW,KAAK,QAAQ,EAAG;QACtCA,WAAW,GACVA,WAAW,CAAClG,OAAO,CAAE,GAAI,CAAC,GAAG,CAAC,GAC3BmG,UAAU,CAAED,WAAY,CAAC,GACzBtH,QAAQ,CAAEsH,WAAY,CAAC;MAC5B;MACA;IAED,KAAK,YAAY;MAChB,IACC,OAAOA,WAAW,KAAK,QAAQ,IAC/BA,WAAW,CAAClG,OAAO,CAAE,GAAI,CAAC,EACzB;QACDkG,WAAW,GAAGA,WAAW,CAACrD,KAAK,CAAE,GAAI,CAAC;MACvC;MACA;IAED,KAAK,aAAa;MACjBqD,WAAW,GAAG;QACbE,GAAG,EAAE,EAAE;QACPC,OAAO,EAAE,CAAC,CAAC;QACXzJ,QAAQ,EAAE,EAAE;QACZ0J,MAAM,EAAE,OAAO;QACfC,OAAO,EAAE,KAAK;QACdvC,OAAO,EAAE,KAAK;QACd,GAAGkC;MACJ,CAAC;MAED;IAED,KAAK,UAAU;MACd,IAAKrO,UAAU,CAACmO,SAAS,EAAG;QAC3B;QACAE,WAAW,GAAG3M,wEAAc,CAAE2M,WAAY,CAAC;MAC5C;EACF;EAEA,OAAOA,WAAW;AACnB,CAAC;AAOM,SAASM,cAAcA,CAAEvI,KAAU,EAAY;EACrD;EACA;EACA,MAAMwI,IAAI,GAAG;IAAE,GAAGxI;EAAM,CAAC;EAEzB,IACCwI,IAAI,IACJ,OAAOA,IAAI,KAAK,QAAQ;EACxB;EACE,OAAOA,IAAI,EAAEhC,GAAG,KAAK,WAAW,IACjC,OAAOgC,IAAI,EAAEC,UAAU,KAAK,WAAW,IACrC,OAAOD,IAAI,EAAE1J,IAAI,KAAK,WAAW,IAClC0J,IAAI,EAAE1J,IAAI,KAAK,YAAc,IAC9B,OAAO0J,IAAI,EAAEjC,QAAQ,KAAK,WAAW,IACrC,OAAOiC,IAAI,EAAElC,SAAS,KAAK,WAAW,CAAE,EACxC;IACD,OAAO,IAAI;EACZ;EAEA,OAAO,KAAK;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMzG,eAAe,GAC3BG,KAAiC,IACjB;EAAA,IAAA0I,mBAAA,EAAAC,sBAAA,EAAAhE,mBAAA,EAAAiE,oBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,iBAAA,EAAAC,oBAAA;EAChB,IAAIpP,UAAkC;;EAEtC;AACD;AACA;AACA;EACC,IAAK2O,cAAc,CAAEvI,KAAM,CAAC,EAAG;IAC9BpG,UAAU,GAAGkN,mBAAmB,CAAE9G,KAAuB,CAAC;EAC3D,CAAC,MAAM;IACNpG,UAAU,GAAGoG,KAAmB;EACjC;;EAEA;EACA,QAASpG,UAAU,CAACkF,IAAI;IACvB,KAAK,MAAM;MACV,OAAO;QACN,GAAGlF,UAAU;QACbuG,OAAO,GAAAuI,mBAAA,GAAE9O,UAAU,CAACuG,OAAO,cAAAuI,mBAAA,cAAAA,mBAAA,GAAI;MAChC,CAAC;IAEF,KAAK,UAAU;MACd,OAAO;QACN,GAAG9O;MACJ,CAAC;IACF,KAAK,OAAO;MACX,OAAO;QACN,GAAGA;MACJ,CAAC;IACF,KAAK,cAAc;MAClB,OAAO;QACN,GAAGA,UAAU;QACb8B,UAAU,GAAAiN,sBAAA,GAAE/O,UAAU,CAAC8B,UAAU,cAAAiN,sBAAA,cAAAA,sBAAA,GAAI;MACtC,CAAC;IACF,KAAK,YAAY;MAChB,OAAO;QACN,GAAG/O,UAAU;QACb6H,OAAO,GAAAkD,mBAAA,GAAE/K,UAAU,CAAC6H,OAAO,cAAAkD,mBAAA,cAAAA,mBAAA,GAAI;MAChC,CAAC;IACF,KAAK,QAAQ;MACZ,OAAO;QACN,GAAG/K,UAAU;QACb6H,OAAO,GAAAmH,oBAAA,GAAEhP,UAAU,CAAC6H,OAAO,cAAAmH,oBAAA,cAAAA,oBAAA,GAAI;MAChC,CAAC;IACF,KAAK,aAAa;MACjB,OAAO;QACN,GAAGhP,UAAU;QACb6H,OAAO,GAAAoH,oBAAA,GAAEjP,UAAU,CAAC6H,OAAO,cAAAoH,oBAAA,cAAAA,oBAAA,GAAI,EAAE;QACjClN,QAAQ,EAAE;MACX,CAAC;IACF,KAAK,cAAc;IACnB,KAAK,YAAY;IACjB,KAAK,gBAAgB;IACrB,KAAK,YAAY;MAChB,OAAO;QACN,GAAG/B,UAAU;QACb6I,UAAU,GAAAqG,qBAAA,GAAElP,UAAU,CAAC6I,UAAU,cAAAqG,qBAAA,cAAAA,qBAAA,GAAI;MACtC,CAAC;IAEF,KAAK,aAAa;MACjB,OAAO;QACN,GAAGlP,UAAU;QACb3B,KAAK,GAAA8Q,iBAAA,GAAEnP,UAAU,CAAC3B,KAAK,cAAA8Q,iBAAA,cAAAA,iBAAA,GAAI,EAAE;QAC7BtH,OAAO,GAAAuH,oBAAA,GAAEpP,UAAU,CAAC6H,OAAO,cAAAuH,oBAAA,cAAAA,oBAAA,GAAI;MAChC,CAAC;IAEF,KAAK,OAAO;MACX,OAAO;QACN,GAAGpP;MACJ,CAAC;IACF,KAAK,aAAa;MACjB,OAAO;QACN,GAAGA;MACJ,CAAC;IACF,KAAK,QAAQ;MACZ,OAAO;QACN,GAAGA;MACJ,CAAC;IACF;IACA,KAAK,OAAO;IACZ,KAAK,KAAK;IACV,KAAK,QAAQ;IACb,KAAK,MAAM;IACX,KAAK,UAAU;MACd,OAAO;QACN,GAAGA;MACJ,CAAC;IAEF,KAAK,aAAa;MACjB,OAAO;QACN,GAAGA;MACJ,CAAC;IAEF,KAAK,SAAS;MACb,OAAO;QACN,GAAGA;MACJ,CAAC;IAEF,KAAK,UAAU;MACd,OAAO;QACN,GAAGA;MACJ,CAAC;EACH;AACD,CAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AIngBwB;AACE;AACD;;;;;;;;;;;;;;;;;;;;;;;AEF1B,oD;;;;;;;;;;;ACAA,kD;;;;;;;;;;;ACAA,8C;;;;;;;;;;;ACAA,+C;;;;;;;;;;;ACAA,4C;;;;;;;;;;;ACAA,yC;;;;;;;;;;;ACAA,0C;;;;;;;;;;;ACAA,sC;;;;;;;;;;;ACAA,yC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,8C;;;;;;;;;;;ACAA,2C;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA,E;;;;;WCPA,wF;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNsB;AACE","sources":["webpack://popup-maker/core/./node_modules/classnames/index.js?","webpack://popup-maker/core/./packages/fields/src/hooks/index.tsx?","webpack://popup-maker/core/./packages/fields/src/hooks/use-fields.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/checkbox.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/color.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/custom-select.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/date.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/field.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/fields.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/html.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/index.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/measure.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/multicheck.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/number.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/object-select.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/radio.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/rangeslider.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/select.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/text.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/textarea.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/token-select.tsx?","webpack://popup-maker/core/./packages/fields/src/lib/utils.tsx?","webpack://popup-maker/core/./packages/fields/src/types/fields.ts?","webpack://popup-maker/core/./packages/fields/src/types/general.ts?","webpack://popup-maker/core/./packages/fields/src/types/generics.ts?","webpack://popup-maker/core/./packages/fields/src/types/index.ts?","webpack://popup-maker/core/./packages/fields/src/types/old-field.ts?","webpack://popup-maker/core/external window [\"popupMaker\",\"components\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"coreData\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"i18n\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"utils\"]?","webpack://popup-maker/core/external window [\"wp\",\"components\"]?","webpack://popup-maker/core/external window [\"wp\",\"compose\"]?","webpack://popup-maker/core/external window [\"wp\",\"coreData\"]?","webpack://popup-maker/core/external window [\"wp\",\"data\"]?","webpack://popup-maker/core/external window [\"wp\",\"element\"]?","webpack://popup-maker/core/external window [\"wp\",\"hooks\"]?","webpack://popup-maker/core/external window [\"wp\",\"htmlEntities\"]?","webpack://popup-maker/core/external window \"ReactJSXRuntime\"?","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/compat get default export?","webpack://popup-maker/core/webpack/runtime/define property getters?","webpack://popup-maker/core/webpack/runtime/hasOwnProperty shorthand?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/fields/src/index.tsx?"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export { default as useFields } from './use-fields';\nexport * from './use-fields';\n","import { applyFilters } from '@wordpress/hooks';\nimport { createContext, useContext } from '@wordpress/element';\n\nexport interface BaseFieldDef {\n\tcomponent: JSX.Element;\n\tid: string | number;\n\tpriority: number;\n\t// Optional grouping of fields\n\ttab?: string;\n\tsection?: string;\n\tpanel?: string;\n}\n\nexport interface BaseFieldValues {\n\t[ key: string ]: any;\n}\n\nexport interface FieldDef extends BaseFieldDef {}\nexport interface FieldValues extends BaseFieldValues {}\n\nexport interface FieldsContextType<\n\tF extends FieldDef = BaseFieldDef,\n\tV extends FieldValues = BaseFieldValues,\n\tK extends keyof V = keyof V,\n> {\n\tcontext: string;\n\tfields?: F[];\n\tvalues: Record< K, V[ K ] >;\n\tsetValues: ( values: Record< K, V[ K ] > ) => void;\n}\n\nexport const FieldsContext = createContext< FieldsContextType >( {\n\tcontext: '',\n\tfields: [],\n\tvalues: {} as Record< string, any >,\n\tsetValues: () => {},\n} );\n\nexport const FieldContextProvider = <\n\tT extends FieldsContextType = FieldsContextType,\n>( {\n\tcontext,\n\tfields,\n\tvalues,\n\tsetValues,\n\tchildren,\n}: T & {\n\tchildren: React.ReactNode;\n} ) => {\n\treturn (\n\t\t<FieldsContext.Provider\n\t\t\tvalue={ { context, fields, values, setValues } }\n\t\t>\n\t\t\t{ children }\n\t\t</FieldsContext.Provider>\n\t);\n};\n\ntype FieldFilters = {\n\ttab?: string;\n\tsection?: string;\n\tpanel?: string;\n\tvisible?: boolean;\n};\n\nexport const useFields = <\n\tF extends BaseFieldDef = FieldDef,\n\tV extends BaseFieldValues = FieldValues,\n>(): FieldsContextType & {\n\tgetFields: ( filters?: FieldFilters ) => F[];\n\tupdateField: ( field: string, value: any ) => void;\n\tfieldIsVisible: ( field: string ) => boolean;\n} => {\n\tconst {\n\t\tcontext,\n\t\tfields = [],\n\t\tvalues,\n\t\tsetValues,\n\t} = useContext( FieldsContext );\n\n\tconst getFields = (\n\t\tfilters: FieldFilters = {\n\t\t\tvisible: true,\n\t\t}\n\t) => {\n\t\tconst _fields = ( fields ?? [] )\n\t\t\t.filter( ( field ) => {\n\t\t\t\tif ( filters?.tab && field.tab !== filters.tab ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif ( filters?.section && field.section !== filters.section ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif ( filters?.panel && field.panel !== filters.panel ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif ( filters?.visible && ! fieldIsVisible( field.id ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t} )\n\t\t\t.sort( ( a, b ) => a.priority - b.priority )\n\t\t\t.map( ( field ) => {\n\t\t\t\t/**\n\t\t\t\t * Allow external overrides via a filter with null default.\n\t\t\t\t *\n\t\t\t\t * @param {JSX.Element} component The current field component.\n\t\t\t\t * @param {string} id The field name.\n\t\t\t\t * @param {FieldDef} field The current tab name.\n\t\t\t\t *\n\t\t\t\t * @return {JSX.Element} The new field component.\n\t\t\t\t */\n\t\t\t\tconst component = applyFilters(\n\t\t\t\t\t`${ context }.renderField`,\n\t\t\t\t\tfield.component,\n\t\t\t\t\tfield.id,\n\t\t\t\t\tfield\n\t\t\t\t) as JSX.Element;\n\n\t\t\t\treturn {\n\t\t\t\t\t...field,\n\t\t\t\t\tcomponent,\n\t\t\t\t} as F;\n\t\t\t} );\n\n\t\t/**\n\t\t * Allow external overrides via a filter with null default.\n\t\t *\n\t\t * @param {F[]} fields The current fields.\n\t\t * @param {FieldFilters} filters The current filters.\n\t\t * @return {F[]} The new fields.\n\t\t */\n\t\treturn applyFilters(\n\t\t\t`${ context }.getFields`,\n\t\t\t_fields,\n\t\t\tfilters\n\t\t) as F[];\n\t};\n\n\tconst updateField = < K extends keyof V >( field: K, value: V[ K ] ) => {\n\t\tsetValues( {\n\t\t\t...values,\n\t\t\t[ field ]: value,\n\t\t} );\n\t};\n\n\tconst fieldIsVisible = ( field: keyof V ): boolean => {\n\t\t/**\n\t\t * Allow external overrides via a filter with null default.\n\t\t *\n\t\t * @param {boolean|undefined} show The current value of the field.\n\t\t * @param {string} field The field name.\n\t\t * @param {V} values The current values.\n\t\t * @return {boolean|undefined} The new value of the field.\n\t\t */\n\n\t\tconst show = applyFilters(\n\t\t\t`${ context }.fieldIsVisible`,\n\t\t\tundefined,\n\t\t\tfield,\n\t\t\tvalues // Values.\n\t\t) as boolean | undefined;\n\n\t\t// If the filter returned a value, use it.\n\t\treturn show !== undefined ? show : true;\n\t};\n\n\treturn {\n\t\tcontext,\n\t\tfields,\n\t\tvalues,\n\t\tsetValues,\n\t\tgetFields,\n\t\tupdateField,\n\t\tfieldIsVisible,\n\t};\n};\n\nexport default useFields;\n","import {\n\tBaseControl,\n\tCheckboxControl,\n\tFormToggle,\n} from '@wordpress/components';\n\nimport type { CheckboxFieldProps, WithOnChange } from '../types';\n\nconst CheckboxField = ( {\n\tvalue,\n\tonChange,\n\tlabel,\n\t...fieldProps\n}: WithOnChange< CheckboxFieldProps > ) => {\n\tconst toggle = false;\n\n\tif ( ! toggle ) {\n\t\treturn (\n\t\t\t<CheckboxControl\n\t\t\t\t{ ...fieldProps }\n\t\t\t\tlabel={ label }\n\t\t\t\tchecked={ value }\n\t\t\t\tonChange={ onChange }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BaseControl\n\t\t\tid={ fieldProps.id }\n\t\t\tlabel={ label }\n\t\t\t__nextHasNoMarginBottom\n\t\t>\n\t\t\t<FormToggle\n\t\t\t\tchecked={ value }\n\t\t\t\tonChange={ () => onChange( ! value ) }\n\t\t\t\t{ ...fieldProps }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n};\n\nexport default CheckboxField;\n","import {\n\tColorIndicator,\n\tColorPalette,\n\tColorPicker,\n} from '@wordpress/components';\n\nimport type { HexColorFieldProps, WithOnChange } from '../types';\n\nconst ColorField = ( {\n\tvalue = '',\n\tonChange,\n\t...fieldProps\n}: WithOnChange< HexColorFieldProps > ) => {\n\tconst colors = [\n\t\t{ name: 'red', color: '#f00' },\n\t\t{ name: 'white', color: '#fff' },\n\t\t{ name: 'blue', color: '#00f' },\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<ColorIndicator colorValue={ value } />\n\t\t\t<ColorPicker\n\t\t\t\t{ ...fieldProps }\n\t\t\t\tcolor={ value }\n\t\t\t\tonChangeComplete={ ( color ) =>\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tonChange( color?.hex ?? color )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<ColorPalette\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\tonChange( newValue ?? '' );\n\t\t\t\t} }\n\t\t\t\tcolors={ colors }\n\t\t\t\tclearable={ true }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default ColorField;\n","import { useState, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@popup-maker/i18n';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { SmartTokenControl } from '@popup-maker/components';\nimport { fetchFromWPApi } from '@popup-maker/core-data';\n\nimport type { CustomSelectFieldProps, WithOnChange } from '../types';\n\ninterface CustomEntityOption {\n\tid: string;\n\ttext: string;\n}\n\nconst CustomSelectField = ( {\n\tlabel,\n\tvalue,\n\tonChange,\n\tentityType,\n\tmultiple = false,\n\tapiEndpoint = 'popup-maker/v2/object-search',\n}: WithOnChange< CustomSelectFieldProps > ) => {\n\tconst [ queryText, setQueryText ] = useState( '' );\n\tconst [ apiData, setApiData ] = useState< {\n\t\tprefill: CustomEntityOption[];\n\t\tsuggestions: CustomEntityOption[];\n\t} >( {\n\t\tprefill: [],\n\t\tsuggestions: [],\n\t} );\n\tconst [ isLoading, setIsLoading ] = useState( false );\n\n\tconst updateQueryText = useDebounce( ( text: string ) => {\n\t\tsetQueryText( text );\n\t}, 300 );\n\n\t// Fetch data from our custom API endpoint\n\tuseEffect( () => {\n\t\tconst fetchApiData = async () => {\n\t\t\tsetIsLoading( true );\n\t\t\ttry {\n\t\t\t\t// Build API URL\n\t\t\t\tlet apiUrl = `${ apiEndpoint }?object_type=custom_entity&entity_type=${ entityType }`;\n\n\t\t\t\t// Include selected values for prefill\n\t\t\t\tif ( value ) {\n\t\t\t\t\tconst includeIds = Array.isArray( value )\n\t\t\t\t\t\t? value\n\t\t\t\t\t\t: [ value ];\n\t\t\t\t\tapiUrl += `&include=${ includeIds.join( ',' ) }`;\n\t\t\t\t}\n\n\t\t\t\t// Add search parameter if provided\n\t\t\t\tif ( queryText ) {\n\t\t\t\t\tapiUrl += `&s=${ queryText }`;\n\t\t\t\t}\n\n\t\t\t\tconst response = await fetchFromWPApi< {\n\t\t\t\t\titems: Array< { id: string; text: string } >;\n\t\t\t\t\ttotal_count: number;\n\t\t\t\t} >( apiUrl );\n\n\t\t\t\t// Map API response\n\t\t\t\tconst allOptions: CustomEntityOption[] = response.items.map(\n\t\t\t\t\t( item ) => ( {\n\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\ttext: item.text,\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\t\t// Extract prefill data from the same response if we have selected values\n\t\t\t\tlet prefillData: CustomEntityOption[] = [];\n\t\t\t\tif ( value ) {\n\t\t\t\t\tconst includeIds = Array.isArray( value )\n\t\t\t\t\t\t? value\n\t\t\t\t\t\t: [ value ];\n\t\t\t\t\tprefillData = allOptions.filter( ( item ) =>\n\t\t\t\t\t\tincludeIds.includes( item.id )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tsetApiData( {\n\t\t\t\t\tprefill: prefillData,\n\t\t\t\t\tsuggestions: allOptions,\n\t\t\t\t} );\n\t\t\t} catch ( error ) {\n\t\t\t\t// Silently fail and set empty data\n\t\t\t\tsetApiData( { prefill: [], suggestions: [] } );\n\t\t\t} finally {\n\t\t\t\tsetIsLoading( false );\n\t\t\t}\n\t\t};\n\n\t\tfetchApiData();\n\t}, [ value, queryText, entityType, apiEndpoint ] );\n\n\tconst findSuggestion = ( id: string ) => {\n\t\tconst findInList = ( list: CustomEntityOption[] ) => {\n\t\t\treturn list.find( ( suggestion ) => suggestion.id === id );\n\t\t};\n\n\t\tconst found = findInList( apiData.suggestions );\n\t\tif ( found ) {\n\t\t\treturn found;\n\t\t}\n\n\t\treturn findInList( apiData.prefill );\n\t};\n\n\tconst values = ( () => {\n\t\tif ( ! value ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn typeof value === 'string' ? [ value ] : value;\n\t} )();\n\n\tconst getTokenValue = ( token: string | { value: string } ) => {\n\t\tif ( typeof token === 'object' ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t};\n\n\treturn (\n\t\t<div className=\"pum-custom-entity-select-field\">\n\t\t\t<SmartTokenControl\n\t\t\t\tlabel={\n\t\t\t\t\tlabel\n\t\t\t\t\t\t? label\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: entity type.\n\t\t\t\t\t\t\t\t__( '%s(s)', 'popup-maker' ),\n\t\t\t\t\t\t\t\tentityType\n\t\t\t\t\t\t\t\t\t.replace( /_/g, ' ' )\n\t\t\t\t\t\t\t\t\t// uppercase first letter.\n\t\t\t\t\t\t\t\t\t.charAt( 0 )\n\t\t\t\t\t\t\t\t\t.toUpperCase() +\n\t\t\t\t\t\t\t\t\tentityType.replace( /_/g, ' ' ).slice( 1 )\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\thideLabelFromVision={ true }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tplaceholder={ sprintf(\n\t\t\t\t\t// translators: %s: entity type.\n\t\t\t\t\t__( 'Select %s(s)', 'popup-maker' ),\n\t\t\t\t\tentityType.replace( /_/g, ' ' ).toLowerCase()\n\t\t\t\t) }\n\t\t\t\ttokenOnComma={ true }\n\t\t\t\tvalue={ values }\n\t\t\t\tonInputChange={ updateQueryText }\n\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\tconst stringValues = newValue\n\t\t\t\t\t\t.map( ( v ) => getTokenValue( v ) )\n\t\t\t\t\t\t.filter( ( v ) => v !== null && v !== '' );\n\n\t\t\t\t\tonChange(\n\t\t\t\t\t\tmultiple ? stringValues : stringValues[ 0 ] || ''\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\trenderToken={ ( token ) => {\n\t\t\t\t\tconst suggestion = findSuggestion( getTokenValue( token ) );\n\n\t\t\t\t\tif ( ! suggestion ) {\n\t\t\t\t\t\treturn getTokenValue( token );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn decodeEntities( suggestion.text );\n\t\t\t\t} }\n\t\t\t\trenderSuggestion={ ( item ) => {\n\t\t\t\t\tconst suggestion = findSuggestion( item );\n\n\t\t\t\t\tif ( ! suggestion ) {\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn <>{ decodeEntities( suggestion.text ) }</>;\n\t\t\t\t} }\n\t\t\t\tsuggestions={ apiData.suggestions.map(\n\t\t\t\t\t( option ) => option.id\n\t\t\t\t) }\n\t\t\t\tmessages={\n\t\t\t\t\tisLoading\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tnoSuggestions: __(\n\t\t\t\t\t\t\t\t\t'Searching…',\n\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default CustomSelectField;\n","import { BaseControl } from '@wordpress/components';\n\nimport type { DateFieldProps, WithOnChange } from '../types';\n\nconst DateField = ( {\n\tvalue,\n\tonChange,\n\t...fieldProps\n}: WithOnChange< DateFieldProps > ) => {\n\treturn (\n\t\t<>\n\t\t\t<BaseControl\n\t\t\t\t{ ...fieldProps }\n\t\t\t\thideLabelFromVision={ true }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ ( event ) => onChange( event.target.value ) }\n\t\t\t\t/>\n\t\t\t</BaseControl>\n\t\t</>\n\t);\n};\n\nexport default DateField;\n","import classnames from 'classnames';\n\nimport { __, sprintf } from '@popup-maker/i18n';\n\nimport {\n\tCheckboxField,\n\tColorField,\n\tCustomSelectField,\n\tDateField,\n\tMeasureField,\n\tMulticheckField,\n\tHtmlField,\n\tNumberField,\n\tObjectSelectField,\n\tRadioField,\n\tRangeSliderField,\n\tSelectField,\n\tTextAreaField,\n\tTextField,\n\tTokenSelectField,\n} from './';\n\nimport type { FieldPropsWithOnChange } from '../types';\nimport { parseFieldProps } from './utils';\n\nconst FieldComponent = ( fieldProps: FieldPropsWithOnChange ): JSX.Element => {\n\tconst { type } = fieldProps;\n\n\tswitch ( type ) {\n\t\tcase 'checkbox':\n\t\t\treturn <CheckboxField { ...fieldProps } />;\n\t\tcase 'color':\n\t\t\treturn <ColorField { ...fieldProps } />;\n\t\tcase 'customselect':\n\t\t\treturn <CustomSelectField { ...fieldProps } />;\n\t\tcase 'date':\n\t\t\treturn <DateField { ...fieldProps } />;\n\t\tcase 'measure':\n\t\t\treturn <MeasureField { ...fieldProps } />;\n\t\tcase 'multicheck':\n\t\t\treturn <MulticheckField { ...fieldProps } />;\n\t\tcase 'select':\n\t\tcase 'multiselect':\n\t\t\treturn <SelectField { ...fieldProps } />;\n\t\tcase 'objectselect':\n\t\tcase 'postselect':\n\t\tcase 'taxonomyselect':\n\t\tcase 'userselect':\n\t\t\treturn <ObjectSelectField { ...fieldProps } />;\n\t\tcase 'radio':\n\t\t\treturn <RadioField { ...fieldProps } />;\n\t\tcase 'rangeslider':\n\t\t\treturn <RangeSliderField { ...fieldProps } />;\n\t\tcase 'number':\n\t\t\treturn <NumberField { ...fieldProps } />;\n\t\tcase 'email':\n\t\tcase 'tel':\n\t\tcase 'hidden':\n\t\tcase 'text':\n\t\tcase 'password':\n\t\t\treturn <TextField { ...fieldProps } />;\n\t\tcase 'textarea':\n\t\t\treturn <TextAreaField { ...fieldProps } />;\n\t\tcase 'tokenselect':\n\t\t\treturn <TokenSelectField { ...fieldProps } />;\n\t\tcase 'html':\n\t\t\treturn <HtmlField { ...fieldProps } />;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ sprintf(\n\t\t\t\t/* translators: 1. type of field not found. */\n\t\t\t\t__( 'Field type `%s` not found', 'popup-maker' ),\n\t\t\t\ttype\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nconst Field = ( props: FieldPropsWithOnChange ) => {\n\tconst { type, className, onChange } = props;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( [\n\t\t\t\t'pum-field',\n\t\t\t\t`pum-field--${ type }`,\n\t\t\t\tclassName,\n\t\t\t] ) }\n\t\t>\n\t\t\t{ /* @ts-ignore */ }\n\t\t\t<FieldComponent\n\t\t\t\tonChange={ onChange }\n\t\t\t\t{ ...parseFieldProps( props ) }\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default Field;\n","import Field from './field';\n\nimport type { FieldPropsWithOnChange } from '../types';\n\ntype Props = {\n\tfields: FieldPropsWithOnChange[];\n};\n\nconst Fields = ( props: Props ) => {\n\tconst { fields } = props;\n\n\treturn (\n\t\t<>\n\t\t\t{ fields.map( ( field, i ) => (\n\t\t\t\t<Field key={ i } { ...field } />\n\t\t\t) ) }\n\t\t</>\n\t);\n};\n\nexport default Fields;\n","import type { HtmlFieldProps } from '../types';\n\nconst HtmlField = ( { content }: HtmlFieldProps ) => {\n\treturn <div dangerouslySetInnerHTML={ { __html: content ?? '' } } />;\n};\n\nexport default HtmlField;\n","export { default as CheckboxField } from './checkbox';\nexport { default as ColorField } from './color';\nexport { default as CustomSelectField } from './custom-select';\nexport { default as DateField } from './date';\nexport { default as Field } from './field';\nexport { default as Fields } from './fields';\nexport { default as HtmlField } from './html';\nexport { default as MeasureField } from './measure';\nexport { default as MulticheckField } from './multicheck';\nexport { default as NumberField } from './number';\nexport { default as ObjectSelectField } from './object-select';\nexport { default as RadioField } from './radio';\nexport { default as RangeSliderField } from './rangeslider';\nexport { default as SelectField } from './select';\nexport { default as TextAreaField } from './textarea';\nexport { default as TextField } from './text';\nexport { default as TokenSelectField } from './token-select';\n","import {\n\t// @ts-ignore\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\n\nimport type { MeasureFieldProps, WithOnChange } from '../types';\n\nconst MeasureField = ( {\n\tvalue,\n\tonChange,\n\tunits,\n\t...fieldProps\n}: WithOnChange< MeasureFieldProps > ) => {\n\tconst number = value ? parseInt( value ) : '';\n\n\tconst [ state, setState ] = useState( {\n\t\tnumber,\n\t\tunit: value?.replace( `${ number }`, '' ) ?? '',\n\t} );\n\n\tuseEffect( () => {\n\t\tonChange( `${ state.number }${ state.unit }` );\n\t}, [ state, onChange ] );\n\n\tconst unitsArray = Object.entries( units ).map( ( [ v, l ] ) => ( {\n\t\tvalue: v,\n\t\tlabel: l,\n\t} ) );\n\n\treturn (\n\t\t<UnitControl\n\t\t\t{ ...fieldProps }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newNumber: string = '0' ) =>\n\t\t\t\tsetState( { ...state, number: newNumber } )\n\t\t\t}\n\t\t\tdisableUnits={ unitsArray.length === 0 }\n\t\t\tunits={ unitsArray }\n\t\t\tonUnitChange={ ( newUnit: string = '' ) =>\n\t\t\t\tsetState( { ...state, unit: newUnit } )\n\t\t\t}\n\t\t\t// @ts-ignore\n\t\t\t__nextHasNoMarginBottom={ true }\n\t\t/>\n\t);\n};\n\nexport default MeasureField;\n","import {\n\tBaseControl,\n\tCheckboxControl,\n\tFormToggle,\n} from '@wordpress/components';\n\nimport { parseFieldOptions } from './utils';\n\nimport type { MulticheckFieldProps, WithOnChange } from '../types';\n\nconst MulticheckField = ( {\n\tvalue,\n\tonChange,\n\t...fieldProps\n}: WithOnChange< MulticheckFieldProps > ) => {\n\tconst toggle = false;\n\n\tconst checked = value ?? [];\n\n\tconst options = parseFieldOptions( fieldProps.options );\n\n\tconst checkedOpts = value ?? [];\n\n\t/**\n\t * Foreach option render a checkbox. value can be an array\n\t * of keys, or an object with key: boolean pairs.\n\t */\n\n\tconst CheckBoxes = () => (\n\t\t<>\n\t\t\t{ options.map( ( { label: optLabel, value: optValue } ) => {\n\t\t\t\tconst isChecked = checked.indexOf( optValue ) >= 0;\n\n\t\t\t\tconst toggleOption = () =>\n\t\t\t\t\tonChange(\n\t\t\t\t\t\t! isChecked\n\t\t\t\t\t\t\t? [ ...checkedOpts, optValue ]\n\t\t\t\t\t\t\t: checkedOpts.filter( ( val ) => optValue !== val )\n\t\t\t\t\t);\n\n\t\t\t\tif ( ! toggle ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\tkey={ optValue }\n\t\t\t\t\t\t\tlabel={ optLabel }\n\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\tonChange={ toggleOption }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tkey={ optValue }\n\t\t\t\t\t\tid={ fieldProps.id + '-' + optValue.toString() }\n\t\t\t\t\t\tlabel={ optLabel }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t>\n\t\t\t\t\t\t<FormToggle\n\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\tonChange={ toggleOption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</>\n\t);\n\n\treturn <CheckBoxes />;\n};\n\nexport default MulticheckField;\n","import {\n\t// @ts-ignore\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalNumberControl as NumberControl,\n} from '@wordpress/components';\n\nimport type { NumberFieldProps, WithOnChange } from '../types';\n\nconst NumberField = ( {\n\tvalue,\n\tonChange,\n\t...fieldProps\n}: WithOnChange< NumberFieldProps > ) => {\n\treturn (\n\t\t<NumberControl\n\t\t\t{ ...fieldProps }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newValue = '0' ) =>\n\t\t\t\tonChange( parseInt( newValue, 10 ) )\n\t\t\t}\n\t\t\t// @ts-ignore\n\t\t\t__nextHasNoMarginBottom={ true }\n\t\t\t__next40pxDefaultSize={ true }\n\t\t/>\n\t);\n};\n\nexport default NumberField;\n","import { useSelect } from '@wordpress/data';\nimport { useState, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@popup-maker/i18n';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { SmartTokenControl } from '@popup-maker/components';\nimport { fetchFromWPApi } from '@popup-maker/core-data';\n\nimport type {\n\tObjectSelectFieldProps,\n\tPostSelectFieldProps,\n\tTaxonomySelectFieldProps,\n\tUserSelectFieldProps,\n\tWithOnChange,\n} from '../types';\n\ninterface ObjectOption {\n\tid: number;\n\ttitle?: {\n\t\trendered?: string;\n\t\traw?: string;\n\t};\n\tname?: string;\n}\n\nconst ObjectSelectField = ( {\n\tlabel,\n\tvalue,\n\tonChange,\n\tentityKind = 'postType',\n\tentityType = 'post',\n\tmultiple = false,\n}: WithOnChange<\n\t| ObjectSelectFieldProps\n\t| PostSelectFieldProps\n\t| TaxonomySelectFieldProps\n\t| UserSelectFieldProps\n> ) => {\n\tconst [ queryText, setQueryText ] = useState( '' );\n\tconst [ usePopupMakerAPI, setUsePopupMakerAPI ] = useState( false );\n\tconst [ apiData, setApiData ] = useState< {\n\t\tprefill: ObjectOption[];\n\t\tsuggestions: ObjectOption[];\n\t} >( {\n\t\tprefill: [],\n\t\tsuggestions: [],\n\t} );\n\n\tconst updateQueryText = useDebounce( ( text: string ) => {\n\t\tsetQueryText( text );\n\t}, 300 );\n\n\tconst prefill = useSelect(\n\t\t( select ) => {\n\t\t\tif ( usePopupMakerAPI ) {\n\t\t\t\treturn apiData.prefill;\n\t\t\t}\n\n\t\t\tif ( ! value ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tconst records = select( coreDataStore ).getEntityRecords(\n\t\t\t\tentityKind,\n\t\t\t\tentityType,\n\t\t\t\t{\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t\tinclude: value,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t}\n\t\t\t) as ObjectOption[];\n\n\t\t\t// If core-data returns null and we haven't switched to popup-maker API yet, switch now.\n\t\t\tif (\n\t\t\t\trecords === null &&\n\t\t\t\t! usePopupMakerAPI &&\n\t\t\t\tentityKind === 'postType'\n\t\t\t) {\n\t\t\t\tsetUsePopupMakerAPI( true );\n\t\t\t}\n\n\t\t\treturn records || [];\n\t\t},\n\t\t[ value, entityKind, entityType, usePopupMakerAPI, apiData.prefill ]\n\t);\n\n\tconst suggestions = useSelect(\n\t\t( select ) => {\n\t\t\tif ( usePopupMakerAPI ) {\n\t\t\t\treturn apiData.suggestions;\n\t\t\t}\n\n\t\t\tif ( entityKind === 'user' ) {\n\t\t\t\treturn (\n\t\t\t\t\tselect( coreDataStore )\n\t\t\t\t\t\t// @ts-ignore This exists and is being used as documented.\n\t\t\t\t\t\t.getUsers( {\n\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t\tsearch: queryText,\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t\t} ) as ObjectOption[]\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst records = select( coreDataStore ).getEntityRecords(\n\t\t\t\tentityKind,\n\t\t\t\tentityType,\n\t\t\t\t{\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t\tsearch: queryText,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t}\n\t\t\t) as ObjectOption[];\n\n\t\t\t// If core-data returns null and we haven't switched to popup-maker API yet, switch now.\n\t\t\tif (\n\t\t\t\trecords === null &&\n\t\t\t\t! usePopupMakerAPI &&\n\t\t\t\tentityKind === 'postType'\n\t\t\t) {\n\t\t\t\tsetUsePopupMakerAPI( true );\n\t\t\t}\n\n\t\t\treturn records;\n\t\t},\n\t\t[\n\t\t\tqueryText,\n\t\t\tentityKind,\n\t\t\tentityType,\n\t\t\tusePopupMakerAPI,\n\t\t\tapiData.suggestions,\n\t\t]\n\t);\n\n\tconst isSearching = useSelect(\n\t\t( select ) => {\n\t\t\tif ( usePopupMakerAPI ) {\n\t\t\t\treturn false; // We handle popup-maker API loading separately.\n\t\t\t}\n\n\t\t\tif ( entityKind === 'user' ) {\n\t\t\t\treturn (\n\t\t\t\t\tselect( 'core/data' )\n\t\t\t\t\t\t// @ts-ignore This exists and is being used as documented.\n\t\t\t\t\t\t.isResolving( 'core', 'getUsers', [\n\t\t\t\t\t\t\tentityKind,\n\t\t\t\t\t\t\tentityType,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t\t\tsearch: queryText,\n\t\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tselect( 'core/data' )\n\t\t\t\t\t// @ts-ignore This exists and is being used as documented.\n\t\t\t\t\t.isResolving( 'core', 'getEntityRecords', [\n\t\t\t\t\t\tentityKind,\n\t\t\t\t\t\tentityType,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t\tsearch: queryText,\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t\t},\n\t\t\t\t\t] )\n\t\t\t);\n\t\t},\n\t\t[\n\t\t\tqueryText,\n\t\t\tentityKind,\n\t\t\tentityType,\n\t\t\tusePopupMakerAPI,\n\t\t\tapiData.suggestions,\n\t\t]\n\t);\n\n\t// Single effect to handle popup-maker API calls for both prefill and suggestions.\n\tuseEffect( () => {\n\t\tif ( ! usePopupMakerAPI ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fetchApiData = async () => {\n\t\t\ttry {\n\t\t\t\t// Build API URL with optional include and search parameters.\n\t\t\t\tlet apiUrl = `popup-maker/v2/object-search?object_type=post_type&object_key=${ entityType }`;\n\n\t\t\t\t// Always include selected values to guarantee prefill data.\n\t\t\t\tif ( value ) {\n\t\t\t\t\tconst includeIds = Array.isArray( value )\n\t\t\t\t\t\t? value\n\t\t\t\t\t\t: [ value ];\n\t\t\t\t\tapiUrl += `&include=${ includeIds.join( ',' ) }`;\n\t\t\t\t}\n\n\t\t\t\t// Add search parameter if provided.\n\t\t\t\tif ( queryText ) {\n\t\t\t\t\tapiUrl += `&s=${ queryText }`;\n\t\t\t\t}\n\n\t\t\t\tconst response = await fetchFromWPApi< {\n\t\t\t\t\titems: Array< { id: number; text: string } >;\n\t\t\t\t\ttotal_count: number;\n\t\t\t\t} >( apiUrl );\n\n\t\t\t\t// Map popup-maker API response to core-data format.\n\t\t\t\tconst mapItems = (\n\t\t\t\t\titems: Array< { id: number; text: string } >\n\t\t\t\t): ObjectOption[] =>\n\t\t\t\t\titems.map( ( item ) => ( {\n\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\ttitle: {\n\t\t\t\t\t\t\trendered: item.text,\n\t\t\t\t\t\t},\n\t\t\t\t\t} ) );\n\n\t\t\t\tconst allOptions = mapItems( response.items );\n\n\t\t\t\t// Extract prefill data from the same response if we have selected values.\n\t\t\t\tlet prefillData: ObjectOption[] = [];\n\t\t\t\tif ( value ) {\n\t\t\t\t\tconst includeIds = Array.isArray( value )\n\t\t\t\t\t\t? value\n\t\t\t\t\t\t: [ value ];\n\t\t\t\t\tprefillData = allOptions.filter( ( item ) =>\n\t\t\t\t\t\tincludeIds.includes( item.id )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tsetApiData( {\n\t\t\t\t\tprefill: prefillData,\n\t\t\t\t\tsuggestions: allOptions,\n\t\t\t\t} );\n\t\t\t} catch ( error ) {\n\t\t\t\t// Silently fail and set empty data - API fallback failed.\n\t\t\t\tsetApiData( { prefill: [], suggestions: [] } );\n\t\t\t}\n\t\t};\n\n\t\tfetchApiData();\n\t}, [ usePopupMakerAPI, value, queryText, entityType ] );\n\n\tconst findSuggestion = ( id: number | string ) => {\n\t\tconst findInList = ( list: ObjectOption[] | null ) => {\n\t\t\tif ( ! list ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn list.find(\n\t\t\t\t( suggestion ) => suggestion.id.toString() === id.toString()\n\t\t\t);\n\t\t};\n\n\t\tconst found = findInList( suggestions );\n\t\tif ( found ) {\n\t\t\treturn found;\n\t\t}\n\n\t\treturn findInList( prefill );\n\t};\n\n\tconst values = ( () => {\n\t\tif ( ! value ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn typeof value === 'number' || typeof value === 'string'\n\t\t\t? [ value ]\n\t\t\t: value;\n\t} )();\n\n\tconst getTokenValue = ( token: string | { value: string } ) => {\n\t\tif ( typeof token === 'object' ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t};\n\n\treturn (\n\t\t<div className=\"pum-object-search-field\">\n\t\t\t<SmartTokenControl\n\t\t\t\tlabel={\n\t\t\t\t\tlabel\n\t\t\t\t\t\t? label\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: entity type.\n\t\t\t\t\t\t\t\t__( '%s(s)', 'popup-maker' ),\n\t\t\t\t\t\t\t\tentityType\n\t\t\t\t\t\t\t\t\t.replace( /_/g, ' ' )\n\t\t\t\t\t\t\t\t\t// uppercase first letter.\n\t\t\t\t\t\t\t\t\t.charAt( 0 )\n\t\t\t\t\t\t\t\t\t.toUpperCase() +\n\t\t\t\t\t\t\t\t\tentityType.replace( /_/g, ' ' ).slice( 1 )\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\thideLabelFromVision={ true }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tplaceholder={ sprintf(\n\t\t\t\t\t// translators: %s: entity type.\n\t\t\t\t\t__( 'Select %s(s)', 'popup-maker' ),\n\t\t\t\t\tentityType.replace( /_/g, ' ' ).toLowerCase()\n\t\t\t\t) }\n\t\t\t\ttokenOnComma={ true }\n\t\t\t\tvalue={ values.map( ( v ) => v.toString() ) }\n\t\t\t\tonInputChange={ updateQueryText }\n\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\tonChange(\n\t\t\t\t\t\tnewValue\n\t\t\t\t\t\t\t.map( ( v ) => parseInt( getTokenValue( v ), 10 ) )\n\t\t\t\t\t\t\t.filter( ( v ) => ! isNaN( v ) )\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\trenderToken={ ( token ) => {\n\t\t\t\t\tconst suggestion = findSuggestion( getTokenValue( token ) );\n\n\t\t\t\t\tif ( ! suggestion ) {\n\t\t\t\t\t\treturn getTokenValue( token );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn 'postType' === entityKind\n\t\t\t\t\t\t? decodeEntities( suggestion.title?.rendered || '' )\n\t\t\t\t\t\t: suggestion.name || '';\n\t\t\t\t} }\n\t\t\t\trenderSuggestion={ ( item ) => {\n\t\t\t\t\tconst suggestion = findSuggestion( item );\n\n\t\t\t\t\tif ( ! suggestion ) {\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ 'postType' === entityKind\n\t\t\t\t\t\t\t\t? decodeEntities(\n\t\t\t\t\t\t\t\t\t\t( suggestion.title?.rendered ??\n\t\t\t\t\t\t\t\t\t\t\tsuggestion.title?.raw ) ||\n\t\t\t\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: suggestion.name || '' }\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\tsuggestions={\n\t\t\t\t\tsuggestions\n\t\t\t\t\t\t? suggestions.map( ( option ) => {\n\t\t\t\t\t\t\t\treturn option?.id.toString() ?? false;\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: []\n\t\t\t\t}\n\t\t\t\tmessages={\n\t\t\t\t\tisSearching\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tnoSuggestions: __(\n\t\t\t\t\t\t\t\t\t'Searching…',\n\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default ObjectSelectField;\n","import { RadioControl } from '@wordpress/components';\n\nimport type { RadioFieldProps, WithOnChange } from '../types';\n\nconst RadioField = ( {\n\tvalue,\n\tonChange,\n\t...fieldProps\n}: WithOnChange< RadioFieldProps > ) => {\n\tconst options = fieldProps.options;\n\n\treturn (\n\t\t<RadioControl\n\t\t\t{ ...fieldProps }\n\t\t\tselected={ value?.toString() }\n\t\t\toptions={ options as { value: string; label: string }[] }\n\t\t\tonChange={ onChange }\n\t\t\t/* @ts-ignore - This exists on all controls, but is not fully typed. */\n\t\t\t__nextHasNoMarginBottom={ true }\n\t\t/>\n\t);\n};\n\nexport default RadioField;\n","import { RangeControl } from '@wordpress/components';\nimport type { RangesliderFieldProps, WithOnChange } from '../types';\n\nconst RangeSliderField = ( {\n\tvalue,\n\tonChange,\n\tinitialPosition = 0,\n\t...fieldProps\n}: WithOnChange< RangesliderFieldProps > ) => {\n\tconst { step } = fieldProps;\n\n\treturn (\n\t\t<RangeControl\n\t\t\t// { ...fieldProps }\n\t\t\tvalue={ value ?? initialPosition }\n\t\t\tonChange={ ( newValue = 0 ) => onChange( newValue ) }\n\t\t\twithInputField={ true }\n\t\t\t__nextHasNoMarginBottom={ true }\n\t\t\ttype={ step ? 'stepper' : undefined }\n\t\t/>\n\t);\n};\n\nexport default RangeSliderField;\n","import { SelectControl } from '@wordpress/components';\n\nimport { parseFieldOptions } from './utils';\n\nimport type {\n\tMultiselectFieldProps,\n\tOptGroups as OptGroupsProp,\n\tOptions as OptsProp,\n\tSelectFieldProps,\n\tWithOnChange,\n} from '../types';\n/**\n * Options|OptGroups Type check handler.\n *\n * @param {OptsProp|OptGroupsProp} options Options to check for groups.\n * @return {boolean} True if optgroups found.\n */\nexport const hasOptGroups = (\n\toptions: OptsProp | OptGroupsProp\n): options is OptGroupsProp =>\n\tObject.entries( options ).reduce( ( hasGroups, [ _key, _value ] ) => {\n\t\tif ( true === hasGroups ) {\n\t\t\treturn hasGroups;\n\t\t}\n\n\t\treturn (\n\t\t\ttypeof _key === 'string' &&\n\t\t\t! ( parseInt( _key ) >= 0 ) &&\n\t\t\ttypeof _value === 'object'\n\t\t);\n\t}, false );\n\ntype OptionsProps = { options: OptsProp };\n\nconst Options = ( { options }: OptionsProps ) => (\n\t<>\n\t\t{ parseFieldOptions( options ).map( ( { label, value } ) => (\n\t\t\t<option key={ value } value={ value }>\n\t\t\t\t{ label }\n\t\t\t</option>\n\t\t) ) }\n\t</>\n);\n\nconst OptGroups = ( { optGroups }: { optGroups: OptGroupsProp } ) => (\n\t<>\n\t\t{ Object.entries( optGroups ).map( ( [ label, options ] ) => (\n\t\t\t<optgroup key={ label } label={ label }>\n\t\t\t\t<Options options={ options } />\n\t\t\t</optgroup>\n\t\t) ) }\n\t</>\n);\n\nconst SelectField = ( {\n\tvalue,\n\tonChange,\n\t...fieldProps\n}:\n\t| WithOnChange< SelectFieldProps >\n\t| WithOnChange< MultiselectFieldProps > ) => {\n\tconst { multiple = false } = fieldProps;\n\n\tconst options = fieldProps.options ?? {};\n\n\treturn (\n\t\t// @ts-ignore\n\t\t<SelectControl\n\t\t\t{ ...fieldProps }\n\t\t\tmultiple={ multiple }\n\t\t\tvalue={\n\t\t\t\t// Correct older string typ values (here for sanity).\n\t\t\t\tmultiple && typeof value === 'string'\n\t\t\t\t\t? value.split( ',' )\n\t\t\t\t\t: value\n\t\t\t}\n\t\t\tonChange={ onChange }\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t>\n\t\t\t{ hasOptGroups( options ) ? (\n\t\t\t\t<OptGroups optGroups={ options } />\n\t\t\t) : (\n\t\t\t\t<Options options={ options } />\n\t\t\t) }\n\t\t</SelectControl>\n\t);\n};\n\nexport default SelectField;\n","import { TextControl } from '@wordpress/components';\n\nimport type { HiddenFieldProps, TextFieldProps, WithOnChange } from '../types';\n\nconst TextField = ( {\n\ttype,\n\tvalue,\n\tonChange,\n\t...fieldProps\n}: WithOnChange< TextFieldProps > | WithOnChange< HiddenFieldProps > ) => {\n\treturn (\n\t\t// @ts-ignore\n\t\t<TextControl\n\t\t\t{ ...fieldProps }\n\t\t\ttype={ type !== 'hidden' ? type : undefined }\n\t\t\tvalue={ value ?? '' }\n\t\t\tonChange={ onChange }\n\t\t\t/* @ts-ignore - This exists on all controls, but is not fully typed. */\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t/>\n\t);\n};\n\nexport default TextField;\n","import { TextareaControl } from '@wordpress/components';\n\nimport type { TextareaFieldProps, WithOnChange } from '../types';\n\nconst TextAreaField = ( {\n\tvalue,\n\tonChange,\n\trows = 5,\n\t...fieldProps\n}: WithOnChange< TextareaFieldProps > ) => {\n\treturn (\n\t\t<TextareaControl\n\t\t\t{ ...fieldProps }\n\t\t\tvalue={ value ?? '' }\n\t\t\tonChange={ onChange }\n\t\t\trows={ rows }\n\t\t\t__nextHasNoMarginBottom\n\t\t/>\n\t);\n};\n\nexport default TextAreaField;\n","import { __ } from '@popup-maker/i18n';\nimport { useState } from '@wordpress/element';\nimport { SmartTokenControl } from '@popup-maker/components';\n\nimport type { TokenSelectFieldProps, WithOnChange } from '../types';\n\nconst TokenSelectField = ( {\n\tlabel,\n\tvalue,\n\tonChange,\n\tmultiple = false,\n\tplaceholder = __( 'Search', 'popup-maker' ),\n\toptions = {},\n}: WithOnChange< TokenSelectFieldProps > ) => {\n\tconst [ inputText, setInputText ] = useState( '' );\n\n\tconst values = ( () => {\n\t\tif ( ! value ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn typeof value === 'number' || typeof value === 'string'\n\t\t\t? [ value ]\n\t\t\t: value;\n\t} )();\n\n\tconst suggestions = Object.keys( options ).filter( ( opt ) => {\n\t\tif ( ! inputText ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ( typeof options[ opt ] === 'string' ) {\n\t\t\treturn options[ opt ]\n\t\t\t\t.toLowerCase()\n\t\t\t\t.includes( inputText.toLowerCase() );\n\t\t}\n\n\t\treturn false;\n\t} );\n\n\tconst renderOption = ( optionValue: string | { value: string } ) => {\n\t\tconst val =\n\t\t\ttypeof optionValue === 'object' ? optionValue.value : optionValue;\n\n\t\tconst optionLabel = options[ val ] ?? null;\n\n\t\tif ( ! optionLabel ) {\n\t\t\treturn val;\n\t\t}\n\t\treturn optionLabel;\n\t};\n\n\treturn (\n\t\t<div className=\"pum-token-select-field\">\n\t\t\t<SmartTokenControl< string >\n\t\t\t\tlabel={ label }\n\t\t\t\thideLabelFromVision={ true }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tvalue={ values.map( ( v ) => v.toString() ) }\n\t\t\t\tonInputChange={ setInputText }\n\t\t\t\tonChange={ ( newValue ) => onChange( newValue ) }\n\t\t\t\trenderToken={ renderOption }\n\t\t\t\trenderSuggestion={ renderOption }\n\t\t\t\tsuggestions={ suggestions }\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default TokenSelectField;\n","import classNames from 'classnames';\n\nimport { pick } from '@popup-maker/utils';\n\nimport { decodeEntities } from '@wordpress/html-entities';\n\nimport type {\n\tFieldBaseProps,\n\tFieldProps,\n\tIntermediaryFieldProps,\n\tPartialFieldProps,\n} from '../types/fields';\nimport type { OldFieldBase, OldFieldProps } from '../types/old-field';\nimport type { AcceptibleOptions, Option, Options } from '../types';\n\n/**\n * Default args for old field definitions.\n */\nexport const oldFieldDefaults = {\n\tid: '',\n\tid_prefix: '',\n\tname: '',\n\tlabel: '',\n\tplaceholder: '',\n\tdesc: null,\n\tdynamic_desc: null,\n\tcontent: '',\n\tsize: 'regular',\n\tclasses: [],\n\tdependencies: '',\n\tvalue: null,\n\tselect2: false,\n\tallow_html: false,\n\tmultiple: false,\n\tas_array: false,\n\toptions: [],\n\tobject_type: null,\n\tobject_key: null,\n\tpost_type: null,\n\ttaxonomy: null,\n\tstd: null,\n\tmin: 0,\n\tmax: 50,\n\tstep: 1,\n\tunit: 'px',\n\tunits: {},\n\trequired: false,\n\tdesc_position: 'bottom',\n\tmeta: {},\n};\n\n/**\n * Parse old field args into new field props.\n *\n * @param {OldFieldProps} args Old field args.\n * @return {FieldProps} Field props.\n */\nexport const parseOldArgsToProps = (\n\targs: OldFieldProps\n): IntermediaryFieldProps => {\n\tconst fieldProps = {\n\t\t// Handle cases where old field type doesn't have exact replacement.\n\t\ttype: 'select2' !== args.type ? args.type : 'select',\n\t\t// Migrate default value.\n\t\tdefault: args.std,\n\t\tid: args.id ?? args.name ?? '',\n\t\t// Basic remappings.\n\t\t...pick(\n\t\t\targs,\n\t\t\t'id',\n\t\t\t'name',\n\t\t\t'label',\n\t\t\t'value',\n\t\t\t'required',\n\t\t\t'dependencies'\n\t\t),\n\t} as PartialFieldProps;\n\n\t// Migrate various CSS classnames.\n\tconst classes: string[] = [];\n\n\tif ( typeof args.classes !== 'undefined' ) {\n\t\tif ( 'string' === typeof args.classes ) {\n\t\t\tclasses.push( ...args.classes.split( ' ' ) );\n\t\t} else if ( Array.isArray( args.classes ) ) {\n\t\t\tclasses.push( ...args.classes );\n\t\t}\n\t}\n\n\tif ( typeof args.class !== 'undefined' ) {\n\t\tclasses.push( args.class );\n\t}\n\n\t// Append all classes to fieldProps.\n\tfieldProps.className = classNames( classes );\n\n\t// Dynamic Descriptions\n\tif ( args.dynamic_desc ) {\n\t\tfieldProps.help = <>{ args.dynamic_desc }</>;\n\t} else if ( args.desc ) {\n\t\tfieldProps.help = args.desc;\n\t}\n\n\t//* Dependencies\n\n\t// Prop modifications & remappings go here.\n\tswitch ( fieldProps.type ) {\n\t\tcase 'checkbox':\n\t\t\treturn fieldProps;\n\n\t\tcase 'color':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t\tdefault: args.value ?? '',\n\t\t\t};\n\n\t\tcase 'hidden':\n\t\t\treturn fieldProps;\n\n\t\tcase 'html':\n\t\t\treturn fieldProps;\n\n\t\tcase 'license_key':\n\t\t\treturn fieldProps;\n\n\t\tcase 'customselect':\n\t\t\t// customselect is a new field type, return as-is\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t\tentityType: fieldProps.entityType ?? 'custom',\n\t\t\t};\n\n\t\tcase 'text':\n\t\tcase 'email':\n\t\tcase 'tel':\n\t\tcase 'password':\n\t\tdefault:\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t\t...( fieldProps.type === args.type && {\n\t\t\t\t\tsize: args?.size,\n\t\t\t\t\tplaceholder: args?.placeholder,\n\t\t\t\t} ),\n\t\t\t};\n\n\t\tcase 'radio':\n\t\tcase 'multicheck':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t\toptions: [],\n\t\t\t\t...( fieldProps.type === args.type && {\n\t\t\t\t\toptions: args.options ?? [],\n\t\t\t\t} ),\n\t\t\t};\n\n\t\tcase 'select':\n\t\tcase 'multiselect':\n\t\t\tif ( fieldProps.type === args.type || 'select2' === args.type ) {\n\t\t\t\t// Handle options migration for optgroups.\n\t\t\t\tfieldProps.options = parseFieldOptions( args.options ?? [] );\n\t\t\t\tfieldProps.searchable = 'select2' === args.type;\n\t\t\t\tfieldProps.multiple =\n\t\t\t\t\tfieldProps.type === 'multiselect' || args.multiple;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\toptions: [],\n\t\t\t\t...fieldProps,\n\t\t\t};\n\n\t\tcase 'tokenselect':\n\t\t\treturn {\n\t\t\t\tvalue: [],\n\t\t\t\toptions: {},\n\t\t\t\t...fieldProps,\n\t\t\t};\n\n\t\tcase 'number':\n\t\tcase 'rangeslider':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t\t...( fieldProps.type === args.type && {\n\t\t\t\t\tsize: args?.size,\n\t\t\t\t\tplaceholder: args?.placeholder,\n\t\t\t\t\tmin: args?.min,\n\t\t\t\t\tmax: args?.max,\n\t\t\t\t\tstep: args?.step,\n\t\t\t\t} ),\n\t\t\t};\n\n\t\tcase 'measure':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t\tunits: {},\n\t\t\t\t...( fieldProps.type === args.type && {\n\t\t\t\t\t// number inherited\n\t\t\t\t\tsize: args?.size,\n\t\t\t\t\tplaceholder: args?.placeholder,\n\t\t\t\t\tmin: args?.min,\n\t\t\t\t\tmax: args?.max,\n\t\t\t\t\tstep: args?.step,\n\t\t\t\t\t// measure specific\n\t\t\t\t\tunits: args?.units ?? {},\n\t\t\t\t} ),\n\t\t\t};\n\n\t\tcase 'objectselect':\n\t\tcase 'postselect':\n\t\tcase 'taxonomyselect':\n\t\tcase 'userselect':\n\t\t\tfieldProps.type = 'objectselect';\n\t\t\t// @ts-ignore\n\t\t\tfieldProps.multiple = args?.multiple ?? false;\n\t\t\t// @ts-ignore\n\t\t\tfieldProps.placeholder = args?.placeholder ?? '';\n\n\t\t\tif ( args.type === 'postselect' ) {\n\t\t\t\treturn {\n\t\t\t\t\t...fieldProps,\n\t\t\t\t\tentityKind: 'postType',\n\t\t\t\t\tentityType: args?.post_type ?? 'post',\n\t\t\t\t};\n\t\t\t} else if ( args.type === 'taxonomyselect' ) {\n\t\t\t\treturn {\n\t\t\t\t\t...fieldProps,\n\t\t\t\t\tentityKind: 'taxonomy',\n\t\t\t\t\tentityType: args?.taxonomy ?? 'category',\n\t\t\t\t};\n\t\t\t} else if ( args.type === 'userselect' ) {\n\t\t\t\treturn {\n\t\t\t\t\t...fieldProps,\n\t\t\t\t\tentityKind: 'user',\n\t\t\t\t\tentityType: 'user',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t\tentityKind: 'postType',\n\t\t\t\tentityType: 'post',\n\t\t\t};\n\n\t\tcase 'textarea':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t\t...( fieldProps.type === args.type && {\n\t\t\t\t\tallowHtml: args?.allow_html,\n\t\t\t\t} ),\n\t\t\t};\n\t}\n};\n\n/**\n * Parse field options.\n *\n * @param {AcceptibleOptions|string} options Options to parse.\n * @return {Options} Parsed options.\n */\nexport const parseFieldOptions = (\n\toptions: AcceptibleOptions | string\n): Options => {\n\tif ( typeof options === 'string' ) {\n\t\t/* ex. 'Option 1, Option 2' */\n\t\treturn options\n\t\t\t.split( ',' )\n\t\t\t.map( ( option ) => ( { label: option, value: option } ) );\n\t} else if ( ! Array.isArray( options ) && typeof options === 'object' ) {\n\t\t/* ex. { option1: 'Option 1', option2: 'Option 2' } */\n\t\treturn Object.entries( options ).map( ( [ value, label ] ) => ( {\n\t\t\tlabel,\n\t\t\tvalue,\n\t\t} ) );\n\t}\n\n\treturn options.map( ( option: Option | string ) =>\n\t\ttypeof option === 'string'\n\t\t\t? /* ex. [ 'Option 1', 'Option 2' ] */\n\t\t\t {\n\t\t\t\t\tlabel: option,\n\t\t\t\t\tvalue: option,\n\t\t\t }\n\t\t\t: /* ex. [ { value: 'option1', label: 'Option 1' }, { value: 'option2', label: 'Option 2' } ] */\n\t\t\t option\n\t);\n};\n\n/**\n * Parse value based on field type & props.\n *\n * @param {FieldProps['value']} value Value to parse.\n * @param {FieldProps} fieldProps Field props to use for processing value.\n * @return {FieldProps['value']} Parsed field value.\n */\nexport const parseFieldValue = < F extends FieldProps >(\n\tvalue: any,\n\tfieldProps: F\n): F[ 'value' ] => {\n\tlet parsedValue: any = value;\n\n\tconst { type, default: std } = fieldProps;\n\n\tif ( std !== undefined && type !== 'checkbox' && parsedValue === null ) {\n\t\tparsedValue = std;\n\t}\n\n\tswitch ( fieldProps.type ) {\n\t\tcase 'checkbox':\n\t\t\tswitch ( typeof parsedValue ) {\n\t\t\t\tcase 'object':\n\t\t\t\t\tif ( Array.isArray( parsedValue ) ) {\n\t\t\t\t\t\tparsedValue =\n\t\t\t\t\t\t\tparsedValue.length === 1 &&\n\t\t\t\t\t\t\tparsedValue[ 0 ].toString() === '1';\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'string':\n\t\t\t\t\tif (\n\t\t\t\t\t\t[ 'true', 'yes', '1', 1, true ].indexOf(\n\t\t\t\t\t\t\tparsedValue\n\t\t\t\t\t\t) >= 0 ||\n\t\t\t\t\t\tparseInt( parsedValue, 10 ) > 0\n\t\t\t\t\t) {\n\t\t\t\t\t\tparsedValue = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tparsedValue = false;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'number':\n\t\t\t\t\tif ( parsedValue > 0 ) {\n\t\t\t\t\t\tparsedValue = true;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'number':\n\t\t\tif ( typeof parsedValue === 'string' ) {\n\t\t\t\tparsedValue =\n\t\t\t\t\tparsedValue.indexOf( '.' ) > 0\n\t\t\t\t\t\t? parseFloat( parsedValue )\n\t\t\t\t\t\t: parseInt( parsedValue );\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'multicheck':\n\t\t\tif (\n\t\t\t\ttypeof parsedValue === 'string' &&\n\t\t\t\tparsedValue.indexOf( ',' )\n\t\t\t) {\n\t\t\t\tparsedValue = parsedValue.split( ',' );\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'license_key':\n\t\t\tparsedValue = {\n\t\t\t\tkey: '',\n\t\t\t\tlicense: {},\n\t\t\t\tmessages: [],\n\t\t\t\tstatus: 'empty',\n\t\t\t\texpires: false,\n\t\t\t\tclasses: false,\n\t\t\t\t...parsedValue,\n\t\t\t};\n\n\t\t\tbreak;\n\n\t\tcase 'textarea':\n\t\t\tif ( fieldProps.allowHtml ) {\n\t\t\t\t// Decoding HTML.\n\t\t\t\tparsedValue = decodeEntities( parsedValue );\n\t\t\t}\n\t}\n\n\treturn parsedValue;\n};\n\nexport function isOldFieldType< F extends FieldBaseProps >( props: F ): false;\nexport function isOldFieldType< F extends OldFieldBase >( props: F ): true;\nexport function isOldFieldType( props: FieldProps ): false;\nexport function isOldFieldType( props: OldFieldProps ): true;\n\nexport function isOldFieldType( props: any ): boolean {\n\t// Cast type as any to prevent errors due to union on props above.\n\t// FieldProps doesn't contain these keys, thus its an OldField.\n\tconst cast = { ...props };\n\n\tif (\n\t\tcast &&\n\t\ttypeof cast === 'object' &&\n\t\t// @ts-ignore It exists.\n\t\t( typeof cast?.std !== 'undefined' ||\n\t\t\ttypeof cast?.user_roles !== 'undefined' ||\n\t\t\t( typeof cast?.type !== 'undefined' &&\n\t\t\t\tcast?.type === 'userselect' ) ||\n\t\t\ttypeof cast?.taxonomy !== 'undefined' ||\n\t\t\ttypeof cast?.post_type !== 'undefined' )\n\t) {\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n\n/**\n * Parse field props, handling conversion to current components.\n *\n * @param {FieldProps} props Field props to be parsed.\n * @return {FieldProps} Parsed field props.\n */\nexport const parseFieldProps = (\n\tprops: OldFieldProps | FieldProps\n): FieldProps => {\n\tlet fieldProps: IntermediaryFieldProps;\n\n\t/**\n\t * 1. If old field, migrate first.\n\t * 2. Parse all props to ensure completeness.\n\t */\n\tif ( isOldFieldType( props ) ) {\n\t\tfieldProps = parseOldArgsToProps( props as OldFieldProps );\n\t} else {\n\t\tfieldProps = props as FieldProps;\n\t}\n\n\t// Ensure prop completeness.\n\tswitch ( fieldProps.type ) {\n\t\tcase 'html':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t\tcontent: fieldProps.content ?? '',\n\t\t\t};\n\n\t\tcase 'checkbox':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t};\n\t\tcase 'color':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t};\n\t\tcase 'customselect':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t\tentityType: fieldProps.entityType ?? 'custom',\n\t\t\t};\n\t\tcase 'multicheck':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t\toptions: fieldProps.options ?? [],\n\t\t\t};\n\t\tcase 'select':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t\toptions: fieldProps.options ?? [],\n\t\t\t};\n\t\tcase 'multiselect':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t\toptions: fieldProps.options ?? [],\n\t\t\t\tmultiple: true,\n\t\t\t};\n\t\tcase 'objectselect':\n\t\tcase 'postselect':\n\t\tcase 'taxonomyselect':\n\t\tcase 'userselect':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t\tentityKind: fieldProps.entityKind ?? '',\n\t\t\t};\n\n\t\tcase 'tokenselect':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t\tvalue: fieldProps.value ?? [],\n\t\t\t\toptions: fieldProps.options ?? [],\n\t\t\t};\n\n\t\tcase 'radio':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t};\n\t\tcase 'rangeslider':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t};\n\t\tcase 'number':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t};\n\t\tdefault:\n\t\tcase 'email':\n\t\tcase 'tel':\n\t\tcase 'hidden':\n\t\tcase 'text':\n\t\tcase 'password':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t};\n\n\t\tcase 'license_key':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t};\n\n\t\tcase 'measure':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t};\n\n\t\tcase 'textarea':\n\t\t\treturn {\n\t\t\t\t...fieldProps,\n\t\t\t};\n\t}\n};\n","import type { OptGroups, Option, Options, StringObject } from './general';\n\nimport type { AtLeast } from './generics';\n\nexport type OnChange< T extends any > = {\n\tonChange: ( value: NonNullable< T > ) => void;\n};\n\nexport type WithOnChange< F extends FieldBaseProps > = F &\n\tOnChange< NonNullable< F[ 'value' ] > >;\n\nexport type PropsWithOnChange< F > = F extends FieldBaseProps\n\t? WithOnChange< F >\n\t: never;\n\nexport interface FieldBaseProps {\n\t// v: 2;\n\tid: string;\n\ttype: string;\n\tvalue?: any;\n\tname?: string;\n\tlabel?: string;\n\tclassName?: string;\n\tdefault?: any;\n\trequired?: boolean;\n\thelp?: string | React.ReactElement;\n\tpriority?: number;\n\tdependencies?: { [ key: string ]: string | boolean | number };\n}\n\nexport interface HtmlFieldProps extends FieldBaseProps {\n\ttype: 'html';\n\tcontent: string;\n}\n\nexport interface InputFieldProps< V extends string | number = string | number >\n\textends FieldBaseProps {\n\tvalue?: V;\n\tplaceholder?: string;\n\tsize?: string;\n}\n\nexport interface SelectFieldBaseProps extends FieldBaseProps {\n\toptions: Options | OptGroups;\n\tmultiple?: boolean;\n\tsearchable?: boolean;\n}\n\nexport interface CheckboxFieldProps extends FieldBaseProps {\n\ttype: 'checkbox';\n\tvalue?: boolean;\n\theading?: string;\n}\n\nexport interface HexColorFieldProps extends FieldBaseProps {\n\ttype: 'color';\n\tvalue?: string;\n\tdisableAlpha?: boolean;\n}\n\nexport interface HiddenFieldProps extends InputFieldProps {\n\ttype: 'hidden';\n}\n\nexport interface LicenseKeyFieldProps extends InputFieldProps {\n\ttype: 'license_key';\n\t// ! This will be refactored once we implement these fields.\n\tlicense?: { [ key: string ]: any };\n\tmessages?: string[];\n\tstatus?: string;\n\texpires?: string | number;\n}\n\nexport interface MeasureFieldProps\n\textends Omit< NumberFieldProps, 'type' | 'value' > {\n\ttype: 'measure';\n\tvalue?: string;\n\tunits: StringObject;\n}\n\nexport interface MulticheckFieldProps extends FieldBaseProps {\n\ttype: 'multicheck';\n\toptions: Options;\n\tvalue?: ( string | number )[];\n}\n\nexport interface MultiselectFieldProps extends SelectFieldBaseProps {\n\ttype: 'multiselect';\n\tmultiple?: true;\n\tvalue?: string[];\n}\n\nexport interface NumberFieldProps extends InputFieldProps< number > {\n\ttype: 'number';\n\tmin?: number;\n\tmax?: number;\n\tstep?: number;\n}\n\nexport interface ObjectSelectFieldProps extends FieldBaseProps {\n\ttype: 'objectselect' | 'postselect' | 'taxonomyselect' | 'userselect';\n\tplaceholder?: string;\n\tvalue?: number | number[];\n\tmultiple?: boolean;\n\tentityKind: string;\n\tentityType?: string;\n}\n\nexport interface PostSelectFieldProps\n\textends Omit< ObjectSelectFieldProps, 'type' > {\n\ttype: 'postselect';\n\tentityKind: 'postType';\n}\n\nexport interface TaxonomySelectFieldProps\n\textends Omit< ObjectSelectFieldProps, 'type' > {\n\ttype: 'taxonomyselect';\n\tentityKind: 'taxonomy';\n}\n\nexport interface UserSelectFieldProps\n\textends Omit< ObjectSelectFieldProps, 'type' > {\n\ttype: 'userselect';\n\tentityKind: 'user';\n}\n\nexport interface CustomSelectFieldProps extends FieldBaseProps {\n\ttype: 'customselect';\n\tplaceholder?: string;\n\tvalue?: string | string[];\n\tmultiple?: boolean;\n\tentityType: string;\n\tapiEndpoint?: string;\n}\n\nexport interface RadioFieldProps extends FieldBaseProps {\n\ttype: 'radio';\n\toptions: Option[];\n\tvalue?: string | number;\n}\n\nexport interface RangesliderFieldProps\n\textends Omit< NumberFieldProps, 'type' > {\n\ttype: 'rangeslider';\n\tallowReset?: boolean;\n\t// ! This needs to be remapped from std or default value.\n\tinitialPosition?: number;\n}\n\nexport interface SelectFieldProps extends SelectFieldBaseProps {\n\ttype: 'select';\n\tmultiple?: boolean;\n\tvalue?: string;\n}\n\nexport interface TextFieldProps extends InputFieldProps< string > {\n\ttype: 'text' | 'email' | 'tel' | 'password' | 'url';\n}\n\nexport interface DateFieldProps extends InputFieldProps< string > {\n\ttype: 'date';\n}\n\nexport interface TextareaFieldProps extends InputFieldProps< string > {\n\ttype: 'textarea';\n\trows?: number;\n\t// ! Review if this is useful?\n\tallowHtml?: boolean;\n}\n\nexport interface TokenSelectFieldProps extends FieldBaseProps {\n\ttype: 'tokenselect';\n\tvalue: string[];\n\tplaceholder?: string;\n\toptions: {\n\t\t[ key: string ]: string;\n\t};\n\tmultiple?: boolean;\n}\n\n/**\n * Discrimated union of all valid known FieldProps definitions.\n */\nexport type FieldProps =\n\t| CheckboxFieldProps\n\t| CustomSelectFieldProps\n\t| DateFieldProps\n\t| HexColorFieldProps\n\t| HiddenFieldProps\n\t| HtmlFieldProps\n\t| LicenseKeyFieldProps\n\t| MeasureFieldProps\n\t| MulticheckFieldProps\n\t| MultiselectFieldProps\n\t| NumberFieldProps\n\t| ObjectSelectFieldProps\n\t| PostSelectFieldProps\n\t| TaxonomySelectFieldProps\n\t| UserSelectFieldProps\n\t| RadioFieldProps\n\t| RangesliderFieldProps\n\t| SelectFieldProps\n\t| TextFieldProps\n\t| TextareaFieldProps\n\t| TokenSelectFieldProps;\n\n/**\n * Union of FieldProps with typed onChange prop.\n */\nexport type FieldPropsWithOnChange = PropsWithOnChange< FieldProps >;\n\n/**\n * Single point list of minimum shared fields for a valid field declaration.\n */\nexport type MinFieldProps = 'id' | 'type';\n\n/**\n * Union of FieldProps converted to partials that still require `type`.\n */\nexport type PartialFieldProps = AtLeast< FieldProps, MinFieldProps >;\n\n/**\n * Intermediary field props includes all required fields, used for conversions.\n */\nexport type IntermediaryFieldProps =\n\t| AtLeast< CheckboxFieldProps, MinFieldProps >\n\t| AtLeast< CustomSelectFieldProps, MinFieldProps >\n\t| AtLeast< DateFieldProps, MinFieldProps >\n\t| AtLeast< HexColorFieldProps, MinFieldProps >\n\t| AtLeast< HiddenFieldProps, MinFieldProps >\n\t| AtLeast< HtmlFieldProps, MinFieldProps >\n\t| AtLeast< LicenseKeyFieldProps, MinFieldProps >\n\t| AtLeast< MeasureFieldProps, MinFieldProps | 'units' >\n\t| AtLeast< MulticheckFieldProps, MinFieldProps >\n\t| AtLeast< MultiselectFieldProps, MinFieldProps >\n\t| AtLeast< NumberFieldProps, MinFieldProps >\n\t| AtLeast<\n\t\t\tObjectSelectFieldProps,\n\t\t\tMinFieldProps | 'entityKind' | 'entityType'\n\t >\n\t| AtLeast< PostSelectFieldProps, MinFieldProps | 'entityType' >\n\t| AtLeast< TaxonomySelectFieldProps, MinFieldProps | 'entityType' >\n\t| AtLeast< UserSelectFieldProps, MinFieldProps | 'entityType' >\n\t| AtLeast< RadioFieldProps, MinFieldProps | 'options' >\n\t| AtLeast< RangesliderFieldProps, MinFieldProps >\n\t| AtLeast< SelectFieldProps, MinFieldProps | 'options' >\n\t| AtLeast< TextFieldProps, MinFieldProps >\n\t| AtLeast< TextareaFieldProps, MinFieldProps >\n\t| AtLeast< TokenSelectFieldProps, MinFieldProps | 'options' >;\n\nexport type FieldPropsMap = {\n\tcheckbox: CheckboxFieldProps;\n\tcolor: HexColorFieldProps;\n\tcustomselect: CustomSelectFieldProps;\n\tdate: DateFieldProps;\n\temail: TextFieldProps;\n\thidden: HiddenFieldProps;\n\thtml: HtmlFieldProps;\n\tlicense_key: LicenseKeyFieldProps;\n\tmeasure: MeasureFieldProps;\n\tmulticheck: MulticheckFieldProps;\n\tmultiselect: MultiselectFieldProps;\n\tnumber: NumberFieldProps;\n\tobjectselect: ObjectSelectFieldProps;\n\tpassword: TextFieldProps;\n\tphone: TextFieldProps;\n\tpostselect: PostSelectFieldProps;\n\tradio: RadioFieldProps;\n\trangeslider: RangesliderFieldProps;\n\tselect: SelectFieldProps;\n\ttaxonomyselect: TaxonomySelectFieldProps;\n\ttext: TextFieldProps;\n\ttextarea: TextareaFieldProps;\n\ttokenselect: TokenSelectFieldProps;\n\tuserselect: UserSelectFieldProps;\n};\n","export type OptionLabel = string;\nexport type OptionValue = string | number;\n\nexport type StringArray = string[];\nexport type NumberArray = number[];\nexport type StringNumberArray = StringArray | NumberArray;\nexport type StringObject = { [ key: string ]: string };\nexport type BooleanObject = { [ key: string ]: boolean };\n\nexport interface Option {\n\tvalue: OptionValue;\n\tlabel: OptionLabel;\n}\n\nexport type AcceptibleOptions =\n\t| string\n\t| Option[]\n\t| {\n\t\t\t[ key: OptionValue ]: OptionLabel;\n\t }\n\t| OptionLabel[];\n\nexport type Options = Option[];\n\nexport type OptGroups = {\n\t[ key: string ]: Options;\n};\n\n/**\n * General ControlledInput prop type. Accepts value type as argument.\n */\nexport interface ControlledInputProps< T > {\n\t/** Controlled value */\n\tvalue: T;\n\t/** Callback used when the value changes */\n\tonChange: ( value: T ) => void;\n\t[ key: string ]: any;\n}\n","/**\n * Distributed omit of specific properties.\n */\nexport type DistributiveOmit< T, K extends keyof any > = T extends any\n\t? Omit< T, K >\n\t: never;\n\n/**\n * Create a partial that still requires at least keys K...\n */\nexport type AtLeast< T, K extends keyof T > = Partial< T > & Pick< T, K >;\n\n/**\n * Returns type with all props NonNullable.\n */\nexport type RequiredNotNull< T > = {\n\t[ P in keyof T ]: NonNullable< T[ P ] >;\n};\n\n/**\n * Distributed version of RequiredNotNull.\n * Ensure keys are non nullable (undefined | null).\n */\nexport type Ensure< T, K extends keyof T > = T &\n\tRequiredNotNull< Pick< T, K > >;\n","export * from './fields';\nexport * from './generics';\nexport * from './general';\nexport * from './old-field';\n","import type {\n\tOptGroups,\n\tOption,\n\tOptionLabel,\n\tOptions,\n\tOptionValue,\n\tStringObject,\n} from './general';\nimport type { AtLeast } from './generics';\n\nexport interface OldFieldArgs {\n\ttype: OldField[ 'type' ];\n\tallow_html?: boolean;\n\tas_array?: boolean;\n\tcontent?: string;\n\tclass?: string;\n\tclasses?: string | string[];\n\tdependencies?: { [ key: string ]: string | boolean | number };\n\tdesc?: string;\n\tdesc_position?: string;\n\tdynamic_desc?: string;\n\tid?: string;\n\tid_prefix?: string;\n\tlabel?: string;\n\tmax?: number;\n\tmin?: number;\n\tmultiple?: boolean;\n\tname?: string;\n\tpost_type?: string;\n\ttaxonomy?: string;\n\toptions?: Options | OptGroups;\n\tplaceholder?: string;\n\trequired?: boolean;\n\tselect2?: boolean;\n\tsize?: string;\n\tstd?: any;\n\tstep?: number;\n\tunit?: string;\n\tunits?: {};\n\tmeta?: {};\n}\n\nexport interface OldFieldBase {\n\t// Possible delineated union from newer field models.\n\t// v: 1;\n\ttype: string;\n\tvalue?: any;\n\tid?: string;\n\tid_prefix?: string;\n\t//? Should this be optional?\n\tname?: string;\n\tlabel?: string;\n\tstd?: any;\n\tdesc?: string;\n\tdynamic_desc?: string;\n\tdesc_position?: string;\n\tclass?: string;\n\tclasses?: string | string[];\n\trequired?: boolean;\n\tmeta?: {\n\t\t[ key: string ]: any;\n\t};\n\tdependencies?: { [ key: string ]: string | boolean | number };\n}\n\nexport interface OldHtmlField extends OldFieldBase {\n\ttype: 'html';\n\tcontent?: string;\n}\n\nexport interface OldHiddenField extends OldFieldBase {\n\ttype: 'hidden';\n}\n\nexport interface OldTextField extends OldFieldBase {\n\ttype: 'text' | 'email' | 'phone' | 'password';\n\tsize?: string;\n\tplaceholder?: string;\n}\n\nexport interface OldNumberField extends Omit< OldTextField, 'type' > {\n\ttype: 'number';\n\tmin?: number;\n\tmax?: number;\n\tstep?: number;\n}\n\nexport interface OldRangesliderField extends Omit< OldNumberField, 'type' > {\n\ttype: 'rangeslider';\n}\n\nexport interface OldMeasureField extends Omit< OldNumberField, 'type' > {\n\ttype: 'measure';\n\tunit?: string;\n\tunits?: StringObject;\n}\n\nexport interface OldLicenseField extends Omit< OldTextField, 'type' > {\n\ttype: 'license_key';\n}\n\nexport interface OldColorField extends Omit< OldTextField, 'type' > {\n\ttype: 'color';\n}\n\nexport interface OldRadioField extends OldFieldBase {\n\ttype: 'radio';\n\toptions: Option[];\n}\n\nexport interface OldMulticheckField extends Omit< OldRadioField, 'type' > {\n\ttype: 'multicheck';\n}\n\nexport type OldSelectOptions =\n\t| Option[]\n\t| {\n\t\t\t[ key: OptionValue ]: OptionLabel;\n\t }\n\t| OptionLabel[];\n\nexport interface OldSelectField extends OldFieldBase {\n\ttype: 'select';\n\tselect2?: boolean;\n\tmultiple?: boolean;\n\tas_array?: boolean;\n\toptions: OldSelectOptions;\n}\n\nexport interface OldSelect2Field extends Omit< OldSelectField, 'type' > {\n\ttype: 'select2';\n\tselect2: true;\n}\n\nexport interface OldObjectSelectField extends Omit< OldSelect2Field, 'type' > {\n\ttype: 'objectselect' | 'postselect' | 'taxonomyselect' | 'userselect';\n\tobject_type?: 'post' | 'taxonomy' | 'user';\n\tpost_type?: string;\n\ttaxonomy?: string;\n\tuser_roles?: string[];\n}\n\nexport interface OldPostSelectField extends OldObjectSelectField {\n\ttype: 'postselect';\n\tobject_type?: 'post';\n\tpost_type: string;\n}\n\nexport interface OldTaxnomySelectField extends OldObjectSelectField {\n\ttype: 'taxonomyselect';\n\tobject_type?: 'taxonomy';\n\ttaxonomy: string;\n}\n\nexport interface OldUserSelectField extends OldObjectSelectField {\n\ttype: 'userselect';\n\tobject_type?: 'user';\n\tuser_roles?: string[];\n}\n\nexport interface OldCheckboxField extends OldFieldBase {\n\ttype: 'checkbox';\n}\n\nexport interface OldTextareaField extends OldFieldBase {\n\ttype: 'textarea';\n\tallow_html?: boolean;\n}\n\nexport type OldFieldProps =\n\t| OldHtmlField\n\t| OldHiddenField\n\t| OldTextField\n\t| OldNumberField\n\t| OldRangesliderField\n\t| OldMeasureField\n\t| OldLicenseField\n\t| OldColorField\n\t| OldRadioField\n\t| OldMulticheckField\n\t| OldSelectField\n\t| OldSelect2Field\n\t| OldObjectSelectField\n\t| OldPostSelectField\n\t| OldTaxnomySelectField\n\t| OldCheckboxField\n\t| OldTextareaField\n\t| OldUserSelectField;\n\n/**\n * Union of FieldProps converted to partials that still require `type`.\n */\nexport type PartialOldFieldProps = AtLeast< OldFieldProps, 'type' >;\n\nexport type OldFieldMap = {\n\thtml: OldHtmlField;\n\tcheckbox: OldCheckboxField;\n\tcolor: OldColorField;\n\temail: OldTextField;\n\thidden: OldHiddenField;\n\tlicense_key: OldLicenseField;\n\tmeasure: OldMeasureField;\n\tmulticheck: OldMulticheckField;\n\tmultiselect: OldSelectField;\n\tnumber: OldNumberField;\n\tobjectselect: OldObjectSelectField;\n\tpassword: OldTextField;\n\tphone: OldTextField;\n\tpostselect: OldPostSelectField;\n\tradio: OldRadioField;\n\trangeslider: OldRangesliderField;\n\tselect: OldSelectField;\n\tselect2: OldSelect2Field;\n\ttaxonomyselect: OldTaxnomySelectField;\n\ttext: OldTextField;\n\ttextarea: OldTextareaField;\n\tuserselect: OldUserSelectField;\n};\n\nexport type OldFieldValueMap = {\n\tcheckbox: boolean | number | string;\n\tcolor: string;\n\temail: string;\n\thidden: string;\n\tlicense_key: string;\n\tmeasure: string;\n\tmulticheck: { [ key: string ]: boolean };\n\tmultiselect: number[] | string[];\n\tnumber: number | string;\n\tobjectselect: number | string | number[] | string[];\n\tpassword: string;\n\tphone: string;\n\tpostselect: number | string | number[] | string[];\n\tradio: number | string;\n\trangeslider: number;\n\tselect: number | string;\n\tselect2: number | string | number[] | string[];\n\ttaxonomyselect: number | string | number[] | string[];\n\ttext: string;\n\ttextarea: string;\n\tuserselect: number | string | number[] | string[];\n};\n\n// Catch all union of field types & values.\nexport type OldField = OldFieldMap[ keyof OldFieldMap ];\nexport type OldFieldValue = OldFieldValueMap[ keyof OldFieldValueMap ];\n","module.exports = window[\"popupMaker\"][\"components\"];","module.exports = window[\"popupMaker\"][\"coreData\"];","module.exports = window[\"popupMaker\"][\"i18n\"];","module.exports = window[\"popupMaker\"][\"utils\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"compose\"];","module.exports = window[\"wp\"][\"coreData\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"hooks\"];","module.exports = window[\"wp\"][\"htmlEntities\"];","module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export * from './lib';\nexport * from './types';\nexport * from './hooks';\n"],"names":["default","useFields","applyFilters","createContext","useContext","jsx","_jsx","FieldsContext","context","fields","values","setValues","FieldContextProvider","children","Provider","value","getFields","filters","visible","_fields","filter","field","tab","section","panel","fieldIsVisible","id","sort","a","b","priority","map","component","updateField","show","undefined","BaseControl","CheckboxControl","FormToggle","CheckboxField","onChange","label","fieldProps","toggle","checked","__nextHasNoMarginBottom","ColorIndicator","ColorPalette","ColorPicker","Fragment","_Fragment","jsxs","_jsxs","ColorField","colors","name","color","colorValue","onChangeComplete","_color$hex","hex","newValue","clearable","useState","useEffect","__","sprintf","useDebounce","decodeEntities","SmartTokenControl","fetchFromWPApi","CustomSelectField","entityType","multiple","apiEndpoint","queryText","setQueryText","apiData","setApiData","prefill","suggestions","isLoading","setIsLoading","updateQueryText","text","fetchApiData","apiUrl","includeIds","Array","isArray","join","response","allOptions","items","item","prefillData","includes","error","findSuggestion","findInList","list","find","suggestion","found","getTokenValue","token","className","replace","charAt","toUpperCase","slice","hideLabelFromVision","placeholder","toLowerCase","tokenOnComma","onInputChange","stringValues","v","renderToken","renderSuggestion","option","messages","noSuggestions","DateField","type","event","target","classnames","MeasureField","MulticheckField","HtmlField","NumberField","ObjectSelectField","RadioField","RangeSliderField","SelectField","TextAreaField","TextField","TokenSelectField","parseFieldProps","FieldComponent","Field","props","Fields","i","content","dangerouslySetInnerHTML","__html","__experimentalUnitControl","UnitControl","units","_value$replace","number","parseInt","state","setState","unit","unitsArray","Object","entries","l","newNumber","disableUnits","length","onUnitChange","newUnit","parseFieldOptions","options","checkedOpts","CheckBoxes","optLabel","optValue","isChecked","indexOf","toggleOption","val","toString","__experimentalNumberControl","NumberControl","__next40pxDefaultSize","useSelect","store","coreDataStore","entityKind","usePopupMakerAPI","setUsePopupMakerAPI","select","records","getEntityRecords","include","per_page","getUsers","search","isSearching","isResolving","mapItems","title","rendered","isNaN","_suggestion$title$ren","raw","_option$id$toString","RadioControl","selected","RangeControl","initialPosition","step","withInputField","SelectControl","hasOptGroups","reduce","hasGroups","_key","_value","Options","OptGroups","optGroups","_fieldProps$options","split","TextControl","TextareaControl","rows","inputText","setInputText","keys","opt","renderOption","optionValue","_options$val","optionLabel","classNames","pick","oldFieldDefaults","id_prefix","desc","dynamic_desc","size","classes","dependencies","select2","allow_html","as_array","object_type","object_key","post_type","taxonomy","std","min","max","required","desc_position","meta","parseOldArgsToProps","args","_ref","_args$id","_args$value","_fieldProps$entityTyp","_args$options","_args$units","_args$multiple","_args$placeholder","push","class","help","_args$options2","searchable","_args$post_type","_args$taxonomy","allowHtml","parseFieldValue","parsedValue","parseFloat","key","license","status","expires","isOldFieldType","cast","user_roles","_fieldProps$content","_fieldProps$entityTyp2","_fieldProps$options2","_fieldProps$options3","_fieldProps$entityKin","_fieldProps$value","_fieldProps$options4"],"sourceRoot":""} dist/packages/components.js.map 0000644 00001626614 15174671772 0012625 0 ustar 00 {"version":3,"file":"components.js","mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AAC8D;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAe,8DAAU;AACzB;AACA;AACA;AACA,CAAC;AACD,SAAS,gEAAY;AACrB;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,CAAC,EAAC;AACH,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5ByC;AACe;AACM;AACE;AACA;AACE;AACN;AACA;AACE;AACP;AACK;AACW;AACX;AACE;AACN;AACS;AACP;AACM;AACb;AACU;AACR;AACJ;AACa;AACI;AACN;AACE;AACT;AACN;AACI;AACJ;AACM;AACE;AACE;AACsB;AACxB;AACW;AACA;AACT;AACF;AAEwB;AACrB;AACP;AACa;AACW;AACX;AACW;AACT;AACW;AACjB;AACS;AACd;AACJ;AACW;AACM;AACJ;AACb;AACF;AACF;AACI;AACE;AACE;AACN;AACW;AACL;AAC0B;AACJ;AACP;AACK;AACF;AACb;AACe;AACE;AACR;AACE;AACV;AACV;AACE;AACJ;AACqB;AACJ;AACE;AACG;AACZ;AACJ;AACA;AACF;AACS;AACA;AACE;AACP;AACR;AACQ;AACA;AACN;AACF;AACI;AACiB;AACJ;AACJ;AACY;AACR;AACO;AACP;AACW;AACO;AACL;AACO;AAC1B;AACY;AACJ;AACO;AACf;AACoB;AACR;AACA;AACX;AACR;AACE;AACJ;AACF;AACE;AACE;AACgB;AACA;AACA;AACA;AACA;AACA;AACd;AACN;AACa;AACX;AACY;AACd;AACa;AACb;AACE;AACF;AACe;AACE;AACE;AACJ;AACI;AACiB;AACnB;AACe;AACiB;AAC5B;AACiB;AACzB;AACf;AACU;AACW;AACE;AACb;AACJ;AACG;AACG;AACG;AACA;AACF;AACX;AACO;AACP;AACS;AACA;AACT;AACe;AACJ;AACT;AACF;AACW;AACT;AACgB;AACR;AACV;AACI;AACJ;AACqB;AACJ;AACZ;AACO;AACC;AACJ;AACM;AACJ;AACE;AACb;AACE;AACQ;AACJ;AACA;AACA;AACe;AACJ;AACE;AACf;AACA;AACN;AACW;AACH;AACoB;AACb;AACb;AACA;AACa;AACQ;AACN;AACE;AACW;AACF;AACjB;AACM;AACa;AACnB;AACE;AACH;AACR;AACM;AACU;AACN;AACD;AACE;AACD;AACa;AACS;AACM;AACE;AACtC;AACI;AACN;AACW;AACQ;AACb;AACJ;AACqB;AACJ;AACrB;AACM;AACS;AACE;AACjB;AACM;AACJ;AACI;AACM;AACV;AACU;AACF;AACJ;AACF;AACE;AACM;AACJ;AACG;AACP;AACS;AACE;AACJ;AACP;AACwB;AACtB;AACI;AACJ;AACW;AACL;AACI;AACV;AACsB;AACE;AACA;AACJ;AACJ;AACE;AACA;AACpB;AACJ;AACe;AACJ;AACQ;AACM;AACnB;AACA;AACE;AACG;AACI;AACE;AACQ;AACZ;AACE;AACJ;AACU;AACR;AACU;AACJ;AACb;AACF;AACJ;AACE;AACE;AACe;AACJ;AACD;AACZ;AACM;AACF;AACA;AACA;AACF;AACA;AACE;AACM;AAC3D,iC;;;;;;;;;;;;;;;ACzTA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,oC;;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,s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","sources":["webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/icon/index.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/index.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/add-card.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/add-submenu.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/add-template.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-center.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-justify.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-none.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/archive.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-down-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-up-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/aspect-ratio.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/at-symbol.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/audio.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/background.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/backup.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/bell-unread.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/bell.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/block-default.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/block-meta.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/block-table.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/border.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/box.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/brush.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/bug.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/button.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/buttons.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/calendar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cancel-circle-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/caption.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/capture-photo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/capture-video.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/category.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/caution-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/caution.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chart-bar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/check.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-down-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-left-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-right-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-up-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/classic.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/close-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/close.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cloud-download.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cloud-upload.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cloud.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/code.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cog.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/color.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/column.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/columns.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-author-avatar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-author-name.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-content.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-edit-link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-reply-link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/connection.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/copy-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/copy.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-all.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-bottom-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-bottom-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-top-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-top-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cover.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/create.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/crop.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/currency-dollar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/currency-euro.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/currency-pound.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/custom-link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/custom-post-type.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/dashboard.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/desktop.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/details.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/download.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drafts.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drag-handle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drawer-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drawer-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/edit.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/envelope.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/error.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/external.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/file.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/filter.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/flip-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/flip-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/footer.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-bold.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-capitalize.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-indent-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-indent.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-italic.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-bullets-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-bullets.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-numbered-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-numbered.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-lowercase.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-ltr.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-outdent-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-outdent.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-strikethrough.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-underline.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-uppercase.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/fullscreen.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/funnel.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/gallery.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/globe.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/grid.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/group.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/handle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/header.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-1.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-2.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-3.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-4.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-5.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-6.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/help-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/help.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/home-button.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/home.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/html.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/image.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/inbox.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/info.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/insert-after.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/insert-before.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/institution.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-bottom.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-center-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-center.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-space-between-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-space-between.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-stretch-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-stretch.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-top.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/key.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/keyboard-close.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/keyboard-return.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/keyboard.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/language.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/layout.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/level-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lifesaver.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/line-dashed.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/line-dotted.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/line-solid.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/link-off.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/list-item.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/list-view.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/list.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lock-outline.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lock-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lock.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/login.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/loop.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/map-marker.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/media-and-text.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/media.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/megaphone.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/menu.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/mobile.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/more-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/more-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/more.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/move-to.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/navigation.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/next.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/not-allowed.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/not-found.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/offline.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/overlay-text.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/page-break.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/page.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pages.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/paragraph.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/payment.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pencil.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pending.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/people.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/percent.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pin-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pin.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plugins.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plus-circle-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plus-circle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plus.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/position-center.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/position-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/position-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-author.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-categories.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-comments-count.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-comments-form.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-comments.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-content.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-date.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-excerpt.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-featured-image.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-list.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-terms.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/preformatted.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/previous.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/published.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pull-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pull-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pullquote.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination-next.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination-numbers.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination-previous.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/quote.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/receipt.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/redo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/remove-bug.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/remove-submenu.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/replace.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/reset.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/resize-corner-n-e.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/reusable-block.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/rotate-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/rotate-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/row.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/rss.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/scheduled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/search.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/seen.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/send.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/separator.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/settings.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shadow.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/share.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shield.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shipping.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shortcode.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shuffle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sidebar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-all.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-axial.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-bottom.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-top.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/site-logo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/square.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/stack.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/star-empty.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/star-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/star-half.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/store.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/stretch-full-width.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/stretch-wide.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/styles.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/subscript.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/superscript.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/swatch.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/symbol-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/symbol.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-column-after.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-column-before.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-column-delete.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-of-contents.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-row-after.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-row-before.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-row-delete.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tablet.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tag.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/term-description.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/text-color.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/text-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/text-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/thumbs-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/thumbs-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tip.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/title.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tool.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/trash.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/trending-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/trending-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/typography.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/undo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/ungroup.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/unlock.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/unseen.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/update.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/upload.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/verse.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/video.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/widget.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/wordpress.js?","webpack://popup-maker/core/./node_modules/classnames/index.js?","webpack://popup-maker/core/./node_modules/clsx/dist/clsx.mjs?","webpack://popup-maker/core/./packages/components/src/lib/confirm-dialogue/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/controlled-tab-panel/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/controlled-tab-panel/tab-button.tsx?","webpack://popup-maker/core/./packages/components/src/lib/cta-select-control/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/device-toggle/index.scss?d7ae","webpack://popup-maker/core/./packages/components/src/lib/device-toggle/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/entity-select-control/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/field-panel/editor.scss?826d","webpack://popup-maker/core/./packages/components/src/lib/field-panel/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/field-row/editor.scss?2f91","webpack://popup-maker/core/./packages/components/src/lib/field-row/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/freeform-control/editor.scss?30dc","webpack://popup-maker/core/./packages/components/src/lib/freeform-control/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/full-screen-panel/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/index.ts?","webpack://popup-maker/core/./packages/components/src/lib/list-table/editor.scss?ed41","webpack://popup-maker/core/./packages/components/src/lib/list-table/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/list-table/types.ts?","webpack://popup-maker/core/./packages/components/src/lib/popup-select-control/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/radio-buttons-control/editor.scss?132f","webpack://popup-maker/core/./packages/components/src/lib/radio-buttons-control/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/searchable-multicheck-control/editor.scss?6d47","webpack://popup-maker/core/./packages/components/src/lib/searchable-multicheck-control/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/smart-token-control/editor.scss?0df5","webpack://popup-maker/core/./packages/components/src/lib/smart-token-control/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/text-highlight/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/url-control/editor.scss?c319","webpack://popup-maker/core/./packages/components/src/lib/url-control/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/url-control/suggestion.tsx?","webpack://popup-maker/core/./packages/components/src/lib/utils/index.tsx?","webpack://popup-maker/core/./packages/components/src/lib/utils/use-controlled-state.tsx?","webpack://popup-maker/core/external window [\"popupMaker\",\"coreData\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"i18n\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"utils\"]?","webpack://popup-maker/core/external window [\"wp\",\"components\"]?","webpack://popup-maker/core/external window [\"wp\",\"compose\"]?","webpack://popup-maker/core/external window [\"wp\",\"coreData\"]?","webpack://popup-maker/core/external window [\"wp\",\"data\"]?","webpack://popup-maker/core/external window [\"wp\",\"element\"]?","webpack://popup-maker/core/external window [\"wp\",\"htmlEntities\"]?","webpack://popup-maker/core/external window [\"wp\",\"keycodes\"]?","webpack://popup-maker/core/external window [\"wp\",\"primitives\"]?","webpack://popup-maker/core/external window \"lodash\"?","webpack://popup-maker/core/external window \"React\"?","webpack://popup-maker/core/external window \"ReactJSXRuntime\"?","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/compat get default export?","webpack://popup-maker/core/webpack/runtime/define property getters?","webpack://popup-maker/core/webpack/runtime/hasOwnProperty shorthand?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/components/src/index.ts?"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cloneElement, forwardRef } from '@wordpress/element';\n\n/**\n * External dependencies\n */\n\n/**\n * Return an SVG icon.\n *\n * @param props The component props.\n *\n * @return Icon component\n */\nexport default forwardRef(({\n icon,\n size = 24,\n ...props\n}, ref) => {\n return cloneElement(icon, {\n width: size,\n height: size,\n ...props,\n ref\n });\n});\n//# sourceMappingURL=index.js.map","export { default as Icon } from './icon';\nexport { default as addCard } from './library/add-card';\nexport { default as addSubmenu } from './library/add-submenu';\nexport { default as addTemplate } from './library/add-template';\nexport { default as alignCenter } from './library/align-center';\nexport { default as alignJustify } from './library/align-justify';\nexport { default as alignLeft } from './library/align-left';\nexport { default as alignNone } from './library/align-none';\nexport { default as alignRight } from './library/align-right';\nexport { default as archive } from './library/archive';\nexport { default as arrowDown } from './library/arrow-down';\nexport { default as arrowDownRight } from './library/arrow-down-right';\nexport { default as arrowLeft } from './library/arrow-left';\nexport { default as arrowRight } from './library/arrow-right';\nexport { default as arrowUp } from './library/arrow-up';\nexport { default as arrowUpLeft } from './library/arrow-up-left';\nexport { default as atSymbol } from './library/at-symbol';\nexport { default as aspectRatio } from './library/aspect-ratio';\nexport { default as audio } from './library/audio';\nexport { default as background } from './library/background';\nexport { default as backup } from './library/backup';\nexport { default as bell } from './library/bell';\nexport { default as bellUnread } from './library/bell-unread';\nexport { default as blockDefault } from './library/block-default';\nexport { default as blockMeta } from './library/block-meta';\nexport { default as blockTable } from './library/block-table';\nexport { default as border } from './library/border';\nexport { default as box } from './library/box';\nexport { default as brush } from './library/brush';\nexport { default as bug } from './library/bug';\nexport { default as button } from './library/button';\nexport { default as buttons } from './library/buttons';\nexport { default as calendar } from './library/calendar';\nexport { default as cancelCircleFilled } from './library/cancel-circle-filled';\nexport { default as caption } from './library/caption';\nexport { default as capturePhoto } from './library/capture-photo';\nexport { default as captureVideo } from './library/capture-video';\nexport { default as category } from './library/category';\nexport { default as caution } from './library/caution';\nexport { /** @deprecated Import `cautionFilled` instead. */\ndefault as warning, default as cautionFilled } from './library/caution-filled';\nexport { default as chartBar } from './library/chart-bar';\nexport { default as check } from './library/check';\nexport { default as chevronDown } from './library/chevron-down';\nexport { default as chevronDownSmall } from './library/chevron-down-small';\nexport { default as chevronLeft } from './library/chevron-left';\nexport { default as chevronLeftSmall } from './library/chevron-left-small';\nexport { default as chevronRight } from './library/chevron-right';\nexport { default as chevronRightSmall } from './library/chevron-right-small';\nexport { default as chevronUp } from './library/chevron-up';\nexport { default as chevronUpDown } from './library/chevron-up-down';\nexport { default as classic } from './library/classic';\nexport { default as close } from './library/close';\nexport { default as closeSmall } from './library/close-small';\nexport { default as cloudDownload } from './library/cloud-download';\nexport { default as cloudUpload } from './library/cloud-upload';\nexport { default as cloud } from './library/cloud';\nexport { default as code } from './library/code';\nexport { default as cog } from './library/cog';\nexport { default as color } from './library/color';\nexport { default as column } from './library/column';\nexport { default as columns } from './library/columns';\nexport { default as copy } from './library/copy';\nexport { default as copySmall } from './library/copy-small';\nexport { default as comment } from './library/comment';\nexport { default as commentAuthorAvatar } from './library/comment-author-avatar';\nexport { default as commentAuthorName } from './library/comment-author-name';\nexport { default as commentContent } from './library/comment-content';\nexport { default as commentReplyLink } from './library/comment-reply-link';\nexport { default as commentEditLink } from './library/comment-edit-link';\nexport { default as cornerAll } from './library/corner-all';\nexport { default as cornerBottomLeft } from './library/corner-bottom-left';\nexport { default as cornerBottomRight } from './library/corner-bottom-right';\nexport { default as cornerTopLeft } from './library/corner-top-left';\nexport { default as cornerTopRight } from './library/corner-top-right';\nexport { default as connection } from './library/connection';\nexport { default as cover } from './library/cover';\nexport { default as create } from './library/create';\nexport { default as crop } from './library/crop';\nexport { default as currencyDollar } from './library/currency-dollar';\nexport { default as currencyEuro } from './library/currency-euro';\nexport { default as currencyPound } from './library/currency-pound';\nexport { default as customPostType } from './library/custom-post-type';\nexport { default as dashboard } from './library/dashboard';\nexport { default as desktop } from './library/desktop';\nexport { default as details } from './library/details';\nexport { default as drafts } from './library/drafts';\nexport { default as dragHandle } from './library/drag-handle';\nexport { default as drawerLeft } from './library/drawer-left';\nexport { default as drawerRight } from './library/drawer-right';\nexport { default as download } from './library/download';\nexport { default as edit } from './library/edit';\nexport { default as envelope } from './library/envelope';\nexport { default as external } from './library/external';\nexport { default as error } from './library/error';\nexport { default as file } from './library/file';\nexport { default as filter } from './library/filter';\nexport { default as flipHorizontal } from './library/flip-horizontal';\nexport { default as flipVertical } from './library/flip-vertical';\nexport { default as formatBold } from './library/format-bold';\nexport { default as formatCapitalize } from './library/format-capitalize';\nexport { default as formatIndent } from './library/format-indent';\nexport { default as formatIndentRTL } from './library/format-indent-rtl';\nexport { default as formatItalic } from './library/format-italic';\nexport { default as formatListBullets } from './library/format-list-bullets';\nexport { default as formatListBulletsRTL } from './library/format-list-bullets-rtl';\nexport { default as formatListNumbered } from './library/format-list-numbered';\nexport { default as formatListNumberedRTL } from './library/format-list-numbered-rtl';\nexport { default as formatLtr } from './library/format-ltr';\nexport { default as formatLowercase } from './library/format-lowercase';\nexport { default as formatOutdent } from './library/format-outdent';\nexport { default as formatOutdentRTL } from './library/format-outdent-rtl';\nexport { default as formatRtl } from './library/format-rtl';\nexport { default as formatStrikethrough } from './library/format-strikethrough';\nexport { default as formatUnderline } from './library/format-underline';\nexport { default as formatUppercase } from './library/format-uppercase';\nexport { default as fullscreen } from './library/fullscreen';\nexport { default as funnel } from './library/funnel';\nexport { default as gallery } from './library/gallery';\nexport { default as globe } from './library/globe';\nexport { default as grid } from './library/grid';\nexport { default as group } from './library/group';\nexport { default as handle } from './library/handle';\nexport { default as headingLevel1 } from './library/heading-level-1';\nexport { default as headingLevel2 } from './library/heading-level-2';\nexport { default as headingLevel3 } from './library/heading-level-3';\nexport { default as headingLevel4 } from './library/heading-level-4';\nexport { default as headingLevel5 } from './library/heading-level-5';\nexport { default as headingLevel6 } from './library/heading-level-6';\nexport { default as heading } from './library/heading';\nexport { default as help } from './library/help';\nexport { default as helpFilled } from './library/help-filled';\nexport { default as inbox } from './library/inbox';\nexport { default as institution } from './library/institution';\nexport { default as home } from './library/home';\nexport { default as homeButton } from './library/home-button';\nexport { default as html } from './library/html';\nexport { default as image } from './library/image';\nexport { default as info } from './library/info';\nexport { default as insertAfter } from './library/insert-after';\nexport { default as insertBefore } from './library/insert-before';\nexport { default as justifyBottom } from './library/justify-bottom';\nexport { default as justifyLeft } from './library/justify-left';\nexport { default as justifyCenter } from './library/justify-center';\nexport { default as justifyCenterVertical } from './library/justify-center-vertical';\nexport { default as justifyRight } from './library/justify-right';\nexport { default as justifySpaceBetween } from './library/justify-space-between';\nexport { default as justifySpaceBetweenVertical } from './library/justify-space-between-vertical';\nexport { default as justifyStretch } from './library/justify-stretch';\nexport { default as justifyStretchVertical } from './library/justify-stretch-vertical';\nexport { default as justifyTop } from './library/justify-top';\nexport { default as key } from './library/key';\nexport { default as keyboard } from './library/keyboard';\nexport { default as keyboardClose } from './library/keyboard-close';\nexport { default as keyboardReturn } from './library/keyboard-return';\nexport { default as language } from './library/language';\nexport { default as layout } from './library/layout';\nexport { default as levelUp } from './library/level-up';\nexport { default as lifesaver } from './library/lifesaver';\nexport { default as lineDashed } from './library/line-dashed';\nexport { default as lineDotted } from './library/line-dotted';\nexport { default as lineSolid } from './library/line-solid';\nexport { default as link } from './library/link';\nexport { default as linkOff } from './library/link-off';\nexport { default as list } from './library/list';\nexport { default as listItem } from './library/list-item';\nexport { default as listView } from './library/list-view';\nexport { default as lock } from './library/lock';\nexport { default as lockOutline } from './library/lock-outline';\nexport { default as lockSmall } from './library/lock-small';\nexport { default as login } from './library/login';\nexport { default as loop } from './library/loop';\nexport { default as mapMarker } from './library/map-marker';\nexport { default as media } from './library/media';\nexport { default as mediaAndText } from './library/media-and-text';\nexport { default as megaphone } from './library/megaphone';\nexport { default as menu } from './library/menu';\nexport { default as mobile } from './library/mobile';\nexport { default as more } from './library/more';\nexport { default as moreHorizontal } from './library/more-horizontal';\nexport { default as moreVertical } from './library/more-vertical';\nexport { default as moveTo } from './library/move-to';\nexport { default as navigation } from './library/navigation';\nexport { default as notAllowed } from './library/not-allowed';\nexport { default as notFound } from './library/not-found';\nexport { default as overlayText } from './library/overlay-text';\nexport { default as pageBreak } from './library/page-break';\nexport { default as customLink } from './library/custom-link';\nexport { default as page } from './library/page';\nexport { default as pages } from './library/pages';\nexport { default as paragraph } from './library/paragraph';\nexport { default as payment } from './library/payment';\nexport { default as pending } from './library/pending';\nexport { default as percent } from './library/percent';\nexport { default as positionCenter } from './library/position-center';\nexport { default as positionLeft } from './library/position-left';\nexport { default as positionRight } from './library/position-right';\nexport { default as pencil } from './library/pencil';\nexport { default as people } from './library/people';\nexport { default as pin } from './library/pin';\nexport { default as pinSmall } from './library/pin-small';\nexport { default as plugins } from './library/plugins';\nexport { default as plusCircleFilled } from './library/plus-circle-filled';\nexport { default as plusCircle } from './library/plus-circle';\nexport { default as plus } from './library/plus';\nexport { default as post } from './library/post';\nexport { default as postAuthor } from './library/post-author';\nexport { default as postCategories } from './library/post-categories';\nexport { default as postContent } from './library/post-content';\nexport { default as postComments } from './library/post-comments';\nexport { default as postCommentsCount } from './library/post-comments-count';\nexport { default as postCommentsForm } from './library/post-comments-form';\nexport { default as postDate } from './library/post-date';\nexport { default as postExcerpt } from './library/post-excerpt';\nexport { default as postFeaturedImage } from './library/post-featured-image';\nexport { default as postList } from './library/post-list';\nexport { default as postTerms } from './library/post-terms';\nexport { default as previous } from './library/previous';\nexport { default as next } from './library/next';\nexport { default as offline } from './library/offline';\nexport { default as preformatted } from './library/preformatted';\nexport { default as published } from './library/published';\nexport { default as pullLeft } from './library/pull-left';\nexport { default as pullRight } from './library/pull-right';\nexport { default as pullquote } from './library/pullquote';\nexport { default as queryPagination } from './library/query-pagination';\nexport { default as queryPaginationNext } from './library/query-pagination-next';\nexport { default as queryPaginationNumbers } from './library/query-pagination-numbers';\nexport { default as queryPaginationPrevious } from './library/query-pagination-previous';\nexport { default as quote } from './library/quote';\nexport { default as receipt } from './library/receipt';\nexport { default as redo } from './library/redo';\nexport { default as removeBug } from './library/remove-bug';\nexport { default as removeSubmenu } from './library/remove-submenu';\nexport { default as replace } from './library/replace';\nexport { default as reset } from './library/reset';\nexport { default as resizeCornerNE } from './library/resize-corner-n-e';\nexport { default as reusableBlock } from './library/reusable-block';\nexport { default as row } from './library/row';\nexport { default as symbol } from './library/symbol';\nexport { default as rotateLeft } from './library/rotate-left';\nexport { default as rotateRight } from './library/rotate-right';\nexport { default as rss } from './library/rss';\nexport { default as search } from './library/search';\nexport { default as seen } from './library/seen';\nexport { default as unseen } from './library/unseen';\nexport { default as scheduled } from './library/scheduled';\nexport { default as send } from './library/send';\nexport { default as separator } from './library/separator';\nexport { default as settings } from './library/settings';\nexport { default as shadow } from './library/shadow';\nexport { default as share } from './library/share';\nexport { default as shield } from './library/shield';\nexport { default as shortcode } from './library/shortcode';\nexport { default as shuffle } from './library/shuffle';\nexport { default as siteLogo } from './library/site-logo';\nexport { default as stack } from './library/stack';\nexport { default as starEmpty } from './library/star-empty';\nexport { default as starFilled } from './library/star-filled';\nexport { default as starHalf } from './library/star-half';\nexport { default as store } from './library/store';\nexport { default as stretchFullWidth } from './library/stretch-full-width';\nexport { default as styles } from './library/styles';\nexport { default as shipping } from './library/shipping';\nexport { default as square } from './library/square';\nexport { default as stretchWide } from './library/stretch-wide';\nexport { default as subscript } from './library/subscript';\nexport { default as superscript } from './library/superscript';\nexport { default as swatch } from './library/swatch';\nexport { default as tableColumnAfter } from './library/table-column-after';\nexport { default as tableColumnBefore } from './library/table-column-before';\nexport { default as tableColumnDelete } from './library/table-column-delete';\nexport { default as tableOfContents } from './library/table-of-contents';\nexport { default as tableRowAfter } from './library/table-row-after';\nexport { default as tableRowBefore } from './library/table-row-before';\nexport { default as tableRowDelete } from './library/table-row-delete';\nexport { default as table } from './library/table';\nexport { default as tag } from './library/tag';\nexport { default as thumbsDown } from './library/thumbs-down';\nexport { default as thumbsUp } from './library/thumbs-up';\nexport { default as symbolFilled } from './library/symbol-filled';\nexport { default as termDescription } from './library/term-description';\nexport { default as footer } from './library/footer';\nexport { default as header } from './library/header';\nexport { default as sidebar } from './library/sidebar';\nexport { default as sidesAll } from './library/sides-all';\nexport { default as sidesAxial } from './library/sides-axial';\nexport { default as sidesBottom } from './library/sides-bottom';\nexport { default as sidesHorizontal } from './library/sides-horizontal';\nexport { default as sidesLeft } from './library/sides-left';\nexport { default as sidesRight } from './library/sides-right';\nexport { default as sidesTop } from './library/sides-top';\nexport { default as sidesVertical } from './library/sides-vertical';\nexport { default as textColor } from './library/text-color';\nexport { default as textHorizontal } from './library/text-horizontal';\nexport { default as textVertical } from './library/text-vertical';\nexport { default as tablet } from './library/tablet';\nexport { default as title } from './library/title';\nexport { default as tip } from './library/tip';\nexport { default as tool } from './library/tool';\nexport { default as trash } from './library/trash';\nexport { default as trendingDown } from './library/trending-down';\nexport { default as trendingUp } from './library/trending-up';\nexport { default as typography } from './library/typography';\nexport { default as undo } from './library/undo';\nexport { default as ungroup } from './library/ungroup';\nexport { default as unlock } from './library/unlock';\nexport { default as update } from './library/update';\nexport { default as upload } from './library/upload';\nexport { default as verse } from './library/verse';\nexport { default as video } from './library/video';\nexport { default as widget } from './library/widget';\nexport { default as wordpress } from './library/wordpress';\n//# sourceMappingURL=index.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst addCard = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 5.5V8H20V5.5h2.5V4H20V1.5h-1.5V4H16v1.5h2.5zM12 4H6a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2v-6h-1.5v6a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5h6V4z\"\n })\n});\nexport default addCard;\n//# sourceMappingURL=add-card.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst addSubmenu = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M2 12c0 3.6 2.4 5.5 6 5.5h.5V19l3-2.5-3-2.5v2H8c-2.5 0-4.5-1.5-4.5-4s2-4.5 4.5-4.5h3.5V6H8c-3.6 0-6 2.4-6 6zm19.5-1h-8v1.5h8V11zm0 5h-8v1.5h8V16zm0-10h-8v1.5h8V6z\"\n })\n});\nexport default addSubmenu;\n//# sourceMappingURL=add-submenu.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst addTemplate = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.5 5.5V8H20V5.5H22.5V4H20V1.5H18.5V4H16V5.5H18.5ZM13.9624 4H6C4.89543 4 4 4.89543 4 6V18C4 19.1046 4.89543 20 6 20H18C19.1046 20 20 19.1046 20 18V10.0391H18.5V18C18.5 18.2761 18.2761 18.5 18 18.5H10L10 10.4917L16.4589 10.5139L16.4641 9.01389L5.5 8.97618V6C5.5 5.72386 5.72386 5.5 6 5.5H13.9624V4ZM5.5 10.4762V18C5.5 18.2761 5.72386 18.5 6 18.5H8.5L8.5 10.4865L5.5 10.4762Z\"\n })\n});\nexport default addTemplate;\n//# sourceMappingURL=add-template.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignCenter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7.5 5.5h9V4h-9v1.5Zm-3.5 7h16V11H4v1.5Zm3.5 7h9V18h-9v1.5Z\"\n })\n});\nexport default alignCenter;\n//# sourceMappingURL=align-center.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignJustify = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 12.8h16v-1.5H4v1.5zm0 7h12.4v-1.5H4v1.5zM4 4.3v1.5h16V4.3H4z\"\n })\n});\nexport default alignJustify;\n//# sourceMappingURL=align-justify.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 5.5H4V4h9v1.5Zm7 7H4V11h16v1.5Zm-7 7H4V18h9v1.5Z\"\n })\n});\nexport default alignLeft;\n//# sourceMappingURL=align-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignNone = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM5 9h14v6H5V9Z\"\n })\n});\nexport default alignNone;\n//# sourceMappingURL=align-none.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.111 5.5H20V4h-8.889v1.5ZM4 12.5h16V11H4v1.5Zm7.111 7H20V18h-8.889v1.5Z\"\n })\n});\nexport default alignRight;\n//# sourceMappingURL=align-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst archive = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.934 7.406a1 1 0 0 0 .914.594H19a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5h5.764a.5.5 0 0 1 .447.276l.723 1.63Zm1.064-1.216a.5.5 0 0 0 .462.31H19a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.764a2 2 0 0 1 1.789 1.106l.445 1.084ZM8.5 10.5h7V12h-7v-1.5Zm7 3.5h-7v1.5h7V14Z\"\n })\n});\nexport default archive;\n//# sourceMappingURL=archive.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowDownRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 18h8v-8h-1.5v5.5L7 6 6 7l9.5 9.5H10V18Z\"\n })\n});\nexport default arrowDownRight;\n//# sourceMappingURL=arrow-down-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m16.5 13.5-3.7 3.7V4h-1.5v13.2l-3.8-3.7-1 1 5.5 5.6 5.5-5.6z\"\n })\n});\nexport default arrowDown;\n//# sourceMappingURL=arrow-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 11.2H6.8l3.7-3.7-1-1L3.9 12l5.6 5.5 1-1-3.7-3.7H20z\"\n })\n});\nexport default arrowLeft;\n//# sourceMappingURL=arrow-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m14.5 6.5-1 1 3.7 3.7H4v1.6h13.2l-3.7 3.7 1 1 5.6-5.5z\"\n })\n});\nexport default arrowRight;\n//# sourceMappingURL=arrow-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowUpLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 6H6v8h1.5V8.5L17 18l1-1-9.5-9.5H14V6Z\"\n })\n});\nexport default arrowUpLeft;\n//# sourceMappingURL=arrow-up-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 3.9 6.5 9.5l1 1 3.8-3.7V20h1.5V6.8l3.7 3.7 1-1z\"\n })\n});\nexport default arrowUp;\n//# sourceMappingURL=arrow-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst aspectRatio = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 5.5h-13c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2v-9c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5h-13c-.3 0-.5-.2-.5-.5v-9c0-.3.2-.5.5-.5h13c.3 0 .5.2.5.5v9zM6.5 12H8v-2h2V8.5H6.5V12zm9.5 2h-2v1.5h3.5V12H16v2z\"\n })\n});\nexport default aspectRatio;\n//# sourceMappingURL=aspect-ratio.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst atSymbol = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5939 21C14.1472 21 16.1269 20.5701 17.0711 20.1975L16.6447 18.879C16.0964 19.051 14.3299 19.6242 12.6548 19.6242C7.4467 19.6242 4.67513 16.8726 4.67513 12C4.67513 7.21338 7.50762 4.34713 12.2893 4.34713C17.132 4.34713 19.4162 7.55732 19.4162 10.7675C19.4162 14.035 19.0508 15.4968 17.4975 15.4968C16.5838 15.4968 16.0964 14.7803 16.0964 13.9777V7.5H14.4822V8.30255H14.3909C14.1777 7.67198 12.9898 7.12739 11.467 7.2707C9.18274 7.5 7.4467 9.27707 7.4467 11.8567C7.4467 14.5796 8.81726 16.672 11.467 16.758C13.203 16.8153 14.1168 16.0127 14.4822 15.1815H14.5736C14.7563 16.414 16.401 16.8439 17.467 16.8439C20.6954 16.8439 21 13.5764 21 10.7962C21 6.86943 18.0761 3 12.3807 3C6.50254 3 3 6.3535 3 11.9427C3 17.7325 6.38071 21 12.5939 21ZM11.7107 15.2962C9.73096 15.2962 9.03046 13.6051 9.03046 11.7707C9.03046 10.1083 10.0355 8.67516 11.7716 8.67516C13.599 8.67516 14.5736 9.36306 14.5736 11.7707C14.5736 14.1497 13.7513 15.2962 11.7107 15.2962Z\"\n })\n});\nexport default atSymbol;\n//# sourceMappingURL=at-symbol.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst audio = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.7 4.3c-1.2 0-2.8 0-3.8 1-.6.6-.9 1.5-.9 2.6V14c-.6-.6-1.5-1-2.5-1C8.6 13 7 14.6 7 16.5S8.6 20 10.5 20c1.5 0 2.8-1 3.3-2.3.5-.8.7-1.8.7-2.5V7.9c0-.7.2-1.2.5-1.6.6-.6 1.8-.6 2.8-.6h.3V4.3h-.4z\"\n })\n});\nexport default audio;\n//# sourceMappingURL=audio.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst background = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.53 4.47a.75.75 0 1 0-1.06 1.06l8 8a.75.75 0 1 0 1.06-1.06l-8-8Zm5 1a.75.75 0 1 0-1.06 1.06l2 2a.75.75 0 1 0 1.06-1.06l-2-2Zm-11.06 10a.75.75 0 0 1 1.06 0l2 2a.75.75 0 1 1-1.06 1.06l-2-2a.75.75 0 0 1 0-1.06Zm.06-5a.75.75 0 0 0-1.06 1.06l8 8a.75.75 0 1 0 1.06-1.06l-8-8Zm-.06-3a.75.75 0 0 1 1.06 0l10 10a.75.75 0 1 1-1.06 1.06l-10-10a.75.75 0 0 1 0-1.06Zm3.06-2a.75.75 0 0 0-1.06 1.06l10 10a.75.75 0 1 0 1.06-1.06l-10-10Z\"\n })\n});\nexport default background;\n//# sourceMappingURL=background.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst backup = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.5 12h1.75l-2.5 3-2.5-3H4a8 8 0 113.134 6.35l.907-1.194A6.5 6.5 0 105.5 12zm9.53 1.97l-2.28-2.28V8.5a.75.75 0 00-1.5 0V12a.747.747 0 00.218.529l1.282-.84-1.28.842 2.5 2.5a.75.75 0 101.06-1.061z\"\n })\n});\nexport default backup;\n//# sourceMappingURL=backup.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, Circle } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst bellUnread = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M13.969 4.39A5.088 5.088 0 0 0 12 4C9.2 4 7 6.2 7 9v2.5c0 1.353-.17 2.368-.976 3-.267.209-.602.376-1.024.5v1h14v-1c-.422-.124-.757-.291-1.024-.5-.806-.632-.976-1.647-.976-3V11c-.53 0-1.037-.103-1.5-.29v.79c0 .93.066 1.98.515 2.897l.053.103H7.932l.053-.103c.449-.917.515-1.967.515-2.897V9c0-1.972 1.528-3.5 3.5-3.5.43 0 .838.072 1.214.206.167-.488.425-.933.755-1.316Zm-3.961 13.618c0-.176.023-.346.065-.508h3.854A1.996 1.996 0 0 1 12 20a1.991 1.991 0 0 1-1.992-1.992Z\"\n }), /*#__PURE__*/_jsx(Circle, {\n cx: \"17\",\n cy: \"7\",\n r: \"2.5\"\n })]\n});\nexport default bellUnread;\n//# sourceMappingURL=bell-unread.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst bell = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17 11.5c0 1.353.17 2.368.976 3 .266.209.602.376 1.024.5v1H5v-1c.422-.124.757-.291 1.024-.5.806-.632.976-1.647.976-3V9c0-2.8 2.2-5 5-5s5 2.2 5 5v2.5ZM15.5 9v2.5c0 .93.066 1.98.515 2.897l.053.103H7.932a4.018 4.018 0 0 0 .053-.103c.449-.917.515-1.967.515-2.897V9c0-1.972 1.528-3.5 3.5-3.5s3.5 1.528 3.5 3.5Zm-5.492 9.008c0-.176.023-.346.065-.508h3.854A1.996 1.996 0 0 1 12 20c-1.1 0-1.992-.892-1.992-1.992Z\"\n })\n});\nexport default bell;\n//# sourceMappingURL=bell.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst blockDefault = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 8h-1V6h-5v2h-2V6H6v2H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm.5 10c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-8c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v8z\"\n })\n});\nexport default blockDefault;\n//# sourceMappingURL=block-default.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst blockMeta = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M8.95 11.25H4v1.5h4.95v4.5H13V18c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2h-3c-1.1 0-2 .9-2 2v.75h-2.55v-7.5H13V9c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3c-1.1 0-2 .9-2 2v.75H8.95v4.5ZM14.5 15v3c0 .3.2.5.5.5h3c.3 0 .5-.2.5-.5v-3c0-.3-.2-.5-.5-.5h-3c-.3 0-.5.2-.5.5Zm0-6V6c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5Z\",\n clipRule: \"evenodd\"\n })\n});\nexport default blockMeta;\n//# sourceMappingURL=block-meta.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst blockTable = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v3.5h-15V5c0-.3.2-.5.5-.5zm8 5.5h6.5v3.5H13V10zm-1.5 3.5h-7V10h7v3.5zm-7 5.5v-4h7v4.5H5c-.3 0-.5-.2-.5-.5zm14.5.5h-6V15h6.5v4c0 .3-.2.5-.5.5z\"\n })\n});\nexport default blockTable;\n//# sourceMappingURL=block-table.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst border = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m6.6 15.6-1.2.8c.6.9 1.3 1.6 2.2 2.2l.8-1.2c-.7-.5-1.3-1.1-1.8-1.8zM5.5 12c0-.4 0-.9.1-1.3l-1.5-.3c0 .5-.1 1.1-.1 1.6s.1 1.1.2 1.6l1.5-.3c-.2-.4-.2-.9-.2-1.3zm11.9-3.6 1.2-.8c-.6-.9-1.3-1.6-2.2-2.2l-.8 1.2c.7.5 1.3 1.1 1.8 1.8zM5.3 7.6l1.2.8c.5-.7 1.1-1.3 1.8-1.8l-.7-1.3c-.9.6-1.7 1.4-2.3 2.3zm14.5 2.8-1.5.3c.1.4.1.8.1 1.3s0 .9-.1 1.3l1.5.3c.1-.5.2-1 .2-1.6s-.1-1.1-.2-1.6zM12 18.5c-.4 0-.9 0-1.3-.1l-.3 1.5c.5.1 1 .2 1.6.2s1.1-.1 1.6-.2l-.3-1.5c-.4.1-.9.1-1.3.1zm3.6-1.1.8 1.2c.9-.6 1.6-1.3 2.2-2.2l-1.2-.8c-.5.7-1.1 1.3-1.8 1.8zM10.4 4.2l.3 1.5c.4-.1.8-.1 1.3-.1s.9 0 1.3.1l.3-1.5c-.5-.1-1.1-.2-1.6-.2s-1.1.1-1.6.2z\"\n })\n});\nexport default border;\n//# sourceMappingURL=border.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst box = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5 5.5h14a.5.5 0 01.5.5v1.5a.5.5 0 01-.5.5H5a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 9.232A2 2 0 013 7.5V6a2 2 0 012-2h14a2 2 0 012 2v1.5a2 2 0 01-1 1.732V18a2 2 0 01-2 2H6a2 2 0 01-2-2V9.232zm1.5.268V18a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V9.5h-13z\",\n clipRule: \"evenodd\"\n })\n});\nexport default box;\n//# sourceMappingURL=box.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst brush = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 20h8v-1.5H4V20zM18.9 3.5c-.6-.6-1.5-.6-2.1 0l-7.2 7.2c-.4-.1-.7 0-1.1.1-.5.2-1.5.7-1.9 2.2-.4 1.7-.8 2.2-1.1 2.7-.1.1-.2.3-.3.4l-.6 1.1H6c2 0 3.4-.4 4.7-1.4.8-.6 1.2-1.4 1.3-2.3 0-.3 0-.5-.1-.7L19 5.7c.5-.6.5-1.6-.1-2.2zM9.7 14.7c-.7.5-1.5.8-2.4 1 .2-.5.5-1.2.8-2.3.2-.6.4-1 .8-1.1.5-.1 1 .1 1.3.3.2.2.3.5.2.8 0 .3-.1.9-.7 1.3z\"\n })\n});\nexport default brush;\n//# sourceMappingURL=brush.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst bug = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.13 5.5l1.926 1.927A4.975 4.975 0 007.025 10H5v1.5h2V13H5v1.5h2.1a5.002 5.002 0 009.8 0H19V13h-2v-1.5h2V10h-2.025a4.979 4.979 0 00-1.167-2.74l1.76-1.76-1.061-1.06-1.834 1.834A4.977 4.977 0 0012 5.5c-1.062 0-2.046.33-2.855.895L7.19 4.44 6.13 5.5zm2.37 5v3a3.5 3.5 0 107 0v-3a3.5 3.5 0 10-7 0z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default bug;\n//# sourceMappingURL=bug.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst button = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8 12.5h8V11H8v1.5Z M19 6.5H5a2 2 0 0 0-2 2V15a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a2 2 0 0 0-2-2ZM5 8h14a.5.5 0 0 1 .5.5V15a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8.5A.5.5 0 0 1 5 8Z\"\n })\n});\nexport default button;\n//# sourceMappingURL=button.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst buttons = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.5 17.5H9.5V16H14.5V17.5Z M14.5 8H9.5V6.5H14.5V8Z M7 3.5H17C18.1046 3.5 19 4.39543 19 5.5V9C19 10.1046 18.1046 11 17 11H7C5.89543 11 5 10.1046 5 9V5.5C5 4.39543 5.89543 3.5 7 3.5ZM17 5H7C6.72386 5 6.5 5.22386 6.5 5.5V9C6.5 9.27614 6.72386 9.5 7 9.5H17C17.2761 9.5 17.5 9.27614 17.5 9V5.5C17.5 5.22386 17.2761 5 17 5Z M7 13H17C18.1046 13 19 13.8954 19 15V18.5C19 19.6046 18.1046 20.5 17 20.5H7C5.89543 20.5 5 19.6046 5 18.5V15C5 13.8954 5.89543 13 7 13ZM17 14.5H7C6.72386 14.5 6.5 14.7239 6.5 15V18.5C6.5 18.7761 6.72386 19 7 19H17C17.2761 19 17.5 18.7761 17.5 18.5V15C17.5 14.7239 17.2761 14.5 17 14.5Z\"\n })\n});\nexport default buttons;\n//# sourceMappingURL=buttons.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst calendar = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V7h15v12zM9 10H7v2h2v-2zm0 4H7v2h2v-2zm4-4h-2v2h2v-2zm4 0h-2v2h2v-2zm-4 4h-2v2h2v-2zm4 0h-2v2h2v-2z\"\n })\n});\nexport default calendar;\n//# sourceMappingURL=calendar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cancelCircleFilled = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm3.8 10.7-1.1 1.1-2.7-2.7-2.7 2.7-1.1-1.1 2.7-2.7-2.7-2.7 1.1-1.1 2.7 2.7 2.7-2.7 1.1 1.1-2.7 2.7 2.7 2.7Z\"\n })\n});\nexport default cancelCircleFilled;\n//# sourceMappingURL=cancel-circle-filled.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst caption = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6 5.5h12a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5ZM4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6Zm4 10h2v-1.5H8V16Zm5 0h-2v-1.5h2V16Zm1 0h2v-1.5h-2V16Z\"\n })\n});\nexport default caption;\n//# sourceMappingURL=caption.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst capturePhoto = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 9.2c-2.2 0-3.9 1.8-3.9 4s1.8 4 3.9 4 4-1.8 4-4-1.8-4-4-4zm0 6.5c-1.4 0-2.4-1.1-2.4-2.5s1.1-2.5 2.4-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zM20.2 8c-.1 0-.3 0-.5-.1l-2.5-.8c-.4-.1-.8-.4-1.1-.8l-1-1.5c-.4-.5-1-.9-1.7-.9h-2.9c-.6.1-1.2.4-1.6 1l-1 1.5c-.3.3-.6.6-1.1.7l-2.5.8c-.2.1-.4.1-.6.1-1 .2-1.7.9-1.7 1.9v8.3c0 1 .9 1.9 2 1.9h16c1.1 0 2-.8 2-1.9V9.9c0-1-.7-1.7-1.8-1.9zm.3 10.1c0 .2-.2.4-.5.4H4c-.3 0-.5-.2-.5-.4V9.9c0-.1.2-.3.5-.4.2 0 .5-.1.8-.2l2.5-.8c.7-.2 1.4-.6 1.8-1.3l1-1.5c.1-.1.2-.2.4-.2h2.9c.2 0 .3.1.4.2l1 1.5c.4.7 1.1 1.1 1.9 1.4l2.5.8c.3.1.6.1.8.2.3 0 .4.2.4.4v8.1z\"\n })\n});\nexport default capturePhoto;\n//# sourceMappingURL=capture-photo.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst captureVideo = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 5H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm.5 12c0 .3-.2.5-.5.5H4c-.3 0-.5-.2-.5-.5V7c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v10zm2.5-7v4l5 3V7l-5 3zm3.5 4.4l-2-1.2v-2.3l2-1.2v4.7z\"\n })\n});\nexport default captureVideo;\n//# sourceMappingURL=capture-video.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst category = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 5.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2V6zm11-.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM13 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2h-3a2 2 0 01-2-2V6zm5 8.5h-3a.5.5 0 00-.5.5v3a.5.5 0 00.5.5h3a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5zM15 13a2 2 0 00-2 2v3a2 2 0 002 2h3a2 2 0 002-2v-3a2 2 0 00-2-2h-3zm-9 1.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5zM4 15a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2v-3z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default category;\n//# sourceMappingURL=category.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cautionFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM12.75 8V13H11.25V8H12.75ZM12.75 14.5V16H11.25V14.5H12.75Z\"\n })\n});\nexport default cautionFilled;\n//# sourceMappingURL=caution-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst caution = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-.75 12v-1.5h1.5V16h-1.5Zm0-8v5h1.5V8h-1.5Z\"\n })\n});\nexport default caution;\n//# sourceMappingURL=caution.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chartBar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M11.25 5h1.5v15h-1.5V5zM6 10h1.5v10H6V10zm12 4h-1.5v6H18v-6z\",\n clipRule: \"evenodd\"\n })\n});\nexport default chartBar;\n//# sourceMappingURL=chart-bar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst check = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z\"\n })\n});\nexport default check;\n//# sourceMappingURL=check.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronDownSmall = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m15.99 10.889-3.988 3.418-3.988-3.418.976-1.14 3.012 2.582 3.012-2.581.976 1.139Z\"\n })\n});\nexport default chevronDownSmall;\n//# sourceMappingURL=chevron-down-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronDown = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z\"\n })\n});\nexport default chevronDown;\n//# sourceMappingURL=chevron-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronLeftSmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m13.1 16-3.4-4 3.4-4 1.1 1-2.6 3 2.6 3-1.1 1z\"\n })\n});\nexport default chevronLeftSmall;\n//# sourceMappingURL=chevron-left-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z\"\n })\n});\nexport default chevronLeft;\n//# sourceMappingURL=chevron-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronRightSmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.8622 8.04053L14.2805 12.0286L10.8622 16.0167L9.72327 15.0405L12.3049 12.0286L9.72327 9.01672L10.8622 8.04053Z\"\n })\n});\nexport default chevronRightSmall;\n//# sourceMappingURL=chevron-right-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z\"\n })\n});\nexport default chevronRight;\n//# sourceMappingURL=chevron-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronUpDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m12 20-4.5-3.6-.9 1.2L12 22l5.5-4.4-.9-1.2L12 20zm0-16 4.5 3.6.9-1.2L12 2 6.5 6.4l.9 1.2L12 4z\"\n })\n});\nexport default chevronUpDown;\n//# sourceMappingURL=chevron-up-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronUp = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z\"\n })\n});\nexport default chevronUp;\n//# sourceMappingURL=chevron-up.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst classic = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 6H4c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H4c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h16c.3 0 .5.2.5.5v9zM10 10H8v2h2v-2zm-5 2h2v-2H5v2zm8-2h-2v2h2v-2zm-5 6h8v-2H8v2zm6-4h2v-2h-2v2zm3 0h2v-2h-2v2zm0 4h2v-2h-2v2zM5 16h2v-2H5v2z\"\n })\n});\nexport default classic;\n//# sourceMappingURL=classic.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst closeSmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z\"\n })\n});\nexport default closeSmall;\n//# sourceMappingURL=close-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst close = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z\"\n })\n});\nexport default close;\n//# sourceMappingURL=close.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cloudDownload = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.3 10.1002C17.3 7.6002 15.2 5.7002 12.5 5.7002C10.3 5.7002 8.4 7.1002 7.9 9.0002H7.7C5.7 9.0002 4 10.7002 4 12.8002C4 14.9002 5.7 16.6002 7.7 16.6002V15.2002C6.5 15.2002 5.5 14.1002 5.5 12.9002C5.5 11.7002 6.5 10.5002 7.7 10.5002H9L9.3 9.4002C9.7 8.1002 11 7.2002 12.5 7.2002C14.3 7.2002 15.8 8.5002 15.8 10.1002V11.4002L17.1 11.6002C17.9 11.7002 18.5 12.5002 18.5 13.4002C18.5 14.4002 17.7 15.2002 16.8 15.2002H16.5V16.6002H16.7C18.5 16.6002 19.9 15.1002 19.9 13.3002C20 11.7002 18.8 10.4002 17.3 10.1002Z M9.8806 13.7576L8.81995 14.8182L12.0019 18.0002L15.1851 14.8171L14.1244 13.7564L12.7551 15.1257L12.7551 10.0002L11.2551 10.0002V15.1321L9.8806 13.7576Z\"\n })\n});\nexport default cloudDownload;\n//# sourceMappingURL=cloud-download.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cloudUpload = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.3 10.1C17.3 7.60001 15.2 5.70001 12.5 5.70001C10.3 5.70001 8.4 7.10001 7.9 9.00001H7.7C5.7 9.00001 4 10.7 4 12.8C4 14.9 5.7 16.6 7.7 16.6H9.5V15.2H7.7C6.5 15.2 5.5 14.1 5.5 12.9C5.5 11.7 6.5 10.5 7.7 10.5H9L9.3 9.40001C9.7 8.10001 11 7.20001 12.5 7.20001C14.3 7.20001 15.8 8.50001 15.8 10.1V11.4L17.1 11.6C17.9 11.7 18.5 12.5 18.5 13.4C18.5 14.4 17.7 15.2 16.8 15.2H14.5V16.6H16.7C18.5 16.6 19.9 15.1 19.9 13.3C20 11.7 18.8 10.4 17.3 10.1Z M14.1245 14.2426L15.1852 13.182L12.0032 10L8.82007 13.1831L9.88072 14.2438L11.25 12.8745V18H12.75V12.8681L14.1245 14.2426Z\"\n })\n});\nexport default cloudUpload;\n//# sourceMappingURL=cloud-upload.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cloud = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.3 10.1c0-2.5-2.1-4.4-4.8-4.4-2.2 0-4.1 1.4-4.6 3.3h-.2C5.7 9 4 10.7 4 12.8c0 2.1 1.7 3.8 3.7 3.8h9c1.8 0 3.2-1.5 3.2-3.3.1-1.6-1.1-2.9-2.6-3.2zm-.5 5.1h-9c-1.2 0-2.2-1.1-2.2-2.3s1-2.4 2.2-2.4h1.3l.3-1.1c.4-1.3 1.7-2.2 3.2-2.2 1.8 0 3.3 1.3 3.3 2.9v1.3l1.3.2c.8.1 1.4.9 1.4 1.8-.1 1-.9 1.8-1.8 1.8z\"\n })\n});\nexport default cloud;\n//# sourceMappingURL=cloud.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst code = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.8 10.7l-4.3-4.3-1.1 1.1 4.3 4.3c.1.1.1.3 0 .4l-4.3 4.3 1.1 1.1 4.3-4.3c.7-.8.7-1.9 0-2.6zM4.2 11.8l4.3-4.3-1-1-4.3 4.3c-.7.7-.7 1.8 0 2.5l4.3 4.3 1.1-1.1-4.3-4.3c-.2-.1-.2-.3-.1-.4z\"\n })\n});\nexport default code;\n//# sourceMappingURL=code.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cog = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M10.289 4.836A1 1 0 0111.275 4h1.306a1 1 0 01.987.836l.244 1.466c.787.26 1.503.679 2.108 1.218l1.393-.522a1 1 0 011.216.437l.653 1.13a1 1 0 01-.23 1.273l-1.148.944a6.025 6.025 0 010 2.435l1.149.946a1 1 0 01.23 1.272l-.653 1.13a1 1 0 01-1.216.437l-1.394-.522c-.605.54-1.32.958-2.108 1.218l-.244 1.466a1 1 0 01-.987.836h-1.306a1 1 0 01-.986-.836l-.244-1.466a5.995 5.995 0 01-2.108-1.218l-1.394.522a1 1 0 01-1.217-.436l-.653-1.131a1 1 0 01.23-1.272l1.149-.946a6.026 6.026 0 010-2.435l-1.148-.944a1 1 0 01-.23-1.272l.653-1.131a1 1 0 011.217-.437l1.393.522a5.994 5.994 0 012.108-1.218l.244-1.466zM14.929 12a3 3 0 11-6 0 3 3 0 016 0z\",\n clipRule: \"evenodd\"\n })\n});\nexport default cog;\n//# sourceMappingURL=cog.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst color = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.2 10.9c-.5-1-1.2-2.1-2.1-3.2-.6-.9-1.3-1.7-2.1-2.6L12 4l-1 1.1c-.6.9-1.3 1.7-2 2.6-.8 1.2-1.5 2.3-2 3.2-.6 1.2-1 2.2-1 3 0 3.4 2.7 6.1 6.1 6.1s6.1-2.7 6.1-6.1c0-.8-.3-1.8-1-3zm-5.1 7.6c-2.5 0-4.6-2.1-4.6-4.6 0-.3.1-1 .8-2.3.5-.9 1.1-1.9 2-3.1.7-.9 1.3-1.7 1.8-2.3.7.8 1.3 1.6 1.8 2.3.8 1.1 1.5 2.2 2 3.1.7 1.3.8 2 .8 2.3 0 2.5-2.1 4.6-4.6 4.6z\"\n })\n});\nexport default color;\n//# sourceMappingURL=color.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst column = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 6H6c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zM6 17.5c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h3v10H6zm13.5-.5c0 .3-.2.5-.5.5h-3v-10h3c.3 0 .5.2.5.5v9z\"\n })\n});\nexport default column;\n//# sourceMappingURL=column.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst columns = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 7.5h-5v10h5v-10Zm1.5 0v10H19a.5.5 0 0 0 .5-.5V8a.5.5 0 0 0-.5-.5h-2.5ZM6 7.5h2.5v10H6a.5.5 0 0 1-.5-.5V8a.5.5 0 0 1 .5-.5ZM6 6h13a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2Z\"\n })\n});\nexport default columns;\n//# sourceMappingURL=columns.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentAuthorAvatar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M7.25 16.437a6.5 6.5 0 1 1 9.5 0V16A2.75 2.75 0 0 0 14 13.25h-4A2.75 2.75 0 0 0 7.25 16v.437Zm1.5 1.193a6.47 6.47 0 0 0 3.25.87 6.47 6.47 0 0 0 3.25-.87V16c0-.69-.56-1.25-1.25-1.25h-4c-.69 0-1.25.56-1.25 1.25v1.63ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm10-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\",\n clipRule: \"evenodd\"\n })\n});\nexport default commentAuthorAvatar;\n//# sourceMappingURL=comment-author-avatar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, Circle } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst commentAuthorName = /*#__PURE__*/_jsxs(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12.9c0 .6.5 1.1 1.1 1.1.3 0 .5-.1.8-.3L8.5 17H18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H7.9l-2.4 2.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v9z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M15 15V15C15 13.8954 14.1046 13 13 13L11 13C9.89543 13 9 13.8954 9 15V15\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(Circle, {\n cx: \"12\",\n cy: \"9\",\n r: \"2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })]\n});\nexport default commentAuthorName;\n//# sourceMappingURL=comment-author-name.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentContent = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.68822 16.625L5.5 17.8145L5.5 5.5L18.5 5.5L18.5 16.625L6.68822 16.625ZM7.31 18.125L19 18.125C19.5523 18.125 20 17.6773 20 17.125L20 5C20 4.44772 19.5523 4 19 4H5C4.44772 4 4 4.44772 4 5V19.5247C4 19.8173 4.16123 20.086 4.41935 20.2237C4.72711 20.3878 5.10601 20.3313 5.35252 20.0845L7.31 18.125ZM16 9.99997H8V8.49997H16V9.99997ZM8 14H13V12.5H8V14Z\"\n })\n});\nexport default commentContent;\n//# sourceMappingURL=comment-content.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentEditLink = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m6.249 11.065.44-.44h3.186l-1.5 1.5H7.31l-1.957 1.96A.792.792 0 0 1 4 13.524V5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v1.5L12.5 8V5.5h-7v6.315l.749-.75ZM20 19.75H7v-1.5h13v1.5Zm0-12.653-8.967 9.064L8 17l.867-2.935L17.833 5 20 7.097Z\"\n })\n});\nexport default commentEditLink;\n//# sourceMappingURL=comment-edit-link.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentReplyLink = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.68822 10.625L6.24878 11.0649L5.5 11.8145L5.5 5.5L12.5 5.5V8L14 6.5V5C14 4.44772 13.5523 4 13 4H5C4.44772 4 4 4.44771 4 5V13.5247C4 13.8173 4.16123 14.086 4.41935 14.2237C4.72711 14.3878 5.10601 14.3313 5.35252 14.0845L7.31 12.125H8.375L9.875 10.625H7.31H6.68822ZM14.5605 10.4983L11.6701 13.75H16.9975C17.9963 13.75 18.7796 14.1104 19.3553 14.7048C19.9095 15.2771 20.2299 16.0224 20.4224 16.7443C20.7645 18.0276 20.7543 19.4618 20.7487 20.2544C20.7481 20.345 20.7475 20.4272 20.7475 20.4999L19.2475 20.5001C19.2475 20.4191 19.248 20.3319 19.2484 20.2394V20.2394C19.2526 19.4274 19.259 18.2035 18.973 17.1307C18.8156 16.5401 18.586 16.0666 18.2778 15.7483C17.9909 15.4521 17.5991 15.25 16.9975 15.25H11.8106L14.5303 17.9697L13.4696 19.0303L8.96956 14.5303L13.4394 9.50171L14.5605 10.4983Z\"\n })\n});\nexport default commentReplyLink;\n//# sourceMappingURL=comment-reply-link.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst comment = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12.9c0 .6.5 1.1 1.1 1.1.3 0 .5-.1.8-.3L8.5 17H18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H7.9l-2.4 2.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v9z\"\n })\n});\nexport default comment;\n//# sourceMappingURL=comment.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst connection = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fillRule: \"evenodd\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.53 4.47a.75.75 0 0 1 0 1.06L17.06 8l.77.769a3.155 3.155 0 0 1 .685 3.439 3.15 3.15 0 0 1-.685 1.022v.001L13.23 17.83v.001a3.15 3.15 0 0 1-4.462 0L8 17.06l-2.47 2.47a.75.75 0 0 1-1.06-1.06L6.94 16l-.77-.769a3.154 3.154 0 0 1-.685-3.439 3.15 3.15 0 0 1 .685-1.023l4.599-4.598a3.152 3.152 0 0 1 4.462 0l.769.768 2.47-2.47a.75.75 0 0 1 1.06 0Zm-2.76 7.7L15 13.94 10.06 9l1.771-1.77a1.65 1.65 0 0 1 2.338 0L16.77 9.83a1.649 1.649 0 0 1 0 2.338h-.001ZM13.94 15 9 10.06l-1.77 1.771a1.65 1.65 0 0 0 0 2.338l2.601 2.602a1.649 1.649 0 0 0 2.338 0v-.001L13.94 15Z\"\n })\n});\nexport default connection;\n//# sourceMappingURL=connection.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst copySmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.625 5.5h9.75c.069 0 .125.056.125.125v9.75a.125.125 0 0 1-.125.125h-9.75a.125.125 0 0 1-.125-.125v-9.75c0-.069.056-.125.125-.125ZM4 5.625C4 4.728 4.728 4 5.625 4h9.75C16.273 4 17 4.728 17 5.625v9.75c0 .898-.727 1.625-1.625 1.625h-9.75A1.625 1.625 0 0 1 4 15.375v-9.75Zm14.5 11.656v-9H20v9C20 18.8 18.77 20 17.251 20H6.25v-1.5h11.001c.69 0 1.249-.528 1.249-1.219Z\"\n })\n});\nexport default copySmall;\n//# sourceMappingURL=copy-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst copy = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5 4.5h11a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V5a.5.5 0 0 1 .5-.5ZM3 5a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5Zm17 3v10.75c0 .69-.56 1.25-1.25 1.25H6v1.5h12.75a2.75 2.75 0 0 0 2.75-2.75V8H20Z\"\n })\n});\nexport default copy;\n//# sourceMappingURL=copy.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cornerAll = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5Zm-12.5 9v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n});\nexport default cornerAll;\n//# sourceMappingURL=corner-all.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerBottomLeft = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.75 15v3c0 .138.112.25.25.25h3v1.5H6A1.75 1.75 0 0 1 4.25 18v-3h1.5Z\"\n })]\n});\nexport default cornerBottomLeft;\n//# sourceMappingURL=corner-bottom-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerBottomRight = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 18.25h3a.25.25 0 0 0 .25-.25v-3h1.5v3A1.75 1.75 0 0 1 18 19.75h-3v-1.5Z\"\n })]\n});\nexport default cornerBottomRight;\n//# sourceMappingURL=corner-bottom-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerTopLeft = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6 5.75a.25.25 0 0 0-.25.25v3h-1.5V6c0-.966.784-1.75 1.75-1.75h3v1.5H6Z\"\n })]\n});\nexport default cornerTopLeft;\n//# sourceMappingURL=corner-top-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerTopRight = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5Z\"\n })]\n});\nexport default cornerTopRight;\n//# sourceMappingURL=corner-top-right.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cover = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h6.2v8.9l2.5-3.1 2.5 3.1V4.5h2.2c.4 0 .8.4.8.8v13.4z\"\n })\n});\nexport default cover;\n//# sourceMappingURL=cover.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst create = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 11.2h-3.2V8h-1.6v3.2H8v1.6h3.2V16h1.6v-3.2H16z\"\n })\n});\nexport default create;\n//# sourceMappingURL=create.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst crop = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 20v-2h2v-1.5H7.75a.25.25 0 0 1-.25-.25V4H6v2H4v1.5h2v8.75c0 .966.784 1.75 1.75 1.75h8.75v2H18ZM9.273 7.5h6.977a.25.25 0 0 1 .25.25v6.977H18V7.75A1.75 1.75 0 0 0 16.25 6H9.273v1.5Z\"\n })\n});\nexport default crop;\n//# sourceMappingURL=crop.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst currencyDollar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.7 9.6c.3-.2.8-.4 1.3-.4s1 .2 1.3.4c.3.2.4.5.4.6 0 .4.3.8.8.8s.8-.3.8-.8c0-.8-.5-1.4-1.1-1.9-.4-.3-.9-.5-1.4-.6v-.3c0-.4-.3-.8-.8-.8s-.8.3-.8.8v.3c-.5 0-1 .3-1.4.6-.6.4-1.1 1.1-1.1 1.9s.5 1.4 1.1 1.9c.6.4 1.4.6 2.2.6h.2c.5 0 .9.2 1.1.4.3.2.4.5.4.6s0 .4-.4.6c-.3.2-.8.4-1.3.4s-1-.2-1.3-.4c-.3-.2-.4-.5-.4-.6 0-.4-.3-.8-.8-.8s-.8.3-.8.8c0 .8.5 1.4 1.1 1.9.4.3.9.5 1.4.6v.3c0 .4.3.8.8.8s.8-.3.8-.8v-.3c.5 0 1-.3 1.4-.6.6-.4 1.1-1.1 1.1-1.9s-.5-1.4-1.1-1.9c-.5-.4-1.2-.6-1.9-.6H12c-.6 0-1-.2-1.3-.4-.3-.2-.4-.5-.4-.6s0-.4.4-.6ZM12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5Z\"\n })\n});\nexport default currencyDollar;\n//# sourceMappingURL=currency-dollar.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst currencyEuro = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.9 9.3c.4 0 .8 0 1.1.2.4.1.7.3 1 .6.1.1.3.2.5.2s.4 0 .5-.2c.1-.1.2-.3.2-.5s0-.4-.2-.5c-.5-.5-1.1-.8-1.7-1.1-.7-.2-1.4-.2-2-.1-.7.1-1.3.4-1.9.8-.5.4-1 1-1.3 1.6h-.6c-.2 0-.4 0-.5.2-.1.1-.2.3-.2.5s0 .4.2.5c.1.1.3.2.5.2h.3v.5h-.3c-.2 0-.4 0-.5.2-.1.1-.2.3-.2.5s0 .4.2.5c.1.1.3.2.5.2h.6c.3.6.7 1.2 1.3 1.6.5.4 1.2.7 1.9.8.7.1 1.4 0 2-.1.7-.2 1.3-.6 1.7-1.1.1-.1.2-.3.2-.5s0-.4-.2-.5-.3-.2-.5-.2-.4 0-.5.2c-.3.3-.6.5-1 .6-.4.1-.7.2-1.1.2-.4 0-.8-.1-1.1-.3-.3-.2-.6-.4-.9-.7h.6c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2H9.3v-.5h2.2c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2H9.9c.2-.3.5-.5.9-.7s.7-.3 1.1-.3ZM12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5Z\"\n })\n});\nexport default currencyEuro;\n//# sourceMappingURL=currency-euro.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst currencyPound = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M14.4 14.5H11c.3-.4.5-1 .5-1.6v-.1h1c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2h-1.3c0-.1-.1-.3-.2-.4 0-.1-.1-.2-.1-.4v-.3c0-.8.6-1.4 1.4-1.4s.6 0 .8.2c.2.2.4.4.5.6 0 .2.2.3.4.4h.6c.2 0 .3-.2.4-.4v-.6c-.3-.6-.7-1.2-1.3-1.5-.6-.3-1.3-.4-2-.3s-1.3.5-1.7 1c-.4.5-.7 1.2-.7 1.9 0 .3 0 .5.2.8 0 0 0 .2.1.3-.2 0-.4 0-.5.2-.1.1-.2.3-.2.5s0 .4.2.5c.1.1.3.2.5.2h.5v.1c0 .4-.2.8-.5 1.2l-.6.6c-.1 0-.2.2-.3.4v.5c0 .1.1.3.3.4.1 0 .3.1.4.1h5.1c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2ZM12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5Z\"\n })\n});\nexport default currencyPound;\n//# sourceMappingURL=currency-pound.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst customLink = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5 14.5h-1V16h1c2.2 0 4-1.8 4-4s-1.8-4-4-4h-1v1.5h1c1.4 0 2.5 1.1 2.5 2.5s-1.1 2.5-2.5 2.5zm-4 1.5v-1.5h-1C6.1 14.5 5 13.4 5 12s1.1-2.5 2.5-2.5h1V8h-1c-2.2 0-4 1.8-4 4s1.8 4 4 4h1zm-1-3.2h5v-1.5h-5v1.5zM18 4H9c-1.1 0-2 .9-2 2v.5h1.5V6c0-.3.2-.5.5-.5h9c.3 0 .5.2.5.5v12c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5v-.5H7v.5c0 1.1.9 2 2 2h9c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2z\"\n })\n});\nexport default customLink;\n//# sourceMappingURL=custom-link.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst customPostType = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4zm.8-4l.7.7 2-2V12h1V9.2l2 2 .7-.7-2-2H12v-1H9.2l2-2-.7-.7-2 2V4h-1v2.8l-2-2-.7.7 2 2H4v1h2.8l-2 2z\"\n })\n});\nexport default customPostType;\n//# sourceMappingURL=custom-post-type.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst dashboard = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 5a8 8 0 0 1 3.842.984L14.726 7.1a6.502 6.502 0 0 0-7.323 1.303 6.5 6.5 0 0 0 0 9.194l-1.06 1.06A8 8 0 0 1 12 5Zm7.021 4.168a8 8 0 0 1-1.364 9.49l-1.06-1.061a6.5 6.5 0 0 0 1.307-7.312l1.117-1.117ZM17.47 6.47a.75.75 0 1 1 1.06 1.06l-5.083 5.082a1.5 1.5 0 1 1-1.06-1.06L17.47 6.47Z\"\n })\n});\nexport default dashboard;\n//# sourceMappingURL=dashboard.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst desktop = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.5 16h-.7V8c0-1.1-.9-2-2-2H6.2c-1.1 0-2 .9-2 2v8h-.7c-.8 0-1.5.7-1.5 1.5h20c0-.8-.7-1.5-1.5-1.5zM5.7 8c0-.3.2-.5.5-.5h11.6c.3 0 .5.2.5.5v7.6H5.7V8z\"\n })\n});\nexport default desktop;\n//# sourceMappingURL=desktop.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst details = /*#__PURE__*/_jsxs(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M4 16h10v1.5H4V16Zm0-4.5h16V13H4v-1.5ZM10 7h10v1.5H10V7Z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4 5.25 4 2.5-4 2.5v-5Z\"\n })]\n});\nexport default details;\n//# sourceMappingURL=details.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst download = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 11.3l-1-1.1-4 4V3h-1.5v11.3L7 10.2l-1 1.1 6.2 5.8 5.8-5.8zm.5 3.7v3.5h-13V15H4v5h16v-5h-1.5z\"\n })\n});\nexport default download;\n//# sourceMappingURL=download.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst drafts = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8 4a4 4 0 0 0 4-4H8a4 4 0 0 0 4 4Z\"\n })\n});\nexport default drafts;\n//# sourceMappingURL=drafts.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst dragHandle = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8 7h2V5H8v2zm0 6h2v-2H8v2zm0 6h2v-2H8v2zm6-14v2h2V5h-2zm0 8h2v-2h-2v2zm0 6h2v-2h-2v2z\"\n })\n});\nexport default dragHandle;\n//# sourceMappingURL=drag-handle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst drawerLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM8.5 18.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h2.5v13zm10-.5c0 .3-.2.5-.5.5h-8v-13h8c.3 0 .5.2.5.5v12z\"\n })\n});\nexport default drawerLeft;\n//# sourceMappingURL=drawer-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst drawerRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4 14.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h8v13zm4.5-.5c0 .3-.2.5-.5.5h-2.5v-13H18c.3 0 .5.2.5.5v12z\"\n })\n});\nexport default drawerRight;\n//# sourceMappingURL=drawer-right.js.map","/**\n * Internal dependencies\n */\n\nimport { default as pencil } from './pencil';\nexport default pencil;\n//# sourceMappingURL=edit.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst envelope = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 7c0-1.1.9-2 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Zm2-.5h14c.3 0 .5.2.5.5v1L12 13.5 4.5 7.9V7c0-.3.2-.5.5-.5Zm-.5 3.3V17c0 .3.2.5.5.5h14c.3 0 .5-.2.5-.5V9.8L12 15.4 4.5 9.8Z\"\n })\n});\nexport default envelope;\n//# sourceMappingURL=envelope.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst error = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.218 5.377a.25.25 0 0 0-.436 0l-7.29 12.96a.25.25 0 0 0 .218.373h14.58a.25.25 0 0 0 .218-.372l-7.29-12.96Zm-1.743-.735c.669-1.19 2.381-1.19 3.05 0l7.29 12.96a1.75 1.75 0 0 1-1.525 2.608H4.71a1.75 1.75 0 0 1-1.525-2.608l7.29-12.96ZM12.75 17.46h-1.5v-1.5h1.5v1.5Zm-1.5-3h1.5v-5h-1.5v5Z\"\n })\n});\nexport default error;\n//# sourceMappingURL=error.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst external = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.5 4.5h-7V6h4.44l-5.97 5.97 1.06 1.06L18 7.06v4.44h1.5v-7Zm-13 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3H17v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3V5.5h-3Z\"\n })\n});\nexport default external;\n//# sourceMappingURL=external.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst file = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.848 8a1 1 0 0 1-.914-.594l-.723-1.63a.5.5 0 0 0-.447-.276H5a.5.5 0 0 0-.5.5v11.5a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5v-9A.5.5 0 0 0 19 8h-6.152Zm.612-1.5a.5.5 0 0 1-.462-.31l-.445-1.084A2 2 0 0 0 10.763 4H5a2 2 0 0 0-2 2v11.5a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-5.54Z\"\n })\n});\nexport default file;\n//# sourceMappingURL=file.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst filter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4 4 19h16L12 4zm0 3.2 5.5 10.3H12V7.2z\"\n })\n});\nexport default filter;\n//# sourceMappingURL=filter.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst flipHorizontal = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 6v12c0 1.1.9 2 2 2h3v-1.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h3V4H6c-1.1 0-2 .9-2 2zm7.2 16h1.5V2h-1.5v20zM15 5.5h1.5V4H15v1.5zm3.5.5H20c0-1.1-.9-2-2-2v1.5c.3 0 .5.2.5.5zm0 10.5H20v-2h-1.5v2zm0-3.5H20v-2h-1.5v2zm-.5 5.5V20c1.1 0 2-.9 2-2h-1.5c0 .3-.2.5-.5.5zM15 20h1.5v-1.5H15V20zm3.5-10.5H20v-2h-1.5v2z\"\n })\n});\nexport default flipHorizontal;\n//# sourceMappingURL=flip-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst flipVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M2 11.2v1.5h20v-1.5H2zM5.5 6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v3H20V6c0-1.1-.9-2-2-2H6c-1.1 0-2 .9-2 2v3h1.5V6zm2 14h2v-1.5h-2V20zm3.5 0h2v-1.5h-2V20zm7-1.5V20c1.1 0 2-.9 2-2h-1.5c0 .3-.2.5-.5.5zm.5-2H20V15h-1.5v1.5zM5.5 18H4c0 1.1.9 2 2 2v-1.5c-.3 0-.5-.2-.5-.5zm0-3H4v1.5h1.5V15zm9 5h2v-1.5h-2V20z\"\n })\n});\nexport default flipVertical;\n//# sourceMappingURL=flip-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst footer = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M18 5.5h-8v8h8.5V6a.5.5 0 00-.5-.5zm-9.5 8h-3V6a.5.5 0 01.5-.5h2.5v8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default footer;\n//# sourceMappingURL=footer.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatBold = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.7 11.3c1-.6 1.5-1.6 1.5-3 0-2.3-1.3-3.4-4-3.4H7v14h5.8c1.4 0 2.5-.3 3.3-1 .8-.7 1.2-1.7 1.2-2.9.1-1.9-.8-3.1-2.6-3.7zm-5.1-4h2.3c.6 0 1.1.1 1.4.4.3.3.5.7.5 1.2s-.2 1-.5 1.2c-.3.3-.8.4-1.4.4H9.6V7.3zm4.6 9c-.4.3-1 .4-1.7.4H9.6v-3.9h2.9c.7 0 1.3.2 1.7.5.4.3.6.8.6 1.5s-.2 1.2-.6 1.5z\"\n })\n});\nexport default formatBold;\n//# sourceMappingURL=format-bold.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatCapitalize = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7.1 6.8L3.1 18h1.6l1.1-3h4.3l1.1 3h1.6l-4-11.2H7.1zm-.8 6.8L8 8.9l1.7 4.7H6.3zm14.5-1.5c-.3-.6-.7-1.1-1.2-1.5-.6-.4-1.2-.6-1.9-.6-.5 0-.9.1-1.4.3-.4.2-.8.5-1.1.8V6h-1.4v12h1.3l.2-1c.2.4.6.6 1 .8.4.2.9.3 1.4.3.7 0 1.2-.2 1.8-.5.5-.4 1-.9 1.3-1.5.3-.6.5-1.3.5-2.1-.1-.6-.2-1.3-.5-1.9zm-1.7 4c-.4.5-.9.8-1.6.8s-1.2-.2-1.7-.7c-.4-.5-.7-1.2-.7-2.1 0-.9.2-1.6.7-2.1.4-.5 1-.7 1.7-.7s1.2.3 1.6.8c.4.5.6 1.2.6 2 .1.8-.2 1.4-.6 2z\"\n })\n});\nexport default formatCapitalize;\n//# sourceMappingURL=format-capitalize.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatIndentRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM20.0303 9.03033L17.0607 12L20.0303 14.9697L18.9697 16.0303L15.4697 12.5303L14.9393 12L15.4697 11.4697L18.9697 7.96967L20.0303 9.03033Z\"\n })\n});\nexport default formatIndentRTL;\n//# sourceMappingURL=format-indent-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatIndent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-8-3.5l3 3-3 3 1 1 4-4-4-4-1 1z\"\n })\n});\nexport default formatIndent;\n//# sourceMappingURL=format-indent.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatItalic = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5 5L10 19h1.9l2.5-14z\"\n })\n});\nexport default formatItalic;\n//# sourceMappingURL=format-italic.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListBulletsRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 8.8h8.9V7.2H4v1.6zm0 7h8.9v-1.5H4v1.5zM18 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\n })\n});\nexport default formatListBulletsRTL;\n//# sourceMappingURL=format-list-bullets-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListBullets = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM6 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-7c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"\n })\n});\nexport default formatListBullets;\n//# sourceMappingURL=format-list-bullets.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListNumberedRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3.8 15.8h8.9v-1.5H3.8v1.5zm0-7h8.9V7.2H3.8v1.6zm14.7-2.1V10h1V5.3l-2.2.7.3 1 .9-.3zm1.2 6.1c-.5-.6-1.2-.5-1.7-.4-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5H20v-1h-.9c.3-.6.8-1.4.9-2.1 0-.3 0-.8-.3-1.1z\"\n })\n});\nexport default formatListNumberedRTL;\n//# sourceMappingURL=format-list-numbered-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListNumbered = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM5 6.7V10h1V5.3L3.8 6l.4 1 .8-.3zm-.4 5.7c-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5h2.7v-1h-1c.3-.6.8-1.4.9-2.1.1-.3 0-.8-.2-1.1-.5-.6-1.3-.5-1.7-.4z\"\n })\n});\nexport default formatListNumbered;\n//# sourceMappingURL=format-list-numbered.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatLowercase = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 16.8c-.1-.1-.2-.3-.3-.5v-2.6c0-.9-.1-1.7-.3-2.2-.2-.5-.5-.9-.9-1.2-.4-.2-.9-.3-1.6-.3-.5 0-1 .1-1.5.2s-.9.3-1.2.6l.2 1.2c.4-.3.7-.4 1.1-.5.3-.1.7-.2 1-.2.6 0 1 .1 1.3.4.3.2.4.7.4 1.4-1.2 0-2.3.2-3.3.7s-1.4 1.1-1.4 2.1c0 .7.2 1.2.7 1.6.4.4 1 .6 1.8.6.9 0 1.7-.4 2.4-1.2.1.3.2.5.4.7.1.2.3.3.6.4.3.1.6.1 1.1.1h.1l.2-1.2h-.1c-.4.1-.6 0-.7-.1zM9.2 16c-.2.3-.5.6-.9.8-.3.1-.7.2-1.1.2-.4 0-.7-.1-.9-.3-.2-.2-.3-.5-.3-.9 0-.6.2-1 .7-1.3.5-.3 1.3-.4 2.5-.5v2zm10.6-3.9c-.3-.6-.7-1.1-1.2-1.5-.6-.4-1.2-.6-1.9-.6-.5 0-.9.1-1.4.3-.4.2-.8.5-1.1.8V6h-1.4v12h1.3l.2-1c.2.4.6.6 1 .8.4.2.9.3 1.4.3.7 0 1.2-.2 1.8-.5.5-.4 1-.9 1.3-1.5.3-.6.5-1.3.5-2.1-.1-.6-.2-1.3-.5-1.9zm-1.7 4c-.4.5-.9.8-1.6.8s-1.2-.2-1.7-.7c-.4-.5-.7-1.2-.7-2.1 0-.9.2-1.6.7-2.1.4-.5 1-.7 1.7-.7s1.2.3 1.6.8c.4.5.6 1.2.6 2s-.2 1.4-.6 2z\"\n })\n});\nexport default formatLowercase;\n//# sourceMappingURL=format-lowercase.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatLtr = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 9c0 2.8 2.2 5 5 5v-.2V20h1.5V5.5H12V20h1.5V5.5h3V4H8C5.2 4 3 6.2 3 9Zm15.9-1-1.1 1 2.6 3-2.6 3 1.1 1 3.4-4-3.4-4Z\"\n })\n});\nexport default formatLtr;\n//# sourceMappingURL=format-ltr.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatOutdentRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM15.4697 14.9697L18.4393 12L15.4697 9.03033L16.5303 7.96967L20.0303 11.4697L20.5607 12L20.0303 12.5303L16.5303 16.0303L15.4697 14.9697Z\"\n })\n});\nexport default formatOutdentRTL;\n//# sourceMappingURL=format-outdent-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatOutdent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-4-4.6l-4 4 4 4 1-1-3-3 3-3-1-1z\"\n })\n});\nexport default formatOutdent;\n//# sourceMappingURL=format-outdent.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatRtl = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 9c0 2.8 2.2 5 5 5v-.2V20h1.5V5.5H12V20h1.5V5.5h3V4H8C5.2 4 3 6.2 3 9Zm19.3 0-1.1-1-3.4 4 3.4 4 1.1-1-2.6-3 2.6-3Z\"\n })\n});\nexport default formatRtl;\n//# sourceMappingURL=format-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatStrikethrough = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9.1 9v-.5c0-.6.2-1.1.7-1.4.5-.3 1.2-.5 2-.5.7 0 1.4.1 2.1.3.7.2 1.4.5 2.1.9l.2-1.9c-.6-.3-1.2-.5-1.9-.7-.8-.1-1.6-.2-2.4-.2-1.5 0-2.7.3-3.6 1-.8.7-1.2 1.5-1.2 2.6V9h2zM20 12H4v1h8.3c.3.1.6.2.8.3.5.2.9.5 1.1.8.3.3.4.7.4 1.2 0 .7-.2 1.1-.8 1.5-.5.3-1.2.5-2.1.5-.8 0-1.6-.1-2.4-.3-.8-.2-1.5-.5-2.2-.8L7 18.1c.5.2 1.2.4 2 .6.8.2 1.6.3 2.4.3 1.7 0 3-.3 3.9-1 .9-.7 1.3-1.6 1.3-2.8 0-.9-.2-1.7-.7-2.2H20v-1z\"\n })\n});\nexport default formatStrikethrough;\n//# sourceMappingURL=format-strikethrough.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatUnderline = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 18v1h10v-1H7zm5-2c1.5 0 2.6-.4 3.4-1.2.8-.8 1.1-2 1.1-3.5V5H15v5.8c0 1.2-.2 2.1-.6 2.8-.4.7-1.2 1-2.4 1s-2-.3-2.4-1c-.4-.7-.6-1.6-.6-2.8V5H7.5v6.2c0 1.5.4 2.7 1.1 3.5.8.9 1.9 1.3 3.4 1.3z\"\n })\n});\nexport default formatUnderline;\n//# sourceMappingURL=format-underline.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatUppercase = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.1 6.8L2.1 18h1.6l1.1-3h4.3l1.1 3h1.6l-4-11.2H6.1zm-.8 6.8L7 8.9l1.7 4.7H5.3zm15.1-.7c-.4-.5-.9-.8-1.6-1 .4-.2.7-.5.8-.9.2-.4.3-.9.3-1.4 0-.9-.3-1.6-.8-2-.6-.5-1.3-.7-2.4-.7h-3.5V18h4.2c1.1 0 2-.3 2.6-.8.6-.6 1-1.4 1-2.4-.1-.8-.3-1.4-.6-1.9zm-5.7-4.7h1.8c.6 0 1.1.1 1.4.4.3.2.5.7.5 1.3 0 .6-.2 1.1-.5 1.3-.3.2-.8.4-1.4.4h-1.8V8.2zm4 8c-.4.3-.9.5-1.5.5h-2.6v-3.8h2.6c1.4 0 2 .6 2 1.9.1.6-.1 1-.5 1.4z\"\n })\n});\nexport default formatUppercase;\n//# sourceMappingURL=format-uppercase.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst fullscreen = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 4a2 2 0 0 0-2 2v3h1.5V6a.5.5 0 0 1 .5-.5h3V4H6Zm3 14.5H6a.5.5 0 0 1-.5-.5v-3H4v3a2 2 0 0 0 2 2h3v-1.5Zm6 1.5v-1.5h3a.5.5 0 0 0 .5-.5v-3H20v3a2 2 0 0 1-2 2h-3Zm3-16a2 2 0 0 1 2 2v3h-1.5V6a.5.5 0 0 0-.5-.5h-3V4h3Z\"\n })\n});\nexport default fullscreen;\n//# sourceMappingURL=fullscreen.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst funnel = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z\"\n })\n});\nexport default funnel;\n//# sourceMappingURL=funnel.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const gallery = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.375 4.5H4.625a.125.125 0 0 0-.125.125v8.254l2.859-1.54a.75.75 0 0 1 .68-.016l2.384 1.142 2.89-2.074a.75.75 0 0 1 .874 0l2.313 1.66V4.625a.125.125 0 0 0-.125-.125Zm.125 9.398-2.75-1.975-2.813 2.02a.75.75 0 0 1-.76.067l-2.444-1.17L4.5 14.583v1.792c0 .069.056.125.125.125h11.75a.125.125 0 0 0 .125-.125v-2.477ZM4.625 3C3.728 3 3 3.728 3 4.625v11.75C3 17.273 3.728 18 4.625 18h11.75c.898 0 1.625-.727 1.625-1.625V4.625C18 3.728 17.273 3 16.375 3H4.625ZM20 8v11c0 .69-.31 1-.999 1H6v1.5h13.001c1.52 0 2.499-.982 2.499-2.5V8H20Z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default gallery;\n//# sourceMappingURL=gallery.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst globe = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm6.5 8c0 .6 0 1.2-.2 1.8h-2.7c0-.6.2-1.1.2-1.8s0-1.2-.2-1.8h2.7c.2.6.2 1.1.2 1.8Zm-.9-3.2h-2.4c-.3-.9-.7-1.8-1.1-2.4-.1-.2-.2-.4-.3-.5 1.6.5 3 1.6 3.8 3ZM12.8 17c-.3.5-.6 1-.8 1.3-.2-.3-.5-.8-.8-1.3-.3-.5-.6-1.1-.8-1.7h3.3c-.2.6-.5 1.2-.8 1.7Zm-2.9-3.2c-.1-.6-.2-1.1-.2-1.8s0-1.2.2-1.8H14c.1.6.2 1.1.2 1.8s0 1.2-.2 1.8H9.9ZM11.2 7c.3-.5.6-1 .8-1.3.2.3.5.8.8 1.3.3.5.6 1.1.8 1.7h-3.3c.2-.6.5-1.2.8-1.7Zm-1-1.2c-.1.2-.2.3-.3.5-.4.7-.8 1.5-1.1 2.4H6.4c.8-1.4 2.2-2.5 3.8-3Zm-1.8 8H5.7c-.2-.6-.2-1.1-.2-1.8s0-1.2.2-1.8h2.7c0 .6-.2 1.1-.2 1.8s0 1.2.2 1.8Zm-2 1.4h2.4c.3.9.7 1.8 1.1 2.4.1.2.2.4.3.5-1.6-.5-3-1.6-3.8-3Zm7.4 3c.1-.2.2-.3.3-.5.4-.7.8-1.5 1.1-2.4h2.4c-.8 1.4-2.2 2.5-3.8 3Z\"\n })\n});\nexport default globe;\n//# sourceMappingURL=globe.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst grid = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m3 5c0-1.10457.89543-2 2-2h13.5c1.1046 0 2 .89543 2 2v13.5c0 1.1046-.8954 2-2 2h-13.5c-1.10457 0-2-.8954-2-2zm2-.5h6v6.5h-6.5v-6c0-.27614.22386-.5.5-.5zm-.5 8v6c0 .2761.22386.5.5.5h6v-6.5zm8 0v6.5h6c.2761 0 .5-.2239.5-.5v-6zm0-8v6.5h6.5v-6c0-.27614-.2239-.5-.5-.5z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default grid;\n//# sourceMappingURL=grid.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst group = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4h-7c-1.1 0-2 .9-2 2v3H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-3h3c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h3V13c0 1.1.9 2 2 2h2.5v3zm0-4.5H11c-.3 0-.5-.2-.5-.5v-2.5H13c.3 0 .5.2.5.5v2.5zm5-.5c0 .3-.2.5-.5.5h-3V11c0-1.1-.9-2-2-2h-2.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7z\"\n })\n});\nexport default group;\n//# sourceMappingURL=group.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst handle = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 16.5h10V15H7v1.5zm0-9V9h10V7.5H7z\"\n })\n});\nexport default handle;\n//# sourceMappingURL=handle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst header = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 10.5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default header;\n//# sourceMappingURL=header.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel1 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.6 7c-.6.9-1.5 1.7-2.6 2v1h2v7h2V7h-1.4zM11 11H7V7H5v10h2v-4h4v4h2V7h-2v4z\"\n })\n});\nexport default headingLevel1;\n//# sourceMappingURL=heading-level-1.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel2 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11.1H5v-4H3v10h2v-4h4v4h2v-10H9v4zm8 4c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6v1.5h8v-2H17z\"\n })\n});\nexport default headingLevel2;\n//# sourceMappingURL=heading-level-2.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel3 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11H5V7H3v10h2v-4h4v4h2V7H9v4zm11.3 1.7c-.4-.4-1-.7-1.6-.8v-.1c.6-.2 1.1-.5 1.5-.9.3-.4.5-.8.5-1.3 0-.4-.1-.8-.3-1.1-.2-.3-.5-.6-.8-.8-.4-.2-.8-.4-1.2-.5-.6-.1-1.1-.2-1.6-.2-.6 0-1.3.1-1.8.3s-1.1.5-1.6.9l1.2 1.4c.4-.2.7-.4 1.1-.6.3-.2.7-.3 1.1-.3.4 0 .8.1 1.1.3.3.2.4.5.4.8 0 .4-.2.7-.6.9-.7.3-1.5.5-2.2.4v1.6c.5 0 1 0 1.5.1.3.1.7.2 1 .3.2.1.4.2.5.4s.1.4.1.6c0 .3-.2.7-.5.8-.4.2-.9.3-1.4.3s-1-.1-1.4-.3c-.4-.2-.8-.4-1.2-.7L13 15.6c.5.4 1 .8 1.6 1 .7.3 1.5.4 2.3.4.6 0 1.1-.1 1.6-.2.4-.1.9-.2 1.3-.5.4-.2.7-.5.9-.9.2-.4.3-.8.3-1.2 0-.6-.3-1.1-.7-1.5z\"\n })\n});\nexport default headingLevel3;\n//# sourceMappingURL=heading-level-3.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel4 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 13V7h-3l-4 6v2h5v2h2v-2h1v-2h-1zm-2 0h-2.8L18 9v4zm-9-2H5V7H3v10h2v-4h4v4h2V7H9v4z\"\n })\n});\nexport default headingLevel4;\n//# sourceMappingURL=heading-level-4.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel5 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11H5V7H3v10h2v-4h4v4h2V7H9v4zm11.7 1.2c-.2-.3-.5-.7-.8-.9-.3-.3-.7-.5-1.1-.6-.5-.1-.9-.2-1.4-.2-.2 0-.5.1-.7.1-.2.1-.5.1-.7.2l.1-1.9h4.3V7H14l-.3 5 1 .6.5-.2.4-.1c.1-.1.3-.1.4-.1h.5c.5 0 1 .1 1.4.4.4.2.6.7.6 1.1 0 .4-.2.8-.6 1.1-.4.3-.9.4-1.4.4-.4 0-.9-.1-1.3-.3-.4-.2-.7-.4-1.1-.7 0 0-1.1 1.4-1 1.5.5.4 1 .8 1.6 1 .7.3 1.5.4 2.3.4.5 0 1-.1 1.5-.3s.9-.4 1.3-.7c.4-.3.7-.7.9-1.1s.3-.9.3-1.4-.1-1-.3-1.4z\"\n })\n});\nexport default headingLevel5;\n//# sourceMappingURL=heading-level-5.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel6 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.7 12.4c-.2-.3-.4-.6-.7-.9s-.6-.5-1-.6c-.4-.2-.8-.2-1.2-.2-.5 0-.9.1-1.3.3s-.8.5-1.2.8c0-.5 0-.9.2-1.4l.6-.9c.2-.2.5-.4.8-.5.6-.2 1.3-.2 1.9 0 .3.1.6.3.8.5 0 0 1.3-1.3 1.3-1.4-.4-.3-.9-.6-1.4-.8-.6-.2-1.3-.3-2-.3-.6 0-1.1.1-1.7.4-.5.2-1 .5-1.4.9-.4.4-.8 1-1 1.6-.3.7-.4 1.5-.4 2.3s.1 1.5.3 2.1c.2.6.6 1.1 1 1.5.4.4.9.7 1.4.9 1 .3 2 .3 3 0 .4-.1.8-.3 1.2-.6.3-.3.6-.6.8-1 .2-.5.3-.9.3-1.4s-.1-.9-.3-1.3zm-2 2.1c-.1.2-.3.4-.4.5-.1.1-.3.2-.5.2-.2.1-.4.1-.6.1-.2.1-.5 0-.7-.1-.2 0-.3-.2-.5-.3-.1-.2-.3-.4-.4-.6-.2-.3-.3-.7-.3-1 .3-.3.6-.5 1-.7.3-.1.7-.2 1-.2.4 0 .8.1 1.1.3.3.3.4.7.4 1.1 0 .2 0 .5-.1.7zM9 11H5V7H3v10h2v-4h4v4h2V7H9v4z\"\n })\n});\nexport default headingLevel6;\n//# sourceMappingURL=heading-level-6.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst heading = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 5V18.5911L12 13.8473L18 18.5911V5H6Z\"\n })\n});\nexport default heading;\n//# sourceMappingURL=heading.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst helpFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm.8 12.5h-1.5V15h1.5v1.5Zm2.1-5.6c-.1.5-.4 1.1-.8 1.5-.4.4-.9.7-1.4.8v.8h-1.5v-1.2c0-.6.5-1 .9-1s.7-.2 1-.5c.2-.3.4-.7.4-1 0-.4-.2-.7-.5-1-.3-.3-.6-.4-1-.4s-.8.2-1.1.4c-.3.3-.4.7-.4 1.1H9c0-.6.2-1.1.5-1.6s.7-.9 1.2-1.1c.5-.2 1.1-.3 1.6-.3s1.1.3 1.5.6c.4.3.8.8 1 1.3.2.5.2 1.1.1 1.6Z\"\n })\n});\nexport default helpFilled;\n//# sourceMappingURL=help-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst help = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4a8 8 0 1 1 .001 16.001A8 8 0 0 1 12 4Zm0 1.5a6.5 6.5 0 1 0-.001 13.001A6.5 6.5 0 0 0 12 5.5Zm.75 11h-1.5V15h1.5v1.5Zm-.445-9.234a3 3 0 0 1 .445 5.89V14h-1.5v-1.25c0-.57.452-.958.917-1.01A1.5 1.5 0 0 0 12 8.75a1.5 1.5 0 0 0-1.5 1.5H9a3 3 0 0 1 3.305-2.984Z\"\n })\n});\nexport default help;\n//# sourceMappingURL=help.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst homeButton = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.25 7A2.75 2.75 0 0 1 7 4.25h10A2.75 2.75 0 0 1 19.75 7v10A2.75 2.75 0 0 1 17 19.75H7A2.75 2.75 0 0 1 4.25 17V7ZM7 5.75c-.69 0-1.25.56-1.25 1.25v10c0 .69.56 1.25 1.25 1.25h10c.69 0 1.25-.56 1.25-1.25V7c0-.69-.56-1.25-1.25-1.25H7Z\"\n })\n});\nexport default homeButton;\n//# sourceMappingURL=home-button.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst home = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4L4 7.9V20h16V7.9L12 4zm6.5 14.5H14V13h-4v5.5H5.5V8.8L12 5.7l6.5 3.1v9.7z\"\n })\n});\nexport default home;\n//# sourceMappingURL=home.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst html = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.8 11.4H2.1V9H1v6h1.1v-2.6h2.7V15h1.1V9H4.8v2.4zm1.9-1.3h1.7V15h1.1v-4.9h1.7V9H6.7v1.1zM16.2 9l-1.5 2.7L13.3 9h-.9l-.8 6h1.1l.5-4 1.5 2.8 1.5-2.8.5 4h1.1L17 9h-.8zm3.8 5V9h-1.1v6h3.6v-1H20z\"\n })\n});\nexport default html;\n//# sourceMappingURL=html.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst image = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z\"\n })\n});\nexport default image;\n//# sourceMappingURL=image.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst inbox = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M6 5.5h12a.5.5 0 01.5.5v7H14a2 2 0 11-4 0H5.5V6a.5.5 0 01.5-.5zm-.5 9V18a.5.5 0 00.5.5h12a.5.5 0 00.5-.5v-3.5h-3.337a3.5 3.5 0 01-6.326 0H5.5zM4 13V6a2 2 0 012-2h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2v-5z\",\n clipRule: \"evenodd\"\n })\n});\nexport default inbox;\n//# sourceMappingURL=inbox.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst info = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.75 4v1.5h-1.5V8h1.5Zm0 8v-5h-1.5v5h1.5Z\"\n })\n});\nexport default info;\n//# sourceMappingURL=info.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst insertAfter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 12h2v-2h2V8h-2V6H9v2H7v2h2v2zm1 4c3.9 0 7-3.1 7-7s-3.1-7-7-7-7 3.1-7 7 3.1 7 7 7zm0-12c2.8 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.2-5 5-5zM3 19h14v-2H3v2z\"\n })\n});\nexport default insertAfter;\n//# sourceMappingURL=insert-after.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst insertBefore = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 8H9v2H7v2h2v2h2v-2h2v-2h-2V8zm-1-4c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm0 12c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM3 1v2h14V1H3z\"\n })\n});\nexport default insertBefore;\n//# sourceMappingURL=insert-before.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst institute = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M18.646 9H20V8l-1-.5L12 4 5 7.5 4 8v1h14.646zm-3-1.5L12 5.677 8.354 7.5h7.292zm-7.897 9.44v-6.5h-1.5v6.5h1.5zm5-6.5v6.5h-1.5v-6.5h1.5zm5 0v6.5h-1.5v-6.5h1.5zm2.252 8.81c0 .414-.334.75-.748.75H4.752a.75.75 0 010-1.5h14.5a.75.75 0 01.749.75z\",\n clipRule: \"evenodd\"\n })\n});\nexport default institute;\n//# sourceMappingURL=institution.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyBottom = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15 4H9v11h6V4zM4 18.5V20h16v-1.5H4z\"\n })\n});\nexport default justifyBottom;\n//# sourceMappingURL=justify-bottom.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyCenterVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 11h-5V4H9v7H4v1.5h5V20h6v-7.5h5z\"\n })\n});\nexport default justifyCenterVertical;\n//# sourceMappingURL=justify-center-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyCenter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5 15v5H11v-5H4V9h7V4h1.5v5h7v6h-7Z\"\n })\n});\nexport default justifyCenter;\n//# sourceMappingURL=justify-center.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 9v6h11V9H9zM4 20h1.5V4H4v16z\"\n })\n});\nexport default justifyLeft;\n//# sourceMappingURL=justify-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 15h11V9H4v6zM18.5 4v16H20V4h-1.5z\"\n })\n});\nexport default justifyRight;\n//# sourceMappingURL=justify-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifySpaceBetweenVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 4H17V8L7 8V4ZM7 16L17 16V20L7 20V16ZM20 11.25H4V12.75H20V11.25Z\"\n })\n});\nexport default justifySpaceBetweenVertical;\n//# sourceMappingURL=justify-space-between-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifySpaceBetween = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 15h6V9H9v6zm-5 5h1.5V4H4v16zM18.5 4v16H20V4h-1.5z\"\n })\n});\nexport default justifySpaceBetween;\n//# sourceMappingURL=justify-space-between.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyStretchVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 4L20 4L20 5.5L4 5.5L4 4ZM10 7L14 7L14 17L10 17L10 7ZM20 18.5L4 18.5L4 20L20 20L20 18.5Z\"\n })\n});\nexport default justifyStretchVertical;\n//# sourceMappingURL=justify-stretch-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyStretch = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 4H5.5V20H4V4ZM7 10L17 10V14L7 14V10ZM20 4H18.5V20H20V4Z\"\n })\n});\nexport default justifyStretch;\n//# sourceMappingURL=justify-stretch.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyTop = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 20h6V9H9v11zM4 4v1.5h16V4H4z\"\n })\n});\nexport default justifyTop;\n//# sourceMappingURL=justify-top.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst key = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 13.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM9 16a4.002 4.002 0 003.8-2.75H15V16h2.5v-2.75H19v-2.5h-6.2A4.002 4.002 0 005 12a4 4 0 004 4z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default key;\n//# sourceMappingURL=key.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst keyboardClose = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"-2 -2 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18,0 L2,0 C0.9,0 0.01,0.9 0.01,2 L0,12 C0,13.1 0.9,14 2,14 L18,14 C19.1,14 20,13.1 20,12 L20,2 C20,0.9 19.1,0 18,0 Z M18,12 L2,12 L2,2 L18,2 L18,12 Z M9,3 L11,3 L11,5 L9,5 L9,3 Z M9,6 L11,6 L11,8 L9,8 L9,6 Z M6,3 L8,3 L8,5 L6,5 L6,3 Z M6,6 L8,6 L8,8 L6,8 L6,6 Z M3,6 L5,6 L5,8 L3,8 L3,6 Z M3,3 L5,3 L5,5 L3,5 L3,3 Z M6,9 L14,9 L14,11 L6,11 L6,9 Z M12,6 L14,6 L14,8 L12,8 L12,6 Z M12,3 L14,3 L14,5 L12,5 L12,3 Z M15,6 L17,6 L17,8 L15,8 L15,6 Z M15,3 L17,3 L17,5 L15,5 L15,3 Z M10,20 L14,16 L6,16 L10,20 Z\"\n })\n});\nexport default keyboardClose;\n//# sourceMappingURL=keyboard-close.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst keyboardReturn = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m6.734 16.106 2.176-2.38-1.093-1.028-3.846 4.158 3.846 4.158 1.093-1.028-2.176-2.38h2.811c1.125 0 2.25.03 3.374 0 1.428-.001 3.362-.25 4.963-1.277 1.66-1.065 2.868-2.906 2.868-5.859 0-2.479-1.327-4.896-3.65-5.93-1.82-.813-3.044-.8-4.806-.788l-.567.002v1.5c.184 0 .368 0 .553-.002 1.82-.007 2.704-.014 4.21.657 1.854.827 2.76 2.657 2.76 4.561 0 2.472-.973 3.824-2.178 4.596-1.258.807-2.864 1.04-4.163 1.04h-.02c-1.115.03-2.229 0-3.344 0H6.734Z\"\n })\n});\nexport default keyboardReturn;\n//# sourceMappingURL=keyboard-return.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst keyboard = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m16 15.5h-8v-1.5h8zm-7.5-2.5h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm-9-3h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18.5 6.5h-13a.5.5 0 0 0 -.5.5v9.5a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9.5a.5.5 0 0 0 -.5-.5zm-13-1.5h13a2 2 0 0 1 2 2v9.5a2 2 0 0 1 -2 2h-13a2 2 0 0 1 -2-2v-9.5a2 2 0 0 1 2-2z\"\n })]\n});\nexport default keyboard;\n//# sourceMappingURL=keyboard.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst language = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 10h-1.7l-3.7 10.5h1.7l.9-2.6h3.9l.9 2.6h1.7L17.5 10zm-2.2 6.3 1.4-4 1.4 4h-2.8zm-4.8-3.8c1.6-1.8 2.9-3.6 3.7-5.7H16V5.2h-5.8V3H8.8v2.2H3v1.5h9.6c-.7 1.6-1.8 3.1-3.1 4.6C8.6 10.2 7.8 9 7.2 8H5.6c.6 1.4 1.7 2.9 2.9 4.4l-2.4 2.4c-.3.4-.7.8-1.1 1.2l1 1 1.2-1.2c.8-.8 1.6-1.5 2.3-2.3.8.9 1.7 1.7 2.5 2.5l.6-1.5c-.7-.6-1.4-1.3-2.1-2z\"\n })\n});\nexport default language;\n//# sourceMappingURL=language.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst layout = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default layout;\n//# sourceMappingURL=layout.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst levelUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m13.53 8.47-1.06 1.06-2.72-2.72V12h-1.5V6.81L5.53 9.53 4.47 8.47 9 3.94l4.53 4.53Zm-1.802 7.968c1.307.697 3.235.812 5.772.812v1.5c-2.463 0-4.785-.085-6.478-.988a4.721 4.721 0 0 1-2.07-2.13C8.48 14.67 8.25 13.471 8.25 12h1.5c0 1.328.208 2.28.548 2.969.332.675.81 1.138 1.43 1.47Z\"\n })\n});\nexport default levelUp;\n//# sourceMappingURL=level-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lifesaver = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M17.375 15.656A6.47 6.47 0 0018.5 12a6.47 6.47 0 00-.943-3.374l-1.262.813c.448.749.705 1.625.705 2.561a4.977 4.977 0 01-.887 2.844l1.262.813zm-1.951 1.87l-.813-1.261A4.976 4.976 0 0112 17c-.958 0-1.852-.27-2.613-.736l-.812 1.261A6.47 6.47 0 0012 18.5a6.47 6.47 0 003.424-.974zm-8.8-1.87A6.47 6.47 0 015.5 12c0-1.235.344-2.39.943-3.373l1.261.812A4.977 4.977 0 007 12c0 1.056.328 2.036.887 2.843l-1.262.813zm2.581-7.803A4.977 4.977 0 0112 7c1.035 0 1.996.314 2.794.853l.812-1.262A6.47 6.47 0 0012 5.5a6.47 6.47 0 00-3.607 1.092l.812 1.261zM12 20a8 8 0 100-16 8 8 0 000 16zm0-4.5a3.5 3.5 0 100-7 3.5 3.5 0 000 7z\",\n clipRule: \"evenodd\"\n })\n});\nexport default lifesaver;\n//# sourceMappingURL=lifesaver.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lineDashed = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5 11.25h3v1.5H5v-1.5zm5.5 0h3v1.5h-3v-1.5zm8.5 0h-3v1.5h3v-1.5z\",\n clipRule: \"evenodd\"\n })\n});\nexport default lineDashed;\n//# sourceMappingURL=line-dashed.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lineDotted = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5.25 11.25h1.5v1.5h-1.5v-1.5zm3 0h1.5v1.5h-1.5v-1.5zm4.5 0h-1.5v1.5h1.5v-1.5zm1.5 0h1.5v1.5h-1.5v-1.5zm4.5 0h-1.5v1.5h1.5v-1.5z\",\n clipRule: \"evenodd\"\n })\n});\nexport default lineDotted;\n//# sourceMappingURL=line-dotted.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lineSolid = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 11.25h14v1.5H5z\"\n })\n});\nexport default lineSolid;\n//# sourceMappingURL=line-solid.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst linkOff = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.031 4.703 15.576 4l-1.56 3H14v.03l-2.324 4.47H9.5V13h1.396l-1.502 2.889h-.95a3.694 3.694 0 0 1 0-7.389H10V7H8.444a5.194 5.194 0 1 0 0 10.389h.17L7.5 19.53l1.416.719L15.049 8.5h.507a3.694 3.694 0 0 1 0 7.39H14v1.5h1.556a5.194 5.194 0 0 0 .273-10.383l1.202-2.304Z\"\n })\n});\nexport default linkOff;\n//# sourceMappingURL=link-off.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst link = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 17.389H8.444A5.194 5.194 0 1 1 8.444 7H10v1.5H8.444a3.694 3.694 0 0 0 0 7.389H10v1.5ZM14 7h1.556a5.194 5.194 0 0 1 0 10.39H14v-1.5h1.556a3.694 3.694 0 0 0 0-7.39H14V7Zm-4.5 6h5v-1.5h-5V13Z\"\n })\n});\nexport default link;\n//# sourceMappingURL=link.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst listItem = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 11v1.5h8V11h-8zm-6-1c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"\n })\n});\nexport default listItem;\n//# sourceMappingURL=list-item.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst listView = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 6h11v1.5H3V6Zm3.5 5.5h11V13h-11v-1.5ZM21 17H10v1.5h11V17Z\"\n })\n});\nexport default listView;\n//# sourceMappingURL=list-view.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst list = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 4v1.5h16V4H4zm8 8.5h8V11h-8v1.5zM4 20h16v-1.5H4V20zm4-8c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2z\"\n })\n});\nexport default list;\n//# sourceMappingURL=list.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lockOutline = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1zM9.8 7c0-1.2 1-2.2 2.2-2.2 1.2 0 2.2 1 2.2 2.2v3H9.8V7zm6.7 11.5h-9v-7h9v7z\"\n })\n});\nexport default lockOutline;\n//# sourceMappingURL=lock-outline.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lockSmall = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 11h-.2V9c0-1.5-1.2-2.8-2.8-2.8S9.2 7.5 9.2 9v2H9c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1zm-1.8 0h-2.5V9c0-.7.6-1.2 1.2-1.2s1.2.6 1.2 1.2v2z\"\n })\n});\nexport default lockSmall;\n//# sourceMappingURL=lock-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lock = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1zm-2.8 0H9.8V7c0-1.2 1-2.2 2.2-2.2s2.2 1 2.2 2.2v3z\"\n })\n});\nexport default lock;\n//# sourceMappingURL=lock.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst login = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 14.5l1.1 1.1 3-3 .5-.5-.6-.6-3-3-1 1 1.7 1.7H5v1.5h7.7L11 14.5zM16.8 5h-7c-1.1 0-2 .9-2 2v1.5h1.5V7c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v10c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5v-1.5H7.8V17c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2z\"\n })\n});\nexport default login;\n//# sourceMappingURL=login.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst loop = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.1823 11.6392C18.1823 13.0804 17.0139 14.2487 15.5727 14.2487C14.3579 14.2487 13.335 13.4179 13.0453 12.2922L13.0377 12.2625L13.0278 12.2335L12.3985 10.377L12.3942 10.3785C11.8571 8.64997 10.246 7.39405 8.33961 7.39405C5.99509 7.39405 4.09448 9.29465 4.09448 11.6392C4.09448 13.9837 5.99509 15.8843 8.33961 15.8843C8.88499 15.8843 9.40822 15.781 9.88943 15.5923L9.29212 14.0697C8.99812 14.185 8.67729 14.2487 8.33961 14.2487C6.89838 14.2487 5.73003 13.0804 5.73003 11.6392C5.73003 10.1979 6.89838 9.02959 8.33961 9.02959C9.55444 9.02959 10.5773 9.86046 10.867 10.9862L10.8772 10.9836L11.4695 12.7311C11.9515 14.546 13.6048 15.8843 15.5727 15.8843C17.9172 15.8843 19.8178 13.9837 19.8178 11.6392C19.8178 9.29465 17.9172 7.39404 15.5727 7.39404C15.0287 7.39404 14.5066 7.4968 14.0264 7.6847L14.6223 9.20781C14.9158 9.093 15.2358 9.02959 15.5727 9.02959C17.0139 9.02959 18.1823 10.1979 18.1823 11.6392Z\"\n })\n});\nexport default loop;\n//# sourceMappingURL=loop.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst mapMarker = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 9c-.8 0-1.5.7-1.5 1.5S11.2 12 12 12s1.5-.7 1.5-1.5S12.8 9 12 9zm0-5c-3.6 0-6.5 2.8-6.5 6.2 0 .8.3 1.8.9 3.1.5 1.1 1.2 2.3 2 3.6.7 1 3 3.8 3.2 3.9l.4.5.4-.5c.2-.2 2.6-2.9 3.2-3.9.8-1.2 1.5-2.5 2-3.6.6-1.3.9-2.3.9-3.1C18.5 6.8 15.6 4 12 4zm4.3 8.7c-.5 1-1.1 2.2-1.9 3.4-.5.7-1.7 2.2-2.4 3-.7-.8-1.9-2.3-2.4-3-.8-1.2-1.4-2.3-1.9-3.3-.6-1.4-.7-2.2-.7-2.5 0-2.6 2.2-4.7 5-4.7s5 2.1 5 4.7c0 .2-.1 1-.7 2.4z\"\n })\n});\nexport default mapMarker;\n//# sourceMappingURL=map-marker.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst mediaAndText = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 6v11.5h8V6H3Zm11 3h7V7.5h-7V9Zm7 3.5h-7V11h7v1.5ZM14 16h7v-1.5h-7V16Z\"\n })\n});\nexport default mediaAndText;\n//# sourceMappingURL=media-and-text.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst media = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7 6.5 4 2.5-4 2.5z\"\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"m5 3c-1.10457 0-2 .89543-2 2v14c0 1.1046.89543 2 2 2h14c1.1046 0 2-.8954 2-2v-14c0-1.10457-.8954-2-2-2zm14 1.5h-14c-.27614 0-.5.22386-.5.5v10.7072l3.62953-2.6465c.25108-.1831.58905-.1924.84981-.0234l2.92666 1.8969 3.5712-3.4719c.2911-.2831.7545-.2831 1.0456 0l2.9772 2.8945v-9.3568c0-.27614-.2239-.5-.5-.5zm-14.5 14.5v-1.4364l4.09643-2.987 2.99567 1.9417c.2936.1903.6798.1523.9307-.0917l3.4772-3.3806 3.4772 3.3806.0228-.0234v2.5968c0 .2761-.2239.5-.5.5h-14c-.27614 0-.5-.2239-.5-.5z\"\n })]\n});\nexport default media;\n//# sourceMappingURL=media.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst megaphone = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M6.863 13.644L5 13.25h-.5a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5H5L18 6.5h2V16h-2l-3.854-.815.026.008a3.75 3.75 0 01-7.31-1.549zm1.477.313a2.251 2.251 0 004.356.921l-4.356-.921zm-2.84-3.28L18.157 8h.343v6.5h-.343L5.5 11.823v-1.146z\",\n clipRule: \"evenodd\"\n })\n});\nexport default megaphone;\n//# sourceMappingURL=megaphone.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst menu = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 5v1.5h14V5H5zm0 7.8h14v-1.5H5v1.5zM5 19h14v-1.5H5V19z\"\n })\n});\nexport default menu;\n//# sourceMappingURL=menu.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst mobile = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15 4H9c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h6c.3 0 .5.2.5.5v12zm-4.5-.5h2V16h-2v1.5z\"\n })\n});\nexport default mobile;\n//# sourceMappingURL=mobile.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst moreHorizontal = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 13h2v-2h-2v2zm-6 0h2v-2H5v2zm12-2v2h2v-2h-2z\"\n })\n});\nexport default moreHorizontal;\n//# sourceMappingURL=more-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst moreVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z\"\n })\n});\nexport default moreVertical;\n//# sourceMappingURL=more-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst more = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 9v1.5h16V9H4zm12 5.5h4V13h-4v1.5zm-6 0h4V13h-4v1.5zm-6 0h4V13H4v1.5z\"\n })\n});\nexport default more;\n//# sourceMappingURL=more.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst moveTo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.75 9c0-1.257-.565-2.197-1.39-2.858-.797-.64-1.827-1.017-2.815-1.247-1.802-.42-3.703-.403-4.383-.396L11 4.5V6l.177-.001c.696-.006 2.416-.02 4.028.356.887.207 1.67.518 2.216.957.52.416.829.945.829 1.688 0 .592-.167.966-.407 1.23-.255.281-.656.508-1.236.674-1.19.34-2.82.346-4.607.346h-.077c-1.692 0-3.527 0-4.942.404-.732.209-1.424.545-1.935 1.108-.526.579-.796 1.33-.796 2.238 0 1.257.565 2.197 1.39 2.858.797.64 1.827 1.017 2.815 1.247 1.802.42 3.703.403 4.383.396L13 19.5h.714V22L18 18.5 13.714 15v3H13l-.177.001c-.696.006-2.416.02-4.028-.356-.887-.207-1.67-.518-2.216-.957-.52-.416-.829-.945-.829-1.688 0-.592.167-.966.407-1.23.255-.281.656-.508 1.237-.674 1.189-.34 2.819-.346 4.606-.346h.077c1.692 0 3.527 0 4.941-.404.732-.209 1.425-.545 1.936-1.108.526-.579.796-1.33.796-2.238z\"\n })\n});\nexport default moveTo;\n//# sourceMappingURL=move-to.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst navigation = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5zM9 16l4.5-3L15 8.4l-4.5 3L9 16z\"\n })\n});\nexport default navigation;\n//# sourceMappingURL=navigation.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst next = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.6 6L5.4 7l4.5 5-4.5 5 1.1 1 5.5-6-5.4-6zm6 0l-1.1 1 4.5 5-4.5 5 1.1 1 5.5-6-5.5-6z\"\n })\n});\nexport default next;\n//# sourceMappingURL=next.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst notAllowed = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5A6.5 6.5 0 0 1 6.93 7.931l9.139 9.138A6.473 6.473 0 0 1 12 18.5Zm5.123-2.498a6.5 6.5 0 0 0-9.124-9.124l9.124 9.124ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z\"\n })\n});\nexport default notAllowed;\n//# sourceMappingURL=not-allowed.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst notFound = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5H5c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm.5 12c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V7c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v10zm-11-7.6h-.7l-3.1 4.3h2.8V15h1v-1.3h.7v-.8h-.7V9.4zm-.9 3.5H6.3l1.2-1.7v1.7zm5.6-3.2c-.4-.2-.8-.4-1.2-.4-.5 0-.9.1-1.2.4-.4.2-.6.6-.8 1-.2.4-.3.9-.3 1.5s.1 1.1.3 1.6c.2.4.5.8.8 1 .4.2.8.4 1.2.4.5 0 .9-.1 1.2-.4.4-.2.6-.6.8-1 .2-.4.3-1 .3-1.6 0-.6-.1-1.1-.3-1.5-.1-.5-.4-.8-.8-1zm0 3.6c-.1.3-.3.5-.5.7-.2.1-.4.2-.7.2-.3 0-.5-.1-.7-.2-.2-.1-.4-.4-.5-.7-.1-.3-.2-.7-.2-1.2 0-.7.1-1.2.4-1.5.3-.3.6-.5 1-.5s.7.2 1 .5c.3.3.4.8.4 1.5-.1.5-.1.9-.2 1.2zm5-3.9h-.7l-3.1 4.3h2.8V15h1v-1.3h.7v-.8h-.7V9.4zm-1 3.5H16l1.2-1.7v1.7z\"\n })\n});\nexport default notFound;\n//# sourceMappingURL=not-found.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst offline = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M1.36605 2.81332L2.30144 1.87332L13.5592 13.1867L12.6239 14.1267L7.92702 9.40666C6.74618 9.41999 5.57861 9.87999 4.68302 10.78L3.35623 9.44665C4.19874 8.60665 5.2071 8.03999 6.2818 7.75332L4.7958 6.25999C3.78744 6.67332 2.84542 7.29332 2.02944 8.11332L0.702656 6.77999C1.512 5.97332 2.42085 5.33332 3.3894 4.84665L1.36605 2.81332ZM15.2973 6.77999L13.9705 8.11332C12.3054 6.43999 10.1096 5.61332 7.92039 5.62666L6.20883 3.90665C9.41303 3.34665 12.8229 4.29332 15.2973 6.77999ZM10.1759 7.89332C11.0781 8.21332 11.9273 8.72665 12.6438 9.44665L12.1794 9.90665L10.1759 7.89332ZM6.00981 12.1133L8 14.1133L9.99018 12.1133C8.89558 11.0067 7.11105 11.0067 6.00981 12.1133Z\"\n })\n});\nexport default offline;\n//# sourceMappingURL=offline.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst overlayText = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12-9.8c.4 0 .8-.3.9-.7l1.1-3h3.6l.5 1.7h1.9L13 9h-2.2l-3.4 9.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12H20V6c0-1.1-.9-2-2-2zm-6 7l1.4 3.9h-2.7L12 11z\"\n })\n});\nexport default overlayText;\n//# sourceMappingURL=overlay-text.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pageBreak = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 9V6a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v3H8V6a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v3h1.5Zm0 6.5V18a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2v-2.5H8V18a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2.5h1.5ZM4 13h16v-1.5H4V13Z\"\n })\n});\nexport default pageBreak;\n//# sourceMappingURL=page-break.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst page = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M15.5 7.5h-7V9h7V7.5Zm-7 3.5h7v1.5h-7V11Zm7 3.5h-7V16h7v-1.5Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M17 4H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2ZM7 5.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H7a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5Z\"\n })]\n});\nexport default page;\n//# sourceMappingURL=page.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst pages = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M14.5 5.5h-7V7h7V5.5ZM7.5 9h7v1.5h-7V9Zm7 3.5h-7V14h7v-1.5Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M16 2H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2ZM6 3.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V4a.5.5 0 0 1 .5-.5Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M20 8v11c0 .69-.31 1-.999 1H6v1.5h13.001c1.52 0 2.499-.982 2.499-2.5V8H20Z\"\n })]\n});\nexport default pages;\n//# sourceMappingURL=pages.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst paragraph = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m9.99609 14v-.2251l.00391.0001v6.225h1.5v-14.5h2.5v14.5h1.5v-14.5h3v-1.5h-8.50391c-2.76142 0-5 2.23858-5 5 0 2.7614 2.23858 5 5 5z\"\n })\n});\nexport default paragraph;\n//# sourceMappingURL=paragraph.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst payment = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5.5 9.5v-2h13v2h-13zm0 3v4h13v-4h-13zM4 7a1 1 0 011-1h14a1 1 0 011 1v10a1 1 0 01-1 1H5a1 1 0 01-1-1V7z\",\n clipRule: \"evenodd\"\n })\n});\nexport default payment;\n//# sourceMappingURL=payment.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pencil = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m19 7-3-3-8.5 8.5-1 4 4-1L19 7Zm-7 11.5H5V20h7v-1.5Z\"\n })\n});\nexport default pencil;\n//# sourceMappingURL=pencil.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pending = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8 4a4 4 0 0 1-4-4h4V8a4 4 0 0 1 0 8Z\"\n })\n});\nexport default pending;\n//# sourceMappingURL=pending.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst people = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15.5 9.5a1 1 0 100-2 1 1 0 000 2zm0 1.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zm-2.25 6v-2a2.75 2.75 0 00-2.75-2.75h-4A2.75 2.75 0 003.75 15v2h1.5v-2c0-.69.56-1.25 1.25-1.25h4c.69 0 1.25.56 1.25 1.25v2h1.5zm7-2v2h-1.5v-2c0-.69-.56-1.25-1.25-1.25H15v-1.5h2.5A2.75 2.75 0 0120.25 15zM9.5 8.5a1 1 0 11-2 0 1 1 0 012 0zm1.5 0a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0z\",\n fillRule: \"evenodd\"\n })\n});\nexport default people;\n//# sourceMappingURL=people.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst percent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M6.5 8a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zM8 5a3 3 0 100 6 3 3 0 000-6zm6.5 11a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zm1.5-3a3 3 0 100 6 3 3 0 000-6zM5.47 17.41a.75.75 0 001.06 1.06L18.47 6.53a.75.75 0 10-1.06-1.06L5.47 17.41z\",\n clipRule: \"evenodd\"\n })\n});\nexport default percent;\n//# sourceMappingURL=percent.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pinSmall = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.97 10.159a3.382 3.382 0 0 0-2.857.955l1.724 1.723-2.836 2.913L7 17h1.25l2.913-2.837 1.723 1.723a3.38 3.38 0 0 0 .606-.825c.33-.63.446-1.343.35-2.032L17 10.695 13.305 7l-2.334 3.159Z\"\n })\n});\nexport default pinSmall;\n//# sourceMappingURL=pin-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pin = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m21.5 9.1-6.6-6.6-4.2 5.6c-1.2-.1-2.4.1-3.6.7-.1 0-.1.1-.2.1-.5.3-.9.6-1.2.9l3.7 3.7-5.7 5.7v1.1h1.1l5.7-5.7 3.7 3.7c.4-.4.7-.8.9-1.2.1-.1.1-.2.2-.3.6-1.1.8-2.4.6-3.6l5.6-4.1zm-7.3 3.5.1.9c.1.9 0 1.8-.4 2.6l-6-6c.8-.4 1.7-.5 2.6-.4l.9.1L15 4.9 19.1 9l-4.9 3.6z\"\n })\n});\nexport default pin;\n//# sourceMappingURL=pin.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plugins = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.5 4v4h3V4H15v4h1.5a1 1 0 011 1v4l-3 4v2a1 1 0 01-1 1h-3a1 1 0 01-1-1v-2l-3-4V9a1 1 0 011-1H9V4h1.5zm.5 12.5v2h2v-2l3-4v-3H8v3l3 4z\"\n })\n});\nexport default plugins;\n//# sourceMappingURL=plugins.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plusCircleFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm3.8 8.8h-3v3h-1.5v-3h-3v-1.5h3v-3h1.5v3h3v1.5Z\"\n })\n});\nexport default plusCircleFilled;\n//# sourceMappingURL=plus-circle-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plusCircle = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.404 16.596a6.5 6.5 0 1 0 9.192-9.192 6.5 6.5 0 0 0-9.192 9.192ZM6.344 6.343a8 8 0 1 0 11.313 11.314A8 8 0 0 0 6.343 6.343Zm4.906 9.407v-3h-3v-1.5h3v-3h1.5v3h3v1.5h-3v3h-1.5Z\"\n })\n});\nexport default plusCircle;\n//# sourceMappingURL=plus-circle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plus = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z\"\n })\n});\nexport default plus;\n//# sourceMappingURL=plus.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst positionCenter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM7 9h10v6H7V9Z\"\n })\n});\nexport default positionCenter;\n//# sourceMappingURL=position-center.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst positionLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 5.5h8V4H5v1.5ZM5 20h8v-1.5H5V20ZM19 9H5v6h14V9Z\"\n })\n});\nexport default positionLeft;\n//# sourceMappingURL=position-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst positionRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5.5h-8V4h8v1.5ZM19 20h-8v-1.5h8V20ZM5 9h14v6H5V9Z\"\n })\n});\nexport default positionRight;\n//# sourceMappingURL=position-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postAuthor = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 4.5a1 1 0 11-2 0 1 1 0 012 0zm1.5 0a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm2.25 7.5v-1A2.75 2.75 0 0011 8.25H7A2.75 2.75 0 004.25 11v1h1.5v-1c0-.69.56-1.25 1.25-1.25h4c.69 0 1.25.56 1.25 1.25v1h1.5zM4 20h9v-1.5H4V20zm16-4H4v-1.5h16V16z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default postAuthor;\n//# sourceMappingURL=post-author.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postCategories = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 4H4v1.5h16V4zm-2 9h-3c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zm.5 5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-3c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3zM4 9.5h9V8H4v1.5zM9 13H6c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zm.5 5c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-3c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default postCategories;\n//# sourceMappingURL=post-categories.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postCommentsCount = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 8H4v1.5h9V8zM4 4v1.5h16V4H4zm9 8H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1V13c0-.6-.4-1-1-1zm-2.2 6.6H7l1.6-2.2c.3-.4.5-.7.6-.9.1-.2.2-.4.2-.5 0-.2-.1-.3-.1-.4-.1-.1-.2-.1-.4-.1s-.4 0-.6.1c-.3.1-.5.3-.7.4l-.2.2-.2-1.2.1-.1c.3-.2.5-.3.8-.4.3-.1.6-.1.9-.1.3 0 .6.1.9.2.2.1.4.3.6.5.1.2.2.5.2.7 0 .3-.1.6-.2.9-.1.3-.4.7-.7 1.1l-.5.6h1.6v1.2z\"\n })\n});\nexport default postCommentsCount;\n//# sourceMappingURL=post-comments-count.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postCommentsForm = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 8H4v1.5h9V8zM4 4v1.5h16V4H4zm9 8H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1V13c0-.6-.4-1-1-1zm-.5 6.6H6.7l-1.2 1.2v-6.3h7v5.1z\"\n })\n});\nexport default postCommentsForm;\n//# sourceMappingURL=post-comments-form.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postComments = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 10.1V4c0-.6-.4-1-1-1H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1zm-1.5-.5H6.7l-1.2 1.2V4.5h7v5.1zM19 12h-8c-.6 0-1 .4-1 1v6.1c0 .6.4 1 1 1h5.7l1.8 1.8c.1.2.4.3.6.3.1 0 .2 0 .3-.1.4-.1.6-.5.6-.8V13c0-.6-.4-1-1-1zm-.5 7.8l-1.2-1.2h-5.8v-5.1h7v6.3z\"\n })\n});\nexport default postComments;\n//# sourceMappingURL=post-comments.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postContent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 6h12V4.5H4V6Zm16 4.5H4V9h16v1.5ZM4 15h16v-1.5H4V15Zm0 4.5h16V18H4v1.5Z\"\n })\n});\nexport default postContent;\n//# sourceMappingURL=post-content.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst postDate = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M11.696 13.972c.356-.546.599-.958.728-1.235a1.79 1.79 0 00.203-.783c0-.264-.077-.47-.23-.618-.148-.153-.354-.23-.618-.23-.295 0-.569.07-.82.212a3.413 3.413 0 00-.738.571l-.147-1.188c.289-.234.59-.41.903-.526.313-.117.66-.175 1.041-.175.375 0 .695.08.959.24.264.153.46.362.59.626.135.265.203.556.203.876 0 .362-.08.734-.24 1.115-.154.381-.427.87-.82 1.466l-.756 1.152H14v1.106h-4l1.696-2.609z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M19.5 7h-15v12a.5.5 0 00.5.5h14a.5.5 0 00.5-.5V7zM3 7V5a2 2 0 012-2h14a2 2 0 012 2v14a2 2 0 01-2 2H5a2 2 0 01-2-2V7z\"\n })]\n});\nexport default postDate;\n//# sourceMappingURL=post-date.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postExcerpt = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.001 3.984V9.47c0 1.518-.98 2.5-2.499 2.5h-.5v-1.5h.5c.69 0 1-.31 1-1V6.984H4v-3h4.001ZM4 20h9v-1.5H4V20Zm16-4H4v-1.5h16V16ZM13.001 3.984V9.47c0 1.518-.98 2.5-2.499 2.5h-.5v-1.5h.5c.69 0 1-.31 1-1V6.984H9v-3h4.001Z\"\n })\n});\nexport default postExcerpt;\n//# sourceMappingURL=post-excerpt.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postFeaturedImage = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-.6 0-1 .4-1 1v7c0 .5.4 1 1 1h14c.5 0 1-.4 1-1V4c0-.6-.4-1-1-1zM5.5 10.5v-.4l1.8-1.3 1.3.8c.3.2.7.2.9-.1L11 8.1l2.4 2.4H5.5zm13 0h-2.9l-4-4c-.3-.3-.8-.3-1.1 0L8.9 8l-1.2-.8c-.3-.2-.6-.2-.9 0l-1.3 1V4.5h13v6zM4 20h9v-1.5H4V20zm0-4h16v-1.5H4V16z\"\n })\n});\nexport default postFeaturedImage;\n//# sourceMappingURL=post-featured-image.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postList = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 5.5H6a.5.5 0 0 0-.5.5v12a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.5-.5ZM6 4h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Zm1 5h1.5v1.5H7V9Zm1.5 4.5H7V15h1.5v-1.5ZM10 9h7v1.5h-7V9Zm7 4.5h-7V15h7v-1.5Z\"\n })\n});\nexport default postList;\n//# sourceMappingURL=post-list.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postTerms = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.1 12.3c.1.1.3.3.5.3.2.1.4.1.6.1.2 0 .4 0 .6-.1.2-.1.4-.2.5-.3l3-3c.3-.3.5-.7.5-1.1 0-.4-.2-.8-.5-1.1L9.7 3.5c-.1-.2-.3-.3-.5-.3H5c-.4 0-.8.4-.8.8v4.2c0 .2.1.4.2.5l3.7 3.6zM5.8 4.8h3.1l3.4 3.4v.1l-3 3 .5.5-.7-.5-3.3-3.4V4.8zM4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4z\"\n })\n});\nexport default postTerms;\n//# sourceMappingURL=post-terms.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst post = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m7.3 9.7 1.4 1.4c.2-.2.3-.3.4-.5 0 0 0-.1.1-.1.3-.5.4-1.1.3-1.6L12 7 9 4 7.2 6.5c-.6-.1-1.1 0-1.6.3 0 0-.1 0-.1.1-.3.1-.4.2-.6.4l1.4 1.4L4 11v1h1l2.3-2.3zM4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4z\"\n })\n});\nexport default post;\n//# sourceMappingURL=post.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst preformatted = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12zM7 16.5h6V15H7v1.5zm4-4h6V11h-6v1.5zM9 11H7v1.5h2V11zm6 5.5h2V15h-2v1.5z\"\n })\n});\nexport default preformatted;\n//# sourceMappingURL=preformatted.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst previous = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.6 7l-1.1-1L5 12l5.5 6 1.1-1L7 12l4.6-5zm6 0l-1.1-1-5.5 6 5.5 6 1.1-1-4.6-5 4.6-5z\"\n })\n});\nexport default previous;\n//# sourceMappingURL=previous.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst published = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm11.53-1.47-1.06-1.06L11 12.94l-1.47-1.47-1.06 1.06L11 15.06l4.53-4.53Z\"\n })\n});\nexport default published;\n//# sourceMappingURL=published.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pullLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 18h6V6H4v12zm9-9.5V10h7V8.5h-7zm0 7h7V14h-7v1.5z\"\n })\n});\nexport default pullLeft;\n//# sourceMappingURL=pull-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pullRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 6v12h6V6h-6zM4 10h7V8.5H4V10zm0 5.5h7V14H4v1.5z\"\n })\n});\nexport default pullRight;\n//# sourceMappingURL=pull-right.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pullquote = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 8H6c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-4c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v4zM4 4v1.5h16V4H4zm0 16h16v-1.5H4V20z\"\n })\n});\nexport default pullquote;\n//# sourceMappingURL=pullquote.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPaginationNext = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 13.5h3v-3H5v3zm5 0h3v-3h-3v3zM17 9l-1 1 2 2-2 2 1 1 3-3-3-3z\"\n })\n});\nexport default queryPaginationNext;\n//# sourceMappingURL=query-pagination-next.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPaginationNumbers = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 13.5h6v-3H4v3zm8.2-2.5.8-.3V14h1V9.3l-2.2.7.4 1zm7.1-1.2c-.5-.6-1.2-.5-1.7-.4-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5h2.7v-1h-.9c.3-.6.8-1.4.9-2.1 0-.3-.1-.8-.3-1.1z\"\n })\n});\nexport default queryPaginationNumbers;\n//# sourceMappingURL=query-pagination-numbers.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPaginationPrevious = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 10.5v3h3v-3h-3zm-5 3h3v-3h-3v3zM7 9l-3 3 3 3 1-1-2-2 2-2-1-1z\"\n })\n});\nexport default queryPaginationPrevious;\n//# sourceMappingURL=query-pagination-previous.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPagination = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 13.5h6v-3H4v3zm8 0h3v-3h-3v3zm5-3v3h3v-3h-3z\"\n })\n});\nexport default queryPagination;\n//# sourceMappingURL=query-pagination.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst quote = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 6v6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H13zm-9 6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H4v6z\"\n })\n});\nexport default quote;\n//# sourceMappingURL=quote.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst receipt = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M16.83 6.342l.602.3.625-.25.443-.176v12.569l-.443-.178-.625-.25-.603.301-1.444.723-2.41-.804-.475-.158-.474.158-2.41.803-1.445-.722-.603-.3-.625.25-.443.177V6.215l.443.178.625.25.603-.301 1.444-.722 2.41.803.475.158.474-.158 2.41-.803 1.445.722zM20 4l-1.5.6-1 .4-2-1-3 1-3-1-2 1-1-.4L5 4v17l1.5-.6 1-.4 2 1 3-1 3 1 2-1 1 .4 1.5.6V4zm-3.5 6.25v-1.5h-8v1.5h8zm0 3v-1.5h-8v1.5h8zm-8 3v-1.5h8v1.5h-8z\",\n clipRule: \"evenodd\"\n })\n});\nexport default receipt;\n//# sourceMappingURL=receipt.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst redo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15.6 6.5l-1.1 1 2.9 3.3H8c-.9 0-1.7.3-2.3.9-1.4 1.5-1.4 4.2-1.4 5.6v.2h1.5v-.3c0-1.1 0-3.5 1-4.5.3-.3.7-.5 1.3-.5h9.2L14.5 15l1.1 1.1 4.6-4.6-4.6-5z\"\n })\n});\nexport default redo;\n//# sourceMappingURL=redo.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst removeBug = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.45474 21.2069L16.4547 3.7069L15.5453 3.29114L14.2837 6.05081C13.5991 5.69873 12.8228 5.49999 12 5.49999C10.9385 5.49999 9.95431 5.83076 9.1448 6.39485L7.18994 4.44L6.12928 5.50066L8.05556 7.42694C7.49044 8.15127 7.12047 9.0353 7.02469 9.99999H5V11.5H7V13H5V14.5H7.10002C7.35089 15.7359 8.0576 16.8062 9.03703 17.5279L7.54526 20.7911L8.45474 21.2069ZM9.68024 16.1209C8.95633 15.4796 8.5 14.5431 8.5 13.5V10.5C8.5 8.567 10.067 6.99999 12 6.99999C12.6003 6.99999 13.1653 7.15111 13.659 7.41738L9.68024 16.1209ZM15.3555 9.50155L16.1645 7.73191C16.6053 8.39383 16.8926 9.16683 16.9753 9.99999H19V11.5H17V13H19V14.5H16.9C16.4367 16.7822 14.419 18.5 12 18.5C11.7508 18.5 11.5058 18.4818 11.2664 18.4466L11.928 16.9993C11.9519 16.9998 11.9759 17 12 17C13.933 17 15.5 15.433 15.5 13.5V10.5C15.5 10.1531 15.4495 9.81794 15.3555 9.50155Z\"\n })\n});\nexport default removeBug;\n//# sourceMappingURL=remove-bug.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst removeSubmenu = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"m13.955 20.748 8-17.5-.91-.416L19.597 6H13.5v1.5h5.411l-1.6 3.5H13.5v1.5h3.126l-1.6 3.5H13.5l.028 1.5h.812l-1.295 2.832.91.416ZM17.675 16l-.686 1.5h4.539L21.5 16h-3.825Zm2.286-5-.686 1.5H21.5V11h-1.54ZM2 12c0 3.58 2.42 5.5 6 5.5h.5V19l3-2.5-3-2.5v2H8c-2.48 0-4.5-1.52-4.5-4S5.52 7.5 8 7.5h3.5V6H8c-3.58 0-6 2.42-6 6Z\"\n })\n});\nexport default removeSubmenu;\n//# sourceMappingURL=remove-submenu.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst replace = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 10h4c.6 0 1-.4 1-1V5c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1zm-8 4H4c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1zm10-2.6L14.5 15l1.1 1.1 1.7-1.7c-.1 1.1-.3 2.3-.9 2.9-.3.3-.7.5-1.3.5h-4.5v1.5H15c.9 0 1.7-.3 2.3-.9 1-1 1.3-2.7 1.4-4l1.8 1.8 1.1-1.1-3.6-3.7zM6.8 9.7c.1-1.1.3-2.3.9-2.9.4-.4.8-.6 1.3-.6h4.5V4.8H9c-.9 0-1.7.3-2.3.9-1 1-1.3 2.7-1.4 4L3.5 8l-1 1L6 12.6 9.5 9l-1-1-1.7 1.7z\"\n })\n});\nexport default replace;\n//# sourceMappingURL=replace.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst reset = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 11.5h10V13H7z\"\n })\n});\nexport default reset;\n//# sourceMappingURL=reset.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst resizeCornerNE = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 18h4.5v1.5h-7v-7H6V17L17 6h-4.5V4.5h7v7H18V7L7 18Z\"\n })\n});\nexport default resizeCornerNE;\n//# sourceMappingURL=resize-corner-n-e.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst reusableBlock = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 7.2h8.2L13.5 9l1.1 1.1 3.6-3.6-3.5-4-1.1 1 1.9 2.3H7c-.9 0-1.7.3-2.3.9-1.4 1.5-1.4 4.2-1.4 5.6v.2h1.5v-.3c0-1.1 0-3.5 1-4.5.3-.3.7-.5 1.2-.5zm13.8 4V11h-1.5v.3c0 1.1 0 3.5-1 4.5-.3.3-.7.5-1.3.5H8.8l1.7-1.7-1.1-1.1L5.9 17l3.5 4 1.1-1-1.9-2.3H17c.9 0 1.7-.3 2.3-.9 1.5-1.4 1.5-4.2 1.5-5.6z\"\n })\n});\nexport default reusableBlock;\n//# sourceMappingURL=reusable-block.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst rotateLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4V2.2L9 4.8l3 2.5V5.5c3.6 0 6.5 2.9 6.5 6.5 0 2.9-1.9 5.3-4.5 6.2v.2l-.1-.2c-.4.1-.7.2-1.1.2l.2 1.5c.3 0 .6-.1 1-.2 3.5-.9 6-4 6-7.7 0-4.4-3.6-8-8-8zm-7.9 7l1.5.2c.1-1.2.5-2.3 1.2-3.2l-1.1-.9C4.8 8.2 4.3 9.6 4.1 11zm1.5 1.8l-1.5.2c.1.7.3 1.4.5 2 .3.7.6 1.3 1 1.8l1.2-.8c-.3-.5-.6-1-.8-1.5s-.4-1.1-.4-1.7zm1.5 5.5c1.1.9 2.4 1.4 3.8 1.6l.2-1.5c-1.1-.1-2.2-.5-3.1-1.2l-.9 1.1z\"\n })\n});\nexport default rotateLeft;\n//# sourceMappingURL=rotate-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst rotateRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15.1 4.8l-3-2.5V4c-4.4 0-8 3.6-8 8 0 3.7 2.5 6.9 6 7.7.3.1.6.1 1 .2l.2-1.5c-.4 0-.7-.1-1.1-.2l-.1.2v-.2c-2.6-.8-4.5-3.3-4.5-6.2 0-3.6 2.9-6.5 6.5-6.5v1.8l3-2.5zM20 11c-.2-1.4-.7-2.7-1.6-3.8l-1.2.8c.7.9 1.1 2 1.3 3.1L20 11zm-1.5 1.8c-.1.5-.2 1.1-.4 1.6s-.5 1-.8 1.5l1.2.9c.4-.5.8-1.1 1-1.8s.5-1.3.5-2l-1.5-.2zm-5.6 5.6l.2 1.5c1.4-.2 2.7-.7 3.8-1.6l-.9-1.1c-.9.7-2 1.1-3.1 1.2z\"\n })\n});\nexport default rotateRight;\n//# sourceMappingURL=rotate-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst row = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 6.5h5a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H4V16h5a.5.5 0 0 0 .5-.5v-7A.5.5 0 0 0 9 8H4V6.5Zm16 0h-5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h5V16h-5a.5.5 0 0 1-.5-.5v-7A.5.5 0 0 1 15 8h5V6.5Z\"\n })\n});\nexport default row;\n//# sourceMappingURL=row.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst rss = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 10.2h-.8v1.5H5c1.9 0 3.8.8 5.1 2.1 1.4 1.4 2.1 3.2 2.1 5.1v.8h1.5V19c0-2.3-.9-4.5-2.6-6.2-1.6-1.6-3.8-2.6-6.1-2.6zm10.4-1.6C12.6 5.8 8.9 4.2 5 4.2h-.8v1.5H5c3.5 0 6.9 1.4 9.4 3.9s3.9 5.8 3.9 9.4v.8h1.5V19c0-3.9-1.6-7.6-4.4-10.4zM4 20h3v-3H4v3z\"\n })\n});\nexport default rss;\n//# sourceMappingURL=rss.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst scheduled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm9 1V8h-1.5v3.5h-2V13H13Z\"\n })\n});\nexport default scheduled;\n//# sourceMappingURL=scheduled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst search = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z\"\n })\n});\nexport default search;\n//# sourceMappingURL=search.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst seen = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3.99961 13C4.67043 13.3354 4.6703 13.3357 4.67017 13.3359L4.67298 13.3305C4.67621 13.3242 4.68184 13.3135 4.68988 13.2985C4.70595 13.2686 4.7316 13.2218 4.76695 13.1608C4.8377 13.0385 4.94692 12.8592 5.09541 12.6419C5.39312 12.2062 5.84436 11.624 6.45435 11.0431C7.67308 9.88241 9.49719 8.75 11.9996 8.75C14.502 8.75 16.3261 9.88241 17.5449 11.0431C18.1549 11.624 18.6061 12.2062 18.9038 12.6419C19.0523 12.8592 19.1615 13.0385 19.2323 13.1608C19.2676 13.2218 19.2933 13.2686 19.3093 13.2985C19.3174 13.3135 19.323 13.3242 19.3262 13.3305L19.3291 13.3359C19.3289 13.3357 19.3288 13.3354 19.9996 13C20.6704 12.6646 20.6703 12.6643 20.6701 12.664L20.6697 12.6632L20.6688 12.6614L20.6662 12.6563L20.6583 12.6408C20.6517 12.6282 20.6427 12.6108 20.631 12.5892C20.6078 12.5459 20.5744 12.4852 20.5306 12.4096C20.4432 12.2584 20.3141 12.0471 20.1423 11.7956C19.7994 11.2938 19.2819 10.626 18.5794 9.9569C17.1731 8.61759 14.9972 7.25 11.9996 7.25C9.00203 7.25 6.82614 8.61759 5.41987 9.9569C4.71736 10.626 4.19984 11.2938 3.85694 11.7956C3.68511 12.0471 3.55605 12.2584 3.4686 12.4096C3.42484 12.4852 3.39142 12.5459 3.36818 12.5892C3.35656 12.6108 3.34748 12.6282 3.34092 12.6408L3.33297 12.6563L3.33041 12.6614L3.32948 12.6632L3.32911 12.664C3.32894 12.6643 3.32879 12.6646 3.99961 13ZM11.9996 16C13.9326 16 15.4996 14.433 15.4996 12.5C15.4996 10.567 13.9326 9 11.9996 9C10.0666 9 8.49961 10.567 8.49961 12.5C8.49961 14.433 10.0666 16 11.9996 16Z\"\n })\n});\nexport default seen;\n//# sourceMappingURL=seen.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst send = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.332 5.748c-1.03-.426-2.06.607-1.632 1.636l1.702 3.93 7.481.575c.123.01.123.19 0 .2l-7.483.575-1.7 3.909c-.429 1.029.602 2.062 1.632 1.636l12.265-5.076c1.03-.426 1.03-1.884 0-2.31L6.332 5.748Z\"\n })\n});\nexport default send;\n//# sourceMappingURL=send.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst separator = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.5 12.5v4H3V7h1.5v3.987h15V7H21v9.5h-1.5v-4h-15Z\"\n })\n});\nexport default separator;\n//# sourceMappingURL=separator.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst settings = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m19 7.5h-7.628c-.3089-.87389-1.1423-1.5-2.122-1.5-.97966 0-1.81309.62611-2.12197 1.5h-2.12803v1.5h2.12803c.30888.87389 1.14231 1.5 2.12197 1.5.9797 0 1.8131-.62611 2.122-1.5h7.628z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m19 15h-2.128c-.3089-.8739-1.1423-1.5-2.122-1.5s-1.8131.6261-2.122 1.5h-7.628v1.5h7.628c.3089.8739 1.1423 1.5 2.122 1.5s1.8131-.6261 2.122-1.5h2.128z\"\n })]\n});\nexport default settings;\n//# sourceMappingURL=settings.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shadow = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 8c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm0 6.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zM12.8 3h-1.5v3h1.5V3zm-1.6 18h1.5v-3h-1.5v3zm6.8-9.8v1.5h3v-1.5h-3zm-12 0H3v1.5h3v-1.5zm9.7 5.6 2.1 2.1 1.1-1.1-2.1-2.1-1.1 1.1zM8.3 7.2 6.2 5.1 5.1 6.2l2.1 2.1 1.1-1.1zM5.1 17.8l1.1 1.1 2.1-2.1-1.1-1.1-2.1 2.1zM18.9 6.2l-1.1-1.1-2.1 2.1 1.1 1.1 2.1-2.1z\"\n })\n});\nexport default shadow;\n//# sourceMappingURL=shadow.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst share = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11.8l6.1-4.5c.1.4.4.7.9.7h2c.6 0 1-.4 1-1V5c0-.6-.4-1-1-1h-2c-.6 0-1 .4-1 1v.4l-6.4 4.8c-.2-.1-.4-.2-.6-.2H6c-.6 0-1 .4-1 1v2c0 .6.4 1 1 1h2c.2 0 .4-.1.6-.2l6.4 4.8v.4c0 .6.4 1 1 1h2c.6 0 1-.4 1-1v-2c0-.6-.4-1-1-1h-2c-.5 0-.8.3-.9.7L9 12.2v-.4z\"\n })\n});\nexport default share;\n//# sourceMappingURL=share.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shield = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 3.176l6.75 3.068v4.574c0 3.9-2.504 7.59-6.035 8.755a2.283 2.283 0 01-1.43 0c-3.53-1.164-6.035-4.856-6.035-8.755V6.244L12 3.176zM6.75 7.21v3.608c0 3.313 2.145 6.388 5.005 7.33.159.053.331.053.49 0 2.86-.942 5.005-4.017 5.005-7.33V7.21L12 4.824 6.75 7.21z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default shield;\n//# sourceMappingURL=shield.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shipping = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 6.75C3 5.784 3.784 5 4.75 5H15V7.313l.05.027 5.056 2.73.394.212v3.468a1.75 1.75 0 01-1.75 1.75h-.012a2.5 2.5 0 11-4.975 0H9.737a2.5 2.5 0 11-4.975 0H3V6.75zM13.5 14V6.5H4.75a.25.25 0 00-.25.25V14h.965a2.493 2.493 0 011.785-.75c.7 0 1.332.287 1.785.75H13.5zm4.535 0h.715a.25.25 0 00.25-.25v-2.573l-4-2.16v4.568a2.487 2.487 0 011.25-.335c.7 0 1.332.287 1.785.75zM6.282 15.5a1.002 1.002 0 00.968 1.25 1 1 0 10-.968-1.25zm9 0a1 1 0 101.937.498 1 1 0 00-1.938-.498z\"\n })\n});\nexport default shipping;\n//# sourceMappingURL=shipping.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shortcode = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 4.2v1.5h2.5v12.5H16v1.5h4V4.2h-4zM4.2 19.8h4v-1.5H5.8V5.8h2.5V4.2h-4l-.1 15.6zm5.1-3.1l1.4.6 4-10-1.4-.6-4 10z\"\n })\n});\nexport default shortcode;\n//# sourceMappingURL=shortcode.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shuffle = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/SVG\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.192 6.75L15.47 5.03l1.06-1.06 3.537 3.53-3.537 3.53-1.06-1.06 1.723-1.72h-3.19c-.602 0-.993.202-1.28.498-.309.319-.538.792-.695 1.383-.13.488-.222 1.023-.296 1.508-.034.664-.116 1.413-.303 2.117-.193.721-.513 1.467-1.068 2.04-.575.594-1.359.954-2.357.954H4v-1.5h4.003c.601 0 .993-.202 1.28-.498.308-.319.538-.792.695-1.383.149-.557.216-1.093.288-1.662l.039-.31a9.653 9.653 0 0 1 .272-1.653c.193-.722.513-1.467 1.067-2.04.576-.594 1.36-.954 2.358-.954h3.19zM8.004 6.75c.8 0 1.46.23 1.988.628a6.24 6.24 0 0 0-.684 1.396 1.725 1.725 0 0 0-.024-.026c-.287-.296-.679-.498-1.28-.498H4v-1.5h4.003zM12.699 14.726c-.161.459-.38.94-.684 1.396.527.397 1.188.628 1.988.628h3.19l-1.722 1.72 1.06 1.06L20.067 16l-3.537-3.53-1.06 1.06 1.723 1.72h-3.19c-.602 0-.993-.202-1.28-.498a1.96 1.96 0 0 1-.024-.026z\"\n })\n});\nexport default shuffle;\n//# sourceMappingURL=shuffle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst sidebar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default sidebar;\n//# sourceMappingURL=sidebar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst sidesAll = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\"\n })\n});\nexport default sidesAll;\n//# sourceMappingURL=sides-all.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst sidesAxial = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.2 5.3h8V3.8h-8v1.5zm0 14.5h8v-1.5h-8v1.5zm3.5-6.5h1v-1h-1v1zm1-6.5h-1v.5h1v-.5zm-1 4.5h1v-1h-1v1zm0-2h1v-1h-1v1zm0 7.5h1v-.5h-1v.5zm1-2.5h-1v1h1v-1zm-8.5 1.5h1.5v-8H4.2v8zm14.5-8v8h1.5v-8h-1.5zm-5 4.5v-1h-1v1h1zm-6.5 0h.5v-1h-.5v1zm3.5-1v1h1v-1h-1zm6 1h.5v-1h-.5v1zm-8-1v1h1v-1h-1zm6 0v1h1v-1h-1z\"\n })\n});\nexport default sidesAxial;\n//# sourceMappingURL=sides-axial.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesBottom = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m16.5 19.5h-9v-1.5h9z\"\n })]\n});\nexport default sidesBottom;\n//# sourceMappingURL=sides-bottom.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesHorizontal = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4.5 7.5v9h1.5v-9z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18 7.5v9h1.5v-9z\"\n })]\n});\nexport default sidesHorizontal;\n//# sourceMappingURL=sides-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesLeft = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4.5 16.5v-9h1.5v9z\"\n })]\n});\nexport default sidesLeft;\n//# sourceMappingURL=sides-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesRight = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18 16.5v-9h1.5v9z\"\n })]\n});\nexport default sidesRight;\n//# sourceMappingURL=sides-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesTop = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m16.5 6h-9v-1.5h9z\"\n })]\n});\nexport default sidesTop;\n//# sourceMappingURL=sides-top.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesVertical = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 19.5h9v-1.5h-9z\"\n })]\n});\nexport default sidesVertical;\n//# sourceMappingURL=sides-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst siteLogo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 1.5c3.4 0 6.2 2.7 6.5 6l-1.2-.6-.8-.4c-.1 0-.2 0-.3-.1H16c-.1-.2-.4-.2-.7 0l-2.9 2.1L9 11.3h-.7L5.5 13v-1.1c0-3.6 2.9-6.5 6.5-6.5Zm0 13c-2.7 0-5-1.7-6-4l2.8-1.7 3.5 1.2h.4s.2 0 .4-.2l2.9-2.1.4.2c.6.3 1.4.7 2.1 1.1-.5 3.1-3.2 5.4-6.4 5.4Z\"\n })\n});\nexport default siteLogo;\n//# sourceMappingURL=site-logo.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst square = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fill: \"none\",\n d: \"M5.75 12.75V18.25H11.25M12.75 5.75H18.25V11.25\",\n stroke: \"currentColor\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"square\"\n })\n});\nexport default square;\n//# sourceMappingURL=square.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stack = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 4v5a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2V4H8v5a.5.5 0 0 0 .5.5h7A.5.5 0 0 0 16 9V4h1.5Zm0 16v-5a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v5H8v-5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v5h1.5Z\"\n })\n});\nexport default stack;\n//# sourceMappingURL=stack.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst starEmpty = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M9.706 8.646a.25.25 0 01-.188.137l-4.626.672a.25.25 0 00-.139.427l3.348 3.262a.25.25 0 01.072.222l-.79 4.607a.25.25 0 00.362.264l4.138-2.176a.25.25 0 01.233 0l4.137 2.175a.25.25 0 00.363-.263l-.79-4.607a.25.25 0 01.072-.222l3.347-3.262a.25.25 0 00-.139-.427l-4.626-.672a.25.25 0 01-.188-.137l-2.069-4.192a.25.25 0 00-.448 0L9.706 8.646zM12 7.39l-.948 1.921a1.75 1.75 0 01-1.317.957l-2.12.308 1.534 1.495c.412.402.6.982.503 1.55l-.362 2.11 1.896-.997a1.75 1.75 0 011.629 0l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39z\",\n clipRule: \"evenodd\"\n })\n});\nexport default starEmpty;\n//# sourceMappingURL=star-empty.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst starFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z\"\n })\n});\nexport default starFilled;\n//# sourceMappingURL=star-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst starHalf = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9.518 8.783a.25.25 0 00.188-.137l2.069-4.192a.25.25 0 01.448 0l2.07 4.192a.25.25 0 00.187.137l4.626.672a.25.25 0 01.139.427l-3.347 3.262a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.363.264l-4.137-2.176a.25.25 0 00-.233 0l-4.138 2.175a.25.25 0 01-.362-.263l.79-4.607a.25.25 0 00-.072-.222L4.753 9.882a.25.25 0 01.14-.427l4.625-.672zM12 14.533c.28 0 .559.067.814.2l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39v7.143z\"\n })\n});\nexport default starHalf;\n//# sourceMappingURL=star-half.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst store = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M19.75 11H21V8.667L19.875 4H4.125L3 8.667V11h1.25v8.75h15.5V11zm-1.5 0H5.75v7.25H10V13h4v5.25h4.25V11zm-5.5-5.5h2.067l.486 3.24.028.76H12.75v-4zm-3.567 0h2.067v4H8.669l.028-.76.486-3.24zm7.615 3.1l-.464-3.1h2.36l.806 3.345V9.5h-2.668l-.034-.9zM7.666 5.5h-2.36L4.5 8.845V9.5h2.668l.034-.9.464-3.1z\",\n clipRule: \"evenodd\"\n })\n});\nexport default store;\n//# sourceMappingURL=store.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stretchFullWidth = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 4h14v11H5V4Zm11 16H8v-1.5h8V20Z\"\n })\n});\nexport default stretchFullWidth;\n//# sourceMappingURL=stretch-full-width.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stretchWide = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 5.5H8V4h8v1.5ZM16 20H8v-1.5h8V20ZM5 9h14v6H5V9Z\"\n })\n});\nexport default stretchWide;\n//# sourceMappingURL=stretch-wide.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const styles = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20 12a8 8 0 1 1-16 0 8 8 0 0 1 16 0Zm-1.5 0a6.5 6.5 0 0 1-6.5 6.5v-13a6.5 6.5 0 0 1 6.5 6.5Z\"\n })\n});\nexport default styles;\n//# sourceMappingURL=styles.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst subscript = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.9 18.3l.8-1.2c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.1-.3-.4-.5-.6-.7-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.2 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3L15 19.4h4.3v-1.2h-2.4zM14.1 7.2h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z\"\n })\n});\nexport default subscript;\n//# sourceMappingURL=subscript.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst superscript = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.9 10.3l.8-1.3c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.2-.2-.4-.4-.7-.6-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.1 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3l-1.8 2.8h4.3v-1.2h-2.2zm-2.8-3.1h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z\"\n })\n});\nexport default superscript;\n//# sourceMappingURL=superscript.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst swatch = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7.1 5.7 8 6.9c.4-.3.9-.6 1.5-.8l-.6-1.4c-.7.3-1.3.6-1.8 1ZM4.6 8.9l1.4.6c.2-.5.5-1 .8-1.5l-1.2-.9c-.4.6-.8 1.2-1 1.8Zm14.8 0c-.3-.7-.6-1.3-1-1.8l-1.2.9c.3.4.6.9.8 1.5l1.4-.6ZM7.1 18.3c.6.4 1.2.8 1.8 1l.6-1.4c-.5-.2-1-.5-1.5-.8l-.9 1.2ZM5.5 12v-.9h-.7l-.7-.2v2l1.5-.2v-.9Zm-.7 3h-.2c.3.7.6 1.3 1 1.9l1.2-.9c-.3-.4-.6-.9-.8-1.5l-1.2.5Zm9.7 3 .5 1.2v.2c.7-.3 1.3-.6 1.9-1l-.9-1.2c-.4.3-.9.6-1.5.8Zm-2.5.5h-.9l-.2 1.3v.2h2l-.2-1.5h-.9Zm7.9-7.5-1.5.2V13h.7l.7.2v-2ZM18 14.5c-.2.5-.5 1-.8 1.5l1.2.9c.4-.6.8-1.2 1-1.8h-.2l-1.2-.6ZM11 4.1l.2 1.5H13V4.2h-1.9ZM14.5 6c.5.2 1 .5 1.5.8l.9-1.2c-.6-.4-1.2-.8-1.8-1L14.5 6Z\"\n })\n});\nexport default swatch;\n//# sourceMappingURL=swatch.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst symbolFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-17.6 1L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z\"\n })\n});\nexport default symbolFilled;\n//# sourceMappingURL=symbol-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst symbol = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-1 1.4l-5.6 5.6c-.1.1-.3.1-.4 0l-5.6-5.6c-.1-.1-.1-.3 0-.4l5.6-5.6s.1-.1.2-.1.1 0 .2.1l5.6 5.6c.1.1.1.3 0 .4zm-16.6-.4L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z\"\n })\n});\nexport default symbol;\n//# sourceMappingURL=symbol.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableColumnAfter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14.2c.1.9.9 1.7 1.8 1.8H19.2c1-.1 1.8-1 1.8-2V5c0-1.1-.9-2-2-2ZM8.5 19.5H5c-.3 0-.5-.2-.5-.5v-3.5h4v4Zm0-5.5h-4v-4h4v4Zm0-5.5h-4V5c0-.3.2-.5.5-.5h3.5v4Zm11 10.5c0 .3-.2.5-.5.5h-9v-15h9c.3 0 .5.2.5.5v14Zm-4-10.8H14v3h-3v1.5h3v3h1.5v-3h3v-1.5h-3v-3Z\"\n })\n});\nexport default tableColumnAfter;\n//# sourceMappingURL=table-column-after.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableColumnBefore = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1 .8 1.9 1.8 2H19.2c.9-.1 1.7-.9 1.8-1.8V5c0-1.1-.9-2-2-2Zm-5 16.5H5c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h9v15Zm5.5-.5c0 .3-.2.5-.5.5h-3.5v-4h4V19Zm0-5h-4v-4h4v4Zm0-5.5h-4v-4H19c.3 0 .5.2.5.5v3.5Zm-11 7.3H10v-3h3v-1.5h-3v-3H8.5v3h-3v1.5h3v3Z\"\n })\n});\nexport default tableColumnBefore;\n//# sourceMappingURL=table-column-before.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableColumnDelete = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14.2c.1.9.9 1.7 1.8 1.8H19.2c1-.1 1.8-1 1.8-2V5c0-1.1-.9-2-2-2ZM8.5 19.5H5c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h3.5v15Zm11-.5c0 .3-.2.5-.5.5h-9v-15h9c.3 0 .5.2.5.5v14ZM16.9 8.8l-2.1 2.1-2.1-2.1-1.1 1.1 2.1 2.1-2.1 2.1 1.1 1.1 2.1-2.1 2.1 2.1 1.1-1.1-2.1-2.1L18 9.9l-1.1-1.1Z\"\n })\n});\nexport default tableColumnDelete;\n//# sourceMappingURL=table-column-delete.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst tableOfContents = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20 9.484h-8.889v-1.5H20v1.5Zm0 7h-4.889v-1.5H20v1.5Zm-14 .032a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M13 15.516a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM8 8.484a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\"\n })]\n});\nexport default tableOfContents;\n//# sourceMappingURL=table-of-contents.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableRowAfter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H4.8c-.9.1-1.7.9-1.8 1.8V19.2c.1 1 1 1.8 2 1.8h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm-9 1.5h4v4h-4v-4ZM4.5 5c0-.3.2-.5.5-.5h3.5v4h-4V5Zm15 14c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-9h15v9Zm0-10.5h-4v-4H19c.3 0 .5.2.5.5v3.5Zm-8.3 10h1.5v-3h3V14h-3v-3h-1.5v3h-3v1.5h3v3Z\"\n })\n});\nexport default tableRowAfter;\n//# sourceMappingURL=table-row-after.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableRowBefore = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M21 5c0-1.1-.9-2-2-2H5c-1 0-1.9.8-2 1.8V19.2c.1.9.9 1.7 1.8 1.8H19c1.1 0 2-.9 2-2V5ZM4.5 14V5c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v9h-15Zm4 5.5H5c-.3 0-.5-.2-.5-.5v-3.5h4v4Zm5.5 0h-4v-4h4v4Zm5.5-.5c0 .3-.2.5-.5.5h-3.5v-4h4V19ZM11.2 10h-3V8.5h3v-3h1.5v3h3V10h-3v3h-1.5v-3Z\"\n })\n});\nexport default tableRowBefore;\n//# sourceMappingURL=table-row-before.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableRowDelete = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H4.8c-.9.1-1.7.9-1.8 1.8V19.2c.1 1 1 1.8 2 1.8h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-9h15v9Zm0-10.5h-15V5c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v3.5Zm-9.6 9.4 2.1-2.1 2.1 2.1 1.1-1.1-2.1-2.1 2.1-2.1-1.1-1.1-2.1 2.1-2.1-2.1-1.1 1.1 2.1 2.1-2.1 2.1 1.1 1.1Z\"\n })\n});\nexport default tableRowDelete;\n//# sourceMappingURL=table-row-delete.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst table = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm.5 2v6.2h-6.8V4.4h6.2c.3 0 .5.2.5.5ZM5 4.5h6.2v6.8H4.4V5.1c0-.3.2-.5.5-.5ZM4.5 19v-6.2h6.8v6.8H5.1c-.3 0-.5-.2-.5-.5Zm14.5.5h-6.2v-6.8h6.8v6.2c0 .3-.2.5-.5.5Z\"\n })\n});\nexport default table;\n//# sourceMappingURL=table.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tablet = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 4H7c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H7c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v12zm-7.5-.5h4V16h-4v1.5z\"\n })\n});\nexport default tablet;\n//# sourceMappingURL=tablet.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tag = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.75 4a.75.75 0 0 0-.75.75v7.826c0 .2.08.39.22.53l6.72 6.716a2.313 2.313 0 0 0 3.276-.001l5.61-5.611-.531-.53.532.528a2.315 2.315 0 0 0 0-3.264L13.104 4.22a.75.75 0 0 0-.53-.22H4.75ZM19 12.576a.815.815 0 0 1-.236.574l-5.61 5.611a.814.814 0 0 1-1.153 0L5.5 12.264V5.5h6.763l6.5 6.502a.816.816 0 0 1 .237.574ZM8.75 9.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"\n })\n});\nexport default tag;\n//# sourceMappingURL=tag.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tag = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.08 10.103h2.914L9.657 12h1.417L8.23 4H6.846L4 12h1.417l.663-1.897Zm1.463-4.137.994 2.857h-2l1.006-2.857ZM11 16H4v-1.5h7V16Zm1 0h8v-1.5h-8V16Zm-4 4H4v-1.5h4V20Zm7-1.5V20H9v-1.5h6Z\"\n })\n});\nexport default tag;\n//# sourceMappingURL=term-description.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textColor = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.9 6h-2l-4 11h1.9l1.1-3h4.2l1.1 3h1.9L12.9 6zm-2.5 6.5l1.5-4.9 1.7 4.9h-3.2z\"\n })\n});\nexport default textColor;\n//# sourceMappingURL=text-color.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textHorizontal = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.2 14.4h3.9L13 17h1.7L11 6.5H9.3L5.6 17h1.7l.9-2.6zm2-5.5 1.4 4H8.8l1.4-4zm7.4 7.5-1.3.8.8 1.4H5.5V20h14.3l-2.2-3.6z\"\n })\n});\nexport default textHorizontal;\n//# sourceMappingURL=text-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 5.6v1.7l2.6.9v3.9L7 13v1.7L17.5 11V9.3L7 5.6zm4.2 6V8.8l4 1.4-4 1.4zm-5.7 5.6V5.5H4v14.3l3.6-2.2-.8-1.3-1.3.9z\"\n })\n});\nexport default textVertical;\n//# sourceMappingURL=text-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst thumbsDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.8 4h-1.5l1 8h1.5l-1-8ZM17 5.8c-.1-1-1-1.8-2-1.8H6.8c-.9 0-1.7.6-1.9 1.4l-1.8 6C2.7 12.7 3.7 14 5 14h4.4l-.8 3.6c-.3 1.3.7 2.4 1.9 2.4h.2c.6 0 1.2-.3 1.6-.8l5-6.6c.3-.4.5-.9.4-1.5L17 5.7Zm-.9 5.9-5 6.6c0 .1-.2.2-.4.2h-.2c-.3 0-.6-.3-.5-.6l.8-3.6c.1-.4 0-.9-.3-1.3s-.7-.6-1.2-.6H4.9c-.3 0-.6-.3-.5-.6l1.8-6c0-.2.3-.4.5-.4h8.2c.3 0 .5.2.5.4l.7 5.4v.4Z\"\n })\n});\nexport default thumbsDown;\n//# sourceMappingURL=thumbs-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst thumbsUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m3 12 1 8h1.5l-1-8H3Zm15.8-2h-4.4l.8-3.6c.3-1.3-.7-2.4-1.9-2.4h-.2c-.6 0-1.2.3-1.6.8l-5 6.6c-.3.4-.4.8-.4 1.2v.2l.7 5.4v.2c.2.9 1 1.5 1.9 1.5h8.2c.9 0 1.7-.6 1.9-1.4l1.8-6c.4-1.3-.6-2.6-1.9-2.6Zm.5 2.1-1.8 6c0 .2-.3.4-.5.4H8.8c-.3 0-.5-.2-.5-.4l-.7-5.4v-.4l5-6.6c0-.1.2-.2.4-.2h.2c.3 0 .6.3.5.6l-.8 3.6c-.1.4 0 .9.3 1.3s.7.6 1.2.6h4.4c.3 0 .6.3.5.6Z\"\n })\n});\nexport default thumbsUp;\n//# sourceMappingURL=thumbs-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tip = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 15.8c-3.7 0-6.8-3-6.8-6.8s3-6.8 6.8-6.8c3.7 0 6.8 3 6.8 6.8s-3.1 6.8-6.8 6.8zm0-12C9.1 3.8 6.8 6.1 6.8 9s2.4 5.2 5.2 5.2c2.9 0 5.2-2.4 5.2-5.2S14.9 3.8 12 3.8zM8 17.5h8V19H8zM10 20.5h4V22h-4z\"\n })\n});\nexport default tip;\n//# sourceMappingURL=tip.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst title = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m4 5.5h2v6.5h1.5v-6.5h2v-1.5h-5.5zm16 10.5h-16v-1.5h16zm-7 4h-9v-1.5h9z\"\n })\n});\nexport default title;\n//# sourceMappingURL=title.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tool = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.103 7.128l2.26-2.26a4 4 0 00-5.207 4.804L5.828 15a2 2 0 102.828 2.828l5.329-5.328a4 4 0 004.804-5.208l-2.261 2.26-1.912-.512-.513-1.912zm-7.214 9.64a.5.5 0 11.707-.707.5.5 0 01-.707.707z\"\n })\n});\nexport default tool;\n//# sourceMappingURL=tool.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst trash = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 5.5A2.25 2.25 0 0 0 9.878 7h4.244A2.251 2.251 0 0 0 12 5.5ZM12 4a3.751 3.751 0 0 0-3.675 3H5v1.5h1.27l.818 8.997a2.75 2.75 0 0 0 2.739 2.501h4.347a2.75 2.75 0 0 0 2.738-2.5L17.73 8.5H19V7h-3.325A3.751 3.751 0 0 0 12 4Zm4.224 4.5H7.776l.806 8.861a1.25 1.25 0 0 0 1.245 1.137h4.347a1.25 1.25 0 0 0 1.245-1.137l.805-8.861Z\"\n })\n});\nexport default trash;\n//# sourceMappingURL=trash.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst trendingDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.195 8.245a.75.75 0 011.06-.05l5.004 4.55 4.025-3.521L19 13.939V10.75h1.5v5.75h-5.75V15h3.19l-3.724-3.723-3.975 3.478-5.995-5.45a.75.75 0 01-.051-1.06z\"\n })\n});\nexport default trendingDown;\n//# sourceMappingURL=trending-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst trendingUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3.445 16.505a.75.75 0 001.06.05l5.005-4.55 4.024 3.521 4.716-4.715V14h1.5V8.25H14v1.5h3.19l-3.724 3.723L9.49 9.995l-5.995 5.45a.75.75 0 00-.05 1.06z\"\n })\n});\nexport default trendingUp;\n//# sourceMappingURL=trending-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst typography = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m8.6 7 3.9 10.8h-1.7l-1-2.8H5.7l-1 2.8H3L6.9 7h1.7Zm-2.4 6.6h3L7.7 9.3l-1.5 4.3ZM17.691 8.879c.473 0 .88.055 1.221.165.352.1.643.264.875.495.274.253.456.572.544.957.088.374.132.83.132 1.37v4.554c0 .274.033.472.099.593.077.11.198.166.363.166.11 0 .215-.028.313-.083.11-.055.237-.137.38-.247l.165.28a3.304 3.304 0 0 1-.71.446c-.23.11-.527.165-.89.165-.352 0-.639-.055-.858-.165-.22-.11-.386-.27-.495-.479-.1-.209-.149-.468-.149-.775-.286.462-.627.814-1.023 1.056-.396.242-.858.363-1.386.363-.462 0-.858-.088-1.188-.264a1.752 1.752 0 0 1-.742-.726 2.201 2.201 0 0 1-.248-1.056c0-.484.11-.875.33-1.172.22-.308.5-.556.841-.742.352-.187.721-.341 1.106-.462.396-.132.765-.253 1.106-.363.351-.121.637-.259.857-.413.232-.154.347-.357.347-.61V10.81c0-.396-.066-.71-.198-.941a1.05 1.05 0 0 0-.511-.511 1.763 1.763 0 0 0-.76-.149c-.253 0-.522.039-.808.116a1.165 1.165 0 0 0-.677.412 1.1 1.1 0 0 1 .595.396c.165.187.247.424.247.71 0 .307-.104.55-.313.726-.198.176-.451.263-.76.263-.34 0-.594-.104-.758-.313a1.231 1.231 0 0 1-.248-.759c0-.297.072-.539.214-.726.154-.187.352-.363.595-.528.264-.176.6-.324 1.006-.445.418-.121.88-.182 1.386-.182Zm.99 3.729a1.57 1.57 0 0 1-.528.462c-.231.121-.479.248-.742.38a5.377 5.377 0 0 0-.76.462c-.23.165-.423.38-.577.643-.154.264-.231.6-.231 1.007 0 .429.11.77.33 1.023.22.242.517.363.891.363.308 0 .594-.088.858-.264.275-.176.528-.44.759-.792v-3.284Z\"\n })\n});\nexport default typography;\n//# sourceMappingURL=typography.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst undo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.3 11.7c-.6-.6-1.4-.9-2.3-.9H6.7l2.9-3.3-1.1-1-4.5 5L8.5 16l1-1-2.7-2.7H16c.5 0 .9.2 1.3.5 1 1 1 3.4 1 4.5v.3h1.5v-.2c0-1.5 0-4.3-1.5-5.7z\"\n })\n});\nexport default undo;\n//# sourceMappingURL=undo.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ungroup = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4h-7c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 9c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7zm-5 5c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h1V9H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-1h-1.5v1z\"\n })\n});\nexport default ungroup;\n//# sourceMappingURL=ungroup.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst unlock = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8h1.5c0-1.2 1-2.2 2.2-2.2s2.2 1 2.2 2.2v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1z\"\n })\n});\nexport default unlock;\n//# sourceMappingURL=unlock.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst unseen = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.7 12.7s0-.1-.1-.2c0-.2-.2-.4-.4-.6-.3-.5-.9-1.2-1.6-1.8-.7-.6-1.5-1.3-2.6-1.8l-.6 1.4c.9.4 1.6 1 2.1 1.5.6.6 1.1 1.2 1.4 1.6.1.2.3.4.3.5v.1l.7-.3.7-.3Zm-5.2-9.3-1.8 4c-.5-.1-1.1-.2-1.7-.2-3 0-5.2 1.4-6.6 2.7-.7.7-1.2 1.3-1.6 1.8-.2.3-.3.5-.4.6 0 0 0 .1-.1.2s0 0 .7.3l.7.3V13c0-.1.2-.3.3-.5.3-.4.7-1 1.4-1.6 1.2-1.2 3-2.3 5.5-2.3H13v.3c-.4 0-.8-.1-1.1-.1-1.9 0-3.5 1.6-3.5 3.5s.6 2.3 1.6 2.9l-2 4.4.9.4 7.6-16.2-.9-.4Zm-3 12.6c1.7-.2 3-1.7 3-3.5s-.2-1.4-.6-1.9L12.4 16Z\"\n })\n});\nexport default unseen;\n//# sourceMappingURL=unseen.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst update = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m11.3 17.2-5-5c-.1-.1-.1-.3 0-.4l2.3-2.3-1.1-1-2.3 2.3c-.7.7-.7 1.8 0 2.5l5 5H7.5v1.5h5.3v-5.2h-1.5v2.6zm7.5-6.4-5-5h2.7V4.2h-5.2v5.2h1.5V6.8l5 5c.1.1.1.3 0 .4l-2.3 2.3 1.1 1.1 2.3-2.3c.6-.7.6-1.9-.1-2.5z\"\n })\n});\nexport default update;\n//# sourceMappingURL=update.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst upload = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 15v3.5H13V6.7l4.5 4.1 1-1.1-6.2-5.8-5.8 5.8 1 1.1 4-4v11.7h-6V15H4v5h16v-5z\"\n })\n});\nexport default upload;\n//# sourceMappingURL=upload.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst verse = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.8 2l-.9.3c-.1 0-3.6 1-5.2 2.1C10 5.5 9.3 6.5 8.9 7.1c-.6.9-1.7 4.7-1.7 6.3l-.9 2.3c-.2.4 0 .8.4 1 .1 0 .2.1.3.1.3 0 .6-.2.7-.5l.6-1.5c.3 0 .7-.1 1.2-.2.7-.1 1.4-.3 2.2-.5.8-.2 1.6-.5 2.4-.8.7-.3 1.4-.7 1.9-1.2s.8-1.2 1-1.9c.2-.7.3-1.6.4-2.4.1-.8.1-1.7.2-2.5 0-.8.1-1.5.2-2.1V2zm-1.9 5.6c-.1.8-.2 1.5-.3 2.1-.2.6-.4 1-.6 1.3-.3.3-.8.6-1.4.9-.7.3-1.4.5-2.2.8-.6.2-1.3.3-1.8.4L15 7.5c.3-.3.6-.7 1-1.1 0 .4 0 .8-.1 1.2zM6 20h8v-1.5H6V20z\"\n })\n});\nexport default verse;\n//# sourceMappingURL=verse.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst video = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h13.4c.4 0 .8.4.8.8v13.4zM10 15l5-3-5-3v6z\"\n })\n});\nexport default video;\n//# sourceMappingURL=video.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst widget = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 3H8V5H16V3H18V5C19.1046 5 20 5.89543 20 7V19C20 20.1046 19.1046 21 18 21H6C4.89543 21 4 20.1046 4 19V7C4 5.89543 4.89543 5 6 5V3ZM18 6.5H6C5.72386 6.5 5.5 6.72386 5.5 7V8H18.5V7C18.5 6.72386 18.2761 6.5 18 6.5ZM18.5 9.5H5.5V19C5.5 19.2761 5.72386 19.5 6 19.5H18C18.2761 19.5 18.5 19.2761 18.5 19V9.5ZM11 11H13V13H11V11ZM7 11V13H9V11H7ZM15 13V11H17V13H15Z\"\n })\n});\nexport default widget;\n//# sourceMappingURL=widget.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst wordpress = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"-2 -2 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z\"\n })\n});\nexport default wordpress;\n//# sourceMappingURL=wordpress.js.map","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { __ } from '@popup-maker/i18n';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { Button, Flex, Modal } from '@wordpress/components';\n\nimport type { ModalProps } from '@wordpress/components/build-types/modal/types';\n\ntype Props = {\n\tmessage?: string;\n\tcallback?: () => void;\n\tonClose: () => void;\n\tisDestructive?: boolean;\n\tchildren?: React.ReactNode;\n} & Partial< ModalProps >;\n\nconst ConfirmDialogue = ( {\n\tmessage,\n\tcallback,\n\tonClose,\n\tisDestructive = false,\n\tchildren,\n}: Props ) => {\n\tconst confirmButtonRef = useRef< HTMLButtonElement | null >( null );\n\tconst previousFocusRef = useRef< HTMLElement | null >( null );\n\n\tuseEffect( () => {\n\t\t// Store the previously focused element using ownerDocument\n\t\tif ( confirmButtonRef.current?.ownerDocument ) {\n\t\t\tpreviousFocusRef.current = confirmButtonRef.current.ownerDocument\n\t\t\t\t.activeElement as HTMLElement;\n\t\t}\n\n\t\t// Focus the confirm button when the modal opens\n\t\tconfirmButtonRef.current?.focus();\n\n\t\treturn () => {\n\t\t\t// Return focus to the previous element when the modal closes\n\t\t\tif (\n\t\t\t\tpreviousFocusRef.current &&\n\t\t\t\t'focus' in previousFocusRef.current\n\t\t\t) {\n\t\t\t\tpreviousFocusRef.current.focus();\n\t\t\t}\n\t\t};\n\t}, [ callback, onClose ] );\n\n\tif ( ( ( ! message || ! message.length ) && ! children ) || ! callback ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Confirm Action', 'popup-maker' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tfocusOnMount={ false }\n\t\t>\n\t\t\t{ children || <p>{ message }</p> }\n\t\t\t<Flex justify=\"right\">\n\t\t\t\t<Button\n\t\t\t\t\ttext={ __( 'Cancel', 'popup-maker' ) }\n\t\t\t\t\tonClick={ onClose }\n\t\t\t\t/>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\ttext={ __( 'Confirm', 'popup-maker' ) }\n\t\t\t\t\tisDestructive={ isDestructive }\n\t\t\t\t\tref={ confirmButtonRef }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</Flex>\n\t\t</Modal>\n\t);\n};\n\nexport default ConfirmDialogue;\n","import clsx from 'clsx';\n\nimport { withInstanceId } from '@wordpress/compose';\nimport { NavigableMenu } from '@wordpress/components';\n\nimport TabButton from './tab-button';\n\ntype Tab = {\n\tname: string;\n\ttitle: string | JSX.Element;\n\tclassName: string | string[];\n\t[ key: string ]: any;\n};\n\ntype Props = {\n\tinstanceId: string | number;\n\torientation?: 'horizontal' | 'vertical';\n\tactiveClass?: string;\n\ttabsClass?: string;\n\ttabClass?: string;\n\tclassName?: string | string[];\n\ttabs: Tab[];\n\tselected?: string | null;\n\tonSelect: ( tabKey: string ) => void;\n\tchildren?: ( selected: Tab ) => React.ReactNode;\n};\n\nconst TabPanel = ( {\n\tinstanceId,\n\torientation = 'horizontal',\n\tactiveClass = 'is-active',\n\ttabsClass = 'tabs',\n\ttabClass = 'tab',\n\tclassName,\n\ttabs,\n\tselected,\n\tonSelect,\n\tchildren,\n}: Props ) => {\n\tconst selectedTab = tabs.find( ( t ) => selected === t.name ) || tabs[ 0 ];\n\tconst selectedId = `${ instanceId }-${ selectedTab?.name ?? 'none' }`;\n\n\tconst handleClick = ( tabKey: string ) => {\n\t\tonSelect?.( tabKey );\n\t};\n\n\tconst onNavigate = ( _childIndex: number, child: HTMLElement ) => {\n\t\tchild.click();\n\t};\n\n\treturn (\n\t\t<div className={ clsx( className, 'pum-' + orientation + '-tabs' ) }>\n\t\t\t<NavigableMenu\n\t\t\t\trole=\"tablist\"\n\t\t\t\torientation={ orientation }\n\t\t\t\tonNavigate={ onNavigate }\n\t\t\t\tclassName={ clsx( [\n\t\t\t\t\ttabsClass,\n\t\t\t\t\t'components-tab-panel__tabs',\n\t\t\t\t] ) }\n\t\t\t>\n\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t<TabButton\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\ttabClass,\n\t\t\t\t\t\t\t'components-tab-panel__tabs-item',\n\t\t\t\t\t\t\t'components-tab-panel__tab',\n\t\t\t\t\t\t\ttab.className,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ activeClass ]: tab.name === selectedTab.name,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\ttabId={ `${ instanceId }-${ tab.name }` }\n\t\t\t\t\t\taria-controls={ `${ instanceId }-${ tab.name }-view` }\n\t\t\t\t\t\tselected={ tab.name === selectedTab.name }\n\t\t\t\t\t\tkey={ tab.name }\n\t\t\t\t\t\tonClick={ () => handleClick( tab.name ) }\n\t\t\t\t\t\thref={ tab?.href ?? undefined }\n\t\t\t\t\t\ttarget={ tab?.target ?? undefined }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t</TabButton>\n\t\t\t\t) ) }\n\t\t\t</NavigableMenu>\n\t\t\t{ selectedTab && (\n\t\t\t\t<div\n\t\t\t\t\tkey={ selectedId }\n\t\t\t\t\taria-labelledby={ selectedId }\n\t\t\t\t\trole=\"tabpanel\"\n\t\t\t\t\tid={ `${ selectedId }-view` }\n\t\t\t\t\tclassName=\"components-tab-panel__tab-content\"\n\t\t\t\t\ttabIndex={ 0 }\n\t\t\t\t>\n\t\t\t\t\t{ children && children( selectedTab ) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport default withInstanceId( TabPanel );\n","import { Button } from '@wordpress/components';\n\nimport type { ButtonProps } from '@wordpress/components/build-types/button/types';\n\ntype Props = ButtonProps & {\n\ttabId: string;\n\tonClick: () => void;\n\tchildren: React.ReactNode;\n\tselected: boolean;\n\tclassName?: string;\n};\n\nconst TabButton = ( {\n\ttabId,\n\tonClick,\n\tchildren,\n\tselected,\n\t...rest\n}: Props ) => (\n\t<Button\n\t\trole=\"tab\"\n\t\ttabIndex={ selected ? undefined : -1 }\n\t\taria-selected={ selected }\n\t\tid={ tabId }\n\t\tonClick={ onClick }\n\t\t{ ...rest }\n\t>\n\t\t{ children }\n\t</Button>\n);\n\nexport default TabButton;\n","import { useSelect } from '@wordpress/data';\nimport { useMemo, useState } from '@wordpress/element';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __, sprintf } from '@popup-maker/i18n';\nimport { callToActionStore } from '@popup-maker/core-data';\n\nimport SmartTokenControl from '../smart-token-control';\n\nimport type { Props as SmartTokenControlProps } from '../smart-token-control';\n\nexport type Props< T extends number | number[] | string | string[] > = Omit<\n\tSmartTokenControlProps,\n\t'value' | 'onChange' | 'suggestions'\n> & {\n\tid?: string;\n\tvalue?: T;\n\tonChange: ( value: T ) => void;\n\tmultiple?: boolean;\n};\n\nconst CallToActionSelectControl = <\n\tT extends number | number[] = number | number[],\n>( {\n\tid,\n\tlabel,\n\tvalue,\n\tonChange,\n\tplaceholder,\n\tmultiple = false,\n\t...inputProps\n}: Props< T > ) => {\n\tconst [ queryText, setQueryText ] = useState( '' );\n\n\tconst updateQueryText = useDebounce( ( text: string ) => {\n\t\tsetQueryText( text );\n\t}, 300 );\n\n\tconst { suggestions = [], isLoading = false } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tsuggestions: select( callToActionStore ).getCallToActions() || [],\n\t\t\tisLoading:\n\t\t\t\tselect( callToActionStore ).isResolving( 'getCallToActions' ),\n\t\t};\n\t}, [] );\n\n\tconst findSuggestion = ( _id: number | string ) => {\n\t\treturn (\n\t\t\tsuggestions &&\n\t\t\tsuggestions.find(\n\t\t\t\t( suggestion ) => suggestion.id.toString() === _id.toString()\n\t\t\t)\n\t\t);\n\t};\n\n\tconst searchResults = useMemo( () => {\n\t\treturn suggestions.filter( ( suggestion ) =>\n\t\t\tsuggestion.title.rendered\n\t\t\t\t.toLowerCase()\n\t\t\t\t.includes( queryText.toLowerCase() )\n\t\t);\n\t}, [ suggestions, queryText ] );\n\n\tconst values: string[] = ( () => {\n\t\tif ( ! value ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst vals = ! Array.isArray( value ) ? [ value ] : ( value as T[] );\n\n\t\treturn vals.map( ( v ) => v.toString() );\n\t} )();\n\n\tconst getTokenValue = ( token: string | { value: string } ) => {\n\t\tif ( typeof token === 'object' ) {\n\t\t\treturn token.value;\n\t\t}\n\t\treturn token;\n\t};\n\n\treturn (\n\t\t<div className=\"pum-object-search-field\">\n\t\t\t<SmartTokenControl\n\t\t\t\tid={ id }\n\t\t\t\tlabel={\n\t\t\t\t\tlabel\n\t\t\t\t\t\t? label\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: entity type.\n\t\t\t\t\t\t\t\t__( '%s(s)', 'popup-maker' ),\n\t\t\t\t\t\t\t\t'Call to Action'\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder\n\t\t\t\t\t\t? placeholder\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: entity type.\n\t\t\t\t\t\t\t\t__( 'Select %s(s)', 'popup-maker' ),\n\t\t\t\t\t\t\t\t'call to action'\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\t{ ...inputProps }\n\t\t\t\ttokenOnComma={ true }\n\t\t\t\tvalue={ values }\n\t\t\t\tonInputChange={ updateQueryText }\n\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\tconst newVals =\n\t\t\t\t\t\tmultiple && ! Array.isArray( newValue )\n\t\t\t\t\t\t\t? [ newValue ]\n\t\t\t\t\t\t\t: newValue;\n\t\t\t\t\tconst val = newVals\n\t\t\t\t\t\t.map( ( v ) => {\n\t\t\t\t\t\t\tconst tokenValue = getTokenValue( v );\n\t\t\t\t\t\t\t// Check if it's a string (likely from extraOptions)\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\ttypeof tokenValue === 'string' &&\n\t\t\t\t\t\t\t\t! tokenValue.match( /^\\d+$/ )\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn tokenValue;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Otherwise treat as numeric ID\n\t\t\t\t\t\t\tconst numericValue = parseInt( tokenValue, 10 );\n\t\t\t\t\t\t\treturn isNaN( numericValue ) ? null : numericValue;\n\t\t\t\t\t\t} )\n\t\t\t\t\t\t.filter( ( v ): v is number | string => v !== null );\n\t\t\t\t\tonChange( multiple ? ( val as T ) : ( val[ 0 ] as T ) );\n\t\t\t\t} }\n\t\t\t\trenderToken={ ( token ) => {\n\t\t\t\t\tconst suggestion = findSuggestion( getTokenValue( token ) );\n\t\t\t\t\tif ( ! suggestion ) {\n\t\t\t\t\t\treturn getTokenValue( token );\n\t\t\t\t\t}\n\t\t\t\t\treturn decodeEntities(\n\t\t\t\t\t\tsuggestion.title.rendered ??\n\t\t\t\t\t\t\t( suggestion.title.raw ||\n\t\t\t\t\t\t\t\tsuggestion.title.rendered )\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\trenderSuggestion={ ( item ) => {\n\t\t\t\t\tconst suggestion = findSuggestion( item );\n\t\t\t\t\tif ( ! suggestion ) {\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\tsuggestion.title.rendered ??\n\t\t\t\t\t\t\t\t\t( suggestion.title.raw ||\n\t\t\t\t\t\t\t\t\t\tsuggestion.title.rendered )\n\t\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\tsuggestions={\n\t\t\t\t\tsearchResults.length\n\t\t\t\t\t\t? searchResults\n\t\t\t\t\t\t\t\t.map( ( option ) => option.id.toString() )\n\t\t\t\t\t\t\t\t.filter( ( sugId ) => sugId )\n\t\t\t\t\t\t: []\n\t\t\t\t}\n\t\t\t\tmessages={\n\t\t\t\t\tisLoading\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tnoSuggestions: __(\n\t\t\t\t\t\t\t\t\t'Searching…',\n\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default CallToActionSelectControl;\n","// extracted by mini-css-extract-plugin\nexport {};","import './index.scss';\n\nimport clsx from 'clsx';\n\nimport { noop } from '@popup-maker/utils';\nimport { _x, sprintf } from '@popup-maker/i18n';\nimport { Icon, ToggleControl, Tooltip } from '@wordpress/components';\n\nimport type { IconType } from '@wordpress/components';\n\ntype Props = {\n\tlabel: string;\n\ticon?: IconType | undefined;\n\tisVisible: boolean;\n\tonChange?: ( checked: boolean ) => void;\n};\n\nconst DeviceToggle = ( { label, icon, isVisible, onChange = noop }: Props ) => {\n\tconst toggleLabel = ! isVisible\n\t\t? /* translators: 1. Device type. */\n\t\t _x( 'Hide on %1$s', 'Device toggle option', 'popup-maker' )\n\t\t: /* translators: 1. Device type. */\n\t\t _x( 'Show on %1$s', 'Device toggle option', 'popup-maker' );\n\n\tconst toggleIcon = ! isVisible ? 'hidden' : 'visibility';\n\n\tconst onToggle = () => onChange( ! isVisible );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx( [\n\t\t\t\t'pum__component-device-toggle',\n\t\t\t\tisVisible && 'is-checked',\n\t\t\t] ) }\n\t\t>\n\t\t\t<h3 className=\"pum__component-device-toggle__label\">\n\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t{ label }\n\t\t\t</h3>\n\t\t\t<div className=\"pum__component-device-toggle__control\">\n\t\t\t\t<Tooltip text={ sprintf( toggleLabel, label ) }>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclassName=\"pum__component-device-toggle__control-icon\"\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\ticon={ toggleIcon }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t</Tooltip>\n\t\t\t\t<Tooltip text={ sprintf( toggleLabel, label ) }>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tclassName=\"pum__component-device-toggle__control-input\"\n\t\t\t\t\t\t\tchecked={ isVisible }\n\t\t\t\t\t\t\tonChange={ onToggle }\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\thideLabelFromVision={ true }\n\t\t\t\t\t\t\taria-label={ toggleLabel }\n\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t/* translators: 1. Device type. */\n\t\t\t\t\t\t\t\t_x(\n\t\t\t\t\t\t\t\t\t'Show on %1$s',\n\t\t\t\t\t\t\t\t\t'Device toggle option',\n\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t</Tooltip>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default DeviceToggle;\n","import { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __, sprintf } from '@popup-maker/i18n';\nimport { useDebounce } from '@wordpress/compose';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nimport SmartTokenControl from '../smart-token-control';\n\nimport type { Post, Taxonomy } from '@wordpress/core-data';\n\nimport type { Props as SmartTokenControlProps } from '../smart-token-control';\n\nexport type Props< T extends number | number[] | string > = Omit<\n\tSmartTokenControlProps,\n\t'value' | 'onChange' | 'suggestions'\n> & {\n\tid?: string;\n\tvalue?: T;\n\tonChange: ( value: T ) => void;\n\tmultiple?: boolean;\n\tentityKind: 'postType' | 'taxonomy';\n\tentityType?: string;\n\tforceRefresh?: boolean;\n};\n\ninterface ObjectOption extends Post< 'edit' >, Taxonomy< 'edit' > {}\n\nconst EntitySelectControl = <\n\tT extends number | number[] = number | number[],\n>( {\n\tid,\n\tlabel,\n\tvalue,\n\tonChange,\n\tplaceholder,\n\tentityKind = 'postType',\n\tentityType = 'post',\n\tmultiple = false,\n\tforceRefresh = false,\n\t...inputProps\n}: Props< T > ) => {\n\tconst [ queryText, setQueryText ] = useState( '' );\n\n\tconst updateQueryText = useDebounce( ( text: string ) => {\n\t\tsetQueryText( text );\n\t}, 300 );\n\n\tconst { prefill = [] } = useSelect(\n\t\t( select ) => ( {\n\t\t\tprefill: value\n\t\t\t\t? ( select( coreDataStore ).getEntityRecords(\n\t\t\t\t\t\tentityKind,\n\t\t\t\t\t\tentityType,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t\tinclude: value,\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t\t}\n\t\t\t\t ) as ObjectOption[] )\n\t\t\t\t: [],\n\t\t} ),\n\t\t[ value, entityKind, entityType, forceRefresh ]\n\t);\n\n\tconst { suggestions = [], isSearching = false } = useSelect(\n\t\t( select ) => ( {\n\t\t\tsuggestions: select( coreDataStore ).getEntityRecords(\n\t\t\t\tentityKind,\n\t\t\t\tentityType,\n\t\t\t\t{\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t\tsearch: queryText,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t}\n\t\t\t) as ObjectOption[],\n\t\t\t// @ts-ignore This exists and is being used as documented.\n\t\t\tisSearching: select( 'core/data' ).isResolving(\n\t\t\t\t'core',\n\t\t\t\t'getEntityRecords',\n\t\t\t\t[\n\t\t\t\t\tentityKind,\n\t\t\t\t\tentityType,\n\t\t\t\t\t{ context: 'view', search: queryText, per_page: -1 },\n\t\t\t\t]\n\t\t\t),\n\t\t} ),\n\t\t[ entityKind, entityType, queryText, forceRefresh ]\n\t);\n\n\tconst findSuggestion = ( _id: number | string ) => {\n\t\tconst found =\n\t\t\tsuggestions &&\n\t\t\tsuggestions.find(\n\t\t\t\t( suggestion ) => suggestion.id.toString() === _id.toString()\n\t\t\t);\n\n\t\tif ( found ) {\n\t\t\treturn found;\n\t\t}\n\n\t\treturn (\n\t\t\tprefill &&\n\t\t\tprefill.find(\n\t\t\t\t( suggestion ) => suggestion.id.toString() === _id.toString()\n\t\t\t)\n\t\t);\n\t};\n\n\tconst values: string[] = ( () => {\n\t\tif ( ! value ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst val = Array.isArray( value ) ? value : [ value ];\n\n\t\treturn val.map( ( v ) => v.toString() );\n\t} )();\n\n\tconst getTokenValue = ( token: string | { value: string } ) => {\n\t\tif ( typeof token === 'object' ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t};\n\n\treturn (\n\t\t<div className=\"pum-object-search-field\">\n\t\t\t<SmartTokenControl\n\t\t\t\tid={ id }\n\t\t\t\tlabel={\n\t\t\t\t\tlabel\n\t\t\t\t\t\t? label\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: entity type.\n\t\t\t\t\t\t\t\t__( '%s(s)', 'popup-maker' ),\n\t\t\t\t\t\t\t\tentityType\n\t\t\t\t\t\t\t\t\t.replace( /_/g, ' ' )\n\t\t\t\t\t\t\t\t\t// uppercase first letter.\n\t\t\t\t\t\t\t\t\t.charAt( 0 )\n\t\t\t\t\t\t\t\t\t.toUpperCase() +\n\t\t\t\t\t\t\t\t\tentityType.replace( /_/g, ' ' ).slice( 1 )\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder\n\t\t\t\t\t\t? placeholder\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: entity type.\n\t\t\t\t\t\t\t\t__( 'Select %s(s)', 'popup-maker' ),\n\t\t\t\t\t\t\t\tentityType.replace( /_/g, ' ' ).toLowerCase()\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\t{ ...inputProps }\n\t\t\t\ttokenOnComma={ true }\n\t\t\t\tvalue={ values }\n\t\t\t\tonInputChange={ updateQueryText }\n\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\tconst val = newValue\n\t\t\t\t\t\t.map( ( v ) => {\n\t\t\t\t\t\t\tconst tokenValue = getTokenValue( v );\n\t\t\t\t\t\t\t// Check if it's a string (likely from extraOptions)\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\ttypeof tokenValue === 'string' &&\n\t\t\t\t\t\t\t\t! tokenValue.match( /^\\d+$/ )\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn tokenValue;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Otherwise treat as numeric ID\n\t\t\t\t\t\t\tconst numericValue = parseInt( tokenValue, 10 );\n\t\t\t\t\t\t\treturn isNaN( numericValue ) ? null : numericValue;\n\t\t\t\t\t\t} )\n\t\t\t\t\t\t.filter( ( v ): v is number | string => v !== null );\n\n\t\t\t\t\tonChange( ( multiple ? val : val[ 0 ] ) as T );\n\t\t\t\t} }\n\t\t\t\trenderToken={ ( token ) => {\n\t\t\t\t\tconst suggestion = findSuggestion( getTokenValue( token ) );\n\n\t\t\t\t\tif ( ! suggestion ) {\n\t\t\t\t\t\treturn getTokenValue( token );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn 'postType' === entityKind\n\t\t\t\t\t\t? decodeEntities(\n\t\t\t\t\t\t\t\tsuggestion.title.rendered ??\n\t\t\t\t\t\t\t\t\tsuggestion.title.raw\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: suggestion.name;\n\t\t\t\t} }\n\t\t\t\trenderSuggestion={ ( item ) => {\n\t\t\t\t\tconst suggestion = findSuggestion( item );\n\n\t\t\t\t\tif ( ! suggestion ) {\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ 'postType' === entityKind\n\t\t\t\t\t\t\t\t? decodeEntities(\n\t\t\t\t\t\t\t\t\t\tsuggestion.title.rendered ??\n\t\t\t\t\t\t\t\t\t\t\tsuggestion.title.raw\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: suggestion.name }\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\tsuggestions={\n\t\t\t\t\tsuggestions\n\t\t\t\t\t\t? suggestions.map( ( option ) => {\n\t\t\t\t\t\t\t\treturn option?.id.toString() ?? false;\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: []\n\t\t\t\t}\n\t\t\t\tmessages={\n\t\t\t\t\tisSearching\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tnoSuggestions: __(\n\t\t\t\t\t\t\t\t\t'Searching…',\n\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default EntitySelectControl;\n","// extracted by mini-css-extract-plugin\nexport {};","import './editor.scss';\n\nimport clsx from 'clsx';\n\nimport { Panel, PanelBody } from '@wordpress/components';\n\ntype Props = {\n\ttitle: string;\n\tclassName?: clsx.ClassValue;\n\tchildren: React.ReactNode;\n};\n\nconst FieldPanel = ( { title, className, children }: Props ) => {\n\treturn (\n\t\t<Panel\n\t\t\theader={ title }\n\t\t\tclassName={ clsx( [ 'components-field-panel', className ] ) }\n\t\t>\n\t\t\t<PanelBody opened>{ children }</PanelBody>\n\t\t</Panel>\n\t);\n};\n\nexport default FieldPanel;\n","// extracted by mini-css-extract-plugin\nexport {};","import clsx from 'clsx';\n\nimport './editor.scss';\n\nconst FieldRow = ( {\n\tid,\n\tlabel,\n\tdescription,\n\tclassName,\n\tchildren,\n}: {\n\tlabel: string;\n\tid?: string;\n\tdescription?: string;\n\tclassName?: clsx.ClassValue;\n\tchildren: JSX.Element;\n} ) => (\n\t<div className={ clsx( [ 'components-field-row', className ] ) }>\n\t\t<div className=\"components-base-control\">\n\t\t\t<label\n\t\t\t\thtmlFor={ id }\n\t\t\t\tclassName=\"components-truncate components-text components-input-control__label\"\n\t\t\t>\n\t\t\t\t{ label }\n\t\t\t</label>\n\t\t\t<p className=\"components-base-control__help\">{ description }</p>\n\t\t</div>\n\t\t<div className=\"components-base-control__field\">{ children }</div>\n\t</div>\n);\n\nexport default FieldRow;\n","// extracted by mini-css-extract-plugin\nexport {};","import './editor.scss';\n\nimport clsx from 'clsx';\n\nimport { __ } from '@popup-maker/i18n';\nimport { BaseControl } from '@wordpress/components';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { F10, isKeyboardEvent } from '@wordpress/keycodes';\nimport { debounce, useInstanceId } from '@wordpress/compose';\n\nimport { noop } from '@popup-maker/utils';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { WordPressWindow as _WP } from '@popup-maker/types';\n\ntype Props< T extends string > = {\n\tlabel?: string | React.ReactNode;\n\tplaceholder?: string;\n\tvalue: T;\n\tonChange: ( value: T ) => void;\n\tclassName?: clsx.ClassValue;\n\tminHeight?: number;\n};\n\ndeclare global {\n\tinterface Window {\n\t\ttinymce: any;\n\t\twpEditorL10n: {\n\t\t\ttinymce: {\n\t\t\t\tbaseURL: string;\n\t\t\t\tsuffix: string;\n\t\t\t\tsettings: any;\n\t\t\t};\n\t\t};\n\t}\n}\n\nconst {\n\twp,\n\ttinymce,\n\twpEditorL10n = {\n\t\ttinymce: {\n\t\t\tbaseURL: '',\n\t\t\tsuffix: '',\n\t\t\tsettings: {},\n\t\t},\n\t},\n} = window;\n\n// function isTmceEmpty( editor ) {\n// \t// When tinyMce is empty the content seems to be:\n// \t// <p><br data-mce-bogus=\"1\"></p>\n// \t// avoid expensive checks for large documents\n// \tconst body = editor.getBody();\n// \tif ( body.childNodes.length > 1 ) {\n// \t\treturn false;\n// \t} else if ( body.childNodes.length === 0 ) {\n// \t\treturn true;\n// \t}\n// \tif ( body.childNodes[ 0 ].childNodes.length > 1 ) {\n// \t\treturn false;\n// \t}\n// \treturn /^\\n?$/.test( body.innerText || body.textContent );\n// }\n\nconst FreeFormEditControl = < T extends string >( props: Props< T > ) => {\n\tconst instanceId = useInstanceId( FreeFormEditControl );\n\tconst {\n\t\tlabel,\n\t\t// placeholder,\n\t\tvalue,\n\t\tonChange = noop,\n\t\tclassName,\n\t\tminHeight = 100,\n\t} = props;\n\tconst didMount = useRef( false );\n\n\t/**\n\t * Resets the editor content to the value prop.\n\t */\n\tuseEffect( () => {\n\t\tif ( ! didMount.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst editor = tinymce.get( `editor-${ instanceId }` );\n\t\tconst currentContent = editor?.getContent();\n\n\t\tif ( currentContent !== value ) {\n\t\t\teditor.setContent( value || '' );\n\t\t}\n\t}, [ value, instanceId ] );\n\n\tuseEffect( () => {\n\t\tconst { baseURL, suffix } = wpEditorL10n.tinymce;\n\n\t\tdidMount.current = true;\n\n\t\ttinymce.EditorManager.overrideDefaults( {\n\t\t\tbase_url: baseURL,\n\t\t\tsuffix,\n\t\t} );\n\n\t\tfunction onSetup( editor ) {\n\t\t\tlet bookmark;\n\n\t\t\tif ( value ) {\n\t\t\t\teditor.on( 'loadContent', () => editor.setContent( value ) );\n\t\t\t}\n\n\t\t\teditor.on( 'blur', () => {\n\t\t\t\tbookmark = editor.selection.getBookmark( 2, true );\n\t\t\t\t// There is an issue with Chrome and the editor.focus call in core at https://core.trac.wordpress.org/browser/trunk/src/js/_enqueues/lib/link.js#L451.\n\t\t\t\t// This causes a scroll to the top of editor content on return from some content updating dialogs so tracking\n\t\t\t\t// scroll position until this is fixed in core.\n\t\t\t\tconst scrollContainer = document.querySelector(\n\t\t\t\t\t'.interface-interface-skeleton__content'\n\t\t\t\t);\n\t\t\t\tconst scrollPosition = scrollContainer?.scrollTop;\n\n\t\t\t\t// Only update attributes if we aren't multi-selecting blocks.\n\t\t\t\t// Updating during multi-selection can overwrite attributes of other blocks.\n\t\t\t\t// if ( ! getMultiSelectedBlockinstanceIds()?.length ) {\n\t\t\t\tonChange( editor.getContent() );\n\t\t\t\t// }\n\n\t\t\t\teditor.once( 'focus', () => {\n\t\t\t\t\tif ( bookmark ) {\n\t\t\t\t\t\teditor.selection.moveToBookmark( bookmark );\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tscrollContainer &&\n\t\t\t\t\t\t\tscrollContainer?.scrollTop !== scrollPosition\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tscrollContainer.scrollTop = scrollPosition || 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\teditor.on( 'mousedown touchstart', () => {\n\t\t\t\tbookmark = null;\n\t\t\t} );\n\n\t\t\tconst debouncedOnChange = debounce( () => {\n\t\t\t\tconst newValue = editor.getContent();\n\n\t\t\t\tif ( newValue !== editor._lastChange ) {\n\t\t\t\t\teditor._lastChange = newValue;\n\t\t\t\t\tonChange( newValue );\n\t\t\t\t}\n\t\t\t}, 250 );\n\n\t\t\teditor.on( 'Paste Change input Undo Redo', debouncedOnChange );\n\n\t\t\t// We need to cancel the debounce call because when we remove\n\t\t\t// the editor (onUnmount) this callback is executed in\n\t\t\t// another tick. This results in setting the content to empty.\n\t\t\teditor.on( 'remove', debouncedOnChange.cancel );\n\n\t\t\teditor.on( 'keydown', ( event ) => {\n\t\t\t\tif ( isKeyboardEvent.primary( event, 'z' ) ) {\n\t\t\t\t\t// Prevent the gutenberg undo kicking in so TinyMCE undo stack works as expected.\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t\t// if (\n\t\t\t\t// \t( event.keyCode === BACKSPACE ||\n\t\t\t\t// \t\tevent.keyCode === DELETE ) &&\n\t\t\t\t// \tisTmceEmpty( editor )\n\t\t\t\t// ) {\n\t\t\t\t// \t// Delete the block.\n\t\t\t\t// \tonReplace( [] );\n\t\t\t\t// \tevent.preventDefault();\n\t\t\t\t// \tevent.stopImmediatePropagation();\n\t\t\t\t// }\n\n\t\t\t\tconst { altKey } = event;\n\t\t\t\t/*\n\t\t\t\t * Prevent Mousetrap from kicking in: TinyMCE already uses its own\n\t\t\t\t * `alt+f10` shortcut to focus its toolbar.\n\t\t\t\t */\n\t\t\t\tif ( altKey && event.keyCode === F10 ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\teditor.on( 'init', () => {\n\t\t\t\tconst rootNode = editor.getBody();\n\t\t\t\t// Create the toolbar by refocussing the editor.\n\n\t\t\t\tif ( rootNode.ownerDocument.activeElement === rootNode ) {\n\t\t\t\t\trootNode.blur();\n\t\t\t\t\teditor.focus();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tfunction initialize() {\n\t\t\tconst { settings } = wpEditorL10n.tinymce;\n\t\t\twp.oldEditor.initialize( `editor-${ instanceId }`, {\n\t\t\t\ttinymce: {\n\t\t\t\t\t...settings,\n\t\t\t\t\tinline: true,\n\t\t\t\t\t// toolbar_persist: true,\n\t\t\t\t\tcontent_css: false,\n\t\t\t\t\tfixed_toolbar_container: `#toolbar-${ instanceId }`,\n\t\t\t\t\tsetup: onSetup,\n\t\t\t\t\t// toolbar:\n\t\t\t\t\t// \t'undo redo | bold italic underline strikethrough | fontselect fontsizeselect formatselect | alignleft aligncenter alignright alignjustify | outdent indent | numlist bullist checklist | forecolor backcolor casechange permanentpen formatpainter removeformat | pagebreak | charmap emoticons | fullscreen preview save print | insertfile image media pageembed template link anchor codesample | a11ycheck ltr rtl | showcomments addcomment',\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tfunction onReadyStateChange() {\n\t\t\tif ( document.readyState === 'complete' ) {\n\t\t\t\tinitialize();\n\t\t\t}\n\t\t}\n\n\t\tif ( document.readyState === 'complete' ) {\n\t\t\tinitialize();\n\t\t} else {\n\t\t\tdocument.addEventListener( 'readystatechange', onReadyStateChange );\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\n\t\t\t\t'readystatechange',\n\t\t\t\tonReadyStateChange\n\t\t\t);\n\t\t\twp.oldEditor.remove( `editor-${ instanceId }` );\n\t\t};\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tfunction focus() {\n\t\tconst editor = tinymce.get( `editor-${ instanceId }` );\n\t\tif ( editor ) {\n\t\t\teditor.focus();\n\t\t}\n\t}\n\n\tfunction onToolbarKeyDown( event ) {\n\t\t// Prevent WritingFlow from kicking in and allow arrows navigation on the toolbar.\n\t\tevent.stopPropagation();\n\t\t// Prevent Mousetrap from moving focus to the top toolbar when pressing `alt+f10` on this block toolbar.\n\t\tevent.nativeEvent.stopImmediatePropagation();\n\t}\n\n\t// Disable reasons:\n\t//\n\t// jsx-a11y/no-static-element-interactions\n\t// - the toolbar itself is non-interactive, but must capture events\n\t// from the KeyboardShortcuts component to stop their propagation.\n\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\n\treturn (\n\t\t<BaseControl\n\t\t\tid={ `freeform-edit-control-${ instanceId }` }\n\t\t\tlabel={ label }\n\t\t\tclassName={ clsx( [\n\t\t\t\t'component-freeform-edit-control',\n\t\t\t\tclassName,\n\t\t\t] ) }\n\t\t\t__nextHasNoMarginBottom\n\t\t>\n\t\t\t<div\n\t\t\t\tkey=\"toolbar\"\n\t\t\t\tid={ `toolbar-${ instanceId }` }\n\t\t\t\tclassName=\"block-library-classic__toolbar\"\n\t\t\t\tonClick={ focus }\n\t\t\t\tonKeyDown={ onToolbarKeyDown }\n\t\t\t\tdata-placeholder={ __(\n\t\t\t\t\t'Click here to edit this text.',\n\t\t\t\t\t'popup-maker'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tkey=\"editor\"\n\t\t\t\tid={ `editor-${ instanceId }` }\n\t\t\t\tstyle={ { minHeight } }\n\t\t\t\tclassName=\"wp-block-freeform block-library-rich-text__tinymce\"\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n};\n\nexport default FreeFormEditControl;\n","import classnames from 'classnames';\n\nimport { useEffect, useState } from '@wordpress/element';\n\ntype FullScreenPanelProps = {\n\tclassName?: string;\n\tchildren: React.ReactNode;\n};\n\nconst FullScreenPanel = ( props: FullScreenPanelProps ) => {\n\tconst { className, children } = props;\n\n\tconst [ isFull, setIsFull ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst html = document.querySelector( 'html' );\n\n\t\tif ( isFull ) {\n\t\t\thtml?.classList.add( 'disable-scroll' );\n\t\t} else {\n\t\t\thtml?.classList.remove( 'disable-scroll' );\n\t\t}\n\t}, [ isFull ] );\n\n\tconst onClick = () => {\n\t\tsetIsFull( ! isFull );\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'fullscreen-panel', className, {\n\t\t\t\t'is-full-screen': isFull,\n\t\t\t} ) }\n\t\t>\n\t\t\t<button\n\t\t\t\tonClick={ onClick }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'maximize-fullscreen-panel',\n\t\t\t\t\t'dashicons',\n\t\t\t\t\tisFull\n\t\t\t\t\t\t? 'dashicons dashicons-no-alt'\n\t\t\t\t\t\t: 'dashicons-editor-expand'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t{ children }\n\t\t</div>\n\t);\n};\n\nexport default FullScreenPanel;\n","export { default as CallToActionSelectControl } from './cta-select-control';\nexport { default as ConfirmDialogue } from './confirm-dialogue';\nexport { default as ControlledTabPanel } from './controlled-tab-panel';\nexport { default as DeviceToggle } from './device-toggle';\nexport { default as EntitySelectControl } from './entity-select-control';\nexport { default as FieldPanel } from './field-panel';\nexport { default as FieldRow } from './field-row';\nexport { default as FreeFormEditControl } from './freeform-control';\nexport { default as FullScreenPanel } from './full-screen-panel';\nexport {\n\tdefault as ListTable,\n\ttype SortConfig,\n\tSortDirection,\n} from './list-table';\nexport { default as PopupSelectControl } from './popup-select-control';\nexport { default as RadioButtonControl } from './radio-buttons-control';\nexport { default as SearchableMulticheckControl } from './searchable-multicheck-control';\nexport { default as SmartTokenControl } from './smart-token-control';\nexport { default as TextHighlight } from './text-highlight';\nexport { default as URLControl } from './url-control';\nexport * from './utils';\n","// extracted by mini-css-extract-plugin\nexport {};","import './editor.scss';\n\nimport clsx from 'clsx';\n\nimport { __ } from '@popup-maker/i18n';\nimport { arrowDown, arrowUp } from '@wordpress/icons';\nimport { useEffect } from '@wordpress/element';\nimport { Button, CheckboxControl, Icon } from '@wordpress/components';\n\nimport { useControlledState } from '../utils';\nimport type { TableItemBase, SortConfig } from './types';\nimport { SortDirection } from './types';\n\ntype Props< T extends TableItemBase > = {\n\titems: T[];\n\tcolumns: {\n\t\t[ key: string ]: React.ReactNode | ( () => React.ReactNode );\n\t};\n\trowClasses?: ( item: T ) => clsx.ClassValue;\n\trenderCell: (\n\t\tcol: string,\n\t\titem: T,\n\t\trowIndex: number\n\t) => React.ReactNode | string | number;\n\tsortableColumns: string[];\n\tidCol?: string;\n\tnoItemsText?: string;\n\tshowBulkSelect?: boolean;\n\tclassName?: clsx.ClassValue;\n\tselectedItems?: number[];\n\tonSelectItems?: ( selectedItems: number[] ) => void;\n\tonSort?: ( orderby: string, order: SortDirection ) => void;\n\tinitialSort?: SortConfig | null;\n};\n\ntype CellProps = {\n\theading?: boolean;\n\tchildren: React.ReactNode;\n\t[ key: string ]: any;\n};\n\nconst TableCell = ( { heading = false, children, ...props }: CellProps ) => {\n\treturn heading ? (\n\t\t<th { ...props }>{ children }</th>\n\t) : (\n\t\t<td { ...props }>{ children }</td>\n\t);\n};\n\nconst ListTable = < T extends TableItemBase >( {\n\titems,\n\tcolumns,\n\tsortableColumns = [],\n\tidCol = 'id',\n\trowClasses = ( item ) => [ `item-${ item.id }` ],\n\trenderCell = ( col, item ) => item[ col ],\n\tnoItemsText = __( 'No items found.', 'popup-maker' ),\n\tshowBulkSelect = true,\n\tclassName,\n\tselectedItems: incomingSelectedItems = [],\n\tonSelectItems = () => {},\n\tonSort,\n\tinitialSort,\n}: Props< T > ) => {\n\tconst cols = { [ idCol ]: columns[ idCol ] ?? '', ...columns };\n\tconst colCount = Object.keys( cols ).length;\n\n\tconst [ selectedItems, setSelectedItems ] = useControlledState< number[] >(\n\t\tincomingSelectedItems,\n\t\t[],\n\t\tonSelectItems\n\t);\n\n\tuseEffect( () => {\n\t\tonSelectItems( selectedItems );\n\t}, [ selectedItems, onSelectItems ] );\n\n\tconst ColumnHeaders = ( { header = false } ) => (\n\t\t<>\n\t\t\t{ Object.entries( cols ).map( ( [ col, colLabel ] ) => {\n\t\t\t\tconst isIdCol = col === idCol;\n\t\t\t\tconst isBulkSelect = showBulkSelect && isIdCol;\n\t\t\t\tconst isSortedBy = initialSort?.orderby === col;\n\t\t\t\tconst isSortable = ! isBulkSelect\n\t\t\t\t\t? sortableColumns.indexOf( col ) >= 0\n\t\t\t\t\t: false;\n\n\t\t\t\tconst cellProps = {\n\t\t\t\t\tkey: col,\n\t\t\t\t\theading: ! isBulkSelect,\n\t\t\t\t\tid: header && ! isBulkSelect ? col : undefined,\n\t\t\t\t\tscope: ! isBulkSelect ? 'col' : undefined,\n\t\t\t\t\tclassName: clsx( [\n\t\t\t\t\t\t`column-${ col }`,\n\t\t\t\t\t\t...( ! isBulkSelect && isSortable\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t'sortable',\n\t\t\t\t\t\t\t\t\tinitialSort?.order ?? SortDirection.ASC,\n\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t: [] ),\n\t\t\t\t\t\tisBulkSelect && 'check-column',\n\t\t\t\t\t] ),\n\t\t\t\t};\n\n\t\t\t\tconst Label = () => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ typeof colLabel === 'function' ? (\n\t\t\t\t\t\t\tcolLabel()\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<span>{ colLabel }</span>\n\t\t\t\t\t\t\t\t{ isSortedBy && (\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\tinitialSort?.order ===\n\t\t\t\t\t\t\t\t\t\t\tSortDirection.ASC\n\t\t\t\t\t\t\t\t\t\t\t\t? arrowUp\n\t\t\t\t\t\t\t\t\t\t\t\t: arrowDown\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tsize={ 16 }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\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\n\t\t\t\treturn (\n\t\t\t\t\t<TableCell { ...cellProps } key={ col }>\n\t\t\t\t\t\t{ isBulkSelect && (\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\tonChange={ ( checked ) =>\n\t\t\t\t\t\t\t\t\tsetSelectedItems(\n\t\t\t\t\t\t\t\t\t\t! checked\n\t\t\t\t\t\t\t\t\t\t\t? []\n\t\t\t\t\t\t\t\t\t\t\t: items.map( ( item ) => item.id )\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={\n\t\t\t\t\t\t\t\t\tselectedItems.length > 0 &&\n\t\t\t\t\t\t\t\t\tselectedItems.length === items.length\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\tindeterminate={\n\t\t\t\t\t\t\t\t\tselectedItems.length > 0 &&\n\t\t\t\t\t\t\t\t\tselectedItems.length < items.length\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ ! isBulkSelect && isSortable && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tif ( onSort ) {\n\t\t\t\t\t\t\t\t\t\tlet newDirection: SortDirection;\n\n\t\t\t\t\t\t\t\t\t\tif ( initialSort?.orderby === col ) {\n\t\t\t\t\t\t\t\t\t\t\tnewDirection =\n\t\t\t\t\t\t\t\t\t\t\t\tinitialSort.order ===\n\t\t\t\t\t\t\t\t\t\t\t\tSortDirection.ASC\n\t\t\t\t\t\t\t\t\t\t\t\t\t? SortDirection.DESC\n\t\t\t\t\t\t\t\t\t\t\t\t\t: SortDirection.ASC;\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tnewDirection = SortDirection.ASC;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tonSort( col, newDirection );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Label />\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ ! isBulkSelect && ! isSortable && <Label /> }\n\t\t\t\t\t</TableCell>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<table\n\t\t\tclassName={ clsx( [\n\t\t\t\tclassName,\n\t\t\t\t'component-list-table',\n\t\t\t\t'list-table',\n\t\t\t\titems.length === 0 && 'no-items',\n\t\t\t] ) }\n\t\t>\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<ColumnHeaders header={ true } />\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody>\n\t\t\t\t{ items.length ? (\n\t\t\t\t\titems.map( ( item, rowIndex ) => (\n\t\t\t\t\t\t<tr\n\t\t\t\t\t\t\tkey={ item.id }\n\t\t\t\t\t\t\tclassName={ clsx( rowClasses( item ) ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ Object.entries( cols ).map( ( [ col ] ) => {\n\t\t\t\t\t\t\t\tconst isIdCol = col === idCol;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<TableCell\n\t\t\t\t\t\t\t\t\t\tkey={ col }\n\t\t\t\t\t\t\t\t\t\theading={ isIdCol }\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx( [\n\t\t\t\t\t\t\t\t\t\t\t`column-${ col }`,\n\t\t\t\t\t\t\t\t\t\t\tshowBulkSelect &&\n\t\t\t\t\t\t\t\t\t\t\t\tisIdCol &&\n\t\t\t\t\t\t\t\t\t\t\t\t'check-column',\n\t\t\t\t\t\t\t\t\t\t] ) }\n\t\t\t\t\t\t\t\t\t\tscope={ isIdCol ? 'row' : undefined }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ isIdCol ? (\n\t\t\t\t\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={ ( checked ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst newSelectedItems =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! checked\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? selectedItems.filter(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t( id ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid !==\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...selectedItems,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t ];\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetSelectedItems(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewSelectedItems\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\tchecked={\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedItems.indexOf(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t) >= 0\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\trenderCell( col, item, rowIndex )\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) )\n\t\t\t\t) : (\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td colSpan={ colCount }>{ noItemsText }</td>\n\t\t\t\t\t</tr>\n\t\t\t\t) }\n\t\t\t</tbody>\n\t\t\t<tfoot>\n\t\t\t\t<tr>\n\t\t\t\t\t<ColumnHeaders />\n\t\t\t\t</tr>\n\t\t\t</tfoot>\n\t\t</table>\n\t);\n};\n\nexport default ListTable;\n\nexport * from './types';\n","export interface TableItemBase {\n\tid: number;\n\t[ key: string ]: any;\n}\n\nexport enum SortDirection {\n\tASC = 'ASC',\n\tDESC = 'DESC',\n}\n\nexport interface SortConfig {\n\torderby: string;\n\torder: SortDirection;\n}\n\nexport interface TableItem extends TableItemBase {\n\tid: number;\n\t[ key: string ]: any;\n}\n","import clsx from 'clsx';\n\nimport { __ } from '@popup-maker/i18n';\nimport { SelectControl } from '@wordpress/components';\n\nimport type { PopupSelectControlProps } from './types';\nimport { SelectControlProps } from '@wordpress/components/build-types/select-control/types';\n\nconst { popups } = window.popupMakerComponents;\n\nexport const PopupSelectControl = ( {\n\tonChange,\n\tvalue,\n\tlabel = __( 'Select Popup', 'popup-maker' ),\n\temptyValueLabel = __( 'Choose a popup', 'popup-maker' ),\n\thideLabelFromVision = false,\n\tmultiple = false,\n\trequired = false,\n\toptions = [\n\t\t{\n\t\t\tvalue: '',\n\t\t\tlabel: emptyValueLabel,\n\t\t},\n\t\t...popups.map( ( { ID, post_title: title } ) => {\n\t\t\treturn {\n\t\t\t\tvalue: `${ ID }`,\n\t\t\t\tlabel: title,\n\t\t\t};\n\t\t} ),\n\t],\n\t...props\n}: PopupSelectControlProps & Pick< SelectControlProps, 'help' > ) => {\n\treturn (\n\t\t<SelectControl\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\tclassName={ clsx(\n\t\t\t\t'pum-component-popup-select-control',\n\t\t\t\tmultiple && 'pum-popup-select-control--multiple'\n\t\t\t) }\n\t\t\toptions={ options }\n\t\t\trequired={ required }\n\t\t\t{ ...{\n\t\t\t\t// Here for type safety.\n\t\t\t\t...( multiple\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tmultiple: true,\n\t\t\t\t\t\t\tvalue: value as string[],\n\t\t\t\t\t\t\tonChange: onChange as ( value: string[] ) => void,\n\t\t\t\t\t }\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tvalue: value as string,\n\t\t\t\t\t\t\tonChange: onChange as ( value: string ) => void,\n\t\t\t\t\t } ),\n\t\t\t\t...props,\n\t\t\t} }\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t/>\n\t);\n};\n\nexport default PopupSelectControl;\n","// extracted by mini-css-extract-plugin\nexport {};","import './editor.scss';\n\nimport clsx from 'clsx';\n\nimport { useInstanceId } from '@wordpress/compose';\nimport { BaseControl, Button } from '@wordpress/components';\n\nimport type { ButtonProps } from '@wordpress/components/build-types/button/types';\n\ntype Props< T extends string | number = string | number > = {\n\tid?: string;\n\tvalue: T;\n\tonChange: ( value: T ) => void;\n\tlabel?: string | JSX.Element;\n\tclassName?: clsx.ClassValue;\n\toptions: ( Partial< ButtonProps > & {\n\t\tvalue: T;\n\t\tlabel: string | JSX.Element;\n\t} )[];\n\torientation?: 'horizontal' | 'vertical';\n\tequalWidth?: boolean;\n\tspacing?: string | number;\n\thideLabelFromVision?: boolean;\n};\n\nconst RadioButtonControl = < T extends string | number = string | number >( {\n\tid,\n\tlabel,\n\tvalue,\n\tonChange,\n\tclassName,\n\toptions = [],\n\torientation = 'horizontal',\n\tequalWidth = false,\n\tspacing,\n\thideLabelFromVision = false,\n}: Props< T > ) => {\n\tconst instanceId = useInstanceId( RadioButtonControl );\n\n\treturn (\n\t\t<BaseControl\n\t\t\tid={ id ? id : `radio-button-control-${ instanceId }` }\n\t\t\tlabel={ label }\n\t\t\tclassName={ clsx(\n\t\t\t\t'components-radio-button-control',\n\t\t\t\torientation,\n\t\t\t\tequalWidth && 'equal-width',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t__nextHasNoMarginBottom\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"options\"\n\t\t\t\tstyle={ spacing ? { gap: `${ spacing }px` } : undefined }\n\t\t\t>\n\t\t\t\t{ options.map(\n\t\t\t\t\t( {\n\t\t\t\t\t\tlabel: optLabel,\n\t\t\t\t\t\tvalue: optValue,\n\t\t\t\t\t\t// ...buttonProps\n\t\t\t\t\t} ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ optValue }\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\toptValue === value ? 'primary' : 'secondary'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => onChange( optValue ) }\n\t\t\t\t\t\t\t// { ...buttonProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ optLabel }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t)\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</BaseControl>\n\t);\n};\n\nexport default RadioButtonControl;\n","// extracted by mini-css-extract-plugin\nexport {};","import './editor.scss';\n\nimport clsx from 'clsx';\n\nimport {\n\tBaseControl,\n\tButton,\n\tCheckboxControl,\n\tIcon,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@popup-maker/i18n';\nimport { chevronDown, chevronUp } from '@wordpress/icons';\n\nimport type { IconType } from '@wordpress/components';\n\ntype Props< T extends string | number > = {\n\tlabel?: string | React.ReactNode;\n\tplaceholder: string;\n\tsearchIcon?: IconType | undefined;\n\tvalue: T[];\n\toptions: { label: string; value: T; keywords?: string }[];\n\tonChange: ( value: T[] ) => void;\n\tclassName: clsx.ClassValue;\n};\n\nconst SearchableMulticheckControl = < T extends string | number >( {\n\tlabel = '',\n\tplaceholder = '',\n\tsearchIcon,\n\tvalue = [],\n\toptions = [],\n\tonChange = () => {},\n\tclassName = '',\n}: Props< T > ) => {\n\tconst instanceId = useInstanceId( SearchableMulticheckControl );\n\n\tconst [ searchText, setSearchText ] = useState< string >( '' );\n\tconst [ sortDirection, setSortDirection ] = useState< 'ASC' | 'DESC' >(\n\t\t'ASC'\n\t);\n\n\tconst isChecked = ( optValue: T ) => value.indexOf( optValue ) !== -1;\n\tconst toggleOption = ( optValue: T ) =>\n\t\tonChange(\n\t\t\tisChecked( optValue )\n\t\t\t\t? [ ...value.filter( ( v ) => v !== optValue ) ]\n\t\t\t\t: [ ...value, optValue ]\n\t\t);\n\n\tconst filteredOptions = options.filter(\n\t\t( { label: optLabel, value: optValue, keywords } ) => {\n\t\t\treturn (\n\t\t\t\toptLabel.includes( searchText ) ||\n\t\t\t\t( typeof optValue === 'string' &&\n\t\t\t\t\toptValue.includes( searchText ) ) ||\n\t\t\t\t( keywords && keywords.includes( searchText ) )\n\t\t\t);\n\t\t}\n\t);\n\n\tconst sortedOptions = filteredOptions.sort( ( a, b ) => {\n\t\tif ( sortDirection === 'ASC' ) {\n\t\t\treturn a.label > b.label ? 1 : -1;\n\t\t}\n\t\treturn b.label > a.label ? 1 : -1;\n\t} );\n\n\treturn (\n\t\t<BaseControl\n\t\t\tid={ `searchable-multicheck-control-${ instanceId }` }\n\t\t\tlabel={ label }\n\t\t\tclassName={ clsx( [\n\t\t\t\t'component-searchable-multicheck-control',\n\t\t\t\tclassName,\n\t\t\t] ) }\n\t\t\t__nextHasNoMarginBottom\n\t\t>\n\t\t\t<div className=\"select-actions\">\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\ttext={ __( 'Select All', 'popup-maker' ) }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t// Get all current options values.\n\t\t\t\t\t\tconst selected = filteredOptions.map(\n\t\t\t\t\t\t\t( { value: optValue } ) => optValue\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Get combined list of values, previous & all selected.\n\t\t\t\t\t\tconst newValue = [ ...value, ...selected ];\n\n\t\t\t\t\t\t// Make list unique.\n\t\t\t\t\t\tonChange( [ ...new Set( newValue ) ] );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\ttext={ __( 'Deselect All', 'popup-maker' ) }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t// Get all current options values.\n\t\t\t\t\t\tconst unSelected = filteredOptions.map(\n\t\t\t\t\t\t\t( { value: optValue } ) => optValue\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Get list of current values - unselected.\n\t\t\t\t\t\tconst newValue = [\n\t\t\t\t\t\t\t...value.filter(\n\t\t\t\t\t\t\t\t( v ) => unSelected.indexOf( v ) === -1\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t];\n\n\t\t\t\t\t\t// Make list unique.\n\t\t\t\t\t\tonChange( [ ...new Set( newValue ) ] );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className={ clsx( [ searchIcon ? 'icon-input' : null ] ) }>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tclassName=\"components-text-control__input\"\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tvalue={ searchText }\n\t\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\t\tsetSearchText( event.target.value )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ searchIcon && <Icon icon={ searchIcon } /> }\n\t\t\t</div>\n\n\t\t\t<table>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th className=\"label-column\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ttext={ __( 'Name', 'popup-maker' ) }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetSortDirection(\n\t\t\t\t\t\t\t\t\t\t'DESC' === sortDirection\n\t\t\t\t\t\t\t\t\t\t\t? 'ASC'\n\t\t\t\t\t\t\t\t\t\t\t: 'DESC'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t'DESC' === sortDirection\n\t\t\t\t\t\t\t\t\t\t? chevronUp\n\t\t\t\t\t\t\t\t\t\t: chevronDown\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ticonPosition=\"right\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<td className=\"cb-column\"></td>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{ sortedOptions.map(\n\t\t\t\t\t\t( { label: optLabel, value: optValue } ) => (\n\t\t\t\t\t\t\t<tr key={ optValue.toString() }>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\ttoggleOption( optValue )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonKeyDown={ () => {} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ optLabel }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<th className=\"cb-column\">\n\t\t\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t\t\tchecked={ isChecked( optValue ) }\n\t\t\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\t\t\ttoggleOption( optValue )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t</BaseControl>\n\t);\n};\n\nexport default SearchableMulticheckControl;\n","// extracted by mini-css-extract-plugin\nexport {};","import clsx from 'clsx';\n\nimport {\n\tButton,\n\tKeyboardShortcuts,\n\tPopover,\n\tBaseControl,\n} from '@wordpress/components';\nimport { __ } from '@popup-maker/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\nimport { forwardRef, useEffect, useRef, useState } from '@wordpress/element';\nimport { clamp, noop } from '@popup-maker/utils';\n\nimport './editor.scss';\n\nimport type { CSSProperties, ForwardedRef } from 'react';\nimport type { KeyboardShortcutsProps } from '@wordpress/components/build-types/keyboard-shortcuts/types';\n\nexport type Token =\n\t| string\n\t| {\n\t\t\tvalue: string;\n\t\t\t[ key: string ]: any;\n\t };\n\nexport type Props< T extends Token = Token > = {\n\tid?: string;\n\tvalue: T[];\n\tonChange: ( value: T[] ) => void;\n\tlabel?: string | JSX.Element;\n\tplaceholder?: string;\n\tclassName?: clsx.ClassValue;\n\tinputStyles?: CSSProperties;\n\tpopoverStyles?: CSSProperties;\n\tclasses?: {\n\t\tcontainer?: string;\n\t\tpopover?: string;\n\t\tinputContainer?: string;\n\t\ttokens?: string;\n\t\ttoken?: string;\n\t\ttokenLabel?: string;\n\t\ttokenRemove?: string;\n\t\ttextInput?: string;\n\t\ttoggleSuggestions?: string;\n\t\tsuggestions?: string;\n\t\tsuggestion?: string;\n\t};\n\tmultiple?: boolean;\n\tsuggestions: string[];\n\textraOptions?: Array< {\n\t\tvalue: Token;\n\t\tlabel: string;\n\t\tonSelect?: () => void;\n\t} >;\n\tcloseOnSelect?: boolean;\n\trenderToken?: ( token: T ) => JSX.Element | string;\n\n\t/**\n\t * Render a suggestion.\n\t *\n\t * @param {string} suggestion suggestion to be rendered\n\t * @return {JSX.Element | string}\n\t */\n\trenderSuggestion?: ( suggestion: string ) => JSX.Element | string;\n\n\t/**\n\t * Transform the value before adding it to the value array and calling onChange.\n\t *\n\t * @param {string} value string to be transformed\n\t * @return {Token}\n\t */\n\tsaveTransform?: ( value: string ) => T;\n\n\t/**\n\t * When the search input changes.\n\t *\n\t * @param {string} value selected suggestion\n\t * @return {void}\n\t */\n\tonInputChange?: ( value: string ) => void;\n\thideLabelFromVision?: boolean;\n\ttokenOnComma?: boolean;\n\textraKeyboardShortcuts?: KeyboardShortcutsProps[ 'shortcuts' ];\n\tmessages?: {\n\t\tsearchTokens?: string;\n\t\tnoSuggestions?: string;\n\t\tremoveToken?: string;\n\t};\n};\n\ntype State = {\n\tinputText: string;\n\tisFocused: boolean;\n\tselectedSuggestion: number;\n\tpopoverOpen: boolean;\n\trefocus: boolean;\n};\n\nconst defaultClasses: Required< Props[ 'classes' ] > = {\n\tcontainer: 'component-smart-token-control',\n\tpopover: 'component-smart-token-control__suggestions-popover',\n\tinputContainer: 'component-smart-token-control__input',\n\ttokens: 'component-smart-token-control__tokens',\n\ttoken: 'component-smart-token-control__token',\n\ttokenLabel: 'component-smart-token-control__token-label',\n\ttokenRemove: 'component-smart-token-control__token-remove',\n\ttextInput: 'component-smart-token-control__text-input',\n\ttoggleSuggestions: 'component-smart-token-control__toggle',\n\tsuggestions: 'component-smart-token-control__suggestions',\n\tsuggestion: 'component-smart-token-control__suggestion',\n};\n\nconst SmartTokenControl = < T extends Token = string >(\n\t{\n\t\tid,\n\t\tvalue,\n\t\tonChange,\n\t\tlabel,\n\t\tplaceholder = __( 'Enter a value', 'popup-maker' ),\n\t\tclassName,\n\t\tinputStyles = {},\n\t\tpopoverStyles = {},\n\t\ttokenOnComma = false,\n\t\tclasses = defaultClasses,\n\t\trenderToken = ( token ) => (\n\t\t\t<>{ typeof token === 'string' ? token : token.item }</>\n\t\t),\n\t\trenderSuggestion = ( suggestion: string ) => <>{ suggestion }</>,\n\t\tonInputChange = noop,\n\t\tsaveTransform = ( newValue: string ) => newValue as T,\n\t\tcloseOnSelect = false,\n\t\thideLabelFromVision = false,\n\t\textraKeyboardShortcuts = {},\n\t\tmultiple = false,\n\t\tsuggestions,\n\t\textraOptions = [],\n\t\tmessages = {\n\t\t\tsearchTokens: __( 'Search', 'popup-maker' ),\n\t\t\tnoSuggestions: __( 'No suggestions', 'popup-maker' ),\n\t\t\tremoveToken: __( 'Remove token', 'popup-maker' ),\n\t\t},\n\t}: Props< T >,\n\tref: ForwardedRef< Element >\n) => {\n\tconst elClasses = { ...defaultClasses, ...classes };\n\n\tconst minQueryLength = 1;\n\tconst instanceId = useInstanceId( SmartTokenControl );\n\tconst wrapperRef = useRef< Element | null >( null );\n\tconst inputRef = useRef< HTMLInputElement >( null );\n\tconst selectedRef = useRef< HTMLDivElement | null >( null );\n\n\tconst [ state, setState ] = useState< State >( {\n\t\tinputText: '',\n\t\tisFocused: false,\n\t\tselectedSuggestion: -1,\n\t\tpopoverOpen: false,\n\t\trefocus: false,\n\t} );\n\n\tconst { inputText, isFocused, selectedSuggestion, popoverOpen } = state;\n\n\t/**\n\t * Get value from token.\n\t *\n\t * @param {Token} token token to get value from\n\t * @return {string} value of token\n\t */\n\tfunction getTokenValue( token: Token ): string {\n\t\tif ( 'object' === typeof token ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t}\n\n\t/**\n\t * Check if value contains token.\n\t *\n\t * @param {Token} token token to check\n\t * @return {boolean} true if value contains token\n\t */\n\tfunction valueContainsToken( token: Token ): boolean {\n\t\treturn value.some( ( item ) => {\n\t\t\treturn getTokenValue( token ) === getTokenValue( item );\n\t\t} );\n\t}\n\n\t/**\n\t * Add new tokens to value.\n\t *\n\t * @param {string[]} tokens tokens to add\n\t */\n\tfunction addNewTokens( tokens: string[] ) {\n\t\tconst tokensToAdd = [\n\t\t\t...new Set(\n\t\t\t\ttokens\n\t\t\t\t\t.map( saveTransform )\n\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t.filter( ( token ) => ! valueContainsToken( token ) )\n\t\t\t),\n\t\t];\n\n\t\tif ( tokensToAdd.length > 0 ) {\n\t\t\tonChange( [ ...value, ...tokensToAdd ] );\n\t\t}\n\t}\n\n\t/**\n\t * Add a new token to value.\n\t *\n\t * @param {string} token token to add\n\t */\n\tfunction addNewToken( token: string ) {\n\t\taddNewTokens( [ token ] );\n\n\t\tsetState( {\n\t\t\t...state,\n\t\t\tinputText: '',\n\t\t\tselectedSuggestion: -1,\n\t\t\tpopoverOpen: closeOnSelect ? false : popoverOpen,\n\t\t} );\n\t}\n\n\t/**\n\t * Delete a token from value.\n\t *\n\t * @param {Token} token token to delete\n\t */\n\tfunction deleteToken( token: Token ) {\n\t\tsetState( {\n\t\t\t...state,\n\t\t\trefocus: true,\n\t\t} );\n\n\t\tonChange(\n\t\t\tvalue.filter( ( item ) => {\n\t\t\t\treturn getTokenValue( item ) !== getTokenValue( token );\n\t\t\t} )\n\t\t);\n\t}\n\n\t/**\n\t * Update the input text.\n\t *\n\t * @param {string} text new input text\n\t */\n\tconst updateInputText = ( text: string ) => {\n\t\tsetState( {\n\t\t\t...state,\n\t\t\tinputText: text,\n\t\t\tselectedSuggestion: -1,\n\t\t\tpopoverOpen:\n\t\t\t\ttext.length >= minQueryLength ||\n\t\t\t\t( extraOptions.length > 0 && text.length === 0 ),\n\t\t} );\n\n\t\tonInputChange( text );\n\t};\n\n\t/**\n\t * Set the selected suggestion.\n\t *\n\t * @param {number} i index of selected suggestion\n\t */\n\tconst setSelectedSuggestion = ( i: number ) =>\n\t\tsetState( {\n\t\t\t...state,\n\t\t\tselectedSuggestion: i,\n\t\t} );\n\n\tconst maxSelectionIndex = suggestions.length;\n\n\t// Check if selectedSuggestion is higher than list length.\n\t// If it is higher, set it to 0 as they have new query results.\n\t// This prevents an extra state change.\n\tconst currentIndex =\n\t\tselectedSuggestion > maxSelectionIndex ? 0 : selectedSuggestion;\n\n\t/**\n\t * Ensure selected suggestion is visible in a scrollable list.\n\t */\n\tuseEffect( () => {\n\t\tsetTimeout( () => {\n\t\t\tif ( selectedRef.current ) {\n\t\t\t\tselectedRef.current.scrollIntoView();\n\t\t\t}\n\t\t}, 25 );\n\t}, [ selectedSuggestion, popoverOpen ] );\n\n\tuseEffect( () => {\n\t\tif ( state.refocus ) {\n\t\t\tsetState( {\n\t\t\t\t...state,\n\t\t\t\trefocus: false,\n\t\t\t} );\n\n\t\t\tinputRef.current?.focus();\n\t\t}\n\t}, [ state, state.refocus ] );\n\n\tconst keyboardShortcuts = {\n\t\tup: ( event: KeyboardEvent ) => {\n\t\t\tevent.preventDefault();\n\t\t\tsetState( {\n\t\t\t\t...state,\n\t\t\t\t// W3 Aria says to open the popover if query text is empty on up keypress.\n\t\t\t\tpopoverOpen:\n\t\t\t\t\tinputText.length === 0 && ! popoverOpen\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: popoverOpen,\n\t\t\t\t// When at the top, skip to the last rule that isn't the upsell.\n\t\t\t\tselectedSuggestion: clamp(\n\t\t\t\t\tcurrentIndex - 1 >= 0\n\t\t\t\t\t\t? currentIndex - 1\n\t\t\t\t\t\t: maxSelectionIndex,\n\t\t\t\t\t0,\n\t\t\t\t\tmaxSelectionIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t},\n\t\tdown: ( event: KeyboardEvent ) => {\n\t\t\tevent.preventDefault();\n\t\t\tsetState( {\n\t\t\t\t...state,\n\t\t\t\t// W3 Aria says to open the popover if query text is empty on down keypress.\n\t\t\t\tpopoverOpen:\n\t\t\t\t\tinputText.length === 0 && ! popoverOpen\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: popoverOpen,\n\t\t\t\t// When at the top, skip to the last rule that isn't the upsell.\n\t\t\t\tselectedSuggestion: clamp(\n\t\t\t\t\tcurrentIndex + 1 <= maxSelectionIndex\n\t\t\t\t\t\t? currentIndex + 1\n\t\t\t\t\t\t: 0,\n\t\t\t\t\t0,\n\t\t\t\t\tmaxSelectionIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t},\n\t\t// Show popover.\n\t\t'alt+down': () =>\n\t\t\tsetState( {\n\t\t\t\t...state,\n\t\t\t\tpopoverOpen: true,\n\t\t\t} ),\n\t\t// If selected suggestion, choose it, otherwise close popover.\n\t\tenter: () => {\n\t\t\tif ( selectedSuggestion === -1 ) {\n\t\t\t\treturn setState( {\n\t\t\t\t\t...state,\n\t\t\t\t\tpopoverOpen: false,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thandleSuggestionSelect( mergedSuggestions[ currentIndex ] );\n\t\t},\n\t\t// Close the popover.\n\t\tescape: ( event: KeyboardEvent ) => {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tsetState( {\n\t\t\t\t...state,\n\t\t\t\tselectedSuggestion: -1,\n\t\t\t\tpopoverOpen: false,\n\t\t\t} );\n\t\t},\n\t\t// Generate a token from the input text on comma.\n\t\t',': ( event: KeyboardEvent ) => {\n\t\t\tif ( ! tokenOnComma ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\n\t\t\tif ( inputText.length === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taddNewToken( inputText );\n\t\t},\n\t\t...extraKeyboardShortcuts,\n\t};\n\n\t// Merge regular suggestions with extra options\n\tconst mergedSuggestions = [\n\t\t...suggestions,\n\t\t...extraOptions.map( ( opt ) => opt.label ),\n\t];\n\n\tconst handleSuggestionSelect = ( suggestion: string ) => {\n\t\t// Check if it's an extra option\n\t\tconst extraOption = extraOptions.find(\n\t\t\t( opt ) => opt.label === suggestion\n\t\t);\n\t\tif ( extraOption ) {\n\t\t\textraOption.onSelect?.();\n\t\t\taddNewToken( extraOption.value.toString() );\n\t\t\treturn;\n\t\t}\n\n\t\t// Regular suggestion\n\t\taddNewToken( suggestion );\n\t};\n\n\t// Only show popover if we have a valid anchor and content to show\n\tconst shouldShowPopover =\n\t\tpopoverOpen &&\n\t\tinputRef.current &&\n\t\t( mergedSuggestions.length > 0 || extraOptions.length > 0 );\n\n\treturn (\n\t\t<KeyboardShortcuts shortcuts={ keyboardShortcuts }>\n\t\t\t<div\n\t\t\t\tid={\n\t\t\t\t\tid\n\t\t\t\t\t\t? `${ id }-wrapper`\n\t\t\t\t\t\t: `component-smart-token-control-${ instanceId }-wrapper`\n\t\t\t\t}\n\t\t\t\tclassName={ clsx( [\n\t\t\t\t\telClasses.container,\n\t\t\t\t\tisFocused && 'is-focused',\n\t\t\t\t\tclassName,\n\t\t\t\t] ) }\n\t\t\t\tref={ ( _ref ) => {\n\t\t\t\t\twrapperRef.current = _ref;\n\t\t\t\t\tif ( ref && typeof ref === 'object' ) {\n\t\t\t\t\t\tref.current = _ref;\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tonBlur={ ( event: FocusEventInit ) => {\n\t\t\t\t\t// If the blur event is coming from the popover, don't close it.\n\t\t\t\t\tif ( event.relatedTarget ) {\n\t\t\t\t\t\tconst popover = event.relatedTarget as HTMLElement;\n\t\t\t\t\t\tif ( popover.closest( `.${ elClasses.popover }` ) ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tsetState( {\n\t\t\t\t\t\t...state,\n\t\t\t\t\t\tisFocused: false,\n\t\t\t\t\t\tpopoverOpen: false,\n\t\t\t\t\t\tselectedSuggestion: -1,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<BaseControl\n\t\t\t\t\tid={\n\t\t\t\t\t\tid\n\t\t\t\t\t\t\t? id\n\t\t\t\t\t\t\t: `component-smart-token-control-${ instanceId }`\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx( [\n\t\t\t\t\t\t\telClasses.inputContainer,\n\t\t\t\t\t\t\t! multiple && value.length > 0 && 'input-disabled',\n\t\t\t\t\t\t] ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ value.length > 0 && (\n\t\t\t\t\t\t\t<div className={ elClasses.tokens }>\n\t\t\t\t\t\t\t\t{ value.map( ( token ) => (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName={ elClasses.token }\n\t\t\t\t\t\t\t\t\t\tkey={ getTokenValue( token ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div className={ elClasses.tokenLabel }>\n\t\t\t\t\t\t\t\t\t\t\t{ renderToken( token ) }\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName={ elClasses.tokenRemove }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ messages.removeToken }\n\t\t\t\t\t\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tdeleteToken( token )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\t? id\n\t\t\t\t\t\t\t\t\t: `component-smart-token-control-${ instanceId }`\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tclassName={ clsx( [ elClasses.textInput ] ) }\n\t\t\t\t\t\t\tstyle={ inputStyles ?? {} }\n\t\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t\t\tdisabled={ ! multiple && value.length > 0 }\n\t\t\t\t\t\t\tref={ inputRef }\n\t\t\t\t\t\t\tvalue={ inputText ?? '' }\n\t\t\t\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\t\t\t\tupdateInputText( event.target.value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\t? `${ id }-listbox`\n\t\t\t\t\t\t\t\t\t: `${ instanceId }-listbox`\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-activedescendant={ `sug-${ currentIndex }` }\n\t\t\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\t\t\tsetState( {\n\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\tisFocused: true,\n\t\t\t\t\t\t\t\t\tpopoverOpen:\n\t\t\t\t\t\t\t\t\t\tinputText.length >= minQueryLength ||\n\t\t\t\t\t\t\t\t\t\t( extraOptions.length > 0 &&\n\t\t\t\t\t\t\t\t\t\t\t( suggestions.length === 0 ||\n\t\t\t\t\t\t\t\t\t\t\t\tinputText.length === 0 ) ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t! popoverOpen &&\n\t\t\t\t\t\t\t\t\t( suggestions.length > 0 ||\n\t\t\t\t\t\t\t\t\t\textraOptions.length > 0 )\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tsetState( {\n\t\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t\tpopoverOpen: true,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonBlur={ ( event: FocusEventInit ) => {\n\t\t\t\t\t\t\t\t// If the blur event is coming from the popover, don't close it.\n\t\t\t\t\t\t\t\tconst popover =\n\t\t\t\t\t\t\t\t\tevent.relatedTarget as HTMLElement;\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tpopover &&\n\t\t\t\t\t\t\t\t\tpopover.closest( `.${ elClasses.popover }` )\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tsetState( {\n\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\tisFocused: false,\n\t\t\t\t\t\t\t\t\tpopoverOpen: false,\n\t\t\t\t\t\t\t\t\tselectedSuggestion: -1,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</BaseControl>\n\t\t\t\t{ shouldShowPopover && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetState( {\n\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\tpopoverOpen: false,\n\t\t\t\t\t\t\t\tselectedSuggestion: -1,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t\t\tanchor={ inputRef.current }\n\t\t\t\t\t\tclassName={ elClasses.popover }\n\t\t\t\t\t\tstyle={ popoverStyles ?? {} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ elClasses.suggestions }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t// Allows the popover to assume full width.\n\t\t\t\t\t\t\t\twidth: inputRef.current?.clientWidth,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ mergedSuggestions.length ? (\n\t\t\t\t\t\t\t\tmergedSuggestions.map( ( suggestion, i ) => (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\t\t\t\tid={ `sug-${ i }` }\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx( [\n\t\t\t\t\t\t\t\t\t\t\telClasses.suggestion,\n\t\t\t\t\t\t\t\t\t\t\ti === currentIndex &&\n\t\t\t\t\t\t\t\t\t\t\t\t'is-currently-highlighted',\n\t\t\t\t\t\t\t\t\t\t\tvalueContainsToken( suggestion ) &&\n\t\t\t\t\t\t\t\t\t\t\t\t'is-selected',\n\t\t\t\t\t\t\t\t\t\t] ) }\n\t\t\t\t\t\t\t\t\t\tref={\n\t\t\t\t\t\t\t\t\t\t\ti === currentIndex\n\t\t\t\t\t\t\t\t\t\t\t\t? selectedRef\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectedSuggestion( i );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\thandleSuggestionSelect(\n\t\t\t\t\t\t\t\t\t\t\t\tmergedSuggestions[ i ]\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\ttabIndex={ i }\n\t\t\t\t\t\t\t\t\t\taria-selected={ i === currentIndex }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ renderSuggestion( suggestion ) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) )\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div>{ messages.noSuggestions }</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</KeyboardShortcuts>\n\t);\n};\n\nexport default forwardRef( SmartTokenControl ) as < T extends Token = string >(\n\tp: Props< T > & { ref?: ForwardedRef< Element > }\n) => React.ReactElement;\n","import { escapeRegExp } from 'lodash';\n\nimport { createInterpolateElement } from '@wordpress/element';\n\nexport type TextHighlightProps = {\n\t/**\n\t * The string to search for and highlight within the `text`. Case\n\t * insensitive. Multiple matches.\n\t *\n\t * @default ''\n\t */\n\thighlight: string | string[];\n\t/**\n\t * The string of text to be tested for occurrences of then given\n\t * `highlight`.\n\t *\n\t * @default ''\n\t */\n\ttext: string;\n};\n\n/**\n * Highlights occurrences of a given string within another string of text. Wraps\n * each match with a `<mark>` tag which provides browser default styling.\n *\n * ```jsx\n * import { TextHighlight } from '@wordpress/components';\n *\n * const MyTextHighlight = () => (\n * <TextHighlight\n * text=\"Why do we like Gutenberg? Because Gutenberg is the best!\"\n * highlight=\"Gutenberg\"\n * />\n * );\n * ```\n *\n * @param {TextHighlightProps} props Text highlight props.\n */\nexport const TextHighlight = ( props: TextHighlightProps ) => {\n\tconst { text = '', highlight = '' } = props;\n\t// Convert single string to array, trim thim & filters empty|null values.\n\tconst trimmedHighlightText = (\n\t\t! Array.isArray( highlight ) ? [ highlight ] : highlight\n\t)\n\t\t// Trim each highlight.\n\t\t.map( ( h ) => h.trim() )\n\t\t// Filter out empty | null items.\n\t\t.filter( ( h ) => !! h )\n\t\t// Escape regex for each string.\n\t\t.map( ( h ) => escapeRegExp( h ) );\n\n\tif ( ! trimmedHighlightText.length ) {\n\t\treturn <>{ text }</>;\n\t}\n\n\tconst regex = new RegExp( `(${ trimmedHighlightText.join( '|' ) })`, 'gi' );\n\n\treturn createInterpolateElement( text.replace( regex, '<mark>$&</mark>' ), {\n\t\tmark: <mark />,\n\t} );\n};\n\nexport default TextHighlight;\n","// extracted by mini-css-extract-plugin\nexport {};","import './editor.scss';\n\nimport clsx from 'clsx';\nimport { clamp, debounce } from 'lodash';\n\nimport {\n\tBaseControl,\n\tButton,\n\tIcon,\n\tKeyboardShortcuts,\n\tPopover,\n\tSpinner,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tforwardRef,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@popup-maker/i18n';\nimport { edit, globe, keyboardReturn, link } from '@wordpress/icons';\n\nimport { urlSearchStore } from '@popup-maker/core-data';\n\nimport LinkSuggestion from './suggestion';\n\nimport type { WPLinkSearchResult } from '@popup-maker/core-data';\n\ntype State = {\n\tvalue: WPLinkSearchResult;\n\tquery: string;\n\tisFocused: boolean;\n\tisEditing: boolean;\n\tselected: number;\n\tshowSuggestions: boolean;\n};\n\ntype Props = {\n\tid?: string;\n\tlabel?: string;\n\tvalue?: string | WPLinkSearchResult;\n\tonChange?: ( value: WPLinkSearchResult ) => void;\n\tclassName?: string | clsx.ClassValue;\n};\n\nconst minQueryLength = 1;\nconst maxSuggestions = 10;\nconst defaultSuggestion: WPLinkSearchResult = {\n\tid: -1,\n\ttitle: '',\n\turl: '',\n\ttype: __( 'URL', 'popup-maker' ),\n};\n\nconst URLControl = (\n\t{\n\t\tid,\n\t\tlabel,\n\t\tvalue: currentValue,\n\t\tonChange = () => {},\n\t\tclassName = '',\n\t}: Props,\n\tref: React.ForwardedRef< HTMLInputElement | null >\n) => {\n\t// Set up instance ID & refs.\n\tconst instanceId = useInstanceId( URLControl );\n\tconst wrapperRef = useRef< HTMLDivElement | null >( null );\n\tconst inputWrapperRef = useRef< HTMLDivElement | null >( null );\n\tconst inputRef = useRef< HTMLInputElement | null >( null );\n\tconst popoverRef = useRef< HTMLDivElement | null >( null );\n\tconst editBtnRef = useRef< HTMLButtonElement | null >( null );\n\tconst suggestionRefs = useRef< HTMLButtonElement[] >( [] );\n\n\t// Handle parent ref syncing.\n\tuseImperativeHandle( ref, () => inputRef.current!, [ inputRef ] );\n\n\tconst parsedValue =\n\t\ttypeof currentValue === 'string'\n\t\t\t? { ...defaultSuggestion, url: currentValue }\n\t\t\t: currentValue ?? defaultSuggestion;\n\n\tconst defaultState = {\n\t\tvalue: parsedValue,\n\t\tquery: parsedValue.url ?? '',\n\t\tisEditing: false,\n\t\tisFocused: false,\n\t\tselected: -1,\n\t\tshowSuggestions: false,\n\t};\n\n\tconst [ state, setState ] = useState< State >( defaultState );\n\n\tconst { value, query, isFocused, isEditing, selected, showSuggestions } =\n\t\tstate;\n\n\tconst inputId = id ? id : `url-input-control-${ instanceId }`;\n\tconst suggestionsListId = `url-input-control-suggestions-${ instanceId }`;\n\tconst suggestionOptionIdPrefix = `url-input-${ instanceId }-sug-`;\n\n\t// Fetch suggestions and other needed info.\n\tconst { unfilteredSuggestions, isFetchingSuggestions } = useSelect(\n\t\t( select ) => ( {\n\t\t\tunfilteredSuggestions: select( urlSearchStore ).getSuggestions(),\n\t\t\tisFetchingSuggestions:\n\t\t\t\tselect( urlSearchStore ).isResolving( 'updateSuggestions' ),\n\t\t} ),\n\t\t[]\n\t);\n\n\t// Get dispatcher for updating suggestions.\n\tconst { updateSuggestions } = useDispatch( urlSearchStore );\n\n\tconst debounceSearchRequest = debounce( updateSuggestions, 200, {\n\t\tleading: true,\n\t} );\n\n\t// Left off conceptualizing adding debounce to something from useSelect\n\tconst handleAutocomplete = ( searchText: string ) => {\n\t\tsetState( {\n\t\t\t...state,\n\t\t\tquery: searchText,\n\t\t\tshowSuggestions: searchText.length >= minQueryLength,\n\t\t} );\n\n\t\tdebounceSearchRequest( searchText.trim(), {\n\t\t\ttype: [ 'post', 'term' ],\n\t\t} );\n\t};\n\n\t// Set the currently selected suggestion.\n\tconst setFocusedSuggestion = ( i: number ) =>\n\t\tsetState( {\n\t\t\t...state,\n\t\t\tselected: i,\n\t\t} );\n\n\t// Handle selection of a suggestion.\n\tconst selectSuggestion = ( suggestion: WPLinkSearchResult ) => {\n\t\tconst newState = {\n\t\t\t...state,\n\t\t\tvalue: { ...value, ...suggestion },\n\t\t\tquery: '',\n\t\t\tisEditing: false,\n\t\t\tisFocused: true,\n\t\t\tselected: -1,\n\t\t\tshowSuggestions: false,\n\t\t};\n\n\t\tsetState( newState );\n\t};\n\n\t// When internal value is changed, call onChange method.\n\tuseEffect( () => {\n\t\tif ( parsedValue.url !== value.url ) {\n\t\t\tonChange( value );\n\t\t}\n\t}, [ value, parsedValue.url, onChange ] );\n\n\t// Change internal focus based on isEditing.\n\tuseEffect( () => {\n\t\tif ( ! isFocused ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isEditing ) {\n\t\t\tinputRef.current?.focus();\n\t\t} else {\n\t\t\teditBtnRef.current?.focus();\n\t\t}\n\t}, [ isEditing, isFocused ] );\n\n\t// Memo-ize filtered & truncated list of suggestions\n\tconst suggestions = useMemo(\n\t\t() =>\n\t\t\tunfilteredSuggestions\n\t\t\t\t// Deduplicate.\n\t\t\t\t.filter( ( sug, i ) => {\n\t\t\t\t\tconst find = unfilteredSuggestions.findIndex(\n\t\t\t\t\t\t( r ) => sug.id === r.id\n\t\t\t\t\t);\n\n\t\t\t\t\treturn find === i;\n\t\t\t\t} ),\n\t\t[ unfilteredSuggestions ]\n\t).slice( 0, maxSuggestions );\n\n\t// +1 because we append a \"Press Enter to add this link\" button.\n\tconst maxSelectionIndex = suggestions.length;\n\n\t// Check if focusedSuggestion is higher than list length.\n\t// If it is higher, set it to 0 as they have new query results.\n\t// This prevents an extra state change.\n\tconst currentIndex = selected > maxSelectionIndex ? 0 : selected;\n\n\t// Define our list of keyboard shortcuts.\n\tconst keyboardShortcuts = {\n\t\tup: () =>\n\t\t\tsetState( {\n\t\t\t\t...state,\n\t\t\t\t// W3 Aria says to open the popover if query text is empty on up keypress.\n\t\t\t\tshowSuggestions:\n\t\t\t\t\tquery.length === 0 && ! showSuggestions\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: showSuggestions,\n\t\t\t\t// When at the top, skip to the last rule that isn't the upsell.\n\t\t\t\tselected: clamp(\n\t\t\t\t\tcurrentIndex - 1 >= 0\n\t\t\t\t\t\t? currentIndex - 1\n\t\t\t\t\t\t: maxSelectionIndex,\n\t\t\t\t\t0,\n\t\t\t\t\tmaxSelectionIndex\n\t\t\t\t),\n\t\t\t} ),\n\t\tdown: () => {\n\t\t\tsetState( {\n\t\t\t\t...state,\n\t\t\t\t// W3 Aria says to open the popover if query text is empty on up keypress.\n\t\t\t\tshowSuggestions:\n\t\t\t\t\tquery.length === 0 && ! showSuggestions\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: showSuggestions,\n\t\t\t\t// When at the top, skip to the last rule that isn't the upsell.\n\t\t\t\tselected: clamp(\n\t\t\t\t\tcurrentIndex + 1 <= maxSelectionIndex\n\t\t\t\t\t\t? currentIndex + 1\n\t\t\t\t\t\t: 0,\n\t\t\t\t\t0,\n\t\t\t\t\tmaxSelectionIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t},\n\t\t// Show popover.\n\t\t'alt+down': () =>\n\t\t\tsetState( {\n\t\t\t\t...state,\n\t\t\t\tshowSuggestions: true,\n\t\t\t} ),\n\t\t// If selected suggestion, choose it, otherwise close popover.\n\t\tenter: ( event: KeyboardEvent ) => {\n\t\t\tevent.preventDefault();\n\n\t\t\tif (\n\t\t\t\tshowSuggestions &&\n\t\t\t\tcurrentIndex > -1 &&\n\t\t\t\tcurrentIndex !== maxSelectionIndex\n\t\t\t) {\n\t\t\t\tselectSuggestion( suggestions[ currentIndex ] );\n\t\t\t} else if ( value.url === query ) {\n\t\t\t\tsetState( {\n\t\t\t\t\t...state,\n\t\t\t\t\tisEditing: false,\n\t\t\t\t\tquery: '',\n\t\t\t\t\tshowSuggestions: false,\n\t\t\t\t\tselected: -1,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tselectSuggestion( {\n\t\t\t\t\ttitle: __( 'Custom URL', 'popup-maker' ),\n\t\t\t\t\ttype: 'URL',\n\t\t\t\t\turl: query,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t// Close the popover.\n\t\tescape: ( event: KeyboardEvent ) => {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tsetState( {\n\t\t\t\t...state,\n\t\t\t\tselected: -1,\n\t\t\t\tshowSuggestions: false,\n\t\t\t} );\n\t\t},\n\t};\n\n\treturn (\n\t\t<BaseControl\n\t\t\tid={ inputId }\n\t\t\tlabel={ label }\n\t\t\tclassName={ clsx( [\n\t\t\t\t'components-url-control',\n\t\t\t\tisFocused && 'is-focused',\n\t\t\t\tclassName,\n\t\t\t] ) }\n\t\t\t__nextHasNoMarginBottom\n\t\t>\n\t\t\t<div\n\t\t\t\tref={ wrapperRef }\n\t\t\t\tonFocus={ () => {\n\t\t\t\t\tsetState( {\n\t\t\t\t\t\t...state,\n\t\t\t\t\t\tisFocused: true,\n\t\t\t\t\t\tshowSuggestions: query.length >= minQueryLength,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tonBlur={ ( event ) => {\n\t\t\t\t\t// If focus is now on element outside this container, clear state.\n\t\t\t\t\tif (\n\t\t\t\t\t\t! wrapperRef.current?.contains( event.relatedTarget ) &&\n\t\t\t\t\t\t! popoverRef.current?.contains( event.relatedTarget )\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst newState = {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\tselected: -1,\n\t\t\t\t\t\t\tisFocused: false,\n\t\t\t\t\t\t\tshowSuggestions: false,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif ( isEditing ) {\n\t\t\t\t\t\t\tnewState.isEditing = false;\n\n\t\t\t\t\t\t\t// If there is a selected suggestion, select it.\n\t\t\t\t\t\t\tif ( selected > -1 ) {\n\t\t\t\t\t\t\t\tnewState.value = suggestions[ selected ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Otherwise, select the current query.\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tnewState.value = {\n\t\t\t\t\t\t\t\t\ttitle: __( 'Custom URL', 'popup-maker' ),\n\t\t\t\t\t\t\t\t\ttype: 'URL',\n\t\t\t\t\t\t\t\t\turl: query,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetState( newState );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ ! isEditing && parsedValue.url.length > 0 ? (\n\t\t\t\t\t<div className=\"chosen-suggestion\">\n\t\t\t\t\t\t<Icon icon={ globe } className=\"suggestion-item-icon\" />\n\t\t\t\t\t\t<span className=\"suggestion-item-header\">\n\t\t\t\t\t\t\t<span className=\"suggestion-item-title\">\n\t\t\t\t\t\t\t\t<>{ value?.title ?? value?.url }</>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\tclassName=\"suggestion-item-info\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ value.url }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\taria-label={ __( 'Edit', 'popup-maker' ) }\n\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetState( {\n\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\tisEditing: true,\n\t\t\t\t\t\t\t\t\tisFocused: true,\n\t\t\t\t\t\t\t\t\tquery: parsedValue.url,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tref={ editBtnRef }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<KeyboardShortcuts shortcuts={ keyboardShortcuts }>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ clsx( [ 'url-control-wrapper' ] ) }\n\t\t\t\t\t\t\tref={ inputWrapperRef }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"url-control\">\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\t\tclassName=\"url-control__input-icon\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tid={ inputId }\n\t\t\t\t\t\t\t\t\tclassName=\"url-control__input\"\n\t\t\t\t\t\t\t\t\tref={ inputRef }\n\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\t\t\tplaceholder={ __(\n\t\t\t\t\t\t\t\t\t\t'Search or type url',\n\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tvalue={ query }\n\t\t\t\t\t\t\t\t\tonChange={ ( e ) =>\n\t\t\t\t\t\t\t\t\t\thandleAutocomplete( e.target.value )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\t\t\t\taria-controls={ suggestionsListId }\n\t\t\t\t\t\t\t\t\taria-expanded={ showSuggestions }\n\t\t\t\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\t\t\t\tcurrentIndex >= 0\n\t\t\t\t\t\t\t\t\t\t\t? `${ suggestionOptionIdPrefix }-${ currentIndex }`\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'URL',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t ) /* Ensure input always has an accessible label */\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<div className=\"url-control__actions\">\n\t\t\t\t\t\t\t\t\t{ isFetchingSuggestions && <Spinner /> }\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\t\t\t\ticonSize={ 30 }\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tselectSuggestion( {\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Custom URL',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'URL',\n\t\t\t\t\t\t\t\t\t\t\t\turl: query,\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{ showSuggestions && suggestions.length > 0 && (\n\t\t\t\t\t\t\t\t<Popover\n\t\t\t\t\t\t\t\t\tref={ popoverRef }\n\t\t\t\t\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\t\t\t\t\tonClose={ () => setFocusedSuggestion( -1 ) }\n\t\t\t\t\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t\t\t\t\t\tanchor={ inputWrapperRef.current }\n\t\t\t\t\t\t\t\t\tclassName=\"suggestions-popover\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"suggestions\"\n\t\t\t\t\t\t\t\t\t\tid={ suggestionsListId }\n\t\t\t\t\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ suggestions.map(\n\t\t\t\t\t\t\t\t\t\t\t( suggestion, i ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<LinkSuggestion\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ suggestion.id }\n\t\t\t\t\t\t\t\t\t\t\t\t\tid={ `${ suggestionOptionIdPrefix }-${ i }` }\n\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={ suggestion.title }\n\t\t\t\t\t\t\t\t\t\t\t\t\tinfo={ suggestion.url }\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype={ suggestion.type }\n\t\t\t\t\t\t\t\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ti === currentIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectSuggestion(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuggestion\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonFocus={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetFocusedSuggestion(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ti\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tref={ (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_ref: HTMLButtonElement\n\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuggestionRefs.current[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ti\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t] = _ref;\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t\t\t\t{ query.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t<LinkSuggestion\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ 'use-current-input-text' }\n\t\t\t\t\t\t\t\t\t\t\t\tid={ `${ suggestionOptionIdPrefix }-${ maxSelectionIndex }` }\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ globe }\n\t\t\t\t\t\t\t\t\t\t\t\ttitle={ query }\n\t\t\t\t\t\t\t\t\t\t\t\tinfo={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Press ENTER to add this link',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\ttype={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'URL',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"is-url\"\n\t\t\t\t\t\t\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaxSelectionIndex ===\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectSuggestion( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Custom URL',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'URL',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\turl: query,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetFocusedSuggestion(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxSelectionIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\tref={ (\n\t\t\t\t\t\t\t\t\t\t\t\t\t_ref: HTMLButtonElement\n\t\t\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsuggestionRefs.current[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxSelectionIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t] = _ref;\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</Popover>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</KeyboardShortcuts>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</BaseControl>\n\t);\n};\n\nexport default forwardRef< HTMLInputElement | null, Props >(\n\tURLControl\n) as typeof URLControl;\n","import clsx from 'clsx';\n\nimport { noop } from '@popup-maker/utils';\nimport { Button, Icon } from '@wordpress/components';\nimport { forwardRef } from '@wordpress/element';\n\ntype Props = {\n\ticon?: JSX.Element;\n\ttitle: string | React.ReactNode;\n\tinfo: string | React.ReactNode;\n\ttype?: string | React.ReactNode;\n\tprefix?: string;\n\tclassName?: clsx.ClassValue;\n\tisSelected: boolean;\n\tonFocus: () => void;\n\tonSelect: () => void;\n\t[ key: string ]: any;\n};\n\nconst Suggestion = forwardRef< HTMLButtonElement, Props >(\n\t(\n\t\t{\n\t\t\ticon,\n\t\t\ttitle,\n\t\t\tinfo,\n\t\t\ttype,\n\t\t\tclassName,\n\t\t\tisSelected,\n\t\t\tonFocus = noop,\n\t\t\tonSelect = noop,\n\t\t\t...buttonProps\n\t\t},\n\t\tref\n\t) => {\n\t\treturn (\n\t\t\t<Button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={ clsx( [\n\t\t\t\t\t'suggestion',\n\t\t\t\t\tisSelected && 'is-selected',\n\t\t\t\t\tclassName,\n\t\t\t\t] ) }\n\t\t\t\tref={ ref }\n\t\t\t\tonClick={ onSelect }\n\t\t\t\tonFocus={ onFocus }\n\t\t\t\tonMouseOver={ onFocus }\n\t\t\t\taria-selected={ isSelected }\n\t\t\t\trole=\"option\"\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\t{ ...buttonProps }\n\t\t\t>\n\t\t\t\t{ icon && (\n\t\t\t\t\t<Icon icon={ icon } className=\"suggestion-item-icon\" />\n\t\t\t\t) }\n\t\t\t\t<span className=\"suggestion-item-header\">\n\t\t\t\t\t<span className=\"suggestion-item-title\">{ title }</span>\n\t\t\t\t\t{ info && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\tclassName=\"suggestion-item-info\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ info }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t\t{ type && (\n\t\t\t\t\t<span className=\"suggestion-item-type\">{ type }</span>\n\t\t\t\t) }\n\t\t\t</Button>\n\t\t);\n\t}\n);\n\nexport default Suggestion;\n","export { default as useControlledState } from './use-controlled-state';\n","import { useCallback, useRef, useState } from '@wordpress/element';\n\nexport default function useControlledState< T extends any = unknown >(\n\tvalue: T | undefined,\n\tdefaultValue: T,\n\tonChange:\n\t\t| undefined\n\t\t| ( ( value: T ) => void )\n\t\t| ( ( value: T, ...args: any[] ) => void )\n): [ T, ( value: T, ...args: any[] ) => void ] {\n\tconst [ stateValue, setStateValue ] = useState( value ?? defaultValue );\n\tconst ref = useRef( value !== undefined );\n\tconst wasControlled = ref.current;\n\tconst isControlled = value !== undefined;\n\t// Internal state reference for useCallback\n\tconst stateRef = useRef< T | undefined >( stateValue );\n\tif ( wasControlled !== isControlled ) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t`WARN: A component changed from ${\n\t\t\t\twasControlled ? 'controlled' : 'uncontrolled'\n\t\t\t} to ${ isControlled ? 'controlled' : 'uncontrolled' }.`\n\t\t);\n\t}\n\n\tref.current = isControlled;\n\n\tconst setValue = useCallback(\n\t\t( _value, ...args ) => {\n\t\t\tconst onChangeCaller = ( newValue, ...onChangeArgs ) => {\n\t\t\t\tif ( onChange ) {\n\t\t\t\t\tif ( ! Object.is( stateRef.current, newValue ) ) {\n\t\t\t\t\t\tonChange( newValue, ...onChangeArgs );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif ( ! isControlled ) {\n\t\t\t\t\tstateRef.current = newValue;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif ( typeof _value === 'function' ) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320'\n\t\t\t\t);\n\t\t\t\t// this supports functional updates https://reactjs.org/docs/hooks-reference.html#functional-updates\n\t\t\t\t// when someone using useControlledState calls setControlledState(myFunc)\n\t\t\t\t// this will call our useState setState with a function as well which invokes myFunc and calls onChange with the value from myFunc\n\t\t\t\t// if we're in an uncontrolled state, then we also return the value of myFunc which to setState looks as though it was just called with myFunc from the beginning\n\t\t\t\t// otherwise we just return the controlled value, which won't cause a rerender because React knows to bail out when the value is the same\n\t\t\t\tconst updateFunction = ( oldValue, ...functionArgs ) => {\n\t\t\t\t\tconst interceptedValue = _value(\n\t\t\t\t\t\tisControlled ? stateRef.current : oldValue,\n\t\t\t\t\t\t...functionArgs\n\t\t\t\t\t);\n\t\t\t\t\tonChangeCaller( interceptedValue, ...args );\n\t\t\t\t\tif ( ! isControlled ) {\n\t\t\t\t\t\treturn interceptedValue;\n\t\t\t\t\t}\n\t\t\t\t\treturn oldValue;\n\t\t\t\t};\n\t\t\t\tsetStateValue( updateFunction );\n\t\t\t} else {\n\t\t\t\tif ( ! isControlled ) {\n\t\t\t\t\tsetStateValue( _value );\n\t\t\t\t}\n\t\t\t\tonChangeCaller( _value, ...args );\n\t\t\t}\n\t\t},\n\t\t[ isControlled, onChange ]\n\t);\n\n\t// If a controlled component's value prop changes, we need to update stateRef\n\tif ( isControlled ) {\n\t\tstateRef.current = value;\n\t} else {\n\t\tvalue = stateValue;\n\t}\n\n\treturn [ value, setValue ] as [ T, ( value: T, ...args: any[] ) => void ];\n}\n","module.exports = window[\"popupMaker\"][\"coreData\"];","module.exports = window[\"popupMaker\"][\"i18n\"];","module.exports = window[\"popupMaker\"][\"utils\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"compose\"];","module.exports = window[\"wp\"][\"coreData\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"htmlEntities\"];","module.exports = window[\"wp\"][\"keycodes\"];","module.exports = window[\"wp\"][\"primitives\"];","module.exports = window[\"lodash\"];","module.exports = window[\"React\"];","module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export * from './lib';\n\ninterface Popup {\n\tID: number;\n\tpost_title: string;\n}\n\ndeclare global {\n\tinterface Window {\n\t\tpopupMakerComponents: {\n\t\t\tpopups: Popup[];\n\t\t};\n\t}\n}\n"],"names":["__","useEffect","useRef","Button","Flex","Modal","jsx","_jsx","jsxs","_jsxs","ConfirmDialogue","message","callback","onClose","isDestructive","children","confirmButtonRef","previousFocusRef","current","ownerDocument","activeElement","focus","length","title","onRequestClose","focusOnMount","justify","text","onClick","variant","ref","clsx","withInstanceId","NavigableMenu","TabButton","TabPanel","instanceId","orientation","activeClass","tabsClass","tabClass","className","tabs","selected","onSelect","_selectedTab$name","selectedTab","find","t","name","selectedId","handleClick","tabKey","onNavigate","_childIndex","child","click","role","map","tab","_tab$href","_tab$target","tabId","href","undefined","target","id","tabIndex","rest","useSelect","useMemo","useState","useDebounce","decodeEntities","sprintf","callToActionStore","SmartTokenControl","Fragment","_Fragment","CallToActionSelectControl","label","value","onChange","placeholder","multiple","inputProps","queryText","setQueryText","updateQueryText","suggestions","isLoading","select","getCallToActions","isResolving","findSuggestion","_id","suggestion","toString","searchResults","filter","rendered","toLowerCase","includes","values","vals","Array","isArray","v","getTokenValue","token","tokenOnComma","onInputChange","newValue","newVals","val","tokenValue","match","numericValue","parseInt","isNaN","renderToken","_suggestion$title$ren","raw","renderSuggestion","item","_suggestion$title$ren2","option","sugId","messages","noSuggestions","noop","_x","Icon","ToggleControl","Tooltip","DeviceToggle","icon","isVisible","toggleLabel","toggleIcon","onToggle","checked","hideLabelFromVision","__nextHasNoMarginBottom","store","coreDataStore","EntitySelectControl","entityKind","entityType","forceRefresh","prefill","getEntityRecords","context","include","per_page","isSearching","search","found","replace","charAt","toUpperCase","slice","_option$id$toString","Panel","PanelBody","FieldPanel","header","opened","FieldRow","description","htmlFor","BaseControl","F10","isKeyboardEvent","debounce","useInstanceId","wp","tinymce","wpEditorL10n","baseURL","suffix","settings","window","FreeFormEditControl","props","minHeight","didMount","editor","get","currentContent","getContent","setContent","EditorManager","overrideDefaults","base_url","onSetup","bookmark","on","selection","getBookmark","scrollContainer","document","querySelector","scrollPosition","scrollTop","once","moveToBookmark","debouncedOnChange","_lastChange","cancel","event","primary","stopPropagation","altKey","keyCode","rootNode","getBody","blur","initialize","oldEditor","inline","content_css","fixed_toolbar_container","setup","onReadyStateChange","readyState","addEventListener","removeEventListener","remove","onToolbarKeyDown","nativeEvent","stopImmediatePropagation","onKeyDown","style","classnames","FullScreenPanel","isFull","setIsFull","html","classList","add","default","ControlledTabPanel","ListTable","SortDirection","PopupSelectControl","RadioButtonControl","SearchableMulticheckControl","TextHighlight","URLControl","arrowDown","arrowUp","CheckboxControl","useControlledState","createElement","_createElement","TableCell","heading","items","columns","sortableColumns","idCol","rowClasses","renderCell","col","noItemsText","showBulkSelect","selectedItems","incomingSelectedItems","onSelectItems","onSort","initialSort","_columns$idCol","cols","colCount","Object","keys","setSelectedItems","ColumnHeaders","entries","colLabel","_initialSort$order","isIdCol","isBulkSelect","isSortedBy","orderby","isSortable","indexOf","cellProps","key","scope","order","ASC","Label","size","indeterminate","newDirection","DESC","rowIndex","newSelectedItems","colSpan","SelectControl","popups","popupMakerComponents","emptyValueLabel","required","options","ID","post_title","__next40pxDefaultSize","equalWidth","spacing","gap","optLabel","optValue","chevronDown","chevronUp","searchIcon","searchText","setSearchText","sortDirection","setSortDirection","isChecked","toggleOption","filteredOptions","keywords","sortedOptions","sort","a","b","Set","unSelected","type","iconPosition","KeyboardShortcuts","Popover","close","forwardRef","clamp","defaultClasses","container","popover","inputContainer","tokens","tokenLabel","tokenRemove","textInput","toggleSuggestions","inputStyles","popoverStyles","classes","saveTransform","closeOnSelect","extraKeyboardShortcuts","extraOptions","searchTokens","removeToken","elClasses","minQueryLength","wrapperRef","inputRef","selectedRef","state","setState","inputText","isFocused","selectedSuggestion","popoverOpen","refocus","valueContainsToken","some","addNewTokens","tokensToAdd","Boolean","addNewToken","deleteToken","updateInputText","setSelectedSuggestion","i","maxSelectionIndex","currentIndex","setTimeout","scrollIntoView","keyboardShortcuts","up","preventDefault","down","alt+down","enter","handleSuggestionSelect","mergedSuggestions","escape","opt","extraOption","shouldShowPopover","shortcuts","_ref","onBlur","relatedTarget","closest","disabled","autoComplete","onFocus","position","anchor","width","clientWidth","onMouseDown","escapeRegExp","createInterpolateElement","highlight","trimmedHighlightText","h","trim","regex","RegExp","join","mark","Spinner","useDispatch","useImperativeHandle","edit","globe","keyboardReturn","link","urlSearchStore","LinkSuggestion","maxSuggestions","defaultSuggestion","url","currentValue","_parsedValue$url","_value$title","inputWrapperRef","popoverRef","editBtnRef","suggestionRefs","parsedValue","defaultState","query","isEditing","showSuggestions","inputId","suggestionsListId","suggestionOptionIdPrefix","unfilteredSuggestions","isFetchingSuggestions","getSuggestions","updateSuggestions","debounceSearchRequest","leading","handleAutocomplete","setFocusedSuggestion","selectSuggestion","newState","sug","findIndex","r","contains","e","iconSize","info","isSelected","Suggestion","buttonProps","onMouseOver","useCallback","defaultValue","stateValue","setStateValue","wasControlled","isControlled","stateRef","console","warn","setValue","_value","args","onChangeCaller","onChangeArgs","is","updateFunction","oldValue","functionArgs","interceptedValue"],"sourceRoot":""} dist/packages/components.css.map 0000644 00000157604 15174671772 0012776 0 ustar 00 {"version":3,"file":"components.css","mappings":"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ACC;EACA;EACA;AAHF;AAMC;;;EAGC;EACA;AAJF;AAOC;;EAEC;AALF;AASE;;EAEC;AAPH;AAUE;EACC;EACA;EAEA;EACA;EACA;EACA;AATH;AAYI;EACC;AAVL;AAWK;EACC;AATN;AAWK;EACC;EACA;EACA;AATN;AAeE;EAGC;AAfH;AAoBG;;;EAEC;EACA;AAjBJ;AAwBE;;;;EAEC;EACA;EACA;EACA;EACA;AApBH;AAsBG;;;;EACC;AAjBJ;AAoBG;;;;EACC;EACA;AAfJ;AAoBC;;EAEC;AAlBF;AAqBC;;EAEC;EACA;AAnBF;AAuBE;EACC;EACA;AArBH;AAwBE;EACC;AAtBH;AAyBE;EACC;AAvBH;AAyBE;;EAEC;AAvBH;AA2BC;;;EAGC;AAzBF;AA6BE;;;EAGC;AA3BH;AAgCE;;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;AA9BH;AAgCG;;EACC;AA7BJ;AAgCG;;EACC;EACA;AA7BJ;AAkCC;EACC;AAhCF,C;;;;AC1IC;EACC;AAAF;AAEE;EACC;EACA;AAAH;AAEG;;EAEC;EAEA;AADJ;AAGI;;EACC;AAAL;AAOE;EACC;AALH;AAWG;EACC;AATJ,C;;;;ACrBA,gBAAgB;AAAhB;EACC;AAED;AAAC;EACC;EACA;EACA;EACA;EACA;AAEF;AAAE;EACC;EACA;EACA;EACA;AAEH;AAEC;EACC;EACA;EACA;EACA;AAAF;AAEE;EACC;EACA;AAAH;AAIC;EACC;EACA;EACA;EACA;AAFF;AAIE;EACC;AAFH;AAKE;EACC;AAHH;AAIG;EACC;EACA;AAFJ;AAOG;;EAEC;AALJ;AAQG;EACC;EACA;EACA;AANJ;AAWG;;EAEC;EACA;AATJ;AAaE;EACC;EACA;AAXH;AAYG;EACC;AAVJ;AAcE;EACC;AAZH;AAeE;EACC;EACA;AAbH;AAeG;;EAEC;AAbJ,C;;;;ACzEC;EACC;AAAF;AAIE;EACC;AAFH;AAIG;EACC;EACA;EACA;EACA;EACA;EACA;AAFJ;AAKG;EACC;EACA;EACA;EACA;EAEA;AAJJ;AAOG;EACC;EACA;EACA;AALJ;AAOI;;EAEC;EACA;AALL;AAQI;EACC;EACA;AANL;AASI;EACC;EACA;AAPL;AAaC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAXF;AAaE;EACC;EACA;EACA;AAXH;AAcE;EACC;AAZH;AAeE;EACC;AAbH;;AAkBA;EACC;AAfD;AAiBC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAfF;AAiBE;EAEC;AAhBH;AAoBC;;EAEC;EACA;AAlBF;AAqBC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAnBF;AAsBC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AApBF;AAuBC;EACC;EACA;EACA;EACA;AArBF;AAwBC;EACC;EACA;EACA;EACA;EACA;AAtBF;AAyBC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAvBF,C","sources":["webpack://popup-maker/core/./packages/components/src/lib/smart-token-control/editor.scss?","webpack://popup-maker/core/./node_modules/@wordpress/base-styles/_colors.scss?","webpack://popup-maker/core/./node_modules/@wordpress/base-styles/_variables.scss?","webpack://popup-maker/core/./node_modules/@wordpress/base-styles/_breakpoints.scss?","webpack://popup-maker/core/./node_modules/@wordpress/base-styles/_functions.scss?","webpack://popup-maker/core/./node_modules/@wordpress/base-styles/_long-content-fade.scss?","webpack://popup-maker/core/./node_modules/@wordpress/base-styles/_mixins.scss?","webpack://popup-maker/core/./packages/components/src/lib/device-toggle/index.scss?","webpack://popup-maker/core/./packages/components/src/lib/field-panel/editor.scss?","webpack://popup-maker/core/./packages/components/src/lib/field-row/editor.scss?","webpack://popup-maker/core/./packages/components/src/lib/freeform-control/editor.scss?","webpack://popup-maker/core/./packages/components/src/lib/list-table/editor.scss?","webpack://popup-maker/core/./packages/components/src/lib/radio-buttons-control/editor.scss?","webpack://popup-maker/core/./packages/components/src/lib/searchable-multicheck-control/editor.scss?","webpack://popup-maker/core/./packages/components/src/lib/url-control/editor.scss?"],"sourcesContent":[".component-smart-token-control {\n\twidth: 100%;\n\n\t.component-smart-token-control__input {\n\t\tpadding: 5px;\n\t\tbox-shadow: 0 0 0 transparent;\n\t\tborder-radius: 4px;\n\t\tborder: 1px solid #8c8f94;\n\t\tmargin: 0 1px;\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: space-between;\n\t\tgap: 5px;\n\n\t\t.component-smart-token-control__tokens {\n\t\t\twidth: 100%;\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t\talign-items: center;\n\t\t\tflex-grow: 1;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\tgap: 5px;\n\n\t\t\t.component-smart-token-control__token {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tpadding: 0 4px;\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tborder: 1px solid #8c8f94;\n\t\t\t\tbackground-color: #eee;\n\t\t\t\twidth: fit-content;\n\t\t\t\ttext-wrap: balance;\n\n\t\t\t\t.component-smart-token-control__token-label {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\tvertical-align: middle;\n\t\t\t\t}\n\n\t\t\t\tbutton.component-smart-token-control__token-remove {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\theight: auto;\n\t\t\t\t\tmin-width: auto;\n\t\t\t\t\tmargin-left: 2px;\n\t\t\t\t\tsvg {\n\t\t\t\t\t\twidth: 1em;\n\t\t\t\t\t\theight: 1em;\n\t\t\t\t\t\tvertical-align: middle;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tinput[type=\"text\"] {\n\t\t\tflex-grow: 1;\n\t\t\tborder: none;\n\t\t\tbackground: transparent;\n\t\t\tbox-shadow: none;\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\t\t\twidth: 100%;\n\t\t\tline-height: 1.2;\n\t\t\tmin-height: auto;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t&.input-disabled {\n\t\t\tinput[type=\"text\"] {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\n\t\t.component-smart-token-control__toggle {\n\t\t\tmin-width: auto;\n\t\t\theight: auto;\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\t\t}\n\t}\n}\n\n.component-smart-token-control__suggestions {\n\t// width: 100%;\n\t// position: relative;\n}\n\n.component-smart-token-control__suggestion {\n\tpadding: 8px 10px;\n\tline-height: 1;\n\tdisplay: block;\n\twidth: max-content;\n\tmin-width: 100%;\n\tcursor: pointer;\n\n\t&:hover,\n\t&:focus,\n\t&.is-currently-highlighted {\n\t\tbackground-color: var(--wp-admin-theme-color);\n\t\tcolor: #fff;\n\t}\n\n\t&.is-selected {\n\t\tbackground-color: #ccc;\n\t\tcursor: pointer;\n\t\t// make unclickable\n\t\tpointer-events: none;\n\t}\n}\n","/**\n * Colors\n */\n\n// WordPress grays.\n$black: #000;\t\t\t// Use only when you truly need pure black. For UI, use $gray-900.\n$gray-900: #1e1e1e;\n$gray-800: #2f2f2f;\n$gray-700: #757575;\t\t// Meets 4.6:1 (4.5:1 is minimum) text contrast against white.\n$gray-600: #949494;\t\t// Meets 3:1 UI or large text contrast against white.\n$gray-400: #ccc;\n$gray-300: #ddd;\t\t// Used for most borders.\n$gray-200: #e0e0e0;\t\t// Used sparingly for light borders.\n$gray-100: #f0f0f0;\t\t// Used for light gray backgrounds.\n$white: #fff;\n\n// Opacities & additional colors.\n$dark-gray-placeholder: rgba($gray-900, 0.62);\n$medium-gray-placeholder: rgba($gray-900, 0.55);\n$light-gray-placeholder: rgba($white, 0.65);\n\n// Alert colors.\n$alert-yellow: #f0b849;\n$alert-red: #cc1818;\n$alert-green: #4ab866;\n\n// Deprecated, please avoid using these.\n$dark-theme-focus: $white;\t// Focus color when the theme is dark.\n","/**\n * SCSS Variables.\n *\n * Please use variables from this sheet to ensure consistency across the UI.\n * Don't add to this sheet unless you're pretty sure the value will be reused in many places.\n * For example, don't add rules to this sheet that affect block visuals. It's purely for UI.\n */\n\n@use \"./colors\";\n\n/**\n * Fonts & basic variables.\n */\n\n$default-font: -apple-system, BlinkMacSystemFont,\"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell,\"Helvetica Neue\", sans-serif; // Todo: deprecate in favor of $family variables\n$default-line-height: 1.4; // Todo: deprecate in favor of $line-height tokens\n\n/**\n * Typography\n */\n\n// Sizes\n$font-size-x-small: 11px;\n$font-size-small: 12px;\n$font-size-medium: 13px;\n$font-size-large: 15px;\n$font-size-x-large: 20px;\n$font-size-2x-large: 32px;\n\n// Line heights\n$font-line-height-x-small: 16px;\n$font-line-height-small: 20px;\n$font-line-height-medium: 24px;\n$font-line-height-large: 28px;\n$font-line-height-x-large: 32px;\n$font-line-height-2x-large: 40px;\n\n// Weights\n$font-weight-regular: 400;\n$font-weight-medium: 500;\n\n// Families\n$font-family-headings: -apple-system, \"system-ui\", \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n$font-family-body: -apple-system, \"system-ui\", \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n$font-family-mono: Menlo, Consolas, monaco, monospace;\n\n/**\n * Grid System.\n * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/\n */\n\n$grid-unit: 8px;\n$grid-unit-05: 0.5 * $grid-unit;\t// 4px\n$grid-unit-10: 1 * $grid-unit;\t\t// 8px\n$grid-unit-15: 1.5 * $grid-unit;\t// 12px\n$grid-unit-20: 2 * $grid-unit;\t\t// 16px\n$grid-unit-30: 3 * $grid-unit;\t\t// 24px\n$grid-unit-40: 4 * $grid-unit;\t\t// 32px\n$grid-unit-50: 5 * $grid-unit;\t\t// 40px\n$grid-unit-60: 6 * $grid-unit;\t\t// 48px\n$grid-unit-70: 7 * $grid-unit;\t\t// 56px\n$grid-unit-80: 8 * $grid-unit;\t\t// 64px\n\n/**\n * Radius scale.\n */\n\n$radius-x-small: 1px; // Applied to elements like buttons nested within primitives like inputs.\n$radius-small: 2px; // Applied to most primitives.\n$radius-medium: 4px; // Applied to containers with smaller padding.\n$radius-large: 8px; // Applied to containers with larger padding.\n$radius-full: 9999px; // For pills.\n$radius-round: 50%; // For circles and ovals.\n\n/**\n * Elevation scale.\n */\n\n// For sections and containers that group related content and controls, which may overlap other content. Example: Preview Frame.\n$elevation-x-small: 0 1px 1px rgba(colors.$black, 0.03), 0 1px 2px rgba(colors.$black, 0.02), 0 3px 3px rgba(colors.$black, 0.02), 0 4px 4px rgba(colors.$black, 0.01);\n\n// For components that provide contextual feedback without being intrusive. Generally non-interruptive. Example: Tooltips, Snackbar.\n$elevation-small: 0 1px 2px rgba(colors.$black, 0.05), 0 2px 3px rgba(colors.$black, 0.04), 0 6px 6px rgba(colors.$black, 0.03), 0 8px 8px rgba(colors.$black, 0.02);\n\n// For components that offer additional actions. Example: Menus, Command Palette\n$elevation-medium: 0 2px 3px rgba(colors.$black, 0.05), 0 4px 5px rgba(colors.$black, 0.04), 0 12px 12px rgba(colors.$black, 0.03), 0 16px 16px rgba(colors.$black, 0.02);\n\n// For components that confirm decisions or handle necessary interruptions. Example: Modals.\n$elevation-large: 0 5px 15px rgba(colors.$black, 0.08), 0 15px 27px rgba(colors.$black, 0.07), 0 30px 36px rgba(colors.$black, 0.04), 0 50px 43px rgba(colors.$black, 0.02);\n\n/**\n * Dimensions.\n */\n\n$icon-size: 24px;\n$button-size: 36px;\n$button-size-next-default-40px: 40px; // transitionary variable for next default button size\n$button-size-small: 24px;\n$button-size-compact: 32px;\n$header-height: 64px;\n$panel-header-height: $grid-unit-60;\n$nav-sidebar-width: 300px;\n$admin-bar-height: 32px;\n$admin-bar-height-big: 46px;\n$admin-sidebar-width: 160px;\n$admin-sidebar-width-big: 190px;\n$admin-sidebar-width-collapsed: 36px;\n$modal-min-width: 350px;\n$modal-width-small: 384px;\n$modal-width-medium: 512px;\n$modal-width-large: 840px;\n$spinner-size: 16px;\n$canvas-padding: $grid-unit-20;\n\n/**\n * Mobile specific styles\n */\n$mobile-text-min-font-size: 16px; // Any font size below 16px will cause Mobile Safari to \"zoom in\".\n\n/**\n * Editor styles.\n */\n\n$sidebar-width: 280px;\n$content-width: 840px;\n$wide-content-width: 1100px;\n$widget-area-width: 700px;\n$secondary-sidebar-width: 350px;\n$editor-font-size: 16px;\n$default-block-margin: 28px; // This value provides a consistent, contiguous spacing between blocks.\n$text-editor-font-size: 15px;\n$editor-line-height: 1.8;\n$editor-html-font: $font-family-mono;\n\n/**\n * Block & Editor UI.\n */\n\n$block-toolbar-height: $grid-unit-60;\n$border-width: 1px;\n$border-width-focus-fallback: 2px; // This exists as a fallback, and is ideally overridden by var(--wp-admin-border-width-focus) unless in some SASS math cases.\n$border-width-tab: 1.5px;\n$helptext-font-size: 12px;\n$radio-input-size: 16px;\n$radio-input-size-sm: 24px; // Width & height for small viewports.\n\n// Deprecated, please avoid using these.\n$block-padding: 14px; // Used to define space between block footprint and surrounding borders.\n$radius-block-ui: $radius-small;\n$shadow-popover: $elevation-x-small;\n$shadow-modal: $elevation-large;\n$default-font-size: $font-size-medium;\n\n/**\n * Block paddings.\n */\n\n// Padding for blocks with a background color (e.g. paragraph or group).\n$block-bg-padding--v: 1.25em;\n$block-bg-padding--h: 2.375em;\n\n\n/**\n * React Native specific.\n * These variables do not appear to be used anywhere else.\n */\n\n// Dimensions.\n$mobile-header-toolbar-height: 44px;\n$mobile-header-toolbar-expanded-height: 52px;\n$mobile-floating-toolbar-height: 44px;\n$mobile-floating-toolbar-margin: 8px;\n$mobile-color-swatch: 48px;\n\n// Block UI.\n$mobile-block-toolbar-height: 44px;\n$dimmed-opacity: 1;\n$block-edge-to-content: 16px;\n$solid-border-space: 12px;\n$dashed-border-space: 6px;\n$block-selected-margin: 3px;\n$block-selected-border-width: 1px;\n$block-selected-padding: 0;\n$block-selected-child-margin: 5px;\n$block-selected-to-content: $block-edge-to-content - $block-selected-margin - $block-selected-border-width;\n","/**\n * Breakpoints & Media Queries\n */\n\n// Most used breakpoints\n$break-xhuge: 1920px;\n$break-huge: 1440px;\n$break-wide: 1280px;\n$break-xlarge: 1080px;\n$break-large: 960px;\t// admin sidebar auto folds\n$break-medium: 782px;\t// adminbar goes big\n$break-small: 600px;\n$break-mobile: 480px;\n$break-zoomed-in: 280px;\n\n// All media queries currently in WordPress:\n//\n// min-width: 2000px\n// min-width: 1680px\n// min-width: 1250px\n// max-width: 1120px *\n// max-width: 1000px\n// min-width: 769px and max-width: 1000px\n// max-width: 960px *\n// max-width: 900px\n// max-width: 850px\n// min-width: 800px and max-width: 1499px\n// max-width: 800px\n// max-width: 799px\n// max-width: 782px *\n// max-width: 768px\n// max-width: 640px *\n// max-width: 600px *\n// max-width: 520px\n// max-width: 500px\n// max-width: 480px *\n// max-width: 400px *\n// max-width: 380px\n// max-width: 320px *\n//\n// Those marked * seem to be more commonly used than the others.\n// Let's try and use as few of these as possible, and be mindful about adding new ones, so we don't make the situation worse\n","/**\n* Converts a hex value into the rgb equivalent.\n*\n* @param {string} hex - the hexadecimal value to convert\n* @return {string} comma separated rgb values\n*/\n\n@use \"sass:color\";\n@use \"sass:meta\";\n\n@function hex-to-rgb($hex) {\n\t/*\n\t * TODO: `color.{red|green|blue}` will trigger a deprecation warning in Dart Sass,\n\t * but the Sass used by the Gutenberg project doesn't support `color.channel()` yet,\n\t * so we can't migrate to it at this time.\n\t * In the future, after the Gutenberg project has been fully migrated to Dart Sass,\n\t * Remove this conditional statement and use only `color.channel()`.\n\t */\n\t@if meta.function-exists(\"channel\", \"color\") {\n\t\t@return color.channel($hex, \"red\"), color.channel($hex, \"green\"), color.channel($hex, \"blue\");\n\t} @else {\n\t\t@return color.red($hex), color.green($hex), color.blue($hex);\n\t}\n}\n","/**\n * Long content fade mixin\n *\n * Creates a fading overlay to signify that the content is longer\n * than the space allows.\n */\n\n@mixin long-content-fade($direction: right, $size: 20%, $color: #fff, $edge: 0, $z-index: false) {\n\tcontent: \"\";\n\tdisplay: block;\n\tposition: absolute;\n\t-webkit-touch-callout: none;\n\t-webkit-user-select: none;\n\t-khtml-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\tpointer-events: none;\n\n\t@if $z-index {\n\t\tz-index: $z-index;\n\t}\n\n\t@if $direction == \"bottom\" {\n\t\tbackground: linear-gradient(to top, transparent, $color 90%);\n\t\tleft: $edge;\n\t\tright: $edge;\n\t\ttop: $edge;\n\t\tbottom: calc(100% - $size);\n\t\twidth: auto;\n\t}\n\n\t@if $direction == \"top\" {\n\t\tbackground: linear-gradient(to bottom, transparent, $color 90%);\n\t\ttop: calc(100% - $size);\n\t\tleft: $edge;\n\t\tright: $edge;\n\t\tbottom: $edge;\n\t\twidth: auto;\n\t}\n\n\t@if $direction == \"left\" {\n\t\tbackground: linear-gradient(to left, transparent, $color 90%);\n\t\ttop: $edge;\n\t\tleft: $edge;\n\t\tbottom: $edge;\n\t\tright: auto;\n\t\twidth: $size;\n\t\theight: auto;\n\t}\n\n\t@if $direction == \"right\" {\n\t\tbackground: linear-gradient(to right, transparent, $color 90%);\n\t\ttop: $edge;\n\t\tbottom: $edge;\n\t\tright: $edge;\n\t\tleft: auto;\n\t\twidth: $size;\n\t\theight: auto;\n\t}\n}\n","/**\n * Typography\n */\n\n@use \"sass:color\";\n@use \"sass:math\";\n@use \"./variables\";\n@use \"./colors\";\n@use \"./breakpoints\";\n@use \"./functions\";\n@use \"./long-content-fade\";\n\n@mixin _text-heading() {\n\tfont-family: variables.$font-family-headings;\n\tfont-weight: variables.$font-weight-medium;\n}\n\n@mixin _text-body() {\n\tfont-family: variables.$font-family-body;\n\tfont-weight: variables.$font-weight-regular;\n}\n\n@mixin heading-small() {\n\t@include _text-heading();\n\tfont-size: variables.$font-size-x-small;\n\tline-height: variables.$font-line-height-x-small;\n}\n\n@mixin heading-medium() {\n\t@include _text-heading();\n\tfont-size: variables.$font-size-medium;\n\tline-height: variables.$font-line-height-small;\n}\n\n@mixin heading-large() {\n\t@include _text-heading();\n\tfont-size: variables.$font-size-large;\n\tline-height: variables.$font-line-height-small;\n}\n\n@mixin heading-x-large() {\n\t@include _text-heading();\n\tfont-size: variables.$font-size-x-large;\n\tline-height: variables.$font-line-height-medium;\n}\n\n@mixin heading-2x-large() {\n\t@include _text-heading();\n\tfont-size: variables.$font-size-2x-large;\n\tline-height: variables.$font-line-height-2x-large;\n}\n\n@mixin body-small() {\n\t@include _text-body();\n\tfont-size: variables.$font-size-small;\n\tline-height: variables.$font-line-height-x-small;\n}\n\n@mixin body-medium() {\n\t@include _text-body();\n\tfont-size: variables.$font-size-medium;\n\tline-height: variables.$font-line-height-small;\n}\n\n@mixin body-large() {\n\t@include _text-body();\n\tfont-size: variables.$font-size-large;\n\tline-height: variables.$font-line-height-medium;\n}\n\n@mixin body-x-large() {\n\t@include _text-body();\n\tfont-size: variables.$font-size-x-large;\n\tline-height: variables.$font-line-height-x-large;\n}\n\n/**\n * Breakpoint mixins\n */\n\n@mixin break-xhuge() {\n\t@media (min-width: #{ (breakpoints.$break-xhuge) }) {\n\t\t@content;\n\t}\n}\n\n@mixin break-huge() {\n\t@media (min-width: #{ (breakpoints.$break-huge) }) {\n\t\t@content;\n\t}\n}\n\n@mixin break-wide() {\n\t@media (min-width: #{ (breakpoints.$break-wide) }) {\n\t\t@content;\n\t}\n}\n\n@mixin break-xlarge() {\n\t@media (min-width: #{ (breakpoints.$break-xlarge) }) {\n\t\t@content;\n\t}\n}\n\n@mixin break-large() {\n\t@media (min-width: #{ (breakpoints.$break-large) }) {\n\t\t@content;\n\t}\n}\n\n@mixin break-medium() {\n\t@media (min-width: #{ (breakpoints.$break-medium) }) {\n\t\t@content;\n\t}\n}\n\n@mixin break-small() {\n\t@media (min-width: #{ (breakpoints.$break-small) }) {\n\t\t@content;\n\t}\n}\n\n@mixin break-mobile() {\n\t@media (min-width: #{ (breakpoints.$break-mobile) }) {\n\t\t@content;\n\t}\n}\n\n@mixin break-zoomed-in() {\n\t@media (min-width: #{ (breakpoints.$break-zoomed-in) }) {\n\t\t@content;\n\t}\n}\n\n/**\n * Focus styles.\n */\n\n@mixin block-toolbar-button-style__focus() {\n\tbox-shadow: inset 0 0 0 variables.$border-width colors.$white, 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);\n\n\t// Windows High Contrast mode will show this outline, but not the box-shadow.\n\toutline: 2px solid transparent;\n}\n\n// Tabs, Inputs, Square buttons.\n@mixin input-style__neutral() {\n\tbox-shadow: 0 0 0 transparent;\n\tborder-radius: variables.$radius-small;\n\tborder: variables.$border-width solid colors.$gray-600;\n\n\t@media not (prefers-reduced-motion) {\n\t\ttransition: box-shadow 0.1s linear;\n\t}\n}\n\n\n@mixin input-style__focus($accent-color: var(--wp-admin-theme-color)) {\n\tborder-color: $accent-color;\n\t// Expand the default border focus style by .5px to be a total of 1.5px.\n\tbox-shadow: 0 0 0 0.5px $accent-color;\n\t// Windows High Contrast mode will show this outline, but not the box-shadow.\n\toutline: 2px solid transparent;\n}\n\n@mixin button-style__focus() {\n\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);\n\n\t// Windows High Contrast mode will show this outline, but not the box-shadow.\n\toutline: 2px solid transparent;\n}\n\n\n@mixin button-style-outset__focus($focus-color) {\n\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus) colors.$white, 0 0 0 calc(2 * var(--wp-admin-border-width-focus)) $focus-color;\n\n\t// Windows High Contrast mode will show this outline, but not the box-shadow.\n\toutline: 2px solid transparent;\n\toutline-offset: 2px;\n}\n\n\n/**\n * Applies editor left position to the selector passed as argument\n */\n\n@mixin editor-left($selector) {\n\t#{$selector} { /* Set left position when auto-fold is not on the body element. */\n\t\tleft: 0;\n\n\t\t@media (min-width: #{ (breakpoints.$break-medium + 1) }) {\n\t\t\tleft: variables.$admin-sidebar-width;\n\t\t}\n\t}\n\n\t.auto-fold #{$selector} { /* Auto fold is when on smaller breakpoints, nav menu auto collapses. */\n\t\t@media (min-width: #{ (breakpoints.$break-medium + 1) }) {\n\t\t\tleft: variables.$admin-sidebar-width-collapsed;\n\t\t}\n\n\t\t@media (min-width: #{ (breakpoints.$break-large + 1) }) {\n\t\t\tleft: variables.$admin-sidebar-width;\n\t\t}\n\t}\n\n\t/* Sidebar manually collapsed. */\n\t.folded #{$selector} {\n\t\tleft: 0;\n\n\t\t@media (min-width: #{ (breakpoints.$break-medium + 1) }) {\n\t\t\tleft: variables.$admin-sidebar-width-collapsed;\n\t\t}\n\t}\n\n\tbody.is-fullscreen-mode #{$selector} {\n\t\tleft: 0 !important;\n\t}\n}\n\n/**\n * Styles that are reused verbatim in a few places\n */\n\n// These are additional styles for all captions, when the theme opts in to block styles.\n@mixin caption-style() {\n\tmargin-top: 0.5em;\n\tmargin-bottom: 1em;\n}\n\n@mixin caption-style-theme() {\n\tcolor: #555;\n\tfont-size: variables.$default-font-size;\n\ttext-align: center;\n\n\t.is-dark-theme & {\n\t\tcolor: colors.$light-gray-placeholder;\n\t}\n}\n\n/**\n * Allows users to opt-out of animations via OS-level preferences.\n */\n\n@mixin reduce-motion($property: \"\") {\n\n\t@if $property == \"transition\" {\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\ttransition-duration: 0s;\n\t\t\ttransition-delay: 0s;\n\t\t}\n\t} @else if $property == \"animation\" {\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\tanimation-duration: 1ms;\n\t\t\tanimation-delay: 0s;\n\t\t}\n\t} @else {\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\ttransition-duration: 0s;\n\t\t\ttransition-delay: 0s;\n\t\t\tanimation-duration: 1ms;\n\t\t\tanimation-delay: 0s;\n\t\t}\n\t}\n}\n\n@mixin input-control($accent-color: var(--wp-admin-theme-color)) {\n\tfont-family: variables.$default-font;\n\tpadding: 6px 8px;\n\t/* Fonts smaller than 16px causes mobile safari to zoom. */\n\tfont-size: variables.$mobile-text-min-font-size;\n\t/* Override core line-height. To be reviewed. */\n\tline-height: normal;\n\t@include input-style__neutral();\n\n\t@include break-small {\n\t\tfont-size: variables.$default-font-size;\n\t\t/* Override core line-height. To be reviewed. */\n\t\tline-height: normal;\n\t}\n\n\t&:focus {\n\t\t@include input-style__focus($accent-color);\n\t}\n\n\t// Use opacity to work in various editor styles.\n\t&::-webkit-input-placeholder {\n\t\tcolor: colors.$dark-gray-placeholder;\n\t}\n\n\t&::-moz-placeholder {\n\t\tcolor: colors.$dark-gray-placeholder;\n\t}\n\n\t&:-ms-input-placeholder {\n\t\tcolor: colors.$dark-gray-placeholder;\n\t}\n}\n\n@mixin checkbox-control {\n\tborder: variables.$border-width solid colors.$gray-900;\n\tmargin-right: variables.$grid-unit-15;\n\ttransition: none;\n\tborder-radius: variables.$radius-small;\n\t@include input-control;\n\n\t&:focus {\n\t\tbox-shadow: 0 0 0 (variables.$border-width * 2) colors.$white, 0 0 0 (variables.$border-width * 2 + variables.$border-width-focus-fallback) var(--wp-admin-theme-color);\n\n\t\t// Only visible in Windows High Contrast mode.\n\t\toutline: 2px solid transparent;\n\t}\n\n\t&:checked {\n\t\tbackground: var(--wp-admin-theme-color);\n\t\tborder-color: var(--wp-admin-theme-color);\n\n\t\t// Hide default checkbox styles in IE.\n\t\t&::-ms-check {\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t&:checked::before,\n\t&[aria-checked=\"mixed\"]::before {\n\t\tmargin: -3px -5px;\n\t\tcolor: colors.$white;\n\n\t\t@include break-medium() {\n\t\t\tmargin: -4px 0 0 -5px;\n\t\t}\n\t}\n\n\t&[aria-checked=\"mixed\"] {\n\t\tbackground: var(--wp-admin-theme-color);\n\t\tborder-color: var(--wp-admin-theme-color);\n\n\t\t&::before {\n\t\t\t// Inherited from `forms.css`.\n\t\t\t// See: https://github.com/WordPress/wordpress-develop/tree/5.1.1/src/wp-admin/css/forms.css#L122-L132\n\t\t\tcontent: \"\\f460\";\n\t\t\tfloat: left;\n\t\t\tdisplay: inline-block;\n\t\t\tvertical-align: middle;\n\t\t\twidth: 16px;\n\t\t\t/* stylelint-disable-next-line font-family-no-missing-generic-family-keyword -- dashicons don't need a generic family keyword. */\n\t\t\tfont: normal 30px/1 dashicons;\n\t\t\tspeak: none;\n\t\t\t-webkit-font-smoothing: antialiased;\n\t\t\t-moz-osx-font-smoothing: grayscale;\n\n\t\t\t@include break-medium() {\n\t\t\t\tfloat: none;\n\t\t\t\tfont-size: 21px;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[aria-disabled=\"true\"],\n\t&:disabled {\n\t\tbackground: colors.$gray-100;\n\t\tborder-color: colors.$gray-300;\n\t\tcursor: default;\n\n\t\t// Override style inherited from wp-admin. Required to avoid degraded appearance on different backgrounds.\n\t\topacity: 1;\n\t}\n}\n\n@mixin radio-control {\n\tborder: variables.$border-width solid colors.$gray-900;\n\tmargin-right: variables.$grid-unit-15;\n\ttransition: none;\n\tborder-radius: variables.$radius-round;\n\twidth: variables.$radio-input-size-sm;\n\theight: variables.$radio-input-size-sm;\n\tmin-width: variables.$radio-input-size-sm;\n\tmax-width: variables.$radio-input-size-sm;\n\tposition: relative;\n\n\t@media not (prefers-reduced-motion) {\n\t\ttransition: box-shadow 0.1s linear;\n\t}\n\n\t@include break-small() {\n\t\theight: variables.$radio-input-size;\n\t\twidth: variables.$radio-input-size;\n\t\tmin-width: variables.$radio-input-size;\n\t\tmax-width: variables.$radio-input-size;\n\t}\n\n\t&:checked::before {\n\t\tbox-sizing: inherit;\n\t\twidth: math.div(variables.$radio-input-size-sm, 2);\n\t\theight: math.div(variables.$radio-input-size-sm, 2);\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\tleft: 50%;\n\t\ttransform: translate(-50%, -50%);\n\t\tmargin: 0;\n\t\tbackground-color: colors.$white;\n\n\t\t// This border serves as a background color in Windows High Contrast mode.\n\t\tborder: 4px solid colors.$white;\n\n\t\t@include break-small() {\n\t\t\twidth: math.div(variables.$radio-input-size, 2);\n\t\t\theight: math.div(variables.$radio-input-size, 2);\n\t\t}\n\t}\n\n\t&:focus {\n\t\tbox-shadow: 0 0 0 (variables.$border-width * 2) colors.$white, 0 0 0 (variables.$border-width * 2 + variables.$border-width-focus-fallback) var(--wp-admin-theme-color);\n\n\t\t// Only visible in Windows High Contrast mode.\n\t\toutline: 2px solid transparent;\n\t}\n\n\t&:checked {\n\t\tbackground: var(--wp-admin-theme-color);\n\t\tborder: none;\n\t}\n}\n\n/**\n * Reset default styles for JavaScript UI based pages.\n * This is a WP-admin agnostic reset\n */\n\n@mixin reset {\n\tbox-sizing: border-box;\n\n\t*,\n\t*::before,\n\t*::after {\n\t\tbox-sizing: inherit;\n\t}\n}\n\n@mixin link-reset {\n\t&:focus {\n\t\tcolor: var(--wp-admin-theme-color--rgb);\n\t\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color, #007cba);\n\t\tborder-radius: variables.$radius-small;\n\t}\n}\n\n// The editor input reset with increased specificity to avoid theme styles bleeding in.\n@mixin editor-input-reset() {\n\tfont-family: variables.$editor-html-font !important;\n\tcolor: colors.$gray-900 !important;\n\tbackground: colors.$white !important;\n\tpadding: variables.$grid-unit-15 !important;\n\tborder: variables.$border-width solid colors.$gray-900 !important;\n\tbox-shadow: none !important;\n\tborder-radius: variables.$radius-small !important;\n\n\t// Fonts smaller than 16px causes mobile safari to zoom.\n\tfont-size: variables.$mobile-text-min-font-size !important;\n\t@include break-small {\n\t\tfont-size: variables.$default-font-size !important;\n\t}\n\n\t&:focus {\n\t\tborder-color: var(--wp-admin-theme-color) !important;\n\t\tbox-shadow: 0 0 0 (variables.$border-width-focus-fallback - variables.$border-width) var(--wp-admin-theme-color) !important;\n\n\t\t// Windows High Contrast mode will show this outline, but not the box-shadow.\n\t\toutline: 2px solid transparent !important;\n\t}\n}\n\n/**\n * Reset the WP Admin page styles for Gutenberg-like pages.\n */\n\n@mixin wp-admin-reset( $content-container ) {\n\tbackground: colors.$white;\n\n\t#wpcontent {\n\t\tpadding-left: 0;\n\t}\n\n\t#wpbody-content {\n\t\tpadding-bottom: 0;\n\t}\n\n\t/* We hide legacy notices in Gutenberg Based Pages, because they were not designed in a way that scaled well.\n\t Plugins can use Gutenberg notices if they need to pass on information to the user when they are editing. */\n\t#wpbody-content > div:not(#{ $content-container }):not(#screen-meta) {\n\t\tdisplay: none;\n\t}\n\n\t#wpfooter {\n\t\tdisplay: none;\n\t}\n\n\t.a11y-speak-region {\n\t\tleft: -1px;\n\t\ttop: -1px;\n\t}\n\n\tul#adminmenu a.wp-has-current-submenu::after,\n\tul#adminmenu > li.current > a.current::after {\n\t\tborder-right-color: colors.$white;\n\t}\n\n\t.media-frame select.attachment-filters:last-of-type {\n\t\twidth: auto;\n\t\tmax-width: 100%;\n\t}\n}\n\n@mixin admin-scheme($color-primary) {\n\t// Define RGB equivalents for use in rgba function.\n\t// Hexadecimal css vars do not work in the rgba function.\n\t--wp-admin-theme-color: #{$color-primary};\n\t--wp-admin-theme-color--rgb: #{functions.hex-to-rgb($color-primary)};\n\t// Darker shades.\n\t--wp-admin-theme-color-darker-10: #{color.adjust($color-primary, $lightness: -5%)};\n\t--wp-admin-theme-color-darker-10--rgb: #{functions.hex-to-rgb(color.adjust($color-primary, $lightness: -5%))};\n\t--wp-admin-theme-color-darker-20: #{color.adjust($color-primary, $lightness: -10%)};\n\t--wp-admin-theme-color-darker-20--rgb: #{functions.hex-to-rgb(color.adjust($color-primary, $lightness: -10%))};\n\n\t// Focus style width.\n\t// Avoid rounding issues by showing a whole 2px for 1x screens, and 1.5px on high resolution screens.\n\t--wp-admin-border-width-focus: 2px;\n\t@media ( -webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\n\t\t--wp-admin-border-width-focus: 1.5px;\n\t}\n}\n\n@mixin wordpress-admin-schemes() {\n\tbody.admin-color-light {\n\t\t@include admin-scheme(#0085ba);\n\t}\n\n\tbody.admin-color-modern {\n\t\t@include admin-scheme(#3858e9);\n\t}\n\n\tbody.admin-color-blue {\n\t\t@include admin-scheme(#096484);\n\t}\n\n\tbody.admin-color-coffee {\n\t\t@include admin-scheme(#46403c);\n\t}\n\n\tbody.admin-color-ectoplasm {\n\t\t@include admin-scheme(#523f6d);\n\t}\n\n\tbody.admin-color-midnight {\n\t\t@include admin-scheme(#e14d43);\n\t}\n\n\tbody.admin-color-ocean {\n\t\t@include admin-scheme(#627c83);\n\t}\n\n\tbody.admin-color-sunrise {\n\t\t@include admin-scheme(#dd823b);\n\t}\n}\n\n// Deprecated from UI, kept for back-compat.\n@mixin background-colors-deprecated() {\n\t.has-very-light-gray-background-color {\n\t\tbackground-color: #eee;\n\t}\n\n\t.has-very-dark-gray-background-color {\n\t\tbackground-color: #313131;\n\t}\n}\n\n// Deprecated from UI, kept for back-compat.\n@mixin foreground-colors-deprecated() {\n\t.has-very-light-gray-color {\n\t\tcolor: #eee;\n\t}\n\n\t.has-very-dark-gray-color {\n\t\tcolor: #313131;\n\t}\n}\n\n// Deprecated from UI, kept for back-compat.\n@mixin gradient-colors-deprecated() {\n\t// Our classes uses the same values we set for gradient value attributes.\n\n\t/* stylelint-disable @stylistic/function-comma-space-after -- We can not use spacing because of WP multi site kses rule. */\n\t.has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background {\n\t\tbackground: linear-gradient(135deg,rgba(0,208,132,1) 0%,rgba(6,147,227,1) 100%);\n\t}\n\n\t.has-purple-crush-gradient-background {\n\t\tbackground: linear-gradient(135deg,rgb(52,226,228) 0%,rgb(71,33,251) 50%,rgb(171,29,254) 100%);\n\t}\n\n\t.has-hazy-dawn-gradient-background {\n\t\tbackground: linear-gradient(135deg,rgb(250,172,168) 0%,rgb(218,208,236) 100%);\n\t}\n\n\t.has-subdued-olive-gradient-background {\n\t\tbackground: linear-gradient(135deg,rgb(250,250,225) 0%,rgb(103,166,113) 100%);\n\t}\n\n\t.has-atomic-cream-gradient-background {\n\t\tbackground: linear-gradient(135deg,rgb(253,215,154) 0%,rgb(0,74,89) 100%);\n\t}\n\n\t.has-nightshade-gradient-background {\n\t\tbackground: linear-gradient(135deg,rgb(51,9,104) 0%,rgb(49,205,207) 100%);\n\t}\n\n\t.has-midnight-gradient-background {\n\t\tbackground: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);\n\t}\n\t/* stylelint-enable @stylistic/function-comma-space-after */\n}\n\n@mixin custom-scrollbars-on-hover($handle-color, $handle-color-hover) {\n\n\t// WebKit\n\t&::-webkit-scrollbar {\n\t\twidth: 12px;\n\t\theight: 12px;\n\t}\n\t&::-webkit-scrollbar-track {\n\t\tbackground-color: transparent;\n\t}\n\t&::-webkit-scrollbar-thumb {\n\t\tbackground-color: $handle-color;\n\t\tborder-radius: 8px;\n\t\tborder: 3px solid transparent;\n\t\tbackground-clip: padding-box;\n\t}\n\t&:hover::-webkit-scrollbar-thumb, // This needs specificity.\n\t&:focus::-webkit-scrollbar-thumb,\n\t&:focus-within::-webkit-scrollbar-thumb {\n\t\tbackground-color: $handle-color-hover;\n\t}\n\n\t// Firefox 109+ and Chrome 111+\n\tscrollbar-width: thin;\n\tscrollbar-gutter: stable both-edges;\n\tscrollbar-color: $handle-color transparent; // Syntax, \"dark\", \"light\", or \"#handle-color #track-color\"\n\n\t&:hover,\n\t&:focus,\n\t&:focus-within {\n\t\tscrollbar-color: $handle-color-hover transparent;\n\t}\n\n\t// Needed to fix a Safari rendering issue.\n\twill-change: transform;\n\n\t// Always show scrollbar on Mobile devices.\n\t@media (hover: none) {\n\t\t& {\n\t\t\tscrollbar-color: $handle-color-hover transparent;\n\t\t}\n\t}\n}\n\n@mixin selected-block-outline($widthRatio: 1) {\n\toutline-color: var(--wp-admin-theme-color);\n\toutline-style: solid;\n\toutline-width: calc(#{$widthRatio} * (var(--wp-admin-border-width-focus) / var(--wp-block-editor-iframe-zoom-out-scale, 1)));\n\toutline-offset: calc(#{$widthRatio} * ((-1 * var(--wp-admin-border-width-focus) ) / var(--wp-block-editor-iframe-zoom-out-scale, 1)));\n}\n\n@mixin selected-block-focus($widthRatio: 1) {\n\tcontent: \"\";\n\tposition: absolute;\n\tpointer-events: none;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\t@include selected-block-outline($widthRatio);\n}\n","@import \"~@wordpress/base-styles/variables\";\n@import \"~@wordpress/base-styles/mixins\";\n@import \"~@wordpress/base-styles/colors\";\n\n.pum__component-device-toggle {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\n\t.pum__component-device-toggle__label,\n\t.pum__component-device-toggle__control {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: space-between;\n\t\tmargin-bottom: $grid-unit-20;\n\t}\n\n\t.pum__component-device-toggle__label {\n\t\tsvg {\n\t\t\tmargin-right: $grid-unit-10;\n\t\t}\n\t}\n\n\t.pum__component-device-toggle__control {\n\t\t.components-base-control,\n\t\t.components-toggle-control .components-base-control__field {\n\t\t\tmargin-bottom: 0;\n\n\t\t\t.components-form-toggle {\n\t\t\t\tmargin-right: 0;\n\t\t\t\tmargin-left: $grid-unit-10;\n\t\t\t}\n\t\t}\n\n\t\tlabel {\n\t\t\tdisplay: none !important;\n\t\t}\n\t}\n}\n",".components-field-panel {\n\tmargin: 0 0 30px;\n\n\t.components-panel__body {\n\t\tposition: relative;\n\t\tz-index: 0;\n\t}\n}\n",".components-field-row {\n\tdisplay: grid;\n\tgrid-template-columns: 3fr 2.5fr;\n\tpadding: 15px 0;\n\tmargin: 0;\n\n\t> .components-base-control {\n\t\t// margin-bottom: 0 !important;\n\t\t// width: 50%;\n\t}\n\n\t> .components-base-control__field {\n\t\t// width: 40%;\n\t}\n\n\t&.full-width {\n\t\t> .components-base-control,\n\t\t> .components-base-control__field {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t.components-base-control__help {\n\t\tmargin-top: calc(8px);\n\t\tfont-size: 12px;\n\t\tfont-style: normal;\n\t\tcolor: rgb(117, 117, 117);\n\t\tmargin-bottom: revert;\n\t}\n}\n\n.components-field-row + .components-field-row {\n\tborder-top: 1px solid #ddd;\n\tpadding-top: 30px;\n}\n","@use \"sass:math\";\n@import \"~@wordpress/base-styles/colors\";\n@import \"~@wordpress/base-styles/variables\";\n@import \"~@wordpress/base-styles/mixins\";\n@import \"~@wordpress/base-styles/breakpoints\";\n\n// Need to import the math functions to use them in the loop below.\n\n.component-freeform-edit-control {\n\t.mce-content-body {\n\t\tz-index: 1;\n\t\tborder: 1px solid $gray-300;\n\t}\n}\n\n.wp-block-freeform.block-library-rich-text__tinymce {\n\theight: auto; /* Allow height of embed iframes to be calculated properly */\n\tp,\n\tli {\n\t\tline-height: $editor-line-height;\n\t}\n\n\tul,\n\tol {\n\t\tpadding-left: 2.5em;\n\t\tmargin-left: 0;\n\t}\n\n\tblockquote {\n\t\tmargin: 0;\n\t\tbox-shadow: inset 0 0 0 0 $gray-300;\n\t\tborder-left: 4px solid $black;\n\t\tpadding-left: 1em;\n\t}\n\n\tpre {\n\t\twhite-space: pre-wrap;\n\t\tfont-family: $editor-html-font;\n\t\tfont-size: $text-editor-font-size;\n\t\tcolor: $gray-900;\n\t}\n\n\t> *:first-child {\n\t\tmargin-top: 0;\n\t}\n\n\t> *:last-child {\n\t\tmargin-bottom: 0;\n\t}\n\n\t&.mce-edit-focus {\n\t\toutline: none;\n\t}\n\n\ta {\n\t\tcolor: var(--wp-admin-theme-color);\n\t}\n\n\t&:focus a[data-mce-selected] {\n\t\tpadding: 0 2px;\n\t\tmargin: 0 -2px;\n\t\tborder-radius: 2px;\n\t\tbox-shadow: 0 0 0 $border-width #e5f5fa;\n\t\tbackground: #e5f5fa;\n\t}\n\n\tcode {\n\t\tpadding: 2px;\n\t\tborder-radius: 2px;\n\t\tcolor: $gray-900;\n\t\tbackground: $gray-100;\n\t\tfont-family: $editor-html-font;\n\t\tfont-size: 14px;\n\t}\n\n\t&:focus code[data-mce-selected] {\n\t\tbackground: $gray-300;\n\t}\n\n\t.alignright {\n\t\t/*rtl:ignore*/\n\t\tfloat: right;\n\t\t/*rtl:ignore*/\n\t\tmargin: 0.5em 0 0.5em 1em;\n\t}\n\n\t.alignleft {\n\t\t/*rtl:ignore*/\n\t\tfloat: left;\n\t\t/*rtl:ignore*/\n\t\tmargin: 0.5em 1em 0.5em 0;\n\t}\n\n\t.aligncenter {\n\t\tdisplay: block;\n\t\tmargin-left: auto;\n\t\tmargin-right: auto;\n\t}\n\n\t.wp-more-tag {\n\t\twidth: 96%;\n\t\theight: 20px;\n\t\tdisplay: block;\n\t\tmargin: 15px auto;\n\t\toutline: 0;\n\t\tcursor: default;\n\t\tbackground-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAADtgAAAAoBAMAAAA86gLBAAAAJFBMVEVMaXG7u7vBwcHDw8POzs68vLzGxsbMzMy+vr7AwMDQ0NDGxsYKLGzpAAAADHRSTlMA///zWf+/f///TMxNVGuqAAABwklEQVR4Ae3dMXLaQBTH4bfj8UCpx8hq0vgKvgFNemhT6Qo6gg6R+0ZahM2QLmyBJ99XWP9V5+o3jIUcLQEAAAAAAAAAAAAAAAAAAAAAAABQ8j0WL9lfTtlt18uNXAUA8O/KVtfa1tdcrOdSh9gCQAMlh1hMNbZZ1bsrsQWABsrhLRbz7z5in/32UbfUMUbkMQCAh5RfGYv82UdMdZ6HS2wjT2ILAI8r3XmM2B3WvM59vfO2xXYW2yYAENuPU8S+X/N67mKxzy225yaxBQCxLV392UdcvwV0jPVUj98ntkBWT7C7+9u2/V/vGtvXIWJ6/4rtbottWa6Ri0NUT/u72LYttrb97LHdvUXMxxrb8TO2W2TF1rYbbLG1bbGNjMi4+2Sbi1FsbbvNFlvbFtt5fDnE3d9sP1/XeIyV2Nr2U2/guZUuptNrH/dPI9eLB6SaAEBs6wPJf3/PNk9tYgsAYrv/8TFuzx/fvkFqGtrEFgDEdpcZUb7ejXy6ntrEFgDENvL6gsas4vbdyKt4DACI7TxElJv/Z7udpqFNbAFAbKduy2uU2trttM/x28UWAAAAAAAAAAAAAAAAAAAAAAAAAADgDyPwGmGTCZp7AAAAAElFTkSuQmCC);\n\t\tbackground-size: 1900px 20px;\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t}\n\n\t/* Remove blue highlighting of selected images in WebKit */\n\timg::selection {\n\t\tbackground-color: transparent;\n\t}\n\n\tdiv.mceTemp {\n\t\t-ms-user-select: element;\n\t\tuser-select: element;\n\t}\n\n\t/* Image captions */\n\tdl.wp-caption {\n\t\tmargin: 0; /* dl browser reset */\n\t\tmax-width: 100%;\n\n\t\ta,\n\t\timg {\n\t\t\tdisplay: block;\n\t\t}\n\n\t\t&,\n\t\t& * {\n\t\t\t-webkit-user-drag: none;\n\t\t}\n\n\t\t.wp-caption-dd {\n\t\t\tpadding-top: 0.5em;\n\t\t\tmargin: 0; /* browser dd reset */\n\t\t}\n\t}\n\n\t/* WP Views */\n\t.wpview {\n\t\twidth: 99.99%; /* All IE need hasLayout, incl. 11 (ugh, not again!!) */\n\t\tposition: relative;\n\t\tclear: both;\n\t\tmargin-bottom: 16px;\n\t\tborder: 1px solid transparent;\n\n\t\tiframe {\n\t\t\tdisplay: block;\n\t\t\tmax-width: 100%;\n\t\t\tbackground: transparent;\n\t\t}\n\n\t\t.mce-shim {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t}\n\n\t\t&[data-mce-selected=\"2\"] .mce-shim {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t.loading-placeholder {\n\t\t\tborder: 1px dashed $gray-300;\n\t\t\tpadding: 10px;\n\t\t}\n\n\t\t.wpview-error {\n\t\t\tborder: 1px solid $gray-300;\n\t\t\tpadding: 1em 0;\n\t\t\tmargin: 0;\n\t\t\tword-wrap: break-word;\n\n\t\t\tp {\n\t\t\t\tmargin: 0;\n\t\t\t\ttext-align: center;\n\t\t\t}\n\t\t}\n\n\t\t&[data-mce-selected] .loading-placeholder,\n\t\t&[data-mce-selected] .wpview-error {\n\t\t\tborder-color: transparent;\n\t\t}\n\n\t\t.dashicons {\n\t\t\tdisplay: block;\n\t\t\tmargin: 0 auto;\n\t\t\twidth: 32px;\n\t\t\theight: 32px;\n\t\t\tfont-size: 32px;\n\t\t}\n\n\t\t// The following gallery styles were replicated\n\t\t// from the styles applied in the tinymce skin,\n\t\t// /wp-includes/js/tinymce/skins/wordpress/wp-content.css.\n\t\t&.wpview-type-gallery::after {\n\t\t\tcontent: \"\";\n\t\t\tdisplay: table;\n\t\t\tclear: both;\n\t\t}\n\t}\n\n\t.gallery img[data-mce-selected]:focus {\n\t\toutline: none;\n\t}\n\n\t.gallery a {\n\t\tcursor: default;\n\t}\n\n\t.gallery {\n\t\tmargin: auto -6px;\n\t\tpadding: 6px 0;\n\t\tline-height: 1;\n\t\toverflow-x: hidden;\n\t}\n\n\t.gallery .gallery-item {\n\t\tfloat: left;\n\t\tmargin: 0;\n\t\ttext-align: center;\n\t\tpadding: 6px;\n\t\tbox-sizing: border-box;\n\t}\n\n\t.gallery .gallery-caption,\n\t.gallery .gallery-icon {\n\t\tmargin: 0;\n\t}\n\n\t.gallery .gallery-caption {\n\t\tfont-size: 13px;\n\t\tmargin: 4px 0;\n\t}\n\n\t@for $i from 1 through 9 {\n\t\t.gallery-columns-#{ $i } .gallery-item {\n\t\t\twidth: #{math.div(100, $i) + \"%\"};\n\t\t}\n\t}\n\n\t.gallery img {\n\t\tmax-width: 100%;\n\t\theight: auto;\n\t\tborder: none;\n\t\tpadding: 0;\n\t}\n}\n\n// mce global styles: the toolbars may get appended to <body>\n.mce-toolbar-grp {\n\tz-index: 9999;\n\t// Not sure why this is necessary, there seems to be a skin file that\n\t// overrides this upstream.\n\t.mce-btn.mce-active button,\n\t.mce-btn.mce-active:hover button,\n\t.mce-btn.mce-active i,\n\t.mce-btn.mce-active:hover i {\n\t\tcolor: $gray-900;\n\t}\n\n\t// Prevent toolbar clipping on heading style in RTL languages\n\t.mce-rtl .mce-flow-layout-item.mce-last {\n\t\tmargin-right: 0;\n\t\tmargin-left: 8px;\n\t}\n\n\t// Prevent i tags in buttons from picking up theme editor styles.\n\t.mce-btn i {\n\t\tfont-style: normal;\n\t}\n}\n\n.block-library-classic__toolbar {\n\t// Only display the classic toolbar when the classic block is selected or when the\n\t// block is empty or loading and the placeholder should be displayed.\n\t// display: none;\n\twidth: auto;\n\tmargin: 0;\n\tposition: sticky;\n\tz-index: 2;\n\ttop: 0;\n\tborder: $border-width solid $gray-300;\n\tborder-bottom: none;\n\tborder-radius: $radius-block-ui;\n\t// margin-bottom: $grid-unit-10;\n\n\t// On mobile, toolbars go edge to edge.\n\tpadding: 0;\n\n\t// Remove the box shadow to mimic other Gutenberg UI.\n\t.mce-tinymce {\n\t\tbox-shadow: none;\n\t}\n\n\t@include break-small() {\n\t\tpadding: 0;\n\t}\n\n\t&:empty {\n\t\tdisplay: block;\n\t\tbackground: #f5f5f5;\n\t\tborder-bottom: $border-width solid #e2e4e7;\n\n\t\t&::before {\n\t\t\tfont-family: $default-font;\n\t\t\tfont-size: $default-font-size;\n\t\t\tcontent: attr(data-placeholder);\n\t\t\tcolor: #555d66;\n\t\t\tline-height: 37px;\n\t\t\tpadding: $block-padding;\n\t\t}\n\t}\n\n\tdiv.mce-toolbar-grp {\n\t\tborder-bottom: 1px solid $gray-900;\n\t}\n\n\t// Overwrite inline styles.\n\t.mce-tinymce-inline,\n\t.mce-tinymce-inline > div,\n\tdiv.mce-toolbar-grp,\n\tdiv.mce-toolbar-grp > div,\n\t.mce-menubar,\n\t.mce-menubar > div {\n\t\theight: auto !important;\n\t\twidth: 100% !important;\n\t}\n\n\t.mce-container-body.mce-abs-layout {\n\t\toverflow: visible;\n\t}\n\n\t.mce-menubar,\n\tdiv.mce-toolbar-grp {\n\t\tposition: static;\n\t}\n\n\t// Adjust padding to not cause a jump.\n\t.mce-toolbar-grp > div {\n\t\tpadding: 1px 3px;\n\t}\n\n\t.mce-toolbar-grp .mce-toolbar:not(:first-child) {\n\t\tdisplay: none;\n\t}\n\n\t&.has-advanced-toolbar .mce-toolbar-grp .mce-toolbar {\n\t\tdisplay: block;\n\t}\n}\n\n.block-editor-freeform-modal {\n\t.block-editor-freeform-modal__content {\n\t\t.mce-edit-area iframe {\n\t\t\theight: 50vh !important;\n\t\t}\n\t\t// On large screens, make the TinyMCE edit area grow to take all the\n\t\t// available height so that the Cancel/Save buttons are always into the\n\t\t// view. On smaller screens, the modal content is scrollable.\n\t\t@include break-large() {\n\t\t\t// On medium and large screens, the modal component sets a max-height.\n\t\t\t// We want the modal to be as tall as possible also when the content is short.\n\t\t\t&:not(.is-full-screen) {\n\t\t\t\theight: 9999rem;\n\t\t\t}\n\n\t\t\t.components-modal__header + div {\n\t\t\t\theight: 100%;\n\t\t\t}\n\n\t\t\t.mce-tinymce {\n\t\t\t\theight: calc(100% - #{$button-size} - #{$grid-unit-20});\n\t\t\t}\n\n\t\t\t.mce-container-body {\n\t\t\t\theight: 100%;\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\tmin-width: 50vw;\n\t\t\t}\n\n\t\t\t.mce-edit-area {\n\t\t\t\tflex-grow: 1;\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\n\t\t\t\tiframe {\n\t\t\t\t\tflex-grow: 1;\n\t\t\t\t\t// Override the height TinyMCE sets via JavaScript so that it\n\t\t\t\t\t// can shrink to a smaller height. The actual height is\n\t\t\t\t\t// determined by Flexbox.\n\t\t\t\t\theight: 10px !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t&__actions {\n\t\tmargin-top: $grid-unit-20;\n\t}\n}\n","$border-options: solid #c3c4c7;\n\n.component-list-table {\n\twidth: 100%;\n\tbackground: #f9fafb;\n\tborder: 1px solid #ddd;\n\tbox-shadow: 0 1px 1px rgb(0 0 0 / 4%);\n\tborder-spacing: 0;\n\n\t* {\n\t\tword-wrap: break-word;\n\t}\n\n\tth,\n\ttd {\n\t\tpadding: 10px;\n\t\tcolor: #50575e;\n\t}\n\n\ttd {\n\t\tvertical-align: top;\n\t\tfont-size: 13px;\n\t\tline-height: 1.5em;\n\t}\n\n\tth,\n\tthead td,\n\ttfoot td {\n\t\ttext-align: left;\n\t\tfont-size: 14px;\n\t}\n\n\tthead,\n\ttfoot {\n\t\tbackground-color: #fff;\n\t}\n\n\ttbody tr {\n\t\ttd,\n\t\tth {\n\t\t\tborder-bottom: 1px solid #ddd;\n\t\t}\n\n\t\t.item-actions {\n\t\t\tposition: relative;\n\t\t\tleft: -9999px;\n\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tflex-wrap: wrap;\n\t\t\tgap: 10px;\n\n\t\t\t.components-button.is-link {\n\t\t\t\t&.is-destructive {\n\t\t\t\t\tcolor: #cc1818;\n\t\t\t\t\t&:focus:not(:disabled) {\n\t\t\t\t\t\tcolor: #cc1818;\n\t\t\t\t\t}\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tcolor: #710d0d;\n\t\t\t\t\t\tborder: none;\n\t\t\t\t\t\tbox-shadow: none !important;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&:hover .item-actions,\n\t\t&:focus .item-actions,\n\t\t&:focus-within .item-actions {\n\t\t\tleft: 0;\n\t\t}\n\n\t\t&:last-child,\n\t\t&:last-child {\n\t\t\tth,\n\t\t\ttd {\n\t\t\t\tborder-bottom: none !important;\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\t\t}\n\t}\n\n\tthead,\n\ttfoot {\n\t\tth,\n\t\ttd {\n\t\t\tborder-top: 1px solid #c3c4c7;\n\t\t\tborder-bottom: none;\n\t\t\tline-height: 1.4em;\n\t\t\tcolor: #2c3338;\n\t\t\tfont-weight: 400;\n\n\t\t\t&.sortable {\n\t\t\t\tpadding: 0;\n\t\t\t}\n\n\t\t\t&.check-column {\n\t\t\t\tvertical-align: middle;\n\t\t\t\twidth: 2.2em;\n\t\t\t}\n\t\t}\n\t}\n\n\tthead th,\n\tthead td {\n\t\tborder-bottom: 1px solid #c3c4c7;\n\t}\n\n\ttfoot th,\n\ttfoot td {\n\t\tborder-top: 1px solid #c3c4c7;\n\t\tborder-bottom: none;\n\t}\n\n\t.check-column {\n\t\t.components-checkbox-control__input[type=\"checkbox\"] {\n\t\t\tborder-color: #c3c4c7;\n\t\t\tz-index: 1;\n\t\t}\n\n\t\tsvg {\n\t\t\tz-index: 2;\n\t\t}\n\n\t\t.components-base-control__field {\n\t\t\tmargin-bottom: 0 !important;\n\t\t}\n\t\t.components-checkbox-control__input-container,\n\t\t.components-checkbox-control__input {\n\t\t\tmargin-right: 0 !important;\n\t\t}\n\t}\n\n\ta,\n\tbutton.button,\n\tbutton.is-link {\n\t\ttext-decoration: none;\n\t}\n\n\ttbody {\n\t\ta,\n\t\tbutton.button,\n\t\tbutton.is-link {\n\t\t\tfont-weight: 500;\n\t\t}\n\t}\n\n\tth.sortable {\n\t\ta,\n\t\tbutton {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\twidth: 100%;\n\t\t\theight: 36px;\n\t\t\toverflow: hidden;\n\t\t\tpadding: 10px;\n\t\t\tfont-size: 14px;\n\n\t\t\tspan {\n\t\t\t\tline-height: 1;\n\t\t\t}\n\n\t\t\tsvg {\n\t\t\t\tmargin-left: 3px;\n\t\t\t\tfill: black;\n\t\t\t}\n\t\t}\n\t}\n\n\t&.striped > tbody > :nth-child(odd) {\n\t\tbackground-color: #f6f7f7;\n\t}\n}\n",".components-radio-button-control {\n\t.options {\n\t\tdisplay: flex;\n\n\t\t.components-button {\n\t\t\tpadding: 12px 12px;\n\t\t\tjustify-content: center;\n\n\t\t\t.components-icon,\n\t\t\tsvg {\n\t\t\t\tmargin-right: 10px;\n\n\t\t\t\tstroke: currentColor;\n\n\t\t\t\t&.pum-icon {\n\t\t\t\t\tfill: transparent;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t&.vertical {\n\t\t.options {\n\t\t\tflex-direction: column;\n\t\t}\n\t}\n\n\t&.equal-width {\n\t\t.options {\n\t\t\t.components-button {\n\t\t\t\tflex: 1 0 0%;\n\t\t\t}\n\t\t}\n\t}\n}\n",".component-searchable-multicheck-control {\n\tposition: relative;\n\n\t.select-actions {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\ttop: 0;\n\t\tdisplay: flex;\n\t\tgap: 16px;\n\n\t\t.components-button {\n\t\t\tfont-size: 12px;\n\t\t\tfont-weight: 500;\n\t\t\tline-height: 1.4;\n\t\t\ttext-decoration: none;\n\t\t}\n\t}\n\n\t.icon-input {\n\t\tposition: relative;\n\t\tvertical-align: middle;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\tsvg {\n\t\t\tposition: absolute;\n\t\t\tright: 1em;\n\t\t}\n\t}\n\n\ttable {\n\t\twidth: 100%;\n\t\tpadding: 8px;\n\t\tbackground: #fff;\n\t\tborder-spacing: 0;\n\n\t\t* {\n\t\t\tword-wrap: break-word;\n\t\t}\n\n\t\t.label-column {\n\t\t\ttext-align: left;\n\t\t\t.components-button {\n\t\t\t\tposition: relative;\n\t\t\t\tleft: -4px;\n\t\t\t}\n\t\t}\n\n\t\tthead {\n\t\t\ttd,\n\t\t\tth {\n\t\t\t\tborder-bottom: 1px solid #cccccc;\n\t\t\t}\n\n\t\t\t&:after {\n\t\t\t\tline-height: 0.5em;\n\t\t\t\tcontent: \"\\200C\";\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\n\t\ttbody tr {\n\t\t\tth,\n\t\t\ttd {\n\t\t\t\tpadding: 4px 0;\n\t\t\t\tcolor: #50575e;\n\t\t\t}\n\t\t}\n\n\t\ttbody tr td:first-child {\n\t\t\tfont-weight: bold;\n\t\t\ttext-align: left;\n\t\t\t> span {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t}\n\n\t\ttbody tr th:last-child {\n\t\t\ttext-align: center;\n\t\t}\n\n\t\t.cb-column {\n\t\t\twidth: 80px;\n\t\t\ttext-align: center;\n\n\t\t\t*,\n\t\t\t.components-checkbox-control {\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n",".components-url-control {\n\t.components-base-control__label {\n\t\tdisplay: block;\n\t}\n\n\t.url-control-wrapper {\n\t\t.url-control {\n\t\t\tposition: relative;\n\n\t\t\t.url-control__input-icon {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 9px;\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\tcolor: #1e1e1e;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\n\t\t\t.url-control__input {\n\t\t\t\tdisplay: block;\n\t\t\t\twidth: 100%;\n\t\t\t\tmin-height: 50px;\n\t\t\t\tfont-size: 1.2em;\n\t\t\t\t// padding: 9px 9px 9px 30px;\n\t\t\t\tpadding-left: 36px;\n\t\t\t}\n\n\t\t\t.url-control__actions {\n\t\t\t\tposition: absolute;\n\t\t\t\tright: 9px;\n\t\t\t\ttop: 9px;\n\n\t\t\t\t.components-button,\n\t\t\t\t.components-spinner {\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\tmargin: 0 0 0 5px;\n\t\t\t\t}\n\n\t\t\t\t.components-button {\n\t\t\t\t\theight: auto;\n\t\t\t\t\tmin-width: auto;\n\t\t\t\t}\n\n\t\t\t\t.components-spinner {\n\t\t\t\t\theight: 24px;\n\t\t\t\t\twidth: 24px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.chosen-suggestion {\n\t\tdisplay: flex;\n\t\talign-items: top;\n\t\tgap: 8px;\n\t\tpadding: 12px 16px;\n\t\tbackground-color: #f0f0f0;\n\t\tborder-radius: 2px;\n\t\tfont-size: 13px;\n\n\t\t.suggestion-item-header {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: 0;\n\t\t}\n\n\t\t.suggestion-item-title {\n\t\t\tfont-weight: 500;\n\t\t}\n\n\t\t.suggestion-item-info {\n\t\t\tcolor: #757575;\n\t\t}\n\t}\n}\n\n.suggestions-popover>.components-popover__content {\n\twidth: fit-content;\n\n\t.suggestion {\n\t\talign-items: flex-start;\n\t\tbackground: #fff;\n\t\tborder: none;\n\t\tborder-radius: 2px;\n\t\tcursor: pointer;\n\t\tdisplay: flex;\n\t\tfont-size: 13px;\n\t\theight: auto;\n\t\tpadding: 12px 16px;\n\t\tposition: relative;\n\t\ttext-align: left;\n\t\twidth: 100%;\n\n\t\t&:hover,\n\t\t&.is-selected {\n\t\t\tbackground-color: #f0f0f0;\n\t\t}\n\t}\n\n\t.suggestion-item-info,\n\t.suggestion-item-title {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t.suggestion-item-header {\n\t\talign-items: flex-start;\n\t\tdisplay: block;\n\t\tflex-direction: row;\n\t\tmargin-right: 8px;\n\t\toverflow-wrap: break-word;\n\t\twhite-space: pre-wrap;\n\t\tword-break: break-all;\n\t\ttext-align: left;\n\t}\n\n\t.suggestion-item-icon {\n\t\tdisplay: flex;\n\t\tflex-shrink: 0;\n\t\tjustify-content: center;\n\t\tmargin-right: 8px;\n\t\tmax-height: 24px;\n\t\tposition: relative;\n\t\ttop: 0.2em;\n\t\twidth: 24px;\n\t}\n\n\t.suggestion-item-title {\n\t\tdisplay: block;\n\t\tfont-weight: 500;\n\t\tmargin-bottom: 0.2em;\n\t\tposition: relative;\n\t}\n\n\t.suggestion-item-info {\n\t\tcolor: #757575;\n\t\tdisplay: block;\n\t\tfont-size: 0.9em;\n\t\tline-height: 1.3;\n\t\tword-break: break-all;\n\t}\n\n\t.suggestion-item-type {\n\t\tbackground-color: #f0f0f0;\n\t\tborder-radius: 2px;\n\t\tdisplay: block;\n\t\tfont-size: 0.9em;\n\t\tmargin-left: auto;\n\t\tpadding: 3px 6px;\n\t\twhite-space: nowrap;\n\t}\n}"],"names":[],"sourceRoot":""} dist/packages/dashboard.js 0000644 00000000603 15174671772 0011572 0 ustar 00 (()=>{"use strict";document.addEventListener("DOMContentLoaded",()=>{const e=document.getElementById("pum_analytics_basic");if(e){const t=e.querySelector(".postbox-header h2");if(t){const n=e.querySelector(".pum-widget-badge");n&&(t.innerHTML=t.innerHTML.replace(n.outerHTML,""),t.appendChild(n),n.removeAttribute("style"))}}}),(window.popupMaker=window.popupMaker||{}).dashboard={}})(); dist/packages/layout.css.map 0000644 00000004050 15174671772 0012110 0 ustar 00 {"version":3,"file":"layout.css","mappings":";;;AACA;EACC;AAAD,C;;;;ACFA;EACC;EACA;EACA;EACA;AACD;;AAEA;EACC;AACD,C;;;;ACTA;EACC;EACA;EACA;EAEA;EACA;EACA;AAAD;AAEC;EACC;AAAF;AAEE;EACC;EACA;EACA;EACA;AAAH;AAGE;EACC;EACA;AADH;AAKC;EACC;AAHF;AAMC;EACC;EACA;EACA;EACA;AAJF;AAME;EACC,yHACC;AALJ;AASE;EACC;AAPH;AAYE;EACC;AAVH;AAYG;EACC;AAVJ;AAcI;EACC;AAZL;AAiBE;EACC;AAfH,C","sources":["webpack://popup-maker/core/./packages/layout/src/styles.scss?","webpack://popup-maker/core/./packages/layout/src/components/app-layout/styles.scss?","webpack://popup-maker/core/./packages/layout/src/components/app-header/styles.scss?"],"sourcesContent":["// Reset WordPress admin content padding for full-width layouts\n#wpcontent {\n\tpadding: 0;\n}\n",".popup-maker-app-layout {\n\tmin-height: 100vh;\n\tdisplay: flex;\n\tflex-direction: column;\n\tbackground-color: #f0f0f1;\n}\n\n.popup-maker-app-content {\n\tpadding: 20px 0 20px 20px;\n}\n",".popup-maker-app-header {\n\tbackground-color: #fff;\n\tborder-bottom: 1px solid #ddd;\n\tpadding-right: 20px;\n\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 20px;\n\n\t.branding {\n\t\tmargin: 0 20px;\n\n\t\ta {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tcolor: inherit;\n\t\t\ttext-decoration: none;\n\t\t}\n\n\t\timg {\n\t\t\tmargin-right: 10px;\n\t\t\tmax-height: 1.25em;\n\t\t}\n\t}\n\n\t.tabs {\n\t\tflex-grow: 1;\n\t}\n\n\t.components-tab-panel__tabs-item {\n\t\tfont-size: 1.125em;\n\t\theight: 60px;\n\t\tcolor: #1e1e1e;\n\t\ttext-decoration: none;\n\n\t\t&.is-active {\n\t\t\tbox-shadow:\n\t\t\t\tinset 0 0 0 var(--wp-admin-border-width-focus) #0000,\n\t\t\t\tinset 0 -4px 0 0 var(--wp-admin-theme-color);\n\t\t}\n\n\t\t&:hover {\n\t\t\tcolor: var(--wp-admin-theme-color);\n\t\t}\n\t}\n\n\t.components-tab-panel__tabs-item {\n\t\t&.upgrade {\n\t\t\tmargin-left: auto;\n\n\t\t\tsvg {\n\t\t\t\tmargin-right: 5px;\n\t\t\t}\n\n\t\t\t&:hover {\n\t\t\t\tsvg path {\n\t\t\t\t\tfill: var(--wp-admin-theme-color);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.support-link {\n\t\t\tmargin-left: auto;\n\t\t}\n\t}\n}\n\n"],"names":[],"sourceRoot":""} dist/packages/admin-marketing.js.map 0000644 00000007066 15174671772 0013500 0 ustar 00 {"version":3,"file":"admin-marketing.js","mappings":";;;;;;;;;;AAAA;;;;;;;;;;;ACAA,kC;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA,E;;;;;WCPA,wF;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;;;;;;;;;;ACNuB;AAEA;AAYvB,MAAM;EAAEC;AAAU,CAAC,GAAGC,MAAM,CAACC,UAAU,CAACC,UAAU;;AAElD;AACAJ,6CAAC,CAAE,MAAM;EACRA,6CAAC,CAAE,gCAAiC,CAAC,CAACK,GAAG,CAAE;IAC1CC,KAAK,EAAE;EACR,CAAE,CAAC;EAEHN,6CAAC,CAAE,+CAAgD,CAAC,CAACK,GAAG,CAAE;IACzDE,eAAe,EAAE,QAASN,SAAS;EACpC,CAAE,CAAC;AACJ,CAAE,CAAC,C","sources":["webpack://popup-maker/core/./packages/admin-marketing/src/styles.scss?5180","webpack://popup-maker/core/external window \"jQuery\"?","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/compat get default export?","webpack://popup-maker/core/webpack/runtime/define property getters?","webpack://popup-maker/core/webpack/runtime/hasOwnProperty shorthand?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/admin-marketing/src/index.ts?"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport {};","module.exports = window[\"jQuery\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './styles.scss';\n\nimport $ from 'jquery';\n\ndeclare global {\n\tinterface Window {\n\t\tpopupMaker: {\n\t\t\tglobalVars: {\n\t\t\t\tassetsUrl: string;\n\t\t\t};\n\t\t};\n\t}\n}\n\nconst { assetsUrl } = window.popupMaker.globalVars;\n\n// Initiate when ready.\n$( () => {\n\t$( 'a[href*=\"pum-settings#go-pro\"]' ).css( {\n\t\tcolor: '#1dbe61',\n\t} );\n\n\t$( '#menu-posts-popup.wp-menu-open .wp-menu-image' ).css( {\n\t\tbackgroundImage: `url('${ assetsUrl }images/mark-light.svg')`,\n\t} );\n} );\n"],"names":["$","assetsUrl","window","popupMaker","globalVars","css","color","backgroundImage"],"sourceRoot":""} dist/packages/dashboard.css.map 0000644 00000014553 15174671772 0012533 0 ustar 00 {"version":3,"file":"dashboard.css","mappings":";;;AAGA;EAEE;AAHF;AAKE;EACE;EACA;AAHJ;AAKI;EAEE;EACA;AAJN;;AASA;EACE;EACA;EACA;EACA;EACA;EACA;AANF;AAQE;EACE;EACA;AANJ;;AAUA;EACE;AAPF;AASE;EACE;AAPJ;;AAcA;EACE;EACA;EACA;EACA;EACA;AAXF;AAaE;EACE;EACA;EACA;EACA;AAXJ;AAcE;EACE;AAZJ;AAeE;EACE;EACA;EACA;AAbJ;AAgBE;EACE;EACA;EACA;EACA;AAdJ;AAiBE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAfJ;AAiBI;EAEE;EACA;EACA;EACA;EACA;AAhBN;;AA0BA;EACE;EACA;EACA;EACA;AAvBF;AAyBE;EACE;EACA;AAvBJ;;AA4BA;EACE;AAzBF;AA2BE;EACE;EACA;EACA;EACA;AAzBJ;AA4BE;EACE;EACA;EACA;EACA;EACA;AA1BJ;AA4BI;EACE;AA1BN;AA6BI;EACE;AA3BN;AA+BE;EACE;EACA;AA7BJ;;AAkCA;EACE;EACA;EACA;AA/BF;AAiCE;EACE;EACA;EACA;EACA;AA/BJ;AAkCE;EACE;EACA;AAhCJ;;AAqCA;EACE;EACA;AAlCF;AAoCE;EACE;EACA;EACA;AAlCJ;AAqCE;EACE;EACA;EACA;AAnCJ;;AAwCA;EACE;EACA;AArCF;AAuCE;EACE;EACA;EACA;EACA;AArCJ;AAwCE;EACE;AAtCJ;AAwCI;EACE;AAtCN;AA0CE;EACE;EACA;EACA;EACA;AAxCJ;AA2CE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAzCJ;AA4CE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AA1CJ;AA6CE;EACE;EACA;EACA;EACA;EACA;AA3CJ;;AAgDA;EACE;IACE;EA7CF;EAgDA;IACE;IACA;EA9CF;EAiDA;IACE;IACA;EA/CF;AACF,C","sources":["webpack://popup-maker/core/./packages/dashboard/src/index.scss?"],"sourcesContent":["// Popup Maker Dashboard Widget Styles\n\n// Main widget container\n.pum-dashboard-widget {\n // Reset any custom styling to match WP defaults\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n \n a {\n color: #2271b1;\n text-decoration: underline;\n \n &:hover,\n &:focus {\n color: #135e96;\n text-decoration: none;\n }\n }\n}\n\n.pum-widget-badge {\n background: #f0f0f1; // WP admin gray\n color: #646970; // WP admin text muted\n font-size: 12px;\n font-weight: 500;\n padding: 4px 12px;\n border-radius: 3px; // WP standard radius\n\n &.pum-badge-pro {\n background: #2271b1; // WP admin blue\n color: white;\n }\n}\n\n#pum_analytics_basic .postbox-header h2 {\n gap: 1em;\n\n .pum-widget-badge {\n margin-right: auto;\n }\n}\n\n\n\n// Upgrade box\n.pum-upgrade-box {\n margin: 20px;\n padding: 15px;\n background: #f6f7f7; // WP admin light background\n border-radius: 3px;\n border-left: 4px solid #2271b1; // WP admin blue accent\n\n .pum-upgrade-header {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 8px;\n }\n\n .pum-upgrade-icon {\n font-size: 20px;\n }\n\n .pum-upgrade-title {\n font-size: 14px;\n font-weight: 600;\n color: #1d2327; // WP admin text primary\n }\n\n .pum-upgrade-text {\n margin: 0 0 16px 0;\n color: #50575e; // WP admin text secondary\n font-size: 13px;\n line-height: 1.5;\n }\n\n .pum-upgrade-button {\n display: inline-block;\n padding: 6px 14px;\n background: #2271b1; // WP admin blue\n color: white;\n text-align: center;\n text-decoration: none;\n font-size: 13px;\n font-weight: normal;\n border-radius: 3px;\n border: 1px solid #2271b1;\n cursor: pointer;\n transition: background 0.05s ease-in-out;\n\n &:hover,\n &:focus {\n background: #135e96; // WP admin blue hover\n border-color: #135e96;\n color: white;\n outline: 2px solid transparent;\n outline-offset: 0;\n }\n }\n}\n\n\n\n\n\n// Stats grid\n.pum-stats-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 20px;\n padding: 20px;\n\n &.pum-stats-grid-2x2 {\n grid-template-columns: 1fr 1fr;\n grid-template-rows: auto auto;\n }\n}\n\n// Individual stat styles\n.pum-stat {\n text-align: center;\n\n &.pum-stat-with-chart {\n display: flex;\n align-items: center;\n justify-content: space-between;\n text-align: left;\n }\n\n .pum-stat-value {\n font-size: 32px;\n font-weight: 600;\n line-height: 1;\n margin-bottom: 4px;\n color: #1d2327; // WP admin text primary\n\n &.pum-stat-views {\n color: #1d2327; // Standard text color for views\n }\n\n &.pum-stat-conversions {\n color: #00a32a; // WP admin success green for conversions\n }\n }\n\n .pum-stat-label {\n color: #646970; // WP admin text muted\n font-size: 13px;\n }\n}\n\n// Conversion rate section\n.pum-conversion-rate {\n text-align: center;\n padding: 20px;\n background: #f6f7f7; // WP admin light background\n\n .pum-rate-value {\n font-size: 36px;\n font-weight: 600;\n color: #00a32a; // WP admin success green for conversion rate\n margin-bottom: 4px;\n }\n\n .pum-rate-label {\n color: #646970; // WP admin text muted\n font-size: 13px;\n }\n}\n\n// Top performer section\n.pum-top-performer {\n padding: 20px;\n border-top: 1px solid #c3c4c7; // WP admin border\n\n .pum-performer-label {\n color: #646970; // WP admin text muted\n font-size: 13px;\n margin-bottom: 4px;\n }\n\n .pum-performer-name {\n font-size: 14px;\n font-weight: 600;\n color: #1d2327; // WP admin text primary\n }\n}\n\n// Top performers list\n.pum-top-performers {\n padding: 20px;\n border-top: 1px solid #c3c4c7; // WP admin border\n\n h4 {\n margin: 0 0 12px 0;\n font-size: 14px;\n font-weight: 600;\n color: #1d2327; // WP admin text primary\n }\n\n .pum-performer-item {\n margin-bottom: 12px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n .pum-performer-name {\n display: block;\n font-size: 13px;\n color: #1d2327; // WP admin text primary\n margin-bottom: 4px;\n }\n\n .pum-performer-bar {\n position: relative;\n background: #dcdcde; // WP admin light gray\n height: 20px;\n border-radius: 3px;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding-right: 8px;\n }\n\n .pum-performer-fill {\n position: absolute;\n left: 0;\n top: 0;\n height: 100%;\n background: #2271b1; // WP admin blue\n border-radius: 3px;\n transition: width 0.3s ease;\n }\n\n .pum-performer-rate {\n position: relative;\n z-index: 1;\n font-size: 12px;\n font-weight: 600;\n color: #1d2327; // WP admin text primary\n }\n}\n\n// Responsive adjustments for smaller dashboard layouts\n@media (max-width: 782px) {\n .pum-stats-grid {\n grid-template-columns: 1fr;\n }\n\n .pum-device-grid {\n grid-template-columns: 1fr;\n gap: 12px;\n }\n\n .pum-widget-footer {\n flex-direction: column;\n gap: 8px;\n }\n}"],"names":[],"sourceRoot":""} dist/packages/dashboard.js.map 0000644 00000005707 15174671772 0012360 0 ustar 00 {"version":3,"file":"dashboard.js","mappings":";;;;;;;;;;AAAA;;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;;;;;;;;ACNsB;;AAEtB;AACAA,QAAQ,CAACC,gBAAgB,CAAE,kBAAkB,EAAE,MAAM;EACpD,MAAMC,SAAS,GAAGF,QAAQ,CAACG,cAAc,CAAE,qBAAsB,CAAC;EAElE,IAAKD,SAAS,EAAG;IAChB;IACA,MAAME,MAAM,GAAGF,SAAS,CAACG,aAAa,CAAE,oBAAqB,CAAC;IAC9D,IAAKD,MAAM,EAAG;MACb,MAAME,KAAK,GAAGJ,SAAS,CAACG,aAAa,CAAE,mBAAoB,CAAC;MAC5D,IAAKC,KAAK,EAAG;QACZF,MAAM,CAACG,SAAS,GAAGH,MAAM,CAACG,SAAS,CAACC,OAAO,CAC1CF,KAAK,CAACG,SAAS,EACf,EACD,CAAC;QACDL,MAAM,CAACM,WAAW,CAAEJ,KAAM,CAAC;QAC3B;QACAA,KAAK,CAACK,eAAe,CAAE,OAAQ,CAAC;MACjC;IACD;EACD;AACD,CAAE,CAAC,C","sources":["webpack://popup-maker/core/./packages/dashboard/src/index.scss?95b9","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/dashboard/src/index.tsx?"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport {};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './index.scss';\n\n// Initialize advanced analytics widget when DOM is ready\ndocument.addEventListener( 'DOMContentLoaded', () => {\n\tconst container = document.getElementById( 'pum_analytics_basic' );\n\n\tif ( container ) {\n\t\t// Move the .pum-widget-badge from within the container to the end of the .postbox-header h2 text.\n\t\tconst header = container.querySelector( '.postbox-header h2' );\n\t\tif ( header ) {\n\t\t\tconst badge = container.querySelector( '.pum-widget-badge' );\n\t\t\tif ( badge ) {\n\t\t\t\theader.innerHTML = header.innerHTML.replace(\n\t\t\t\t\tbadge.outerHTML,\n\t\t\t\t\t''\n\t\t\t\t);\n\t\t\t\theader.appendChild( badge );\n\t\t\t\t//Remove style attribute\n\t\t\t\tbadge.removeAttribute( 'style' );\n\t\t\t}\n\t\t}\n\t}\n} );\n"],"names":["document","addEventListener","container","getElementById","header","querySelector","badge","innerHTML","replace","outerHTML","appendChild","removeAttribute"],"sourceRoot":""} dist/packages/block-editor.js.map 0000644 00000177067 15174671772 0013020 0 ustar 00 {"version":3,"file":"block-editor.js","mappings":";;;;;;;;;;;;;;AAAA,cAAc,aAAa,+CAA+C,gDAAgD,eAAe,QAAQ,IAAI,0CAA0C,yCAAyC,SAAgB,gBAAgB,wCAAwC,IAAI,mDAAmD,SAAS,iEAAe,IAAI,E;;;;;;;;;;;;;;;;;;;;;AEAnY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAuB;AAEC;AAEe;AACM;AACe;AAO7B;AACiC;AAEH;AAEP;AACtD;AAAA;AAEA,MAAM;EAAEmB;AAA2B,CAAC,GAAGC,MAAM,CAACC,qBAAqB;;AAEnE;AACA;AACA;AACA;AACA;AACA,MAAMC,aAAuB,GAAG,EAAE;AAClC,MAAMC,cAAwB,GAAGJ,0BAA0B,IAAI,CAC9D,eAAe,EACf,4BAA4B,EAC5B,6BAA6B,CAC7B;AAED,SAASK,qBAAqBA,CAAEC,IAAY,EAAG;EAC9C,IAAK,CAAEH,aAAa,CAACI,MAAM,IAAI,CAAEH,cAAc,CAACG,MAAM,EAAG;IACxD,OAAO,IAAI;EACZ;EAEA,IAAKJ,aAAa,CAACI,MAAM,EAAG;IAC3B,OAAOJ,aAAa,CAACK,QAAQ,CAAEF,IAAK,CAAC;EACtC;EAEA,IAAKF,cAAc,CAACG,MAAM,EAAG;IAC5B,OAAO,CAAEH,cAAc,CAACI,QAAQ,CAAEF,IAAK,CAAC;EACzC;EAEA,OAAO,IAAI;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,aAAaA,CAAEC,QAA2C,EAGjE;EACD;EACA;EACA,IACC,OAAOA,QAAQ,CAACC,UAAU,KAAK,WAAW,IAC1CN,qBAAqB,CAAEK,QAAQ,CAACJ,IAAK,CAAC,EACrC;IACDI,QAAQ,CAACC,UAAU,GAAGC,MAAM,CAACC,MAAM,CAAEH,QAAQ,CAACC,UAAU,EAAE;MACzDG,WAAW,EAAE;QACZC,IAAI,EAAE,QAAQ;QACdC,OAAO,EAAE;MACV;IACD,CAAE,CAAC;EACJ;EAEA,OAAON,QAAQ;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMO,oBAAoB,GAAG3B,8EAA0B,CAAI4B,SAAS,IAAM;EACzE,OAASC,KAAK,IAAM;IACnB,MAAM;MAAEb,IAAI;MAAEK,UAAU;MAAES,aAAa;MAAEC;IAAW,CAAC,GAAGF,KAAK;IAC7D,MAAM;MAAEL;IAAY,CAAC,GAAGH,UAAU;IAElC,oBACCZ,uDAAA,CAAAF,uDAAA;MAAAyB,QAAA,gBACC3B,sDAAA,CAACuB,SAAS;QAAA,GAAMC;MAAK,CAAI,CAAC,EACxBE,UAAU,IAAIhB,qBAAqB,CAAEC,IAAK,CAAC,iBAC5CX,sDAAA,CAACX,sEAAiB;QAAAsC,QAAA,eACjB3B,sDAAA,CAACT,wDAAK;UAACqC,SAAS,EAAC,oCAAoC;UAAAD,QAAA,eACpDvB,uDAAA,CAACZ,4DAAS;YACTqC,KAAK,EAAG1C,qDAAE,CAAE,gBAAgB,EAAE,aAAc;YAC5C;YAAA;YACA2C,IAAI,EAAGhC,oDAAU;YACjBiC,WAAW,EAAG,KAAO;YAAAJ,QAAA,gBAErB3B,sDAAA,CAACP,2DAAQ;cAAAkC,QAAA,EACNxC,qDAAE,CACH,6DAA6D,EAC7D,aACD;YAAC,CACQ,CAAC,eACXa,sDAAA,CAACP,2DAAQ;cAAAkC,QAAA,eACR3B,sDAAA,CAACJ,uEAAkB;gBAClBoC,KAAK,eACJ5B,uDAAA,CAAAF,uDAAA;kBAAAyB,QAAA,GACGxC,qDAAE,CACH,YAAY,EACZ,aACD,CAAC,eACDa,sDAAA,CAACN,0DAAO;oBACPuC,SAAS,EAAC,KAAK;oBACfC,IAAI,EAAG/C,qDAAE,CACR,sDAAsD,EACtD,aACD,CAAG;oBAAAwC,QAAA,eAEH3B,sDAAA;sBACCmC,IAAI,EAAC,sFAAsF;sBAC3FC,MAAM,EAAC,QAAQ;sBACfC,GAAG,EAAC,qBAAqB;sBAAAV,QAAA,eAEzB3B,sDAAA,CAACV,uDAAI;wBACJgD,IAAI,EAAG,EAAI;wBACXR,IAAI,EAAC;wBACL;wBAAA;wBACAD,KAAK,EAAG1C,qDAAE,CACT,oBAAoB,EACpB,aACD,CAAG;wBACHoD,KAAK,EAAG;0BACPC,aAAa,EACZ;wBACF;sBAAG,CACH;oBAAC,CACA;kBAAC,CACI,CAAC;gBAAA,CACT,CACF;gBACDC,KAAK,EAAGtB,WAAa;gBACrBuB,QAAQ,EAAKC,OAAO,IACnBlB,aAAa,CAAE;kBACdN,WAAW,EAAEwB;gBACd,CAAE,CACF;gBACDC,IAAI,EAAGzD,qDAAE,CACR,uCAAuC,EACvC,aACD;cAAG,CACH;YAAC,CACO,CAAC;UAAA,CACD;QAAC,CACN;MAAC,CACU,CACnB;IAAA,CACA,CAAC;EAEL,CAAC;AACF,CAAC,EAAE,sBAAuB,CAAC;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS0D,iBAAiBA,CAAEC,UAAU,EAAEC,SAAS,EAAE/B,UAAU,EAAG;EAC/D,MAAM;IAAEG;EAAY,CAAC,GAAGH,UAAU;;EAElC;EACA;EACA;EACA,IACC,OAAOG,WAAW,KAAK,WAAW,IAClCA,WAAW,GAAG,CAAC,IACfT,qBAAqB,CAAEqC,SAAS,CAACpC,IAAK,CAAC,EACtC;IACDmC,UAAU,CAAClB,SAAS,GAAG1C,gDAAI,CAC1B4D,UAAU,CAAClB,SAAS,EACpB,UAAU,GAAGT,WACd,CAAC;EACF;EAEA,OAAO2B,UAAU;AAClB;;AAEA;;AAEA1D,2DAAS,CACR,0BAA0B,EAC1B,sCAAsC,EACtC0B,aACD,CAAC;AAED1B,2DAAS,CACR,kBAAkB,EAClB,4CAA4C,EAC5CkC,oBACD,CAAC;AAEDlC,2DAAS,CACR,kCAAkC,EAClC,+BAA+B,EAC/ByD,iBACD,CAAC,C;;;;;;;;;;;;;ACzND;AACA;AACA;AAC0D;AAC1D;AACA;AACA;AAC2C;AAE3C,CAAEI,2CAAO,CAAE,CAACC,OAAO,CAAE,CAAE;EAAEvC,IAAI;EAAEI;AAAS,CAAC,KACxCiC,wEAAkB,CAAErC,IAAI,EAAEI,QAAS,CACpC,CAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXsC;AACC;AACmB;AACM;AACS;AAIzC;AAEgC;AAErB;AAAA;AAqB5C,MAAMc,KAAK,GAAG1C,qDAAE,CAAE,eAAe,EAAE,aAAc,CAAC;AAC3C,MAAMwB,IAAI,GAAG,2BAA2B;AAExC,MAAMmD,WAAW,GAAGV,yEAAkB,CAC5C,CAAE;EACDW,QAAQ;EACRC,gBAAgB;EAChBvB,KAAK;EACLC,QAAQ;EACRuB,OAAO;EACPC;AACM,CAAC,KAAM;EACb,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GACxCb,4DAAQ,CAAa,KAAM,CAAC;EAE7B,MAAM,CAAEc,QAAQ,EAAEC,WAAW,CAAE,GAAGf,4DAAQ,CAG9B,IAAK,CAAC;EAElBE,6DAAS,CAAE,MAAM;IAChB;IACA;IACA;IACA,IAAK,CAAEM,QAAQ,EAAG;MACjBK,gBAAgB,CAAE,KAAM,CAAC;IAC1B;EACD,CAAC,EAAE,CAAEL,QAAQ,CAAG,CAAC;EAEjBP,mEAAe,CAAE,MAAM;IACtB,MAAMe,sBAAsB,GAAGL,UAAU,EAAEM,OAAO;IAClD,IAAK,CAAED,sBAAsB,EAAG;MAC/B;IACD;IAEA,SAASE,WAAWA,CAAEC,KAAiB,EAAG;MACzC;MACA;MACA;MACA;MACA;MACA;MACA,MAAMtC,MAAM,GAAGsC,KAAK,CAACtC,MAAqB,CAAC,CAAC;MAC5C,MAAMa,OAAO,GAAGb,MAAM,EAAEuC,OAAO,CAC9B,sCACD,CAAgB;MAEhB,IACC,CAAE1B,OAAO;MAAI;MACb,CAAEc,QAAQ,EACT;QACD;MACD;MAEAK,gBAAgB,CAAE,IAAK,CAAC;MACxBE,WAAW,CAAE;QACZM,EAAE,EAAE3B,OAAO;QACX4B,MAAM,EAAE;MACT,CAAE,CAAC;IACJ;IAEAN,sBAAsB,CAACO,gBAAgB,CAAE,OAAO,EAAEL,WAAY,CAAC;IAE/D,OAAO,MAAM;MACZF,sBAAsB,CAACQ,mBAAmB,CACzC,OAAO,EACPN,WACD,CAAC;IACF,CAAC;EACF,CAAC,EAAE,CAAEP,UAAU,EAAEH,QAAQ,CAAG,CAAC;EAE7B,MAAMiB,UAAU,GAAGA,CAAA,KAAM;IACxB;;IAEA;IACA;IACA;IACA;IACA;IACA;IACAZ,gBAAgB,CAAE,IAAK,CAAC;EACzB,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMa,iBAAiB,GAAGA,CAAA,KAAM;IAC/B;;IAEA;IACA;IACA;;IAEA;IACA;;IAEA;IACAb,gBAAgB,CAAE,KAAM,CAAC;;IAEzB;IACA,IAAKC,QAAQ,EAAEO,EAAE,EAAG;MACnBP,QAAQ,CAACO,EAAE,CAACM,KAAK,CAAC,CAAC;IACpB,CAAC,MAAM;MACNjB,OAAO,CAAC,CAAC;IACV;IACA;IACAK,WAAW,CAAE,IAAK,CAAC;EACpB,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA,MAAMa,cAAc,GAAGA,CAAA,KAAM;IAC5Bf,gBAAgB,CAAE,KAAM,CAAC;IACzBE,WAAW,CAAE,IAAK,CAAC;EACpB,CAAC;EAED,MAAMc,cAAc,GAAGA,CAAA,KAAM;IAC5B1C,QAAQ,CAAEW,kEAAY,CAAEZ,KAAK,EAAE9B,IAAK,CAAE,CAAC;IACvCwC,sDAAK,CAAEhE,qDAAE,CAAE,kBAAkB,EAAE,aAAc,CAAC,EAAE,WAAY,CAAC;EAC9D,CAAC;;EAED;EACA,MAAMkG,eAAe,GAAG,EACvBhB,QAAQ,EAAEO,EAAE,EAAEU,OAAO,KAAK,MAAM,IAAIjB,QAAQ,EAAEQ,MAAM,KAAK,OAAO,CAChE;EAED,MAAMU,YAAY,GAAG,CAAEjC,iEAAW,CAAEb,KAAM,CAAC;EAE3C,oBACCrC,uDAAA,CAAAF,uDAAA;IAAAyB,QAAA,GACG4D,YAAY,iBACbvF,sDAAA,CAAC0D,qEAAgB;MAChBtC,IAAI,EAAC,SAAS;MACdoE,SAAS,EAAC,GAAG;MACbC,KAAK,EAAGT;IAA0B,CAClC,CACD,eACDhF,sDAAA,CAAC0D,qEAAgB;MAChBtC,IAAI,EAAC,cAAc;MACnBoE,SAAS,EAAC,GAAG;MACbC,KAAK,EAAGL;IAAgB,CACxB,CAAC,EAEArB,QAAQ,gBACT/D,sDAAA,CAAC2D,0EAAqB;MACrB7B,IAAI,EAAG8B,yDAAW;MAClB8B,QAAQ,EAAG,EAAI;MACf7D,KAAK,EAAG1C,qDAAE,CAAE,gBAAgB,EAAE,aAAc,CAAG;MAC/CwG,OAAO,EAAGP,cAAgB;MAC1BrB,QAAQ,EAAGA,QAAU;MACrB6B,YAAY,EAAC,cAAc;MAC3BC,iBAAiB,EAAC,GAAG;MACrB,iBAAc,MAAM;MACpB,iBAAgB1B;IAAe,CAC/B,CAAC,gBAEFnE,sDAAA,CAAC2D,0EAAqB;MACrB7B,IAAI,EAAGhC,oDAAU;MACjB4F,QAAQ,EAAG,EAAI;MACf7D,KAAK,EAAGA,KAAO;MACf8D,OAAO,EAAGX,UAAY;MACtBjB,QAAQ,EAAGA,QAAU;MACrB6B,YAAY,EAAC,SAAS;MACtBC,iBAAiB,EAAC,GAAG;MACrB,iBAAc,MAAM;MACpB,iBAAgB1B;IAAe,CAC/B,CACD,EACCA,aAAa,iBACdnE,sDAAA,CAAC6D,+CAAoB;MACpBoB,iBAAiB,EAAGA,iBAAmB;MACvCE,cAAc,EAAGA,cAAgB;MACjCpB,QAAQ,EAAGA,QAAU;MACrBC,gBAAgB,EAAGA,gBAAkB;MACrCvB,KAAK,EAAGA,KAAO;MACfC,QAAQ,EAAGA,QAAU;MACrBwB,UAAU,EAAGA,UAAY;MACzB4B,YAAY,EACXT,eAAe,GAAG,cAAc,GAAG;IACnC,CACD,CACD;EAAA,CACA,CAAC;AAEL,CACD,CAAC;AAEM,MAAMtE,QAAkB,GAAG;EACjCJ,IAAI;EACJkB,KAAK;EACLyD,OAAO,EAAE,MAAM;EACf1D,SAAS,EAAE,eAAe;EAC1BmE,MAAM,EAAE,KAAK;EACb/E,UAAU,EAAE;IACX2B,OAAO,EAAE,eAAe;IACxBqD,SAAS,EAAE;EACZ,CAAC;EACDC,WAAW,EAAE,KAAK;EAClBC,IAAI,EAAEpC;AACP,CAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7OwC;AAEF;AACC;AACiB;AAO7B;AACwC;AACG;AACO;AAMhD;AAE6C;AAK1D;AAAA;AAMjB,MAAM4D,kBAAkB,GAAKhD,KAA0B,IACtDA,KAAK,CAACiD,eAAe,CAAC,CAAC;AAExB,MAAMC,SAAS,GAAKlD,KAA0B,IAAM;EACnD,IAEE,CAAEsC,qDAAI,EAAEF,qDAAI,EAAEG,sDAAK,EAAEC,mDAAE,EAAEL,0DAAS,EAAEE,sDAAK,CAAE,CACzCc,OAAO,CAAEC,QAAQ,CAAEpD,KAAK,CAACqD,GAAI,CAAE,CAAC,GAAG,CAAC,CAAC,EACvC;IACD;IACArD,KAAK,CAACiD,eAAe,CAAC,CAAC;EACxB;AACD,CAAC;AAaD,MAAM9D,oBAAoB,GAAGA,CAAE;EAC9BE,QAAQ;EACRC,gBAAgB;EAChBvB,KAAK;EACLC,QAAQ;EACRyC,cAAc;EACdF,iBAAiB;EACjBf,UAAU;EACV4B;AACM,CAAC,KAAM;EACb;EACA,MAAM;IAAEkC;EAAgB,CAAC,GAAG7B,4DAAW,CAAEM,0DAAiB,CAAC;;EAE3D;EACA,MAAM;IAAEwB;EAAe,CAAC,GAAG7B,0DAAS,CAAI8B,MAAM,IAAM;IACnD,MAAM;MAAEC;IAAkB,CAAC,GAAGD,MAAM,CAAEzB,0DAAiB,CAOtD;IAED,OAAO;MACNwB,cAAc,EAAEE,iBAAiB,CAAC;IACnC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,YAAkC,GAAG/B,2DAAO,CACjD,MAAMoB,sEAA6B,CAAEzD,gBAAiB,CAAC,EACvD,CAAEA,gBAAgB,CACnB,CAAC;EAED,MAAM,CAAEqE,gBAAgB,EAAEC,mBAAmB,CAAE,GAAG/E,4DAAQ,CACzD,CAAES,gBAAgB,IAAI,CAAEA,gBAAgB,CAACrB,OAC1C,CAAC;EAED,MAAM4F,aAAa,GAAGpB,+DAAS,CAAE;IAChC5C,sBAAsB,EAAEL,UAAU,CAACM,OAAO;IAC1CzD,QAAQ,EAAE;MACT,GAAGA,4CAAQ;MACXgD;IACD;EACD,CAAE,CAAC;EAEH,MAAMyE,aAAa,GAAGlC,+DAAW,CAAE,MAAM;IACxC,MAAMmC,QAAQ,GAAGpF,kEAAY,CAAEZ,KAAK,EAAE9B,wCAAK,CAAC;IAC5C+B,QAAQ,CAAE+F,QAAS,CAAC;IACpBxD,iBAAiB,CAAC,CAAC;IACnB9B,sDAAK,CAAEhE,qDAAE,CAAE,kBAAkB,EAAE,aAAc,CAAC,EAAE,WAAY,CAAC;EAC9D,CAAC,EAAE,CAAEuD,QAAQ,EAAEuC,iBAAiB,EAAExC,KAAK,CAAG,CAAC;EAE3C,MAAM,CAAEiG,kBAAkB,EAAEC,qBAAqB,CAAE,GAClDpF,4DAAQ,CAAa,KAAM,CAAC;EAE7B,MAAMqF,wBAAwB,GAAGtC,+DAAW,CAAE,MAAM;IACnDqC,qBAAqB,CAAIE,SAAS,IAAM,CAAEA,SAAU,CAAC;EACtD,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,eAAe,GAAGxC,+DAAW,CAChCyC,OAAwC,IAAM;IAC/C,MAAMC,UAAU,GAAGZ,YAAY,EAAEzF,OAAO;IACxC,MAAMsG,YAAY,GAAG,CAAED,UAAU;;IAEjC;IACA,MAAME,SAA+B,GAAG;MACvC,GAAGd,YAAY;MACf,GAAGW;IACJ,CAAC;;IAED;IACA,IAAK,CAAEE,YAAY,IAAI,CAAEC,SAAS,EAAEvG,OAAO,EAAG;MAC7C6F,aAAa,CAAC,CAAC;MACf;IACD;IAEA,MAAMW,aAAa,GAAG5B,4DAAmB,CAAE2B,SAAU,CAAC;IACtD,MAAME,WAAW,GAAGjK,qDAAE,CAAE,YAAY,EAAE,aAAc,CAAC;IAErD,IAAIsJ,QAAuB;IAE3B,IAAKnF,iEAAW,CAAEb,KAAM,CAAC,IAAI,CAAEsB,QAAQ,EAAG;MACzC;MACA0E,QAAQ,GAAGjB,4DAAmB,CAC7B/E,KAAK,EACL2G,WAAW,EACXD,aAAa,EACb1G,KAAK,CAAC4G,KACP,CAAC;MAED3G,QAAQ,CAAE+F,QAAS,CAAC;;MAEpB;MACAT,eAAe,CAAE;QAChBsB,QAAQ,EAAErB,cAAc,CAACqB,QAAQ;QACjCC,UAAU,EAAEtB,cAAc,CAACuB,YAAY;QACvCH,KAAK,EAAE5G,KAAK,CAAC4G,KAAK,GAAGD,WAAW,CAACxI,MAAM,GAAG;MAC3C,CAAE,CAAC;IACJ,CAAC,MAAM;MACN;MACA6H,QAAQ,GAAGrB,iEAAW,CAAE3E,KAAK,EAAE0G,aAAc,CAAC;MAC9CzG,QAAQ,CAAE+F,QAAS,CAAC;IACrB;;IAEA;IACA,IAAK1E,QAAQ,EAAG;MACfZ,sDAAK,CAAEhE,qDAAE,CAAE,iBAAiB,EAAE,aAAc,CAAC,EAAE,WAAY,CAAC;IAC7D,CAAC,MAAM;MACNgE,sDAAK,CAAEhE,qDAAE,CAAE,mBAAmB,EAAE,aAAc,CAAC,EAAE,WAAY,CAAC;IAC/D;EACD,CAAC,EACD,CACCiJ,YAAY,EACZ3F,KAAK,EACLsB,QAAQ,EACRrB,QAAQ,EACR8F,aAAa,EACbR,eAAe,EACfC,cAAc,CAEhB,CAAC;EAED,MAAMwB,SAAS,GAAGpB,gBAAgB,IAAI,CAAED,YAAY,CAACzF,OAAO;EAC5D,MAAM;IAAEA,OAAO;IAAEqD;EAAU,CAAC,GAAGoC,YAAY;EAE3C,MAAMsB,aAAa,GAAGnD,0DAAM,CAAwB,IAAK,CAAC;EAE1D9C,6DAAS,CAAE,MAAM;IAChB;IACA,MAAMkG,eAAe,GAAGzF,UAAU,CAACM,OAAO;;IAE1C;IACA,IACCT,QAAQ,IACR4F,eAAe,EAAEC,aAAa,EAAEC,aAAa,KAC5CF,eAAe,EAAEC,aAAa,EAAEE,IAAI,EACpC;MACDJ,aAAa,CAAClF,OAAO,GAAGmF,eAAe,EAAEC,aAAa,EACnDC,aAA4B;IAChC,CAAC,MAAM;MACN;MACAH,aAAa,CAAClF,OAAO,GAAGmF,eAAe;IACxC;IAEA,MAAMI,aAAa,GAAKrF,KAAoB,IAAM;MACjD,IAAKA,KAAK,CAACqD,GAAG,KAAK,QAAQ,EAAG;QAC7B9C,iBAAiB,CAAC,CAAC;MACpB;IACD,CAAC;;IAED;IACA+E,QAAQ,CAAClF,gBAAgB,CAAE,SAAS,EAAEiF,aAAc,CAAC;IACrD,OAAO,MAAM;MACZ;MACA,IAAKL,aAAa,CAAClF,OAAO,IAAI,OAAO,IAAIkF,aAAa,CAAClF,OAAO,EAAG;QAChEkF,aAAa,CAAClF,OAAO,CAACU,KAAK,CAAC,CAAC;MAC9B;MACA;MACA8E,QAAQ,CAACjF,mBAAmB,CAAE,SAAS,EAAEgF,aAAc,CAAC;IACzD,CAAC;EACF,CAAC,EAAE,CAAE7F,UAAU,EAAEH,QAAQ,EAAEkB,iBAAiB,CAAG,CAAC;;EAEhD;EACAxB,6DAAS,CAAE,MAAM;IAChB,OAAO,MAAM,CAAC,CAAC;EAChB,CAAC,EAAE,EAAG,CAAC;EAEP,oBACCzD,uDAAA,CAAAE,wDAAA;IAAAyB,QAAA,eACC3B,uDAAA,CAAC2G,0DAAO;MACP/E,SAAS,EAAC,6GAA6G;MACvHqI,MAAM,EAAG1B,aAAe;MACxB2B,OAAO,EAAG,KAAO;MACjBC,OAAO,EAAGA,CAAA,KAAM;QACf,IAAK,CAAEpG,QAAQ,EAAG;UACjBkB,iBAAiB,CAAC,CAAC;QACpB;MACD,CAAG;MACHE,cAAc,EAAGA,cAAgB;MACjCiF,QAAQ,EAAG,eAAiB;MAC5BC,MAAM,EAAG,CAAG;MACZC,KAAK;MACLxE,YAAY,EAAGA,YAAc;MAC7ByE,gBAAgB;MAAA5I,QAAA,eAEhBvB,wDAAA;QAAKwB,SAAS,EAAC,qDAAqD;QAAAD,QAAA,gBACnEvB,wDAAA;UAAKwB,SAAS,EAAC,2EAA2E;UAAAD,QAAA,GACvF8H,SAAS,gBACVzJ,uDAAA,CAACqH,gEAAkB;YAClBzF,SAAS,EAAC,yGAAyG;YACnHa,KAAK,EAAGE,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,EAAI;YACvB6H,kBAAkB,EAAK/B,QAAQ,IAAM;cACpCK,eAAe,CAAE;gBAChBnG,OAAO,EAAE8H,MAAM,CAAEhC,QAAS;cAC3B,CAAE,CAAC;YACJ,CAAG;YACHb,SAAS,EAAGA,SAAW;YACvB8C,UAAU,EAAGhD;YACb;YAAA;YACAiD,QAAQ,EAAG1F;UAAmB,CAC9B,CAAC,gBAEFjF,uDAAA,CAACsH,gEAAkB;YAClB1F,SAAS,EAAC,yGAAyG;YACnH8I,UAAU,EAAGhD,kBAAoB;YACjC/E,OAAO,EAAGA,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,CAAG;YACxBiI,kBAAkB,EACjBlG,KAEsB,IAClB;cACJ4D,mBAAmB,CAAE,IAAK,CAAC;cAC3B5D,KAAK,CAACmG,cAAc,CAAC,CAAC;YACvB;UAAG,CACH,CACD,eAED7K,uDAAA,CAAC0G,yDAAM;YACN9E,SAAS,EAAC,mGAAmG;YAC7GE,IAAI,EACH4G,kBAAkB,GACf,eAAe,GACf,iBACH;YACD1G,KAAK,EAAG7C,qDAAE,CAAE,kBAAkB,EAAE,aAAc,CAAG;YACjDwG,OAAO,EAAGiD,wBAA0B;YACpC,iBAAgBF;UAAoB,CACpC,CAAC;QAAA,CACE,CAAC,EACJA,kBAAkB,iBACnB1I,uDAAA;UAAK4B,SAAS,EAAC,+JAA+J;UAAAD,QAAA,eAC7K3B,uDAAA,CAAC4G,gEAAa;YACb5E,KAAK,EAAG7C,qDAAE,CACT,uCAAuC,EACvC,aACD,CAAG;YACH2L,OAAO,EAAG,CAAC,CAAE9E,SAAW;YACxBtD,QAAQ,EAAK+F,QAAQ,IACpBK,eAAe,CAAE;cAChB9C,SAAS,EAAEyC;YACZ,CAAE,CACF;YACDsC,uBAAuB;UAAA,CACvB;QAAC,CACE,CACL;MAAA,CACG;IAAC,CACE;EAAC,CACT,CAAC;AAEL,CAAC;AAED,iEAAelH,oBAAoB,E;;;;;;;;;;ACvTnC;;;;;;;;;;;;;;;;;;ACAuB;AAEgD;;;;;;;;;;;;;;;;;;;;;;;ACF/C;AAEe;AACQ;AACc;AAAA;AAQ7D,MAAMwD,kBAAkB,GAAGA,CAAE;EAC5BzF,SAAS;EACT4I,kBAAkB;EAClB/H,KAAK;EACL,GAAGjB;AACG,CAAC,KAAM;EACb,oBACCxB,sDAAA;IACC4B,SAAS,EAAG1C,gDAAI,CACf,kDAAkD,EAClD0C,SACD,CAAG;IACHoJ,IAAI,EAAC,QAAQ;IACb,cAAa7L,qDAAE,CAAE,sBAAsB,EAAE,aAAc,CAAG;IAAA,GACrDqC,KAAK;IAAAG,QAAA,eAEVvB,uDAAA;MACCwB,SAAS,EAAC,iCAAiC;MAC3CoJ,IAAI,EAAC,OAAO;MACZ,cAAa7L,qDAAE,CAAE,0BAA0B,EAAE,aAAc,CAAG;MAAAwC,QAAA,gBAE9D3B,sDAAA,CAACJ,uEAAkB;QAClBqL,eAAe,EAAG9L,qDAAE,CACnB,0BAA0B,EAC1B,aACD,CAAG;QACH+L,mBAAmB,EAAG,IAAM;QAC5BzI,KAAK,EAAG0I,MAAM,CAAE1I,KAAM,CAAG;QACzBC,QAAQ,EAAG8H,kBAAoB;QAC/BY,QAAQ,EAAG;QACX;MAAA,CACA,CAAC,eACFpL,sDAAA,CAAC0G,yDAAM;QACN5E,IAAI,EAAC,cAAc;QACnBE,KAAK,EAAG7C,qDAAE,CAAE,OAAO,EAAE,aAAc,CAAG;QACtCiC,IAAI,EAAC;MAAQ,CACb,CAAC;IAAA,CACE;EAAC,CACD,CAAC;AAET,CAAC;AAED,iEAAeiG,kBAAkB,E;;;;;;;;;;;;;;;;;;;;;;ACtDT;AAEuB;AACW;AAEV;AAAA;AAEhD,MAAM;EAAEkE,MAAM,GAAG;AAAG,CAAC,GAAGjL,MAAM,CAACC,qBAAqB;AAEpD,MAAMiL,YAAY,GAAGA,CAAE7I,OAAwB,GAAG,CAAC,KAAM;EACxDA,OAAO,GAAGmF,QAAQ,CAAEqD,MAAM,CAAExI,OAAQ,CAAE,CAAC,IAAI,CAAC;EAE5C,MAAM8I,KAAK,GAAGF,MAAM,CAACG,MAAM,CAAE,CAAE;IAAEC;EAAG,CAAC,KAAMhJ,OAAO,KAAKgJ,EAAG,CAAC;EAE3D,OAAOF,KAAK,CAAC7K,MAAM,KAAK,CAAC,GAAG6K,KAAK,CAAE,CAAC,CAAE,GAAG,KAAK;AAC/C,CAAC;AAED,SAASG,SAASA,CAAE;EACnBjJ,OAAO;EACPf;AAID,CAAC,EAAG;EACH,MAAMiK,aAAa,GAAG3M,gDAAI,CACzB0C,SAAS,EACT,uDACD,CAAC;EAED,MAAM6J,KAAK,GAAGD,YAAY,CAAE7I,OAAQ,CAAC;EACrC,MAAMX,KAAK,GAAGyJ,KAAK,GAChB;EACAH,0DAAO,CACPnM,qDAAE,CAAE,iBAAiB,EAAE,aAAc,CAAC,EACtCkM,wEAAc,CAAEI,KAAK,CAAC5J,KAAK,CAACiK,QAAS,CACrC,CAAC,GACD,EAAE;EAEL,oBACC9L,sDAAA;IAAM4B,SAAS,EAAGiK,aAAe;IAACb,IAAI,EAAC,QAAQ;IAAC,cAAahJ,KAAO;IAAAL,QAAA,EACjEK;EAAK,CACF,CAAC;AAET;AAYe,SAASsF,kBAAkBA,CAAE;EAC3C1F,SAAS,GAAG,EAAE;EACdiK,aAAa,GAAG,EAAE;EAClBjB,kBAAkB;EAClBjI,OAAO;EACP,GAAGnB;AACqB,CAAC,EAAG;EAC5B,oBACCpB,uDAAA;IACCwB,SAAS,EAAG1C,gDAAI,CACf,kDAAkD,EAClD0C,SACD,CAAG;IACHoJ,IAAI,EAAC,QAAQ;IACb,cAAa7L,qDAAE,CAAE,uBAAuB,EAAE,aAAc,CAAG;IAAA,GACtDqC,KAAK;IAAAG,QAAA,gBAEV3B,sDAAA,CAAC4L,SAAS;MAACjJ,OAAO,EAAGA,OAAS;MAACf,SAAS,EAAGiK;IAAe,CAAE,CAAC,EAC3DjB,kBAAkB,iBACnB5K,sDAAA,CAAC0G,yDAAM;MACN5E,IAAI,EAAC,MAAM;MACXE,KAAK,EAAG7C,qDAAE,CAAE,MAAM,EAAE,aAAc,CAAG;MACrCwG,OAAO,EAAGiF;IAAoB,CAC9B,CACD;EAAA,CACG,CAAC;AAER,C;;;;;;;;;;;;;;;;;;;AClF+B;AAOD;AAU9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASpD,mBAAmBA,CAClC/E,KAAoB,EACpBP,IAAY,EACZgK,MAAsB,EACtB7C,KAAa,EACG;EAChB;EACA,MAAM8C,QAAQ,GAAGJ,4DAAM,CAAEtJ,KAAK,EAAEP,IAAI,EAAEmH,KAAM,CAAC;;EAE7C;EACA,OAAOjC,iEAAW,CAAE+E,QAAQ,EAAED,MAAM,EAAE7C,KAAK,EAAEA,KAAK,GAAGnH,IAAI,CAACtB,MAAO,CAAC;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASwL,eAAeA,CAC9B3J,KAAoB,EACpByJ,MAAsB,EACN;EAChB;EACA,OAAO9E,iEAAW,CAAE3E,KAAK,EAAEyJ,MAAO,CAAC;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,mBAAmBA,CAClC5J,KAAoB,EACpByJ,MAAsB,EACN;EAAA,IAAAI,eAAA,EAAAC,aAAA;EAChB;EACA,MAAMC,QAAQ,GAAGC,iBAAiB,CAAEhK,KAAK,EAAE;IAC1CrB,IAAI,EAAE8K,MAAM,CAAC9K;EACd,CAAE,CAAC;;EAEH;EACA,IAAK,CAAEoL,QAAQ,CAACnD,KAAK,IAAI,CAAEmD,QAAQ,CAACE,GAAG,EAAG;IACzC,OAAOtF,iEAAW,CAAE3E,KAAK,EAAEyJ,MAAO,CAAC;EACpC;;EAEA;EACA,OAAO9E,iEAAW,CACjB3E,KAAK,EACLyJ,MAAM,GAAAI,eAAA,GACNE,QAAQ,CAACnD,KAAK,cAAAiD,eAAA,cAAAA,eAAA,GAAIK,SAAS,GAAAJ,aAAA,GAC3BC,QAAQ,CAACE,GAAG,cAAAH,aAAA,cAAAA,aAAA,GAAII,SACjB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,eAAeA,CAAEnK,KAAoB,EAAW;EAC/D,OAAOwJ,oEAAc,CAAED,2DAAK,CAAEvJ,KAAM,CAAE,CAAC;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM8E,mBAAmB,GAAGA,CAAE;EACpC5E,OAAO,GAAG,CAAC;EACXqD,SAAS,GAAG;AACS,CAAC,MAAuB;EAC7C5E,IAAI,EAAET,wCAAI;EACVK,UAAU,EAAE;IACX6L,KAAK,EAAE,WAAYlK,OAAO,IAAMqD,SAAS,GAAG,gBAAgB,GAAG,EAAE,EAAG;IACpErD,OAAO,EAAEA,OAAO,CAACmK,QAAQ,CAAC,CAAC;IAC3B9G,SAAS,EAAEA,SAAS,GAAG,GAAG,GAAG;EAC9B;AACD,CAAC,CAAE;AAEI,MAAMyB,6BAA6B,GACzCzG,UAAmC;EAAA,IAAA+L,mBAAA;EAAA,OAC7B;IACNpK,OAAO,EAAEmF,QAAQ,EAAAiF,mBAAA,GAAE/L,UAAU,CAAC2B,OAAO,cAAAoK,mBAAA,cAAAA,mBAAA,GAAI,GAAI,CAAC;IAC9C/G,SAAS,EAAEhF,UAAU,CAACgF,SAAS,KAAK;EACrC,CAAC;AAAA,CAAE;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASyG,iBAAiBA,CAChChK,KAAoB,EACpByJ,MAAsB,EACtBc,UAAkB,GAAGvK,KAAK,CAAC4G,KAAK,EAChC4D,QAAgB,GAAGxK,KAAK,CAACiK,GAAG,EAI3B;EACD,MAAMQ,gBAAgB,GAAG;IACxB7D,KAAK,EAAE,IAAI;IACXqD,GAAG,EAAE;EACN,CAAC;EAED,MAAM;IAAES;EAAQ,CAAC,GAAG1K,KAAK;EACzB,IAAI2K,YAA8B;EAClC,IAAIC,YAAoB;EAExB,IAAK,CAAEF,OAAO,EAAEvM,MAAM,EAAG;IACxB,OAAOsM,gBAAgB;EACxB;;EAEA;EACA,MAAMI,UAAU,GAAGH,OAAO,CAACnB,KAAK,CAAC,CAAC;EAElC,MAAMuB,aAAa,GAAGD,UAAU,CAAEN,UAAU,CAAE,EAAEQ,IAAI,CACnD,CAAE;IAAEpM;EAAK,CAAC,KAAMA,IAAI,KAAK8K,MAAM,CAAC9K,IACjC,CAAC;EAED,MAAMqM,WAAW,GAAGH,UAAU,CAAEL,QAAQ,CAAE,EAAEO,IAAI,CAC/C,CAAE;IAAEpM;EAAK,CAAC,KAAMA,IAAI,KAAK8K,MAAM,CAAC9K,IACjC,CAAC;EAED,MAAMsM,mBAAmB,GAAGJ,UAAU,CAAEL,QAAQ,GAAG,CAAC,CAAE,EAAEO,IAAI,CAC3D,CAAE;IAAEpM;EAAK,CAAC,KAAMA,IAAI,KAAK8K,MAAM,CAAC9K,IACjC,CAAC;EAED,IAAKmM,aAAa,EAAG;IACpB;IACAH,YAAY,GAAGG,aAAa;IAC5BF,YAAY,GAAGL,UAAU;EAC1B,CAAC,MAAM,IAAKS,WAAW,EAAG;IACzB;IACAL,YAAY,GAAGK,WAAW;IAC1BJ,YAAY,GAAGJ,QAAQ;EACxB,CAAC,MAAM,IAAKS,mBAAmB,EAAG;IACjC;IACA;IACA;IACAN,YAAY,GAAGM,mBAAmB;IAClCL,YAAY,GAAGJ,QAAQ,GAAG,CAAC;EAC5B,CAAC,MAAM;IACN,OAAOC,gBAAgB;EACxB;EAEA,MAAMS,KAAK,GAAGL,UAAU,CAAED,YAAY,CAAE,CAACxF,OAAO,CAAEuF,YAAa,CAAC;EAEhE,MAAMQ,WAAW,GAAG,CAAEN,UAAU,EAAED,YAAY,EAAED,YAAY,EAAEO,KAAK,CAAE;;EAErE;EACAX,UAAU,GAAGa,WAAW,CAAE,GAAGD,WAAY,CAAC;;EAE1C;EACAX,QAAQ,GAAGa,SAAS,CAAE,GAAGF,WAAY,CAAC;;EAEtC;EACAZ,UAAU,GAAGA,UAAU,GAAG,CAAC,GAAG,CAAC,GAAGA,UAAU;;EAE5C;EACA,OAAO;IACN3D,KAAK,EAAE2D,UAAU;IACjBN,GAAG,EAAEO;EACN,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASc,cAAcA,CACtBZ,OAAqB,EACrBE,YAAoB,EACpBW,eAAuB,EACvBC,WAAmB,EACnBC,SAAiB,EACR;EACT,IAAIP,KAAK,GAAGN,YAAY;EAExB,MAAMc,UAAU,GAAG;IAClBC,QAAQ,EAAE,CAAC;IACXC,SAAS,EAAE,CAAC;EACb,CAAC;EAED,MAAMC,kBAAkB,GAAGH,UAAU,CAAED,SAAS,CAAE,IAAI,CAAC,CAAC,CAAC;EACzD,MAAMK,yBAAyB,GAAGD,kBAAkB,GAAG,CAAC,CAAC;EAEzD,OACCnB,OAAO,CAAEQ,KAAK,CAAE,IAChBR,OAAO,CAAEQ,KAAK,CAAE,CAAEM,WAAW,CAAE,KAAKD,eAAe,EAClD;IACD;IACAL,KAAK,GAAGA,KAAK,GAAGW,kBAAkB;EACnC;;EAEA;EACA;EACAX,KAAK,GAAGA,KAAK,GAAGY,yBAAyB;EAEzC,OAAOZ,KAAK;AACb;AAEA,MAAMa,YAAY,GACjBA,CAAEC,EAAE,EAAE,GAAGC,WAAW,KACpB,CAAE,GAAGC,IAAI,KACRF,EAAE,CAAE,GAAGE,IAAI,EAAE,GAAGD,WAAY,CAAC;AAE/B,MAAMb,WAAW,GAAGW,YAAY,CAAET,cAAc,EAAE,WAAY,CAAC;AAE/D,MAAMD,SAAS,GAAGU,YAAY,CAAET,cAAc,EAAE,UAAW,CAAC,C;;;;;;;;;;AClQ5D,oD;;;;;;;;;;ACAA,kD;;;;;;;;;;ACAA,8C;;;;;;;;;;ACAA,+C;;;;;;;;;;ACAA,sC;;;;;;;;;;ACAA,6C;;;;;;;;;;ACAA,4C;;;;;;;;;;ACAA,yC;;;;;;;;;;ACAA,sC;;;;;;;;;;ACAA,yC;;;;;;;;;;ACAA,uC;;;;;;;;;;ACAA,8C;;;;;;;;;;ACAA,0C;;;;;;;;;;ACAA,0C;;;;;;;;;;ACAA,2C;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA,E;;;;;WCPA,wF;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;;;;;;;;;;;;;ACN4B;AACT;AAQa;AAEW;;AA4B3C;;AAgBA;AACAkB,yDAAQ,CAAEL,qEAAkB,CAAC;AAC7BK,yDAAQ,CAAEH,gEAAa,CAAC;AACxBG,yDAAQ,CAAEF,iEAAc,CAAC;AACzBE,yDAAQ,CAAEJ,8DAAW,CAAC;AACtBI,yDAAQ,CAAED,kEAAe,CAAC,C","sources":["webpack://popup-maker/core/./node_modules/clsx/dist/clsx.mjs?","webpack://popup-maker/core/./packages/block-editor/src/block-extensions/index.tsx?","webpack://popup-maker/core/./packages/block-editor/src/block-extensions/popup-trigger/editor.scss?43e8","webpack://popup-maker/core/./packages/block-editor/src/block-extensions/popup-trigger/index.tsx?","webpack://popup-maker/core/./packages/block-editor/src/formats/index.tsx?","webpack://popup-maker/core/./packages/block-editor/src/formats/popup-trigger/index.tsx?","webpack://popup-maker/core/./packages/block-editor/src/formats/popup-trigger/inline.tsx?","webpack://popup-maker/core/./packages/block-editor/src/formats/popup-trigger/trigger-popover/editor.scss?226a","webpack://popup-maker/core/./packages/block-editor/src/formats/popup-trigger/trigger-popover/index.tsx?","webpack://popup-maker/core/./packages/block-editor/src/formats/popup-trigger/trigger-popover/popup-trigger-editor.tsx?","webpack://popup-maker/core/./packages/block-editor/src/formats/popup-trigger/trigger-popover/popup-trigger-viewer.tsx?","webpack://popup-maker/core/./packages/block-editor/src/formats/popup-trigger/utils.ts?","webpack://popup-maker/core/external window [\"popupMaker\",\"components\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"coreData\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"i18n\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"icons\"]?","webpack://popup-maker/core/external window [\"wp\",\"a11y\"]?","webpack://popup-maker/core/external window [\"wp\",\"blockEditor\"]?","webpack://popup-maker/core/external window [\"wp\",\"components\"]?","webpack://popup-maker/core/external window [\"wp\",\"compose\"]?","webpack://popup-maker/core/external window [\"wp\",\"data\"]?","webpack://popup-maker/core/external window [\"wp\",\"element\"]?","webpack://popup-maker/core/external window [\"wp\",\"hooks\"]?","webpack://popup-maker/core/external window [\"wp\",\"htmlEntities\"]?","webpack://popup-maker/core/external window [\"wp\",\"keycodes\"]?","webpack://popup-maker/core/external window [\"wp\",\"richText\"]?","webpack://popup-maker/core/external window \"ReactJSXRuntime\"?","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/compat get default export?","webpack://popup-maker/core/webpack/runtime/define property getters?","webpack://popup-maker/core/webpack/runtime/hasOwnProperty shorthand?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/block-editor/src/index.ts?"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import './popup-trigger';\n","// extracted by mini-css-extract-plugin\nexport {};","import './editor.scss';\n\nimport clsx from 'clsx';\n\nimport { __ } from '@popup-maker/i18n';\nimport { addFilter } from '@wordpress/hooks';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport {\n\tIcon,\n\tPanel,\n\tPanelBody,\n\tPanelRow,\n\tTooltip,\n} from '@wordpress/components';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\nimport { PopupSelectControl } from '@popup-maker/components';\n\nimport { Mark as MarkIcon } from '@popup-maker/icons';\n// import GearIcon from '../../../../../src/block-editor/icons/gears';\n\nconst { popupTriggerExcludedBlocks } = window.popupMakerBlockEditor;\n\n/**\n * Either allowedBlocks or excludedBlocks should be used, not both.\n *\n * @type {Array}\n */\nconst allowedBlocks: string[] = [];\nconst excludedBlocks: string[] = popupTriggerExcludedBlocks || [\n\t'core/nextpage',\n\t'popup-maker/call-to-action',\n\t'popup-maker/call-to-actions',\n];\n\nfunction isAllowedForBlockType( name: string ) {\n\tif ( ! allowedBlocks.length && ! excludedBlocks.length ) {\n\t\treturn true;\n\t}\n\n\tif ( allowedBlocks.length ) {\n\t\treturn allowedBlocks.includes( name );\n\t}\n\n\tif ( excludedBlocks.length ) {\n\t\treturn ! excludedBlocks.includes( name );\n\t}\n\n\treturn true;\n}\n\n/**\n * Add custom attribute for mobile visibility.\n *\n * @param {Object} settings Settings for the block.\n *\n * @param {Object} settings.attributes Attributes for the block.\n * @param {string} settings.name Name of the block.\n *\n * @return {Object} settings Modified settings.\n */\nfunction addAttributes( settings: { attributes: any; name: string } ): {\n\tattributes: any;\n\tname: string;\n} {\n\t//check if object exists for old Gutenberg version compatibility\n\t//add allowedBlocks restriction\n\tif (\n\t\ttypeof settings.attributes !== 'undefined' &&\n\t\tisAllowedForBlockType( settings.name )\n\t) {\n\t\tsettings.attributes = Object.assign( settings.attributes, {\n\t\t\topenPopupId: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Add mobile visibility controls on Advanced Block Panel.\n *\n * @param {Function} BlockEdit Block edit component.\n *\n * @return {Function} BlockEdit Modified block edit component.\n */\nconst withAdvancedControls = createHigherOrderComponent( ( BlockEdit ) => {\n\treturn ( props ) => {\n\t\tconst { name, attributes, setAttributes, isSelected } = props;\n\t\tconst { openPopupId } = attributes;\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t{ isSelected && isAllowedForBlockType( name ) && (\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<Panel className=\"pum-block-inspector-popup-controls\">\n\t\t\t\t\t\t\t<PanelBody\n\t\t\t\t\t\t\t\ttitle={ __( 'Popup Controls', 'popup-maker' ) }\n\t\t\t\t\t\t\t\t// icon={ GearIcon }\n\t\t\t\t\t\t\t\ticon={ MarkIcon }\n\t\t\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'These settings allow you to control popups with this block.',\n\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t\t\t<PopupSelectControl\n\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Open Popup',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t\t\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'This method does not work well with all block types.',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thref=\"https://wppopupmaker.com/docs/triggering-popups/trigger-click-open-overview-methods/\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize={ 16 }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon=\"editor-help\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Open documentation',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tverticalAlign:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'middle',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tvalue={ openPopupId }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( popupId ) =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\topenPopupId: popupId,\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Open a popup when clicking this block',\n\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</Panel>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n}, 'withAdvancedControls' );\n\n/**\n * Add custom element class in save element.\n *\n * @param {Object} extraProps Block element.\n * @param {Object} blockType Blocks object.\n * @param {Object} attributes Blocks attributes.\n *\n * @return {Object} extraProps Modified block element.\n */\nfunction applyTriggerClass( extraProps, blockType, attributes ) {\n\tconst { openPopupId } = attributes;\n\n\t//check if attribute exists for old Gutenberg version compatibility\n\t//add class only when visibleOnMobile = false\n\t//add allowedBlocks restriction\n\tif (\n\t\ttypeof openPopupId !== 'undefined' &&\n\t\topenPopupId > 0 &&\n\t\tisAllowedForBlockType( blockType.name )\n\t) {\n\t\textraProps.className = clsx(\n\t\t\textraProps.className,\n\t\t\t'popmake-' + openPopupId\n\t\t);\n\t}\n\n\treturn extraProps;\n}\n\n//add filters\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'popup-maker/popup-trigger-attributes',\n\taddAttributes\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'popup-maker/popup-trigger-advanced-control',\n\twithAdvancedControls\n);\n\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'popup-maker/applyTriggerClass',\n\tapplyTriggerClass\n);\n","/**\n * WordPress dependencies\n */\nimport { registerFormatType } from '@wordpress/rich-text';\n/**\n * Internal dependencies\n */\nimport * as trigger from './popup-trigger';\n\n[ trigger ].forEach( ( { name, settings } ) =>\n\tregisterFormatType( name, settings )\n);\n","import { __ } from '@popup-maker/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { withSpokenMessages } from '@wordpress/components';\nimport { removeFormat, isCollapsed } from '@wordpress/rich-text';\nimport { useState, useLayoutEffect, useEffect } from '@wordpress/element';\nimport {\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n} from '@wordpress/block-editor';\n\nimport { Mark as MarkIcon, MarkWhite } from '@popup-maker/icons';\n\nimport InlinePopupTriggerUI from './inline';\n\nimport type { RichTextValue } from '@wordpress/rich-text';\nimport type { TriggerFormatAttributes } from './types';\nimport { WPFormat as WPFormatBase } from '@wordpress/rich-text/build-types/register-format-type';\n\ninterface WPFormat extends WPFormatBase {\n\tattributes: {\n\t\t[ key: string ]: string;\n\t};\n}\n\ntype Props = {\n\tisActive: boolean;\n\tactiveAttributes: TriggerFormatAttributes;\n\tvalue: RichTextValue;\n\tonChange: ( value: RichTextValue ) => void;\n\tonFocus: () => void;\n\tcontentRef: { current: HTMLElement | null };\n};\n\nconst title = __( 'Popup Trigger', 'popup-maker' );\nexport const name = `popup-maker/popup-trigger`;\n\nexport const TriggerEdit = withSpokenMessages(\n\t( {\n\t\tisActive,\n\t\tactiveAttributes,\n\t\tvalue,\n\t\tonChange,\n\t\tonFocus,\n\t\tcontentRef,\n\t}: Props ) => {\n\t\tconst [ addingTrigger, setAddingTrigger ] =\n\t\t\tuseState< boolean >( false );\n\n\t\tconst [ openedBy, setOpenedBy ] = useState< {\n\t\t\tel: HTMLElement | null;\n\t\t\taction: string | null;\n\t\t} | null >( null );\n\n\t\tuseEffect( () => {\n\t\t\t// When the trigger becomes inactive (i.e. isActive is false), reset the editingTrigger state\n\t\t\t// and the creatingTrigger state. This means that if the Trigger UI is displayed and the trigger\n\t\t\t// becomes inactive (e.g. used arrow keys to move cursor outside of trigger bounds), the UI will close.\n\t\t\tif ( ! isActive ) {\n\t\t\t\tsetAddingTrigger( false );\n\t\t\t}\n\t\t}, [ isActive ] );\n\n\t\tuseLayoutEffect( () => {\n\t\t\tconst editableContentElement = contentRef?.current;\n\t\t\tif ( ! editableContentElement ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfunction handleClick( event: MouseEvent ) {\n\t\t\t\t// There is a situation whereby there is an existing trigger in the rich text\n\t\t\t\t// and the user clicks on the leftmost edge of that trigger and fails to activate\n\t\t\t\t// the trigger format, but the click event still fires on the `<span>` element.\n\t\t\t\t// This causes the `editingTrigger` state to be set to `true` and the trigger UI\n\t\t\t\t// to be rendered in \"creating\" mode. We need to check isActive to see if\n\t\t\t\t// we have an active trigger format.\n\t\t\t\tconst target = event.target as HTMLElement; // Assert that target is an HTMLElement\n\t\t\t\tconst trigger = target?.closest(\n\t\t\t\t\t'[contenteditable] span.popup-trigger'\n\t\t\t\t) as HTMLElement;\n\n\t\t\t\tif (\n\t\t\t\t\t! trigger || // other formats (e.g. bold) may be nested within the link.\n\t\t\t\t\t! isActive\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsetAddingTrigger( true );\n\t\t\t\tsetOpenedBy( {\n\t\t\t\t\tel: trigger,\n\t\t\t\t\taction: 'click',\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\teditableContentElement.addEventListener( 'click', handleClick );\n\n\t\t\treturn () => {\n\t\t\t\teditableContentElement.removeEventListener(\n\t\t\t\t\t'click',\n\t\t\t\t\thandleClick\n\t\t\t\t);\n\t\t\t};\n\t\t}, [ contentRef, isActive ] );\n\n\t\tconst addTrigger = () => {\n\t\t\t// const text = getTextContent( slice( value ) );\n\n\t\t\t// onChange(\n\t\t\t// \tapplyFormat( value, {\n\t\t\t// \t\ttype: name,\n\t\t\t// \t\tattributes: { popupId: 0, doDefault: false },\n\t\t\t// \t} )\n\t\t\t// );\n\t\t\tsetAddingTrigger( true );\n\t\t};\n\n\t\t/**\n\t\t * Runs when the popover is closed via escape keypress, unlinking the selected text,\n\t\t * but _not_ on a click outside the popover. onFocusOutside handles that.\n\t\t */\n\t\tconst stopAddingTrigger = () => {\n\t\t\t// Don't let the click handler on the toolbar button trigger again.\n\n\t\t\t// There are two places for us to return focus to on Escape keypress:\n\t\t\t// 1. The rich text field.\n\t\t\t// 2. The toolbar button.\n\n\t\t\t// The toolbar button is the only one we need to handle returning focus to.\n\t\t\t// Otherwise, we rely on the passed in onFocus to return focus to the rich text field.\n\n\t\t\t// Close the popover\n\t\t\tsetAddingTrigger( false );\n\n\t\t\t// Return focus to the toolbar button or the rich text field\n\t\t\tif ( openedBy?.el ) {\n\t\t\t\topenedBy.el.focus();\n\t\t\t} else {\n\t\t\t\tonFocus();\n\t\t\t}\n\t\t\t// Remove the openedBy state\n\t\t\tsetOpenedBy( null );\n\t\t};\n\n\t\t// Test for this:\n\t\t// 1. Click on the link button\n\t\t// 2. Click the Options button in the top right of header\n\t\t// 3. Focus should be in the dropdown of the Options button\n\t\t// 4. Press Escape\n\t\t// 5. Focus should be on the Options button\n\t\tconst onFocusOutside = () => {\n\t\t\tsetAddingTrigger( false );\n\t\t\tsetOpenedBy( null );\n\t\t};\n\n\t\tconst onRemoveFormat = () => {\n\t\t\tonChange( removeFormat( value, name ) );\n\t\t\tspeak( __( 'Trigger removed.', 'popup-maker' ), 'assertive' );\n\t\t};\n\n\t\t// Only autofocus if we have clicked a link within the editor\n\t\tconst shouldAutoFocus = ! (\n\t\t\topenedBy?.el?.tagName === 'SPAN' && openedBy?.action === 'click'\n\t\t);\n\n\t\tconst hasSelection = ! isCollapsed( value );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ hasSelection && (\n\t\t\t\t\t<RichTextShortcut\n\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\tcharacter=\"p\"\n\t\t\t\t\t\tonUse={ addTrigger as () => void }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<RichTextShortcut\n\t\t\t\t\ttype=\"primaryShift\"\n\t\t\t\t\tcharacter=\"p\"\n\t\t\t\t\tonUse={ onRemoveFormat }\n\t\t\t\t/>\n\n\t\t\t\t{ isActive ? (\n\t\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\t\ticon={ MarkWhite }\n\t\t\t\t\t\ticonSize={ 16 }\n\t\t\t\t\t\ttitle={ __( 'Remove Trigger', 'popup-maker' ) }\n\t\t\t\t\t\tonClick={ onRemoveFormat }\n\t\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\t\tshortcutType=\"primaryShift\"\n\t\t\t\t\t\tshortcutCharacter=\"p\"\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\taria-expanded={ addingTrigger }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\t\ticon={ MarkIcon }\n\t\t\t\t\t\ticonSize={ 16 }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tonClick={ addTrigger }\n\t\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\t\tshortcutType=\"primary\"\n\t\t\t\t\t\tshortcutCharacter=\"p\"\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\taria-expanded={ addingTrigger }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ addingTrigger && (\n\t\t\t\t\t<InlinePopupTriggerUI\n\t\t\t\t\t\tstopAddingTrigger={ stopAddingTrigger }\n\t\t\t\t\t\tonFocusOutside={ onFocusOutside }\n\t\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\t\tactiveAttributes={ activeAttributes }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tfocusOnMount={\n\t\t\t\t\t\t\tshouldAutoFocus ? 'firstElement' : false\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n);\n\nexport const settings: WPFormat = {\n\tname,\n\ttitle,\n\ttagName: 'span',\n\tclassName: 'popup-trigger',\n\tobject: false,\n\tattributes: {\n\t\tpopupId: 'data-popup-id',\n\t\tdoDefault: 'data-do-default',\n\t},\n\tinteractive: false,\n\tedit: TriggerEdit,\n};\n","import { name, settings } from './index';\n\nimport { __ } from '@popup-maker/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseMemo,\n\tuseState,\n\tuseCallback,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { Button, Popover, ToggleControl } from '@wordpress/components';\nimport { BACKSPACE, DOWN, ENTER, LEFT, RIGHT, UP } from '@wordpress/keycodes';\nimport {\n\tuseAnchor,\n\tapplyFormat,\n\tisCollapsed,\n\tremoveFormat,\n} from '@wordpress/rich-text';\n\nimport { PopupTriggerEditor, PopupTriggerViewer } from './trigger-popover';\nimport {\n\tcreateTriggerFormat,\n\tinsertFormattedText,\n\ttriggerOptionsFromFormatAttrs,\n} from './utils';\n\nimport type { RichTextValue } from '@wordpress/rich-text';\nimport type { WPFormat } from '@wordpress/rich-text/build-types/register-format-type';\nimport type { TriggerFormatAttributes, TriggerFormatOptions } from './types';\n\nconst stopKeyPropagation = ( event: React.KeyboardEvent ) =>\n\tevent.stopPropagation();\n\nconst onKeyDown = ( event: React.KeyboardEvent ) => {\n\tif (\n\t\t(\n\t\t\t[ LEFT, DOWN, RIGHT, UP, BACKSPACE, ENTER ] as unknown as number[]\n\t\t ).indexOf( parseInt( event.key ) ) > -1\n\t) {\n\t\t// Stop the key event from propagating up to ObserveTyping.startTypingInTextField.\n\t\tevent.stopPropagation();\n\t}\n};\n\ntype Props = {\n\tisActive: boolean;\n\tactiveAttributes: TriggerFormatAttributes;\n\tvalue: RichTextValue;\n\tonChange: ( value: RichTextValue ) => void;\n\tonFocusOutside: () => void;\n\tstopAddingTrigger: () => void;\n\tcontentRef: React.RefObject< HTMLElement >;\n\tfocusOnMount: boolean | 'firstElement';\n};\n\nconst InlinePopupTriggerUI = ( {\n\tisActive,\n\tactiveAttributes,\n\tvalue,\n\tonChange,\n\tonFocusOutside,\n\tstopAddingTrigger,\n\tcontentRef,\n\tfocusOnMount,\n}: Props ) => {\n\t// Get dispatch action to change the selection.\n\tconst { selectionChange } = useDispatch( blockEditorStore );\n\n\t// Get the current selection.\n\tconst { selectionStart } = useSelect( ( select ) => {\n\t\tconst { getSelectionStart } = select( blockEditorStore ) as {\n\t\t\tgetSelectionStart: () => {\n\t\t\t\tclientId: string;\n\t\t\t\tattributeKey: string;\n\t\t\t\tidentifier: string;\n\t\t\t\tstart: number;\n\t\t\t};\n\t\t};\n\n\t\treturn {\n\t\t\tselectionStart: getSelectionStart(),\n\t\t};\n\t}, [] );\n\n\tconst triggerValue: TriggerFormatOptions = useMemo(\n\t\t() => triggerOptionsFromFormatAttrs( activeAttributes ),\n\t\t[ activeAttributes ]\n\t);\n\n\tconst [ isEditingTrigger, setIsEditingTrigger ] = useState(\n\t\t! activeAttributes || ! activeAttributes.popupId\n\t);\n\n\tconst popoverAnchor = useAnchor( {\n\t\teditableContentElement: contentRef.current,\n\t\tsettings: {\n\t\t\t...settings,\n\t\t\tisActive,\n\t\t} as WPFormat,\n\t} );\n\n\tconst removeTrigger = useCallback( () => {\n\t\tconst newValue = removeFormat( value, name );\n\t\tonChange( newValue );\n\t\tstopAddingTrigger();\n\t\tspeak( __( 'Trigger removed.', 'popup-maker' ), 'assertive' );\n\t}, [ onChange, stopAddingTrigger, value ] );\n\n\tconst [ isSettingsExpanded, setIsSettingsExpanded ] =\n\t\tuseState< boolean >( false );\n\n\tconst toggleSettingsVisibility = useCallback( () => {\n\t\tsetIsSettingsExpanded( ( prevState ) => ! prevState );\n\t}, [] );\n\n\tconst onChangeTrigger = useCallback(\n\t\t( changes: Partial< TriggerFormatOptions > ) => {\n\t\t\tconst hasTrigger = triggerValue?.popupId;\n\t\t\tconst isNewTrigger = ! hasTrigger;\n\n\t\t\t// Merge the next value with the current trigger value\n\t\t\tconst nextValue: TriggerFormatOptions = {\n\t\t\t\t...triggerValue,\n\t\t\t\t...changes,\n\t\t\t};\n\n\t\t\t// Handle removing trigger if popup ID is cleared\n\t\t\tif ( ! isNewTrigger && ! nextValue?.popupId ) {\n\t\t\t\tremoveTrigger();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst triggerFormat = createTriggerFormat( nextValue );\n\t\t\tconst defaultText = __( 'Open Popup', 'popup-maker' );\n\n\t\t\tlet newValue: RichTextValue;\n\n\t\t\tif ( isCollapsed( value ) && ! isActive ) {\n\t\t\t\t// No selection - insert new trigger with default text.\n\t\t\t\tnewValue = insertFormattedText(\n\t\t\t\t\tvalue,\n\t\t\t\t\tdefaultText,\n\t\t\t\t\ttriggerFormat,\n\t\t\t\t\tvalue.start\n\t\t\t\t);\n\n\t\t\t\tonChange( newValue );\n\n\t\t\t\t// Move selection after the inserted trigger.\n\t\t\t\tselectionChange( {\n\t\t\t\t\tclientId: selectionStart.clientId,\n\t\t\t\t\tidentifier: selectionStart.attributeKey,\n\t\t\t\t\tstart: value.start + defaultText.length + 1,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\t// Has selected text - apply format to selection\n\t\t\t\tnewValue = applyFormat( value, triggerFormat );\n\t\t\t\tonChange( newValue );\n\t\t\t}\n\n\t\t\t// Announce the change\n\t\t\tif ( isActive ) {\n\t\t\t\tspeak( __( 'Trigger edited.', 'popup-maker' ), 'assertive' );\n\t\t\t} else {\n\t\t\t\tspeak( __( 'Trigger inserted.', 'popup-maker' ), 'assertive' );\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\ttriggerValue,\n\t\t\tvalue,\n\t\t\tisActive,\n\t\t\tonChange,\n\t\t\tremoveTrigger,\n\t\t\tselectionChange,\n\t\t\tselectionStart,\n\t\t]\n\t);\n\n\tconst isEditing = isEditingTrigger || ! triggerValue.popupId;\n\tconst { popupId, doDefault } = triggerValue;\n\n\tconst previousFocus = useRef< HTMLElement | null >( null );\n\n\tuseEffect( () => {\n\t\t// Get the editable content element\n\t\tconst editableContent = contentRef.current;\n\n\t\t// If we have an active format, use the activeElement\n\t\tif (\n\t\t\tisActive &&\n\t\t\teditableContent?.ownerDocument?.activeElement !==\n\t\t\t\teditableContent?.ownerDocument?.body\n\t\t) {\n\t\t\tpreviousFocus.current = editableContent?.ownerDocument\n\t\t\t\t?.activeElement as HTMLElement;\n\t\t} else {\n\t\t\t// If no active format or body is focused, use the contentRef\n\t\t\tpreviousFocus.current = editableContent;\n\t\t}\n\n\t\tconst closeOnEscape = ( event: KeyboardEvent ) => {\n\t\t\tif ( event.key === 'Escape' ) {\n\t\t\t\tstopAddingTrigger();\n\t\t\t}\n\t\t};\n\n\t\t// Add the event listener.\n\t\tdocument.addEventListener( 'keydown', closeOnEscape );\n\t\treturn () => {\n\t\t\t// Restore focus when popover closes.\n\t\t\tif ( previousFocus.current && 'focus' in previousFocus.current ) {\n\t\t\t\tpreviousFocus.current.focus();\n\t\t\t}\n\t\t\t// Remove the event listener.\n\t\t\tdocument.removeEventListener( 'keydown', closeOnEscape );\n\t\t};\n\t}, [ contentRef, isActive, stopAddingTrigger ] );\n\n\t// Close on escape keypress\n\tuseEffect( () => {\n\t\treturn () => {};\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<Popover\n\t\t\t\tclassName=\"block-editor-popup-trigger__inline-popover editor-popup-trigger-popover block-editor-popup-trigger-popover\"\n\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\tanimate={ false }\n\t\t\t\tonClose={ () => {\n\t\t\t\t\tif ( ! isActive ) {\n\t\t\t\t\t\tstopAddingTrigger();\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tonFocusOutside={ onFocusOutside }\n\t\t\t\tposition={ 'bottom center' }\n\t\t\t\toffset={ 8 }\n\t\t\t\tshift\n\t\t\t\tfocusOnMount={ focusOnMount }\n\t\t\t\tconstrainTabbing\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-popup-trigger-popover__input-container\">\n\t\t\t\t\t<div className=\"editor-popup-trigger-popover__row block-editor-popup-trigger-popover__row\">\n\t\t\t\t\t\t{ isEditing ? (\n\t\t\t\t\t\t\t<PopupTriggerEditor\n\t\t\t\t\t\t\t\tclassName=\"editor-format-toolbar__trigger-container-content block-editor-format-toolbar__trigger-container-content\"\n\t\t\t\t\t\t\t\tvalue={ popupId ?? '' }\n\t\t\t\t\t\t\t\tonChangeInputValue={ ( newValue ) => {\n\t\t\t\t\t\t\t\t\tonChangeTrigger( {\n\t\t\t\t\t\t\t\t\t\tpopupId: Number( newValue ),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t\t\t\t\tonKeyPress={ stopKeyPropagation }\n\t\t\t\t\t\t\t\t// @ts-expect-error -- TS2322\n\t\t\t\t\t\t\t\tonSubmit={ stopAddingTrigger }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<PopupTriggerViewer\n\t\t\t\t\t\t\t\tclassName=\"editor-format-toolbar__trigger-container-content block-editor-format-toolbar__trigger-container-content\"\n\t\t\t\t\t\t\t\tonKeyPress={ stopKeyPropagation }\n\t\t\t\t\t\t\t\tpopupId={ popupId ?? 0 }\n\t\t\t\t\t\t\t\tonEditTriggerClick={ (\n\t\t\t\t\t\t\t\t\tevent:\n\t\t\t\t\t\t\t\t\t\t| React.MouseEvent\n\t\t\t\t\t\t\t\t\t\t| React.KeyboardEvent\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tsetIsEditingTrigger( true );\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"editor-popup-trigger-popover__settings-toggle block-editor-popup-trigger-popover__settings-toggle\"\n\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\tisSettingsExpanded\n\t\t\t\t\t\t\t\t\t? 'arrow-up-alt2'\n\t\t\t\t\t\t\t\t\t: 'arrow-down-alt2'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Trigger settings', 'popup-maker' ) }\n\t\t\t\t\t\t\tonClick={ toggleSettingsVisibility }\n\t\t\t\t\t\t\taria-expanded={ isSettingsExpanded }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{ isSettingsExpanded && (\n\t\t\t\t\t\t<div className=\"editor-popup-trigger-popover__row block-editor-popup-trigger-popover__row editor-popup-trigger-popover__settings block-editor-popup-trigger-popover__settings\">\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Do not prevent default click behavior',\n\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ !! doDefault }\n\t\t\t\t\t\t\t\tonChange={ ( newValue ) =>\n\t\t\t\t\t\t\t\t\tonChangeTrigger( {\n\t\t\t\t\t\t\t\t\t\tdoDefault: newValue,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</Popover>\n\t\t</>\n\t);\n};\n\nexport default InlinePopupTriggerUI;\n","// extracted by mini-css-extract-plugin\nexport {};","import './editor.scss';\n\nexport { default as PopupTriggerEditor } from './popup-trigger-editor';\nexport { default as PopupTriggerViewer } from './popup-trigger-viewer';\n","import clsx from 'clsx';\n\nimport { __ } from '@popup-maker/i18n';\nimport { Button } from '@wordpress/components';\nimport { PopupSelectControl } from '@popup-maker/components';\n\ntype Props = Pick< HTMLFormElement, 'onKeyDown' | 'onKeyPress' > & {\n\tclassName?: string;\n\tonChangeInputValue: ( value: string ) => void;\n\tvalue: string | number;\n};\n\nconst PopupTriggerEditor = ( {\n\tclassName,\n\tonChangeInputValue,\n\tvalue,\n\t...props\n}: Props ) => {\n\treturn (\n\t\t<form\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-popup-trigger-popover__popup-editor',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\trole=\"dialog\"\n\t\t\taria-label={ __( 'Popup Trigger Editor', 'popup-maker' ) }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"block-editor-popup-select-input\"\n\t\t\t\trole=\"group\"\n\t\t\t\taria-label={ __( 'Popup Selection Controls', 'popup-maker' ) }\n\t\t\t>\n\t\t\t\t<PopupSelectControl\n\t\t\t\t\temptyValueLabel={ __(\n\t\t\t\t\t\t'Which popup should open?',\n\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t) }\n\t\t\t\t\thideLabelFromVision={ true }\n\t\t\t\t\tvalue={ String( value ) }\n\t\t\t\t\tonChange={ onChangeInputValue }\n\t\t\t\t\trequired={ true }\n\t\t\t\t\t// postType=\"popup\"\n\t\t\t\t/>\n\t\t\t\t<Button\n\t\t\t\t\ticon=\"editor-break\"\n\t\t\t\t\tlabel={ __( 'Apply', 'popup-maker' ) }\n\t\t\t\t\ttype=\"submit\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</form>\n\t);\n};\n\nexport default PopupTriggerEditor;\n","import clsx from 'clsx';\n\nimport { Button } from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nimport { __, sprintf } from '@popup-maker/i18n';\n\nconst { popups = [] } = window.popupMakerBlockEditor;\n\nconst getPopupById = ( popupId: number | string = 0 ) => {\n\tpopupId = parseInt( String( popupId ) ) || 0;\n\n\tconst popup = popups.filter( ( { id } ) => popupId === id );\n\n\treturn popup.length === 1 ? popup[ 0 ] : false;\n};\n\nfunction PopupView( {\n\tpopupId,\n\tclassName,\n}: {\n\tpopupId: number;\n\tclassName: string;\n} ) {\n\tconst spanClassName = clsx(\n\t\tclassName,\n\t\t'block-editor-popup-trigger-popover__popup-viewer-text'\n\t);\n\n\tconst popup = getPopupById( popupId );\n\tconst label = popup\n\t\t? /* translators: %s = popup title */\n\t\t sprintf(\n\t\t\t\t__( 'Open \"%s\" popup', 'popup-maker' ),\n\t\t\t\tdecodeEntities( popup.title.rendered )\n\t\t )\n\t\t: '';\n\n\treturn (\n\t\t<span className={ spanClassName } role=\"button\" aria-label={ label }>\n\t\t\t{ label }\n\t\t</span>\n\t);\n}\n\ntype PopupTriggerViewerProps = {\n\tclassName?: string;\n\tspanClassName?: string;\n\tonEditTriggerClick?: (\n\t\tevent: React.MouseEvent | React.KeyboardEvent\n\t) => void;\n\tpopupId: number;\n\tonKeyPress?: ( event: React.KeyboardEvent ) => void;\n};\n\nexport default function PopupTriggerViewer( {\n\tclassName = '',\n\tspanClassName = '',\n\tonEditTriggerClick,\n\tpopupId,\n\t...props\n}: PopupTriggerViewerProps ) {\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-popup-trigger-popover__popup-viewer',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\trole=\"region\"\n\t\t\taria-label={ __( 'Popup Trigger Preview', 'popup-maker' ) }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<PopupView popupId={ popupId } className={ spanClassName } />\n\t\t\t{ onEditTriggerClick && (\n\t\t\t\t<Button\n\t\t\t\t\ticon=\"edit\"\n\t\t\t\t\tlabel={ __( 'Edit', 'popup-maker' ) }\n\t\t\t\t\tonClick={ onEditTriggerClick }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n","import { name } from './index';\n\nimport {\n\tapplyFormat,\n\tinsert,\n\tslice,\n\tgetTextContent,\n} from '@wordpress/rich-text';\n\nimport type { RichTextValue } from '@wordpress/rich-text';\nimport type { RichTextFormat } from '@wordpress/rich-text/build-types/types';\nimport type {\n\tTriggerFormat,\n\tTriggerFormatAttributes,\n\tTriggerFormatOptions,\n} from './types';\n\n/**\n * Creates a new RichTextValue with the trigger format applied to the given text.\n *\n * @param {RichTextValue} value\n * @param {string} text\n * @param {RichTextFormat} format\n * @param {number} start\n *\n * @return {RichTextValue} Formatted value\n */\nexport function insertFormattedText(\n\tvalue: RichTextValue,\n\ttext: string,\n\tformat: RichTextFormat,\n\tstart: number\n): RichTextValue {\n\t// First insert the new text at the cursor position\n\tconst inserted = insert( value, text, start );\n\n\t// Then apply the format to the newly inserted text\n\treturn applyFormat( inserted, format, start, start + text.length );\n}\n\n/**\n * Applies a format to existing text without changing the text content.\n *\n * @param {RichTextValue} value\n * @param {RichTextFormat} format\n *\n * @return {RichTextValue} Formatted value\n */\nexport function addFormatToText(\n\tvalue: RichTextValue,\n\tformat: RichTextFormat\n): RichTextValue {\n\t// If no range is provided, format will be applied to the entire value\n\treturn applyFormat( value, format );\n}\n\n/**\n * Updates attributes of text that already has a format applied.\n *\n * @param {RichTextValue} value\n * @param {RichTextFormat} format\n *\n * @return {RichTextValue} Formatted value\n */\nexport function updateFormattedText(\n\tvalue: RichTextValue,\n\tformat: RichTextFormat\n): RichTextValue {\n\t// Get the boundaries of the active format\n\tconst boundary = getFormatBoundary( value, {\n\t\ttype: format.type,\n\t} );\n\n\t// If no boundary found, apply to entire selection\n\tif ( ! boundary.start && ! boundary.end ) {\n\t\treturn applyFormat( value, format );\n\t}\n\n\t// Apply the format to the entire format boundary range\n\treturn applyFormat(\n\t\tvalue,\n\t\tformat,\n\t\tboundary.start ?? undefined,\n\t\tboundary.end ?? undefined\n\t);\n}\n\n/**\n * Get the text content from the current selection.\n *\n * @param {RichTextValue} value\n *\n * @return {string} Selected text\n */\nexport function getSelectedText( value: RichTextValue ): string {\n\treturn getTextContent( slice( value ) );\n}\n\n/**\n * Generates the format object that will be applied to the trigger text.\n *\n * @param {TriggerFormatOptions} options The options.\n *\n * @return {TriggerFormat} The final format object.\n */\nexport const createTriggerFormat = ( {\n\tpopupId = 0,\n\tdoDefault = false,\n}: TriggerFormatOptions ): TriggerFormat => ( {\n\ttype: name,\n\tattributes: {\n\t\tclass: `popmake-${ popupId } ${ doDefault ? 'pum-do-default' : '' }`,\n\t\tpopupId: popupId.toString(),\n\t\tdoDefault: doDefault ? '1' : '0',\n\t},\n} );\n\nexport const triggerOptionsFromFormatAttrs = (\n\tattributes: TriggerFormatAttributes\n) => ( {\n\tpopupId: parseInt( attributes.popupId ?? '0' ),\n\tdoDefault: attributes.doDefault === '1',\n} );\n\n/**\n * Get the start and end boundaries of a given format from a rich text value.\n *\n * @param {RichTextValue} value the rich text value to interrogate.\n * @param {string} format the identifier for the target format (e.g. `core/link`, `core/bold`).\n * @param {number?} startIndex optional startIndex to seek from.\n * @param {number?} endIndex optional endIndex to seek from.\n * @return {Object}\tobject containing start and end values for the given format.\n */\nexport function getFormatBoundary(\n\tvalue: RichTextValue,\n\tformat: RichTextFormat,\n\tstartIndex: number = value.start,\n\tendIndex: number = value.end\n): {\n\tstart: number | null;\n\tend: number | null;\n} {\n\tconst EMPTY_BOUNDARIES = {\n\t\tstart: null,\n\t\tend: null,\n\t};\n\n\tconst { formats } = value;\n\tlet targetFormat: { type: string };\n\tlet initialIndex: number;\n\n\tif ( ! formats?.length ) {\n\t\treturn EMPTY_BOUNDARIES;\n\t}\n\n\t// Clone formats to avoid modifying source formats.\n\tconst newFormats = formats.slice();\n\n\tconst formatAtStart = newFormats[ startIndex ]?.find(\n\t\t( { type } ) => type === format.type\n\t);\n\n\tconst formatAtEnd = newFormats[ endIndex ]?.find(\n\t\t( { type } ) => type === format.type\n\t);\n\n\tconst formatAtEndMinusOne = newFormats[ endIndex - 1 ]?.find(\n\t\t( { type } ) => type === format.type\n\t);\n\n\tif ( formatAtStart ) {\n\t\t// Set values to conform to \"start\"\n\t\ttargetFormat = formatAtStart;\n\t\tinitialIndex = startIndex;\n\t} else if ( formatAtEnd ) {\n\t\t// Set values to conform to \"end\"\n\t\ttargetFormat = formatAtEnd;\n\t\tinitialIndex = endIndex;\n\t} else if ( formatAtEndMinusOne ) {\n\t\t// This is an edge case which will occur if you create a format, then place\n\t\t// the caret just before the format and hit the back ARROW key. The resulting\n\t\t// value object will have start and end +1 beyond the edge of the format boundary.\n\t\ttargetFormat = formatAtEndMinusOne;\n\t\tinitialIndex = endIndex - 1;\n\t} else {\n\t\treturn EMPTY_BOUNDARIES;\n\t}\n\n\tconst index = newFormats[ initialIndex ].indexOf( targetFormat );\n\n\tconst walkingArgs = [ newFormats, initialIndex, targetFormat, index ];\n\n\t// Walk the startIndex \"backwards\" to the leading \"edge\" of the matching format.\n\tstartIndex = walkToStart( ...walkingArgs );\n\n\t// Walk the endIndex \"forwards\" until the trailing \"edge\" of the matching format.\n\tendIndex = walkToEnd( ...walkingArgs );\n\n\t// Safe guard: start index cannot be less than 0.\n\tstartIndex = startIndex < 0 ? 0 : startIndex;\n\n\t// // Return the indicies of the \"edges\" as the boundaries.\n\treturn {\n\t\tstart: startIndex,\n\t\tend: endIndex,\n\t};\n}\n\n/**\n * Walks forwards/backwards towards the boundary of a given format within an\n * array of format objects. Returns the index of the boundary.\n *\n * @param {Array} formats the formats to search for the given format type.\n * @param {number} initialIndex the starting index from which to walk.\n * @param {Object} targetFormatRef a reference to the format type object being sought.\n * @param {number} formatIndex the index at which we expect the target format object to be.\n * @param {string} direction either 'forwards' or 'backwards' to indicate the direction.\n * @return {number} the index of the boundary of the given format.\n */\nfunction walkToBoundary(\n\tformats: Array< any >,\n\tinitialIndex: number,\n\ttargetFormatRef: object,\n\tformatIndex: number,\n\tdirection: string\n): number {\n\tlet index = initialIndex;\n\n\tconst directions = {\n\t\tforwards: 1,\n\t\tbackwards: -1,\n\t};\n\n\tconst directionIncrement = directions[ direction ] || 1; // invalid direction arg default to forwards\n\tconst inverseDirectionIncrement = directionIncrement * -1;\n\n\twhile (\n\t\tformats[ index ] &&\n\t\tformats[ index ][ formatIndex ] === targetFormatRef\n\t) {\n\t\t// Increment/decrement in the direction of operation.\n\t\tindex = index + directionIncrement;\n\t}\n\n\t// Restore by one in inverse direction of operation\n\t// to avoid out of bounds.\n\tindex = index + inverseDirectionIncrement;\n\n\treturn index;\n}\n\nconst partialRight =\n\t( fn, ...partialArgs ) =>\n\t( ...args ) =>\n\t\tfn( ...args, ...partialArgs );\n\nconst walkToStart = partialRight( walkToBoundary, 'backwards' );\n\nconst walkToEnd = partialRight( walkToBoundary, 'forwards' );\n","module.exports = window[\"popupMaker\"][\"components\"];","module.exports = window[\"popupMaker\"][\"coreData\"];","module.exports = window[\"popupMaker\"][\"i18n\"];","module.exports = window[\"popupMaker\"][\"icons\"];","module.exports = window[\"wp\"][\"a11y\"];","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"compose\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"hooks\"];","module.exports = window[\"wp\"][\"htmlEntities\"];","module.exports = window[\"wp\"][\"keycodes\"];","module.exports = window[\"wp\"][\"richText\"];","module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './block-extensions';\nimport './formats';\n\nimport {\n\tcallToActionStore,\n\tpopupStore,\n\tlicenseStore,\n\tsettingsStore,\n\turlSearchStore,\n} from '@popup-maker/core-data';\n\nimport { register } from '@wordpress/data';\n\nimport type { Popup } from '@popup-maker/core-data';\n\ndeclare global {\n\tinterface Window {\n\t\tpopupMaker: {\n\t\t\tglobalVars: {\n\t\t\t\tassetUrl: string;\n\t\t\t\tadminUrl: string;\n\t\t\t\tpluginUrl: string;\n\t\t\t};\n\t\t};\n\n\t\tpopupMakerBlockEditor: {\n\t\t\tpopups: Popup[];\n\t\t\tpopupTriggerExcludedBlocks?: string[];\n\t\t\tpermissions: {\n\t\t\t\tmanage_settings: boolean;\n\t\t\t\tedit_restrictions: boolean;\n\t\t\t\tview_block_controls: boolean;\n\t\t\t\tedit_block_controls: boolean;\n\t\t\t\t[ key: string ]: boolean;\n\t\t\t};\n\t\t};\n\t}\n}\n\n/* Broken @wordpress/data type overrides */\ndeclare module '@wordpress/data' {\n\t// eslint-disable-next-line @typescript-eslint/no-shadow\n\tfunction createRegistry(\n\t\tstoreConfigs?: Object,\n\t\tparent?: Object | null\n\t): {\n\t\tregisterGenericStore: Function;\n\t\tregisterStore: Function;\n\t\tsubscribe: Function;\n\t\tselect: Function;\n\t\tdispatch: Function;\n\t\tregister: Function;\n\t};\n}\n\n// Register our cstom data stores with WordPress core editor data.\nregister( callToActionStore );\nregister( licenseStore );\nregister( settingsStore );\nregister( popupStore );\nregister( urlSearchStore );\n"],"names":["clsx","__","addFilter","InspectorControls","Icon","Panel","PanelBody","PanelRow","Tooltip","createHigherOrderComponent","PopupSelectControl","Mark","MarkIcon","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","popupTriggerExcludedBlocks","window","popupMakerBlockEditor","allowedBlocks","excludedBlocks","isAllowedForBlockType","name","length","includes","addAttributes","settings","attributes","Object","assign","openPopupId","type","default","withAdvancedControls","BlockEdit","props","setAttributes","isSelected","children","className","title","icon","initialOpen","label","placement","text","href","target","rel","size","style","verticalAlign","value","onChange","popupId","help","applyTriggerClass","extraProps","blockType","registerFormatType","trigger","forEach","speak","withSpokenMessages","removeFormat","isCollapsed","useState","useLayoutEffect","useEffect","RichTextShortcut","RichTextToolbarButton","MarkWhite","InlinePopupTriggerUI","TriggerEdit","isActive","activeAttributes","onFocus","contentRef","addingTrigger","setAddingTrigger","openedBy","setOpenedBy","editableContentElement","current","handleClick","event","closest","el","action","addEventListener","removeEventListener","addTrigger","stopAddingTrigger","focus","onFocusOutside","onRemoveFormat","shouldAutoFocus","tagName","hasSelection","character","onUse","iconSize","onClick","shortcutType","shortcutCharacter","focusOnMount","object","doDefault","interactive","edit","useDispatch","useSelect","useMemo","useCallback","useRef","store","blockEditorStore","Button","Popover","ToggleControl","BACKSPACE","DOWN","ENTER","LEFT","RIGHT","UP","useAnchor","applyFormat","PopupTriggerEditor","PopupTriggerViewer","createTriggerFormat","insertFormattedText","triggerOptionsFromFormatAttrs","stopKeyPropagation","stopPropagation","onKeyDown","indexOf","parseInt","key","selectionChange","selectionStart","select","getSelectionStart","triggerValue","isEditingTrigger","setIsEditingTrigger","popoverAnchor","removeTrigger","newValue","isSettingsExpanded","setIsSettingsExpanded","toggleSettingsVisibility","prevState","onChangeTrigger","changes","hasTrigger","isNewTrigger","nextValue","triggerFormat","defaultText","start","clientId","identifier","attributeKey","isEditing","previousFocus","editableContent","ownerDocument","activeElement","body","closeOnEscape","document","anchor","animate","onClose","position","offset","shift","constrainTabbing","onChangeInputValue","Number","onKeyPress","onSubmit","onEditTriggerClick","preventDefault","checked","__nextHasNoMarginBottom","role","emptyValueLabel","hideLabelFromVision","String","required","decodeEntities","sprintf","popups","getPopupById","popup","filter","id","PopupView","spanClassName","rendered","insert","slice","getTextContent","format","inserted","addFormatToText","updateFormattedText","_boundary$start","_boundary$end","boundary","getFormatBoundary","end","undefined","getSelectedText","class","toString","_attributes$popupId","startIndex","endIndex","EMPTY_BOUNDARIES","formats","targetFormat","initialIndex","newFormats","formatAtStart","find","formatAtEnd","formatAtEndMinusOne","index","walkingArgs","walkToStart","walkToEnd","walkToBoundary","targetFormatRef","formatIndex","direction","directions","forwards","backwards","directionIncrement","inverseDirectionIncrement","partialRight","fn","partialArgs","args","callToActionStore","popupStore","licenseStore","settingsStore","urlSearchStore","register"],"sourceRoot":""} dist/packages/utils.js 0000644 00000004356 15174671772 0011014 0 ustar 00 (()=>{"use strict";var e={d:(o,t)=>{for(var s in t)e.o(t,s)&&!e.o(o,s)&&Object.defineProperty(o,s,{enumerable:!0,get:t[s]})},o:(e,o)=>Object.prototype.hasOwnProperty.call(e,o),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};e.r(o),e.d(o,{clamp:()=>t,debug:()=>u,noop:()=>s,omit:()=>n,pick:()=>c});const t=(e,o,t)=>t?Math.min(e,o)===e?o:Math.max(e,t)===e?t:e:Math.max(e,o)===o?e:o,s=(...e)=>{},n=(e,...o)=>{const t={};let s=o.length;for(;s--;){const n=o[s];t[n]=e[n]}return t},c=(e,...o)=>o.reduce((o,t)=>(o[t]=e[t],o),{}),l=()=>{try{const e=localStorage.getItem("debug")||"";return"pum:*"===e?{component:!0,effects:!0,selectors:!0,actions:!0,resolvers:!0,state:!0,stack:!0}:{component:e.includes("pum:component"),effects:e.includes("pum:effects"),selectors:e.includes("pum:selectors"),actions:e.includes("pum:actions"),resolvers:e.includes("pum:resolvers"),state:e.includes("pum:state"),stack:e.includes("pum:stack")}}catch(e){return{component:!1,effects:!1,selectors:!1,actions:!1,resolvers:!1,state:!1,stack:!1}}};let r=l();window.addEventListener("storage",()=>{r=l()});const a=()=>(new Date).toISOString().split("T")[1],p=()=>{try{const e=(new Error).stack?.split("\n").slice(3).map(e=>e.trim()).filter(e=>!e.includes("debug.ts")).join("\n");return e}catch(e){return""}},u={component:(e,...o)=>{r.component&&(console.groupCollapsed(`🔷 [${a()}][Component:${e}]`,...o),r.stack&&console.log(p()),console.groupEnd())},effect:(e,o,...t)=>{r.effects&&(console.groupCollapsed(`🔶 [${a()}][Effect:${e}:${o}]`,...t),r.stack&&console.log(p()),console.groupEnd())},selector:(e,...o)=>{r.selectors&&(console.groupCollapsed(`💠 [${a()}][Select:${e}]`,...o),r.stack&&console.log(p()),console.groupEnd())},action:(e,...o)=>{r.actions&&(console.groupCollapsed(`⚡ [${a()}][Action:${e}]`,...o),r.stack&&console.log(p()),console.groupEnd())},resolver:(e,...o)=>{r.resolvers&&(console.groupCollapsed(`🔄 [${a()}][Resolver:${e}]`,...o),r.stack&&console.log(p()),console.groupEnd())},state:(e,...o)=>{r.state&&(console.groupCollapsed(`📦 [${a()}][State:${e}]`,...o),r.stack&&console.log(p()),console.groupEnd())}};(window.popupMaker=window.popupMaker||{}).utils=o})(); dist/packages/dashboard.css 0000644 00000006704 15174671772 0011756 0 ustar 00 .pum-dashboard-widget{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.pum-dashboard-widget a{color:#2271b1;text-decoration:underline}.pum-dashboard-widget a:focus,.pum-dashboard-widget a:hover{color:#135e96;text-decoration:none}.pum-widget-badge{background:#f0f0f1;border-radius:3px;color:#646970;font-size:12px;font-weight:500;padding:4px 12px}.pum-widget-badge.pum-badge-pro{background:#2271b1;color:#fff}#pum_analytics_basic .postbox-header h2{gap:1em}#pum_analytics_basic .postbox-header h2 .pum-widget-badge{margin-right:auto}.pum-upgrade-box{background:#f6f7f7;border-left:4px solid #2271b1;border-radius:3px;margin:20px;padding:15px}.pum-upgrade-box .pum-upgrade-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.pum-upgrade-box .pum-upgrade-icon{font-size:20px}.pum-upgrade-box .pum-upgrade-title{color:#1d2327;font-size:14px;font-weight:600}.pum-upgrade-box .pum-upgrade-text{color:#50575e;font-size:13px;line-height:1.5;margin:0 0 16px}.pum-upgrade-box .pum-upgrade-button{background:#2271b1;border:1px solid #2271b1;border-radius:3px;color:#fff;cursor:pointer;display:inline-block;font-size:13px;font-weight:400;padding:6px 14px;text-align:center;text-decoration:none;transition:background .05s ease-in-out}.pum-upgrade-box .pum-upgrade-button:focus,.pum-upgrade-box .pum-upgrade-button:hover{background:#135e96;border-color:#135e96;color:#fff;outline:2px solid #0000;outline-offset:0}.pum-stats-grid{display:grid;gap:20px;grid-template-columns:1fr 1fr;padding:20px}.pum-stats-grid.pum-stats-grid-2x2{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.pum-stat{text-align:center}.pum-stat.pum-stat-with-chart{align-items:center;display:flex;justify-content:space-between;text-align:left}.pum-stat .pum-stat-value{color:#1d2327;font-size:32px;font-weight:600;line-height:1;margin-bottom:4px}.pum-stat .pum-stat-value.pum-stat-views{color:#1d2327}.pum-stat .pum-stat-value.pum-stat-conversions{color:#00a32a}.pum-stat .pum-stat-label{color:#646970;font-size:13px}.pum-conversion-rate{background:#f6f7f7;padding:20px;text-align:center}.pum-conversion-rate .pum-rate-value{color:#00a32a;font-size:36px;font-weight:600;margin-bottom:4px}.pum-conversion-rate .pum-rate-label{color:#646970;font-size:13px}.pum-top-performer{border-top:1px solid #c3c4c7;padding:20px}.pum-top-performer .pum-performer-label{color:#646970;font-size:13px;margin-bottom:4px}.pum-top-performer .pum-performer-name{color:#1d2327;font-size:14px;font-weight:600}.pum-top-performers{border-top:1px solid #c3c4c7;padding:20px}.pum-top-performers h4{color:#1d2327;font-size:14px;font-weight:600;margin:0 0 12px}.pum-top-performers .pum-performer-item{margin-bottom:12px}.pum-top-performers .pum-performer-item:last-child{margin-bottom:0}.pum-top-performers .pum-performer-name{color:#1d2327;display:block;font-size:13px;margin-bottom:4px}.pum-top-performers .pum-performer-bar{align-items:center;background:#dcdcde;border-radius:3px;display:flex;height:20px;justify-content:flex-end;overflow:hidden;padding-right:8px;position:relative}.pum-top-performers .pum-performer-fill{background:#2271b1;border-radius:3px;height:100%;left:0;position:absolute;top:0;transition:width .3s ease}.pum-top-performers .pum-performer-rate{color:#1d2327;font-size:12px;font-weight:600;position:relative;z-index:1}@media(max-width:782px){.pum-device-grid,.pum-stats-grid{grid-template-columns:1fr}.pum-device-grid{gap:12px}.pum-widget-footer{flex-direction:column;gap:8px}} dist/packages/registry.js.map 0000644 00000023560 15174671772 0012276 0 ustar 00 {"version":3,"file":"registry.js","mappings":"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","sources":["webpack://popup-maker/core/external window [\"wp\",\"element\"]?","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/compat get default export?","webpack://popup-maker/core/webpack/runtime/define property getters?","webpack://popup-maker/core/webpack/runtime/hasOwnProperty shorthand?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/registry/src/index.ts?"],"sourcesContent":["module.exports = window[\"wp\"][\"element\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { useSyncExternalStore } from '@wordpress/element';\n\nexport declare namespace PopupMaker {\n\texport interface RegistryGroup {\n\t\tpriority: number;\n\t\tlabel?: string;\n\t}\n\n\texport interface RegistryItem {\n\t\t/** Unique identifier for the item */\n\t\tid: string;\n\t\t/** Numeric priority for sorting (lower numbers come first) */\n\t\tpriority?: number;\n\t\t/** Group for sorting */\n\t\tgroup?: string;\n\t}\n\n\texport type RegistryConfig = {\n\t\t/** Unique name for the registry */\n\t\tname: string;\n\t\t/**\n\t\t * Group configuration with priorities (merged with core and global groups)\n\t\t * Use numbers between 0-99 to insert around core groups (10-30)\n\t\t */\n\t\tgroups?: Record< string, RegistryGroup >;\n\n\t\t/**\n\t\t * Default group for items that don't specify a group\n\t\t */\n\t\tdefaultGroup?: string;\n\t};\n}\n\n/**\n * Creates a type-safe registry with priority-based sorting\n * @param {PopupMaker.RegistryConfig<T>} config\n */\nexport function createRegistry< T extends PopupMaker.RegistryItem >(\n\tconfig: PopupMaker.RegistryConfig\n) {\n\tconst { name, groups = {}, defaultGroup = '' } = config;\n\tlet groupConfig = { ...groups };\n\tlet items: T[] = [];\n\tconst defaultPriority = 10;\n\n\t// Create a Set to track subscribers\n\tconst subscribers = new Set< () => void >();\n\n\t/**\n\t * Registers a new item with the registry\n\t * @param {T} item\n\t */\n\tconst register = ( item: T ) => {\n\t\tconst newItem = {\n\t\t\t...item,\n\t\t\tgroup: item.group ?? defaultGroup,\n\t\t\tpriority: item.priority ?? defaultPriority,\n\t\t} as T;\n\n\t\t// Using the unique id, group and priority, check if the item already exists.\n\t\tconst existingItem = items.find(\n\t\t\t( { id, group } ) => id === newItem.id && group === newItem.group\n\t\t);\n\n\t\t// If the item already exists, replace it.\n\t\tif ( existingItem ) {\n\t\t\titems = items.map( ( _item ) =>\n\t\t\t\t_item.id === newItem.id ? newItem : _item\n\t\t\t);\n\t\t} else {\n\t\t\titems.push( newItem );\n\t\t}\n\n\t\t// New sorting logic using configured group priorities\n\t\titems.sort( sortComparator );\n\n\t\t// Notify subscribers when items change\n\t\temitChange();\n\t};\n\n\t/**\n\t * Retrieves all items sorted by priority\n\t */\n\tconst getItems = () => [ ...items ];\n\n\t/**\n\t * React hook version of getItems\n\t */\n\t/**\n\t * React hook to access registry items with automatic re-renders\n\t * @return {T[]} Sorted registry items\n\t */\n\tconst useItems = (): T[] => {\n\t\tconst subscribe = ( listener: () => void ) => {\n\t\t\tsubscribers.add( listener );\n\t\t\treturn () => subscribers.delete( listener );\n\t\t};\n\n\t\tconst getSnapshot = () => items;\n\n\t\treturn useSyncExternalStore(\n\t\t\tsubscribe,\n\t\t\tgetSnapshot,\n\t\t\tgetSnapshot // Fallback for SSR\n\t\t);\n\t};\n\n\t/**\n\t * Filter items with a custom predicate\n\t * @param {Function} predicate\n\t */\n\tconst filter = ( predicate: ( item: T ) => boolean ) =>\n\t\titems.filter( predicate );\n\n\t/**\n\t * Emits a change event to all subscribers\n\t */\n\tconst emitChange = () => {\n\t\tsubscribers.forEach( ( listener ) => listener() );\n\t};\n\n\tconst registerGroup = (\n\t\tgroupName: string,\n\t\tgroupOptions: PopupMaker.RegistryGroup\n\t) => {\n\t\tgroupConfig = { ...groupConfig, [ groupName ]: groupOptions };\n\t\t// Re-sort existing items with new group configuration\n\t\titems.sort( sortComparator );\n\t\temitChange();\n\t};\n\n\tconst sortComparator = ( a: T, b: T ) => {\n\t\tif ( a.group === b.group ) {\n\t\t\treturn a.priority! - b.priority!;\n\t\t}\n\n\t\tconst getPriority = ( group?: string ) =>\n\t\t\tgroup ? groupConfig[ group ]?.priority ?? 50 : Infinity;\n\n\t\tconst aPriority = getPriority( a.group );\n\t\tconst bPriority = getPriority( b.group );\n\n\t\treturn (\n\t\t\taPriority - bPriority ||\n\t\t\t( a.group ?? 'zzzz' ).localeCompare( b.group ?? 'zzzz' )\n\t\t);\n\t};\n\n\tconst clear = () => {\n\t\titems = [];\n\t\temitChange();\n\t};\n\n\tconst context = {\n\t\tname,\n\t\tregister,\n\t\tregisterGroup,\n\t\tgetItems,\n\t\tuseItems,\n\t\tfilter,\n\t\temitChange,\n\t\tclear,\n\t};\n\n\treturn context;\n}\n"],"names":["useSyncExternalStore","createRegistry","config","name","groups","defaultGroup","groupConfig","items","defaultPriority","subscribers","Set","register","item","_item$group","_item$priority","newItem","group","priority","existingItem","find","id","map","_item","push","sort","sortComparator","emitChange","getItems","useItems","subscribe","listener","add","delete","getSnapshot","filter","predicate","forEach","registerGroup","groupName","groupOptions","a","b","_a$group","_b$group","getPriority","_groupConfig$group$pr","Infinity","aPriority","bPriority","localeCompare","clear","context"],"sourceRoot":""} dist/packages/registry.js 0000644 00000002454 15174671772 0011521 0 ustar 00 (()=>{"use strict";var r={d:(e,o)=>{for(var t in o)r.o(o,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:o[t]})},o:(r,e)=>Object.prototype.hasOwnProperty.call(r,e),r:r=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})}},e={};r.r(e),r.d(e,{createRegistry:()=>t});const o=window.wp.element;function t(r){const{name:e,groups:t={},defaultGroup:i=""}=r;let n={...t},u=[];const p=new Set,l=()=>{p.forEach(r=>r())},a=(r,e)=>{var o,t;if(r.group===e.group)return r.priority-e.priority;const i=r=>{var e;return r?null!==(e=n[r]?.priority)&&void 0!==e?e:50:1/0};return i(r.group)-i(e.group)||(null!==(o=r.group)&&void 0!==o?o:"zzzz").localeCompare(null!==(t=e.group)&&void 0!==t?t:"zzzz")};return{name:e,register:r=>{var e,o;const t={...r,group:null!==(e=r.group)&&void 0!==e?e:i,priority:null!==(o=r.priority)&&void 0!==o?o:10};u.find(({id:r,group:e})=>r===t.id&&e===t.group)?u=u.map(r=>r.id===t.id?t:r):u.push(t),u.sort(a),l()},registerGroup:(r,e)=>{n={...n,[r]:e},u.sort(a),l()},getItems:()=>[...u],useItems:()=>{const r=()=>u;return(0,o.useSyncExternalStore)(r=>(p.add(r),()=>p.delete(r)),r,r)},filter:r=>u.filter(r),emitChange:l,clear:()=>{u=[],l()}}}(window.popupMaker=window.popupMaker||{}).registry=e})(); dist/packages/popup-admin.js 0000644 00000000117 15174671772 0012074 0 ustar 00 (()=>{"use strict";(window.popupMaker=window.popupMaker||{}).popupAdmin={}})(); dist/packages/icons-rtl.css 0000644 00000001400 15174671772 0011725 0 ustar 00 .pum-icon--block path,.pum-icon--block-manager path{stroke:currentColor}.pum-icon--block rect{stroke:currentColor;fill:currentColor}.pum-icon--check-all path{fill:currentColor}.pum-icon--controlled-content path,.pum-icon--custom-redirect path,.pum-icon--filter-lines path,.pum-icon--incognito path,.pum-icon--license-key path,.pum-icon--locked-user path{stroke:currentColor}.pum-icon--mark-colored path.pum-mark--center-path,.pum-icon--mark-colored path:not(.pum-mark--center-path){fill:currentColor}.pum-icon--monitor path,.pum-icon--permissions path,.pum-icon--protected-message path{stroke:currentColor}.pum-icon--protected-message rect{fill:currentColor;stroke:none}.pum-icon--protected-redirect path{stroke:currentColor}.pum-icon--upgrade path{fill:currentColor} dist/packages/use-query-params.js 0000644 00000035033 15174671772 0013070 0 ustar 00 (()=>{var e={208:()=>{},231:(e,r,t)=>{"use strict";t.d(r,{_3:()=>c,zf:()=>a});var n=t(609),o=t(269);function a(e,r){const t=t=>{const[a,c]=(0,o.A)(e);return n.createElement(r,{query:a,setQuery:c,...t})};return t.displayName=`withQueryParams(${r.displayName||r.name||"Component"})`,t}function c(e,r,t){const a=a=>{const[c,u]=(0,o.A)(e),i=r(c,u,a);return n.createElement(t,{...i,...a})};return a.displayName=`withQueryParams(${t.displayName||t.name||"Component"})`,a}},269:(e,r,t)=>{"use strict";t.d(r,{A:()=>A,s:()=>j});var n=t(609),o=t(637);const a=new class{constructor(){this.paramsMap=new Map,this.registeredParams=new Map}set(e,r,t,n){this.paramsMap.set(e,{stringified:r,decoded:t,decode:n})}has(e,r,t){if(!this.paramsMap.has(e))return!1;const n=this.paramsMap.get(e);return!!n&&n.stringified===r&&(null==t||n.decode===t)}get(e){var r;if(this.paramsMap.has(e))return null==(r=this.paramsMap.get(e))?void 0:r.decoded}registerParams(e){for(const r of e){const e=this.registeredParams.get(r)||0;this.registeredParams.set(r,e+1)}}unregisterParams(e){for(const r of e){const e=(this.registeredParams.get(r)||0)-1;e<=0?(this.registeredParams.delete(r),this.paramsMap.has(r)&&this.paramsMap.delete(r)):this.registeredParams.set(r,e)}}clear(){this.paramsMap.clear(),this.registeredParams.clear()}};function c(e,r,t,n){var o;if(!t||!r.length)return e;let a={...e},c=!1;for(const e of r)Object.prototype.hasOwnProperty.call(a,e)||(a[e]=null!=(o=t[e])?o:n,c=!0);return c?a:e}const u=Object.prototype.hasOwnProperty;function i(e,r){return e===r?0!==e||0!==r||1/e==1/r:e!=e&&r!=r}function s(e,r,t){var n,o;if(i(e,r))return!0;if("object"!=typeof e||null===e||"object"!=typeof r||null===r)return!1;const a=Object.keys(e),c=Object.keys(r);if(a.length!==c.length)return!1;for(let c=0;c<a.length;c++){const s=null!=(o=null==(n=null==t?void 0:t[a[c]])?void 0:n.equals)?o:i;if(!u.call(r,a[c])||!s(e[a[c]],r[a[c]]))return!1}return!0}function l(e,r,t){const n={},o=Object.keys(r);for(const a of o){const o=r[a],c=e[a];let u;if(t.has(a,c,o.decode))u=t.get(a);else{if(u=o.decode(c),o.equals&&t.has(a,c)){const e=t.get(a);o.equals(u,e)&&(u=e)}void 0!==u&&t.set(a,c,u,o.decode)}void 0===u&&void 0!==o.default&&(u=o.default),n[a]=u}return n}function d(){let e;return function(r,t,n){const o=l(r,t,n);return null!=e&&s(e,o)?e:(e=o,o)}}let m,f,p,y={};const h=(e,r,t)=>{if(m===r&&p===e&&f===t)return y;m=r,p=e;const n=e(null!=r?r:"");f=t;const o=function(e){if(e)return Object.fromEntries(e.split("\n").map(e=>e.split("\0")))}(t);for(let[e,r]of Object.entries(n)){(null==o?void 0:o[e])&&(delete n[e],e=o[e],n[e]=r);const t=y[e];s(r,t)&&(n[e]=t)}return y=n,n};var g=t(283),P=t(881);function b({changes:e,updateType:r,currentSearchString:t,paramConfigMap:n,options:u}){const{searchStringToObject:i,objectToSearchString:s}=u;let d;null==r&&(r=u.updateType);const m=h(i,t),f=c(n,Object.keys(e),u.params);let p,y;return p="function"==typeof e?e(l(m,f,a)):e,d=(0,o.Vl)(f,p),u.removeDefaultsFromUrl&&function(e,r){var t;for(const n in e)void 0!==(null==(t=r[n])?void 0:t.default)&&void 0!==e[n]&&r[n].encode(r[n].default)===e[n]&&(e[n]=void 0)}(d,f),d=function(e,r){var t;let n={};for(const o in e)null!=(null==(t=r[o])?void 0:t.urlName)?n[r[o].urlName]=e[o]:n[o]=e[o];return n}(d,f),y=s("push"===r||"replace"===r?d:{...m,...d}),(null==y?void 0:y.length)&&"?"!==y[0]&&(y=`?${y}`),null!=y?y:""}const v=e=>e(),O=e=>setTimeout(()=>e(),0),S=[];function j(e,r){const{adapter:t,options:u}=(0,P.MJ)(),[i]=(0,n.useState)(d),{paramConfigMap:s,options:l}=function(e,r){let t,n;return void 0===e?(t={},n=r):Array.isArray(e)?(t=Object.fromEntries(e.map(e=>[e,"inherit"])),n=r):(t=e,n=r),{paramConfigMap:t,options:n}}(e,r),m=(0,n.useMemo)(()=>(0,g.l)(u,l),[u,l]);let f=function(e,r){var t,n,a;const c={};let u=!1;const i=Object.keys(e);let s=i;if(r.includeKnownParams||!1!==r.includeKnownParams&&0===i.length){const e=Object.keys(null!=(t=r.params)?t:{});s.push(...e)}for(const t of s){const i=e[t];null==i||"object"!=typeof i?(u=!0,c[t]=null!=(a=null==(n=r.params)?void 0:n[t])?a:o.fr):c[t]=i}return u?c:e}(s,m);const p=h(m.searchStringToObject,t.location.search,function(e){let r;for(const t in e)if(e[t].urlName){const n=`${e[t].urlName}\0${t}`;r?r.push(n):r=[n]}return r?r.join("\n"):void 0}(f));m.includeAllParams&&(f=c(f,Object.keys(p),m.params,o.fr));const y=i(p,f,a),j=Object.keys(f).join("\0");(0,n.useEffect)(()=>{const e=j.split("\0");return a.registerParams(e),()=>{a.unregisterParams(e)}},[j]);const A={adapter:t,paramConfigMap:f,options:m},N=(0,n.useRef)(A);null==N.current&&(N.current=A),(0,n.useEffect)(()=>{N.current.adapter=t,N.current.paramConfigMap=f,N.current.options=m},[t,f,m]);const[w]=(0,n.useState)(()=>(e,r)=>{const{adapter:t,paramConfigMap:n,options:o}=N.current;null==r&&(r=o.updateType),function(e,{immediate:r}={}){S.push(e);let t=r?v:O;1===S.length&&t(()=>{const r=S.slice();S.length=0;const t=r[0].currentSearchString;let n;for(let e=0;e<r.length;++e)n=b(0===e?r[e]:{...r[e],currentSearchString:n});e.options.skipUpdateWhenNoChange&&n===t||function({searchString:e,adapter:r,navigate:t,updateType:n}){const o={...r.location,search:e};t&&("string"==typeof n&&n.startsWith("replace")?r.replace(o):r.push(o))}({searchString:null!=n?n:"",adapter:r[r.length-1].adapter,navigate:!0,updateType:r[r.length-1].updateType})})}({changes:e,updateType:r,currentSearchString:t.location.search,paramConfigMap:n,options:o,adapter:t},{immediate:!o.enableBatching})});return[y,w]}var A=j},271:(e,r,t)=>{"use strict";t.d(r,{p:()=>a});var n=t(609),o=t(269);const a=(e,r,t)=>{const a=(0,n.useMemo)(()=>({[e]:null!=r?r:"inherit"}),[e,r]),[c,u]=(0,o.A)(a,t);return[c[e],(0,n.useCallback)((r,t)=>u("function"==typeof r?t=>{const n=r(t[e]);return{[e]:n}}:{[e]:r},t),[e,u])]}},283:(e,r,t)=>{"use strict";t.d(r,{K:()=>o,l:()=>a});var n=t(637);const o={searchStringToObject:n.eR,objectToSearchString:n.oO,updateType:"pushIn",includeKnownParams:void 0,includeAllParams:!1,removeDefaultsFromUrl:!1,enableBatching:!1,skipUpdateWhenNoChange:!0};function a(e,r){null==r&&(r={});const t={...e,...r};return r.params&&e.params&&(t.params={...e.params,...r.params}),t}},609:e=>{"use strict";e.exports=window.React},637:(e,r,t)=>{"use strict";function n(e,r,t=!0){return{...e,default:r,decode:(...n)=>{const o=e.decode(...n);return void 0===o||t&&null===o?r:o}}}function o(e,r){if(null==e)return e;if(0===e.length&&(!r||r&&""!==e))return null;const t=e instanceof Array?e[0]:e;return null==t||r||""!==t?t:null}function a(e){if(null==e)return e;const r=e.getFullYear(),t=e.getMonth()+1,n=e.getDate();return`${r}-${t<10?`0${t}`:t}-${n<10?`0${n}`:n}`}function c(e){const r=o(e);if(null==r)return r;const t=r.split("-");null!=t[1]?t[1]-=1:(t[1]=0,t[2]=1);const n=new Date(...t);return isNaN(n.getTime())?null:n}function u(e){return null==e?e:e?"1":"0"}function i(e){const r=o(e);return null==r?r:"1"===r||"0"!==r&&null}function s(e){return null==e?e:String(e)}function l(e){const r=o(e);return null==r?r:""===r?null:+r}function d(e){return null==e?e:String(e)}function m(e){const r=o(e,!0);return null==r?r:String(r)}function f(e,r){const t=m(e);return null==t||r.includes(t)?t:void 0}function p(e,r){const t=b(e);return null==t||t.length&&t.every(e=>null!=e&&r.includes(e))?t:void 0}function y(e,r,t="_"){if(null==e||!Array.isArray(e)||e.length)return p(j(e,t),r)}function h(e){return null==e?e:JSON.stringify(e)}function g(e){const r=o(e);if(null==r)return r;let t=null;try{t=JSON.parse(r)}catch(e){}return t}function P(e){return e}function b(e){const r=function(e){return null==e||e instanceof Array?e:""===e?[]:[e]}(e);return r}function v(e){return null==e?e:e.map(String)}function O(e){const r=b(e);return null==r?r:r.map(e=>""===e||null==e?null:+e)}function S(e,r="_"){return null==e?e:e.join(r)}function j(e,r="_"){const t=o(e,!0);return null==t?t:""===t?[]:t.split(r)}t.d(r,{xn:()=>C,sJ:()=>B,K1:()=>q,LT:()=>L,My:()=>F,VA:()=>I,W:()=>R,hc:()=>_,Sh:()=>J,ey:()=>U,X4:()=>x,fr:()=>T,wG:()=>k,tw:()=>$,Z8:()=>Q,k$:()=>b,bx:()=>p,J2:()=>i,Hq:()=>c,bo:()=>j,eb:()=>y,_x:()=>N,u9:()=>f,xO:()=>g,w2:()=>l,Nd:()=>O,NM:()=>E,gv:()=>M,Zr:()=>H,sc:()=>m,u8:()=>P,ZY:()=>u,d5:()=>a,bs:()=>S,in:()=>A,Pr:()=>h,_v:()=>s,Vd:()=>v,F_:()=>D,CG:()=>w,Vl:()=>G,aj:()=>d,oO:()=>K,eR:()=>X,ao:()=>W,st:()=>z,Nt:()=>Y,IQ:()=>n});const A=S;function N(e,r="_"){const t=j(e,r);return null==t?t:t.map(e=>""===e||null==e?null:+e)}function w(e,r="-",t="_"){return null==e?e:Object.keys(e).length?Object.keys(e).map(t=>`${t}${r}${e[t]}`).join(t):""}function M(e,r="-",t="_"){const n=o(e,!0);if(null==n)return n;if(""===n)return{};const a={},c=new RegExp(`${r}(.*)`);return n.split(t).forEach(e=>{const[r,t]=e.split(c);a[r]=t}),a}const D=w;function E(e,r="-",t="_"){const n=M(e,r,t);if(null==n)return n;const o={};for(const e of Object.keys(n))o[e]=l(n[e]);return o}const T={encode:d,decode:m},Q=e=>({encode:d,decode:r=>f(r,e)}),k=e=>({encode:e=>null==e||Array.isArray(e)?e:[e],decode:r=>p(r,e)}),$=(e,r="_")=>({encode:e=>S(null==e||Array.isArray(e)?e:[e],r),decode:t=>y(t,e,r)}),_={encode:s,decode:l},x={encode:w,decode:M},C={encode:P,decode:b},J={encode:v,decode:O},R={encode:h,decode:g},q={encode:a,decode:c,equals:(e,r)=>e===r||(null==e||null==r?e===r:e.getFullYear()===r.getFullYear()&&e.getMonth()===r.getMonth()&&e.getDate()===r.getDate())},L={encode:function(e){return null==e?e:e.toISOString()},decode:function(e){const r=o(e);if(null==r)return r;const t=new Date(r);return isNaN(t.getTime())?null:t},equals:(e,r)=>e===r||(null==e||null==r?e===r:e.valueOf()===r.valueOf())},B={encode:u,decode:i},U={encode:D,decode:E},F={encode:S,decode:j},I={encode:A,decode:N};function K(e){const r=new URLSearchParams,t=Object.entries(e);for(const[e,n]of t)if(null!=n)if(Array.isArray(n))for(const t of n)r.append(e,null!=t?t:"");else r.append(e,n);return r.toString()}const V='{}[],":'.split("").map(e=>[e,encodeURIComponent(e)]);function Z(e,r){let t=r;if(e.href)try{const n=new URL(e.href);t=`${n.origin}${n.pathname}${r}`}catch(e){t=""}return t}function W(e){let r=e;for(let[e,t]of V)r=r.replace(new RegExp("\\"+t,"g"),e);return r}function Y(e,r,t=K){let n=t(e);const o=n.length?`?${n}`:"";return{...r,key:`${Date.now()}`,href:Z(r,o),search:o,query:e}}function z(e,r,t=K,n=X){return Y({...n(r.search),...e},r,t)}function G(e,r){const t={},n=Object.keys(r);for(const o of n){const n=r[o];e[o]?t[o]=e[o].encode(r[o]):t[o]=null==n?n:String(n)}return t}function H(e,r){const t={},n=Object.keys(e);for(const t of Object.keys(r))null==e[t]&&n.push(t);for(const o of n){const n=r[o];e[o]?t[o]=e[o].decode(n):(console.warn(`Passing through parameter ${o} during decoding since it was not configured.`),t[o]=n)}return t}function X(e){const r=new URLSearchParams(e),t={};for(let[e,n]of r)Object.prototype.hasOwnProperty.call(t,e)?Array.isArray(t[e])?t[e].push(n):t[e]=[t[e],n]:t[e]=n;return t}},683:(e,r,t)=>{"use strict";t.d(r,{z:()=>o});var n=t(269);const o=({config:e,children:r})=>{const[t,o]=(0,n.A)(e);return r({query:t,setQuery:o})}},881:(e,r,t)=>{"use strict";t.d(r,{HX:()=>s,MJ:()=>u});var n=t(609),o=t(283);const a={adapter:{},options:o.K},c=n.createContext(a);function u(){const e=n.useContext(c);if(void 0===e||e===a)throw new Error("useQueryParams must be used within a QueryParamProvider");return e}function i({children:e,adapter:r,options:t}){const{adapter:a,options:u}=n.useContext(c),i=n.useMemo(()=>({adapter:null!=r?r:a,options:(0,o.l)(u,t)}),[r,t,a,u]);return n.createElement(c.Provider,{value:i},e)}function s({children:e,adapter:r,options:t}){const o=r;return o?n.createElement(o,null,r=>n.createElement(i,{adapter:r,options:t},e)):n.createElement(i,{options:t},e)}},889:(e,r,t)=>{"use strict";t.r(r),t.d(r,{ArrayParam:()=>n.xn,BooleanParam:()=>n.sJ,DateParam:()=>n.K1,DateTimeParam:()=>n.LT,DelimitedArrayParam:()=>n.My,DelimitedNumericArrayParam:()=>n.VA,JsonParam:()=>n.W,NumberParam:()=>n.hc,NumericArrayParam:()=>n.Sh,NumericObjectParam:()=>n.ey,ObjectParam:()=>n.X4,QueryParamProvider:()=>l.HX,QueryParams:()=>s.z,StringParam:()=>n.fr,createEnumArrayParam:()=>n.wG,createEnumDelimitedArrayParam:()=>n.tw,createEnumParam:()=>n.Z8,decodeArray:()=>n.k$,decodeArrayEnum:()=>n.bx,decodeBoolean:()=>n.J2,decodeDate:()=>n.Hq,decodeDelimitedArray:()=>n.bo,decodeDelimitedArrayEnum:()=>n.eb,decodeDelimitedNumericArray:()=>n._x,decodeEnum:()=>n.u9,decodeJson:()=>n.xO,decodeNumber:()=>n.w2,decodeNumericArray:()=>n.Nd,decodeNumericObject:()=>n.NM,decodeObject:()=>n.gv,decodeQueryParams:()=>n.Zr,decodeString:()=>n.sc,encodeArray:()=>n.u8,encodeBoolean:()=>n.ZY,encodeDate:()=>n.d5,encodeDelimitedArray:()=>n.bs,encodeDelimitedNumericArray:()=>n.in,encodeJson:()=>n.Pr,encodeNumber:()=>n._v,encodeNumericArray:()=>n.Vd,encodeNumericObject:()=>n.F_,encodeObject:()=>n.CG,encodeQueryParams:()=>n.Vl,encodeString:()=>n.aj,objectToSearchString:()=>n.oO,searchStringToObject:()=>n.eR,transformSearchStringJsonSafe:()=>n.ao,updateInLocation:()=>n.st,updateLocation:()=>n.Nt,useQueryParam:()=>c.p,useQueryParams:()=>u.s,withDefault:()=>n.IQ,withQueryParams:()=>i.zf,withQueryParamsMapped:()=>i._3});var n=t(637),o=t(208),a={};for(const e in o)["default","QueryParamProvider","QueryParams","useQueryParam","useQueryParams","withQueryParams","withQueryParamsMapped","ArrayParam","BooleanParam","DateParam","DateTimeParam","DelimitedArrayParam","DelimitedNumericArrayParam","JsonParam","NumberParam","NumericArrayParam","NumericObjectParam","ObjectParam","StringParam","createEnumArrayParam","createEnumDelimitedArrayParam","createEnumParam","decodeArray","decodeArrayEnum","decodeBoolean","decodeDate","decodeDelimitedArray","decodeDelimitedArrayEnum","decodeDelimitedNumericArray","decodeEnum","decodeJson","decodeNumber","decodeNumericArray","decodeNumericObject","decodeObject","decodeQueryParams","decodeString","encodeArray","encodeBoolean","encodeDate","encodeDelimitedArray","encodeDelimitedNumericArray","encodeJson","encodeNumber","encodeNumericArray","encodeNumericObject","encodeObject","encodeQueryParams","encodeString","objectToSearchString","searchStringToObject","transformSearchStringJsonSafe","updateInLocation","updateLocation","withDefault"].indexOf(e)<0&&(a[e]=()=>o[e]);t.d(r,a);var c=t(271),u=t(269),i=t(231),s=t(683),l=t(881)}},r={};function t(n){var o=r[n];if(void 0!==o)return o.exports;var a=r[n]={exports:{}};return e[n](a,a.exports,t),a.exports}t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},t.d=(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";t.r(n);var e=t(889),r={};for(const t in e)"default"!==t&&(r[t]=()=>e[t]);t.d(n,r),t(637)})(),(window.popupMaker=window.popupMaker||{}).useQueryParams=n})(); dist/packages/admin-marketing.css.map 0000644 00000004637 15174671772 0013655 0 ustar 00 {"version":3,"file":"admin-marketing.css","mappings":";;;AACC;;EAEC;AAAF;;AAIA;EA8EC;EAMA;AAnFD;AAGG;;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAJ;AAGG;;EACC;EACA;EAEA;EACA;AADJ;AAGI;;EACC;EACA;EACA;EACA;AAAL;AAGI;;EACC;AAAL;AAQI;;;EACC;AAJL;AAWI;;EACC;AARL;AAcG;;;;EAEC;AAVJ;AAcI;;EACC;AAXL;AAgBI;;;;EAEC;AAZL;AAeK;;EACC;AAZN;AAoBC;;EAEC;AAlBF;AAsBC;;;;EAIC;EACA;AApBF,C","sources":["webpack://popup-maker/core/./packages/admin-marketing/src/styles.scss?"],"sourcesContent":["#menu-posts-popup .menu-icon-popup .wp-menu-image {\n\t> img,\n\t> svg {\n\t\twidth: 18px !important;\n\t}\n}\n\n.plugins {\n\ttr[data-plugin].pum-main-plugin,\n\ttr[data-plugin].pum-addon-plugin {\n\t\ttd.plugin-title {\n\t\t\t.pum-plugin-icon {\n\t\t\t\twidth: 1.375rem !important;\n\t\t\t\theight: auto !important;\n\t\t\t\taspect-ratio: 1 / 1;\n\t\t\t\tpadding-right: 0.5rem;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -1.5px;\n\t\t\t\topacity: 0.8;\n\t\t\t\ttransition: all 0.2s ease-in-out;\n\t\t\t}\n\n\t\t\t.pum-toggle-icon {\n\t\t\t\tfloat: none;\n\t\t\t\tpadding: 0;\n\t\t\t\t// margin-left: 0.5rem;\n\t\t\t\twidth: auto;\n\t\t\t\theight: auto;\n\n\t\t\t\t&::before {\n\t\t\t\t\tbackground-color: transparent;\n\t\t\t\t\tbox-shadow: none;\n\t\t\t\t\tfont-size: 1em;\n\t\t\t\t\tcolor: black;\n\t\t\t\t}\n\n\t\t\t\t&:hover {\n\t\t\t\t\tcolor: #2271b1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.active,\n\t\t&:hover {\n\t\t\ttd.plugin-title {\n\t\t\t\t.pum-plugin-icon {\n\t\t\t\t\topacity: 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\ttd.plugin-title {\n\t\t\t\t.pum-plugin-icon {\n\t\t\t\t\ttransform: scale(1.2);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.pum-addon-plugin {\n\t\t\tth,\n\t\t\ttd {\n\t\t\t\topacity: 0.875;\n\t\t\t}\n\n\t\t\t&:not(.no-main-plugin) {\n\t\t\t\ttd.plugin-title {\n\t\t\t\t\tpadding-left: 1.5rem;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.no-main-plugin {\n\t\t\t\ttd,\n\t\t\t\tth {\n\t\t\t\t\topacity: 1;\n\t\t\t\t}\n\t\t\t\ttd.plugin-title {\n\t\t\t\t\t&::before {\n\t\t\t\t\t\tleft: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Improve spacing between plugins */\n\t.pum-main-plugin + .pum-addon-plugin,\n\t.pum-addon-plugin + .pum-addon-plugin {\n\t\tborder-top: none !important;\n\t}\n\n\t/* Ensure consistent heights */\n\t.plugins tr.active + tr.inactive th,\n\t.plugins tr.active + tr.inactive td,\n\t.plugins tr.active th,\n\t.plugins tr.active td {\n\t\tbox-shadow: none;\n\t\t-webkit-box-shadow: none;\n\t}\n}\n"],"names":[],"sourceRoot":""} dist/packages/layout-rtl.css 0000644 00000002474 15174671772 0012143 0 ustar 00 #wpcontent{padding:0} .popup-maker-app-layout{background-color:#f0f0f1;display:flex;flex-direction:column;min-height:100vh}.popup-maker-app-content{padding:20px 20px 20px 0} .popup-maker-app-header{align-items:center;background-color:#fff;border-bottom:1px solid #ddd;display:flex;gap:20px;padding-left:20px}.popup-maker-app-header .branding{margin:0 20px}.popup-maker-app-header .branding a{align-items:center;color:inherit;display:flex;text-decoration:none}.popup-maker-app-header .branding img{margin-left:10px;max-height:1.25em}.popup-maker-app-header .tabs{flex-grow:1}.popup-maker-app-header .components-tab-panel__tabs-item{color:#1e1e1e;font-size:1.125em;height:60px;text-decoration:none}.popup-maker-app-header .components-tab-panel__tabs-item.is-active{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #0000,inset 0 -4px 0 0 var(--wp-admin-theme-color)}.popup-maker-app-header .components-tab-panel__tabs-item:hover{color:var(--wp-admin-theme-color)}.popup-maker-app-header .components-tab-panel__tabs-item.upgrade{margin-right:auto}.popup-maker-app-header .components-tab-panel__tabs-item.upgrade svg{margin-left:5px}.popup-maker-app-header .components-tab-panel__tabs-item.upgrade:hover svg path{fill:var(--wp-admin-theme-color)}.popup-maker-app-header .components-tab-panel__tabs-item.support-link{margin-right:auto} dist/packages/utils.js.map 0000644 00000031100 15174671772 0011553 0 ustar 00 {"version":3,"file":"utils.js","mappings":"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","sources":["webpack://popup-maker/core/./packages/utils/src/lib/clamp.ts?","webpack://popup-maker/core/./packages/utils/src/lib/debug.ts?","webpack://popup-maker/core/./packages/utils/src/lib/index.ts?","webpack://popup-maker/core/./packages/utils/src/lib/noop.ts?","webpack://popup-maker/core/./packages/utils/src/lib/omit.ts?","webpack://popup-maker/core/./packages/utils/src/lib/pick.ts?","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/define property getters?","webpack://popup-maker/core/webpack/runtime/hasOwnProperty shorthand?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/utils/src/index.ts?"],"sourcesContent":["const clamp = ( number: number, boundOne: number, boundTwo: number ) => {\n\tif ( ! boundTwo ) {\n\t\treturn Math.max( number, boundOne ) === boundOne ? number : boundOne;\n\t} else if ( Math.min( number, boundOne ) === number ) {\n\t\treturn boundOne;\n\t} else if ( Math.max( number, boundTwo ) === number ) {\n\t\treturn boundTwo;\n\t}\n\treturn number;\n};\n\nexport default clamp;\n","/**\n * Whether debugging is enabled.\n * Can be enabled via localStorage.debug = 'pum:*' or specific features like 'pum:effects'\n */\nconst getDebugConfig = (): DebugConfig => {\n\ttry {\n\t\tconst debug = localStorage.getItem( 'debug' ) || '';\n\t\tif ( debug === 'pum:*' ) {\n\t\t\treturn {\n\t\t\t\tcomponent: true,\n\t\t\t\teffects: true,\n\t\t\t\tselectors: true,\n\t\t\t\tactions: true,\n\t\t\t\tresolvers: true,\n\t\t\t\tstate: true,\n\t\t\t\tstack: true,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tcomponent: debug.includes( 'pum:component' ),\n\t\t\teffects: debug.includes( 'pum:effects' ),\n\t\t\tselectors: debug.includes( 'pum:selectors' ),\n\t\t\tactions: debug.includes( 'pum:actions' ),\n\t\t\tresolvers: debug.includes( 'pum:resolvers' ),\n\t\t\tstate: debug.includes( 'pum:state' ),\n\t\t\tstack: debug.includes( 'pum:stack' ),\n\t\t};\n\t} catch ( e ) {\n\t\treturn {\n\t\t\tcomponent: false,\n\t\t\teffects: false,\n\t\t\tselectors: false,\n\t\t\tactions: false,\n\t\t\tresolvers: false,\n\t\t\tstate: false,\n\t\t\tstack: false,\n\t\t};\n\t}\n};\n\nexport interface DebugConfig {\n\tcomponent?: boolean;\n\teffects?: boolean;\n\tselectors?: boolean;\n\tactions?: boolean;\n\tresolvers?: boolean;\n\tstate?: boolean;\n\tstack?: boolean;\n}\n\nlet debugConfig = getDebugConfig();\n\n// Update config when localStorage changes\nwindow.addEventListener( 'storage', () => {\n\tdebugConfig = getDebugConfig();\n} );\n\nconst getTimestamp = () => new Date().toISOString().split( 'T' )[ 1 ];\n\n/**\n * Get a cleaned up stack trace\n */\nconst getStack = () => {\n\ttry {\n\t\tconst stack = new Error().stack\n\t\t\t?.split( '\\n' )\n\t\t\t.slice( 3 ) // Remove Error and debug function calls\n\t\t\t.map( ( line ) => line.trim() )\n\t\t\t.filter( ( line ) => ! line.includes( 'debug.ts' ) ) // Remove debug utility frames\n\t\t\t.join( '\\n' );\n\t\treturn stack;\n\t} catch ( e ) {\n\t\treturn '';\n\t}\n};\n\nexport const debug = {\n\tcomponent: ( component: string, ...args: any[] ) => {\n\t\tif ( debugConfig.component ) {\n\t\t\tconsole.groupCollapsed(\n\t\t\t\t`🔷 [${ getTimestamp() }][Component:${ component }]`,\n\t\t\t\t...args\n\t\t\t);\n\t\t\tif ( debugConfig.stack ) {\n\t\t\t\tconsole.log( getStack() );\n\t\t\t}\n\t\t\tconsole.groupEnd();\n\t\t}\n\t},\n\teffect: ( component: string, effect: string, ...args: any[] ) => {\n\t\tif ( debugConfig.effects ) {\n\t\t\tconsole.groupCollapsed(\n\t\t\t\t`🔶 [${ getTimestamp() }][Effect:${ component }:${ effect }]`,\n\t\t\t\t...args\n\t\t\t);\n\t\t\tif ( debugConfig.stack ) {\n\t\t\t\tconsole.log( getStack() );\n\t\t\t}\n\t\t\tconsole.groupEnd();\n\t\t}\n\t},\n\tselector: ( selector: string, ...args: any[] ) => {\n\t\tif ( debugConfig.selectors ) {\n\t\t\tconsole.groupCollapsed(\n\t\t\t\t`💠 [${ getTimestamp() }][Select:${ selector }]`,\n\t\t\t\t...args\n\t\t\t);\n\t\t\tif ( debugConfig.stack ) {\n\t\t\t\tconsole.log( getStack() );\n\t\t\t}\n\t\t\tconsole.groupEnd();\n\t\t}\n\t},\n\taction: ( action: string, ...args: any[] ) => {\n\t\tif ( debugConfig.actions ) {\n\t\t\tconsole.groupCollapsed(\n\t\t\t\t`⚡ [${ getTimestamp() }][Action:${ action }]`,\n\t\t\t\t...args\n\t\t\t);\n\t\t\tif ( debugConfig.stack ) {\n\t\t\t\tconsole.log( getStack() );\n\t\t\t}\n\t\t\tconsole.groupEnd();\n\t\t}\n\t},\n\tresolver: ( resolver: string, ...args: any[] ) => {\n\t\tif ( debugConfig.resolvers ) {\n\t\t\tconsole.groupCollapsed(\n\t\t\t\t`🔄 [${ getTimestamp() }][Resolver:${ resolver }]`,\n\t\t\t\t...args\n\t\t\t);\n\t\t\tif ( debugConfig.stack ) {\n\t\t\t\tconsole.log( getStack() );\n\t\t\t}\n\t\t\tconsole.groupEnd();\n\t\t}\n\t},\n\tstate: ( reducer: string, ...args: any[] ) => {\n\t\tif ( debugConfig.state ) {\n\t\t\tconsole.groupCollapsed(\n\t\t\t\t`📦 [${ getTimestamp() }][State:${ reducer }]`,\n\t\t\t\t...args\n\t\t\t);\n\t\t\tif ( debugConfig.stack ) {\n\t\t\t\tconsole.log( getStack() );\n\t\t\t}\n\t\t\tconsole.groupEnd();\n\t\t}\n\t},\n};\n\nexport default debug;\n","export { default as clamp } from './clamp';\nexport { default as noop } from './noop';\nexport { default as omit } from './omit';\nexport { default as pick } from './pick';\nexport { default as debug } from './debug';\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst noop = ( ..._args: any[] ): void => {};\n\nexport default noop;\n","const omit = < T extends object, K extends keyof T >(\n\tobj: T,\n\t...keys: K[]\n): Omit< T, K > => {\n\tconst r: any = {};\n\tlet length = keys.length;\n\n\twhile ( length-- ) {\n\t\tconst key = keys[ length ];\n\n\t\tr[ key ] = obj[ key ];\n\t}\n\n\treturn r;\n};\n\nexport default omit;\n","const pick = < T extends object, K extends keyof T >(\n\tobj: T,\n\t...keys: K[]\n): Pick< T, K > =>\n\tkeys.reduce< any >( ( r, key ) => {\n\t\tr[ key ] = obj[ key ];\n\n\t\treturn r;\n\t}, {} );\n\nexport default pick;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export * from './lib';\n"],"names":["clamp","number","boundOne","boundTwo","Math","max","min","getDebugConfig","debug","localStorage","getItem","component","effects","selectors","actions","resolvers","state","stack","includes","e","debugConfig","window","addEventListener","getTimestamp","Date","toISOString","split","getStack","Error","slice","map","line","trim","filter","join","args","console","groupCollapsed","log","groupEnd","effect","selector","action","resolver","reducer","default","noop","omit","pick","_args","obj","keys","r","length","key","reduce"],"sourceRoot":""} dist/packages/data.js.map 0000644 00000012052 15174671772 0011331 0 ustar 00 {"version":3,"file":"data.js","mappings":";;;;;;;;;;AAAA,kD;;;;;;;;;;ACAA,0C;;;;;;;;;;ACAA,sC;;;;;;;;;;ACAA,uC;;;;;;;;;;ACAA,yC;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA,E;;;;;WCPA,wF;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;;;;;;;;;;;;;;;;;;;;ACN4C;AACK;AACS;AACC;AAQ3B;;AAEhC;;AAgBA,MAAMU,QAAQ,GAAGT,+DAAc,CAAE,CAAC,CAAE,CAAC;;AAErC;AACAS,QAAQ,CAACC,QAAQ,CAAER,uDAAU,CAAC;AAC9BO,QAAQ,CAACC,QAAQ,CAAEP,qDAAa,CAAC;AACjC;AACAM,QAAQ,CAACC,QAAQ,CAAEN,qEAAkB,CAAC;AACtCK,QAAQ,CAACC,QAAQ,CAAEJ,gEAAa,CAAC;AACjCG,QAAQ,CAACC,QAAQ,CAAEH,iEAAc,CAAC;AAClCE,QAAQ,CAACC,QAAQ,CAAEL,8DAAW,CAAC;AAC/BI,QAAQ,CAACC,QAAQ,CAAEF,kEAAe,CAAC;AACnC;AACAG,QAAQ,CAACC,gBAAgB,CAAE,kBAAkB,EAAE,MAAM;EACpD;EACAb,0DAAQ,CAAE,2BAA2B,EAAEU,QAAS,CAAC;AAClD,CAAE,CAAC","sources":["webpack://popup-maker/core/external window [\"popupMaker\",\"coreData\"]?","webpack://popup-maker/core/external window [\"wp\",\"coreData\"]?","webpack://popup-maker/core/external window [\"wp\",\"data\"]?","webpack://popup-maker/core/external window [\"wp\",\"hooks\"]?","webpack://popup-maker/core/external window [\"wp\",\"notices\"]?","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/compat get default export?","webpack://popup-maker/core/webpack/runtime/define property getters?","webpack://popup-maker/core/webpack/runtime/hasOwnProperty shorthand?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/data/src/index.ts?"],"sourcesContent":["module.exports = window[\"popupMaker\"][\"coreData\"];","module.exports = window[\"wp\"][\"coreData\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"hooks\"];","module.exports = window[\"wp\"][\"notices\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { doAction } from '@wordpress/hooks';\nimport { createRegistry } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\nimport {\n\tcallToActionStore,\n\tpopupStore,\n\tlicenseStore,\n\tsettingsStore,\n\turlSearchStore,\n} from '@popup-maker/core-data';\n\n/* Broken @wordpress/data type overrides */\ndeclare module '@wordpress/data' {\n\t// eslint-disable-next-line @typescript-eslint/no-shadow\n\tfunction createRegistry(\n\t\tstoreConfigs?: Object,\n\t\tparent?: Object | null\n\t): {\n\t\tregisterGenericStore: Function;\n\t\tregisterStore: Function;\n\t\tsubscribe: Function;\n\t\tselect: Function;\n\t\tdispatch: Function;\n\t\tregister: Function;\n\t};\n}\n\nconst registry = createRegistry( {} );\n\n// Core stores.\nregistry.register( coreStore );\nregistry.register( noticesStore );\n// Custom stores.\nregistry.register( callToActionStore );\nregistry.register( licenseStore );\nregistry.register( settingsStore );\nregistry.register( popupStore );\nregistry.register( urlSearchStore );\n// On document ready\ndocument.addEventListener( 'DOMContentLoaded', () => {\n\t// Allow other scripts to hook into the registry.\n\tdoAction( 'popup-maker.data.registry', registry );\n} );\n\nexport { registry };\n"],"names":["doAction","createRegistry","store","coreStore","noticesStore","callToActionStore","popupStore","licenseStore","settingsStore","urlSearchStore","registry","register","document","addEventListener"],"sourceRoot":""} dist/packages/block-library.css.map 0000644 00000032516 15174671772 0013337 0 ustar 00 {"version":3,"file":"block-library.css","mappings":";;;AAAA;EACC;EACA;EACA;AACD;;AAEA;EACC;EACA;AACD;;AAEA;EACC;EACA;AACD;AAEC;EACC,iEACC;EAID;EACA;AAJF;AAQC;EACC;AANF;;AAWA;EACC;AARD;;AAWA;EACC;AARD,C;;;;AC1BA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHD;AAKC;EAEC;AAJF;AAOC;EAEC;EACA;AANF;AASC;EAEC;EACA;AARF;;AAaA;EACC;EACA;EACA;EACA;AAVD;;AAcA;EACC;AAXD;;AAgBC;EACC;AAbF;AAeE;EACC;AAbH;AAkBE;EACC;AAhBH;AAoBC;EACC;AAlBF;AAqBC;EACC;AAnBF;AAsBC;EACC;AApBF;AAuBC;EACC;EACA;AArBF;;AA2BC;EACC;AAxBF;AA2BC;EACC;AAzBF;AA4BC;EACC;AA1BF;;AA+BA;;EAEC;AA5BD;;AA+BA;;EAEC;AA5BD;;AAgCA;EASC;EAOA;EAwBA;AAlED;AA4BC;EACC;EACA;EACA;EACA;AA1BF;AA8BC;EACC;EACA;EACA;AA5BF;AAgCC;EACC;EACA;EACA;AA9BF;AAiCC;;EAEC;EACA;AA/BF;AAkCC;;EAEC;AAhCF;AAmCC;;EAEC;EACA;AAjCF;AAqCC;EACC;AAnCF;;AA0CC;EACC;AAvCF;AA2CC;EACC;AAzCF;AA6CC;EACC;AA3CF;;AAgDA;EACC;IACC;EA7CA;EAgDD;IACC;EA9CA;AACF;AAiDA;EACC;EACA;AA/CD,C;;;;ACrIA;EAgCC;AAjCD;AAGC;EACC;AADF;AASC;EACC;EACA;AAPF;AAUE;EACC;AARH;AAYE;EACC;AAVH;AAqBC;;;;EAOC;EACA;EACA;EACA;EACA;AAtBF;AAwBE;;;;EAGC;AArBH;;AA0BA;EACC;EACA;AAvBD;;AA0BA;EACC;AAvBD,C;;;;ACxCA;;EAAA;AAKA;EACC;;IAAA;EAGA;EAYA;;IAAA;EAoCA;;IAAA;EAOA;;;;;;;IAAA;EAQA;AAjDD;AAZC;EACC;AAcF;AAXG;EACC;AAaJ;AALC;EACC;EACA;AAOF;AAJC;EACC;AAMF;AAJE;EACC;AAMH;AAFC;EACC;AAIF;AAFE;EACC;AAIH;AAAC;EACC;AAEF;AAAE;EACC;AAEH;AAEC;EACC;AAAF;AAMC;EACC;AAJF;AAoBE;;;;EACC;EACA;EACA;EACA;AAfH;AAqBE;;EAEC;AAnBH;AAwBE;EACC;AAtBH;;AA2BA;AACA;EACC;AAxBD;;AA4BC;EACC;AAzBF,C","sources":["webpack://popup-maker/core/./packages/block-library/src/lib/cta-button/editor.scss?","webpack://popup-maker/core/./packages/block-library/src/lib/cta-button/style.scss?","webpack://popup-maker/core/./packages/block-library/src/lib/cta-buttons/editor.scss?","webpack://popup-maker/core/./packages/block-library/src/lib/cta-buttons/style.scss?"],"sourcesContent":[".wp-block[data-align=\"center\"] > .wp-block-popup-maker-cta-button {\n\ttext-align: center;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n.wp-block[data-align=\"right\"] > .wp-block-popup-maker-cta-button {\n\t/*!rtl:ignore*/\n\ttext-align: right;\n}\n\n.wp-block-popup-maker-cta-button {\n\tposition: relative;\n\tcursor: text;\n\n\t// Add outline to button on focus to indicate focus-state\n\t&:focus {\n\t\tbox-shadow:\n\t\t\t0 0 0 1px #fff,\n\t\t\t0 0 0 3px var(--wp-admin-theme-color);\n\n\t\t// Windows' High Contrast mode will show this outline, but not the box-shadow.\n\t\toutline: 2px solid transparent;\n\t\toutline-offset: -2px;\n\t}\n\n\t// Increase placeholder opacity to meet contrast ratios.\n\t&[data-rich-text-placeholder]::after {\n\t\topacity: 0.8;\n\t}\n}\n\n// Display \"table\" is used because the button container should only wrap the content and not takes the full width.\ndiv[data-type=\"popup-maker/cta-button\"] {\n\tdisplay: table;\n}\n\n.pum-cta-error-notice {\n\tmargin-bottom: 10px;\n}\n","// This variable is repeated across Button, Buttons, and Buttons editor styles.\n$blocks-block__margin: 0.5em;\n\n// Use our CTA button class but maintain the same styling structure\n.wp-block-popup-maker-cta-button__link {\n\talign-content: center;\n\tbox-sizing: border-box;\n\tcursor: pointer;\n\tdisplay: inline-block;\n\theight: 100%;\n\ttext-align: center;\n\twidth: 100%;\n\tword-break: break-word;\n\n\t&.aligncenter,\n\t&.has-text-align-center {\n\t\ttext-align: center;\n\t}\n\n\t&.alignright,\n\t&.has-text-align-right {\n\t\t/*rtl:ignore*/\n\t\ttext-align: right;\n\t}\n\n\t&.alignleft,\n\t&.has-text-align-left {\n\t\t/*rtl:ignore*/\n\t\ttext-align: left;\n\t}\n}\n\n// Keep low specificity for theme.json compatibility\n:where(.wp-block-popup-maker-cta-button__link) {\n\tborder-radius: 9999px;\n\tbox-shadow: none;\n\tpadding: 1rem 2.25rem;\n\ttext-decoration: none;\n}\n\n// Inherit text decoration\n.wp-block-popup-maker-cta-button[style*=\"text-decoration\"] .wp-block-popup-maker-cta-button__link {\n\ttext-decoration: inherit;\n}\n\n// Width controls - updated for our namespace\n.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button {\n\t&.has-custom-width {\n\t\tmax-width: none;\n\n\t\t.wp-block-popup-maker-cta-button__link {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t&.has-custom-font-size {\n\t\t.wp-block-popup-maker-cta-button__link {\n\t\t\tfont-size: inherit;\n\t\t}\n\t}\n\n\t&.wp-block-popup-maker-cta-button__width-25 {\n\t\twidth: calc(25% - (var(--wp--style--block-gap, #{$blocks-block__margin}) * 0.75));\n\t}\n\n\t&.wp-block-popup-maker-cta-button__width-50 {\n\t\twidth: calc(50% - (var(--wp--style--block-gap, #{$blocks-block__margin}) * 0.5));\n\t}\n\n\t&.wp-block-popup-maker-cta-button__width-75 {\n\t\twidth: calc(75% - (var(--wp--style--block-gap, #{$blocks-block__margin}) * 0.25));\n\t}\n\n\t&.wp-block-popup-maker-cta-button__width-100 {\n\t\twidth: 100%;\n\t\tflex-basis: 100%;\n\t}\n}\n\n// Vertical buttons layout\n.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button {\n\t&.wp-block-popup-maker-cta-button__width-25 {\n\t\twidth: 25%;\n\t}\n\n\t&.wp-block-popup-maker-cta-button__width-50 {\n\t\twidth: 50%;\n\t}\n\n\t&.wp-block-popup-maker-cta-button__width-75 {\n\t\twidth: 75%;\n\t}\n}\n\n// Style variations\n.wp-block-popup-maker-cta-button.is-style-squared,\n.wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button.is-style-squared {\n\tborder-radius: 0;\n}\n\n.wp-block-popup-maker-cta-button.no-border-radius,\n.wp-block-popup-maker-cta-button__link.no-border-radius {\n\tborder-radius: 0 !important;\n}\n\n// Outline style variation with global styles compatibility\n:root {\n\n\t:where(.wp-block-popup-maker-cta-button) {\n\t\tfont-family: inherit;\n\t\tfont-size: var(--wp--preset--font-size--medium);\n\t\tfont-style: normal;\n\t\tline-height: inherit;\n\t}\n\n\t/* Default button styles where not another style is applied */\n\t:where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline) {\n\t\tbackground-color: var(--wp--preset--color--contrast);\n\t\tcolor: var(--wp--preset--color--base);\n\t\tborder-color: var(--wp--preset--color--contrast);\n\t}\n\n\t/* Hover styles for default (fill) button - works with theme colors */\n\t:where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline):hover {\n\t\tbackground-color: color-mix(in srgb, var(--wp--preset--color--contrast) 85%, transparent);\n\t\tborder-color: transparent;\n\t\tcolor: var(--wp--preset--color--base);\n\t}\n\n\t:where(.wp-block-popup-maker-cta-button.is-style-outline > .wp-block-popup-maker-cta-button__link),\n\t:where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline) {\n\t\tborder: 1px solid currentColor;\n\t\tpadding: calc(1rem - 1px) calc(2.25rem - 1px);\n\t}\n\n\t:where(.wp-block-popup-maker-cta-button.is-style-outline > .wp-block-popup-maker-cta-button__link:not(.has-text-color)),\n\t:where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline:not(.has-text-color)) {\n\t\tcolor: currentColor;\n\t}\n\n\t:where(.wp-block-popup-maker-cta-button.is-style-outline > .wp-block-popup-maker-cta-button__link:not(.has-background)),\n\t:where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline:not(.has-background)) {\n\t\tbackground-color: transparent;\n\t\tbackground-image: none;\n\t}\n\n\t/* Hover styles for outline button - works with theme colors */\n\t:where(.wp-block-popup-maker-cta-button.is-style-outline > .wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button__link:not(.has-background):hover) {\n\t\tbackground-color: color-mix(in srgb, var(--wp--preset--color--contrast) 5%, transparent);\n\t}\n}\n\n// Universal hover styles that work with custom colors set by users\n.wp-block-popup-maker-cta-button__link:hover {\n\t// For buttons with custom background colors (inline styles)\n\t&[style*=\"background-color\"]:not(.is-style-outline) {\n\t\tfilter: brightness(0.85);\n\t}\n\n\t// For buttons with custom background colors using CSS classes\n\t&.has-background:not(.is-style-outline):hover {\n\t\tfilter: brightness(0.85);\n\t}\n\n\t// For outline buttons with custom colors\n\t&.is-style-outline:hover {\n\t\tfilter: brightness(1.05);\n\t}\n}\n\n// Fallback hover styles for browsers that don't support color-mix\n@supports not (background-color: color-mix(in srgb, red 50%, blue)) {\n\t:where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline):hover {\n\t\tfilter: brightness(0.85);\n\t}\n\n\t:where(.wp-block-popup-maker-cta-button.is-style-outline > .wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button__link:not(.has-background):hover) {\n\t\tfilter: brightness(1.05);\n\t}\n}\n\n.wp-block-popup-maker-cta-button {\n\tcursor: text;\n\tposition: relative;\n}\n","// This variable is repeated across Button, Buttons, and Buttons editor styles.\n$blocks-block__margin: 0.5em;\n\n.wp-block-popup-maker-cta-buttons {\n\t// Override editor auto block margins for button as well as the block appender.\n\t> .wp-block {\n\t\tmargin: 0;\n\t}\n\n\t// Specificity needed in some themes to override editor auto block margins for the button.\n\t// > .wp-block-button.wp-block-button.wp-block-button.wp-block-button.wp-block-button {\n\t// \tmargin: 0;\n\t// }\n\n\t> .block-list-appender {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t}\n\t&.is-vertical {\n\t\t> .block-list-appender .block-list-appender__toggle {\n\t\t\tjustify-content: flex-start;\n\t\t}\n\t}\n\t> .wp-block-popup-maker-cta-button {\n\t\t&:focus {\n\t\t\tbox-shadow: none;\n\t\t}\n\t}\n\n\t// Back compat: Inner button blocks previously had their own alignment\n\t// options. Forcing them to 100% width in the flex container replicates\n\t// that these were block level elements that took up the full width.\n\t//\n\t// This back compat rule is ignored if the user decides to use the\n\t// newer justification options on the button block, hence the :not.\n\t/* stylelint-disable @stylistic/indentation -- Disable the stylelint rule, otherwise this selector is ugly! */\n\t&:not(\n\t\t\t.is-content-justification-space-between,\n\t\t\t.is-content-justification-right,\n\t\t\t.is-content-justification-left,\n\t\t\t.is-content-justification-center\n\t\t)\n\t\t.wp-block[data-align=\"center\"] {\n\t\t/* stylelint-enable @stylistic/indentation */\n\t\tmargin-left: auto;\n\t\tmargin-right: auto;\n\t\tmargin-top: 0;\n\t\twidth: 100%;\n\n\t\t.wp-block-popup-maker-cta-button {\n\t\t\t// Some margin hacks are needed, since margin doesn't seem to\n\t\t\t// collapse in the same way when a parent layout it flex.\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t}\n}\n\n.wp-block[data-align=\"center\"] > .wp-block-popup-maker-cta-buttons {\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.wp-block[data-align=\"right\"] > .wp-block-popup-maker-cta-buttons {\n\tjustify-content: flex-end;\n}\n","/**\n * This variable is repeated across Button, Buttons, and Buttons editor styles.\n */\n$blocks-block__margin: 0.5em;\n\n.wp-block-popup-maker-cta-buttons {\n\t/**\n\t * This block has customizable padding, border-box makes that more predictable.\n\t */\n\tbox-sizing: border-box;\n\n\t&.is-vertical {\n\t\tflex-direction: column;\n\n\t\t>.wp-block-popup-maker-cta-button {\n\t\t\t&:last-child {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Increased specificity to override blocks default margin.\n\t */\n\t>.wp-block-popup-maker-cta-button {\n\t\tdisplay: inline-block;\n\t\tmargin: 0;\n\t}\n\n\t&.is-content-justification-left {\n\t\tjustify-content: flex-start;\n\n\t\t&.is-vertical {\n\t\t\talign-items: flex-start;\n\t\t}\n\t}\n\n\t&.is-content-justification-center {\n\t\tjustify-content: center;\n\n\t\t&.is-vertical {\n\t\t\talign-items: center;\n\t\t}\n\t}\n\n\t&.is-content-justification-right {\n\t\tjustify-content: flex-end;\n\n\t\t&.is-vertical {\n\t\t\talign-items: flex-end;\n\t\t}\n\t}\n\n\t&.is-content-justification-space-between {\n\t\tjustify-content: space-between;\n\t}\n\n\t/**\n\t * Kept for backward compatibility.\n\t */\n\t&.aligncenter {\n\t\ttext-align: center;\n\t}\n\n\t/**\n\t * Back compat: Inner button blocks previously had their own alignment\n\t * options. Forcing them to 100% width in the flex container replicates\n\t * that these were block level elements that took up the full width.\n\t *\n\t * This back compat rule is ignored if the user decides to use the\n\t * newer justification options on the button block, hence the :not.\n\t */\n\t/* stylelint-disable @stylistic/indentation -- Disable the stylelint rule, otherwise this selector is ugly! */\n\t&:not(.is-content-justification-space-between,\n\t\t.is-content-justification-right,\n\t\t.is-content-justification-left,\n\t\t.is-content-justification-center) {\n\t\t.wp-block-popup-maker-cta-button.aligncenter {\n\t\t\t/* stylelint-enable @stylistic/indentation */\n\t\t\tmargin-left: auto;\n\t\t\tmargin-right: auto;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t&[style*=\"text-decoration\"] {\n\n\t\t.wp-block-popup-maker-cta-button,\n\t\t.wp-block-popup-maker-cta-button__link {\n\t\t\ttext-decoration: inherit;\n\t\t}\n\t}\n\n\t&.has-custom-font-size {\n\t\t.wp-block-popup-maker-cta-button__link {\n\t\t\tfont-size: inherit;\n\t\t}\n\t}\n}\n\n/* Legacy buttons that did not come in a wrapping container. */\n.wp-block-popup-maker-cta-button.aligncenter {\n\ttext-align: center;\n}\n\n:root {\n\t.wp-block-popup-maker-cta-buttons.is-layout-flex:not([class*=\"wp-container-popup-maker-cta-buttons-is-layout-\"]) {\n\t\tgap: 16px;\n\t}\n}"],"names":[],"sourceRoot":""} dist/packages/admin-marketing.css 0000644 00000005430 15174671772 0013071 0 ustar 00 #menu-posts-popup .menu-icon-popup .wp-menu-image>img,#menu-posts-popup .menu-icon-popup .wp-menu-image>svg{width:18px!important}.plugins tr[data-plugin].pum-addon-plugin td.plugin-title .pum-plugin-icon,.plugins tr[data-plugin].pum-main-plugin td.plugin-title .pum-plugin-icon{aspect-ratio:1/1;height:auto!important;opacity:.8;padding-right:.5rem;position:relative;top:-1.5px;transition:all .2s ease-in-out;width:1.375rem!important}.plugins tr[data-plugin].pum-addon-plugin td.plugin-title .pum-toggle-icon,.plugins tr[data-plugin].pum-main-plugin td.plugin-title .pum-toggle-icon{float:none;height:auto;padding:0;width:auto}.plugins tr[data-plugin].pum-addon-plugin td.plugin-title .pum-toggle-icon:before,.plugins tr[data-plugin].pum-main-plugin td.plugin-title .pum-toggle-icon:before{background-color:#0000;box-shadow:none;color:#000;font-size:1em}.plugins tr[data-plugin].pum-addon-plugin td.plugin-title .pum-toggle-icon:hover,.plugins tr[data-plugin].pum-main-plugin td.plugin-title .pum-toggle-icon:hover{color:#2271b1}.plugins tr[data-plugin].pum-addon-plugin.active td.plugin-title .pum-plugin-icon,.plugins tr[data-plugin].pum-addon-plugin:hover td.plugin-title .pum-plugin-icon,.plugins tr[data-plugin].pum-main-plugin.active td.plugin-title .pum-plugin-icon,.plugins tr[data-plugin].pum-main-plugin:hover td.plugin-title .pum-plugin-icon{opacity:1}.plugins tr[data-plugin].pum-addon-plugin:hover td.plugin-title .pum-plugin-icon,.plugins tr[data-plugin].pum-main-plugin:hover td.plugin-title .pum-plugin-icon{transform:scale(1.2)}.plugins tr[data-plugin].pum-addon-plugin.pum-addon-plugin td,.plugins tr[data-plugin].pum-addon-plugin.pum-addon-plugin th,.plugins tr[data-plugin].pum-main-plugin.pum-addon-plugin td,.plugins tr[data-plugin].pum-main-plugin.pum-addon-plugin th{opacity:.875}.plugins tr[data-plugin].pum-addon-plugin.pum-addon-plugin:not(.no-main-plugin) td.plugin-title,.plugins tr[data-plugin].pum-main-plugin.pum-addon-plugin:not(.no-main-plugin) td.plugin-title{padding-left:1.5rem}.plugins tr[data-plugin].pum-addon-plugin.pum-addon-plugin .no-main-plugin td,.plugins tr[data-plugin].pum-addon-plugin.pum-addon-plugin .no-main-plugin th,.plugins tr[data-plugin].pum-main-plugin.pum-addon-plugin .no-main-plugin td,.plugins tr[data-plugin].pum-main-plugin.pum-addon-plugin .no-main-plugin th{opacity:1}.plugins tr[data-plugin].pum-addon-plugin.pum-addon-plugin .no-main-plugin td.plugin-title:before,.plugins tr[data-plugin].pum-main-plugin.pum-addon-plugin .no-main-plugin td.plugin-title:before{left:0}.plugins .pum-addon-plugin+.pum-addon-plugin,.plugins .pum-main-plugin+.pum-addon-plugin{border-top:none!important}.plugins .plugins tr.active td,.plugins .plugins tr.active th,.plugins .plugins tr.active+tr.inactive td,.plugins .plugins tr.active+tr.inactive th{box-shadow:none;-webkit-box-shadow:none} dist/packages/block-editor.js 0000644 00000024260 15174671772 0012226 0 ustar 00 (()=>{"use strict";var e={d:(o,t)=>{for(var r in t)e.o(t,r)&&!e.o(o,r)&&Object.defineProperty(o,r,{enumerable:!0,get:t[r]})},o:(e,o)=>Object.prototype.hasOwnProperty.call(e,o),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};function t(e){var o,r,p="";if("string"==typeof e||"number"==typeof e)p+=e;else if("object"==typeof e)if(Array.isArray(e)){var n=e.length;for(o=0;o<n;o++)e[o]&&(r=t(e[o]))&&(p&&(p+=" "),p+=r)}else for(r in e)e[r]&&(p&&(p+=" "),p+=r);return p}e.r(o),e.d(o,{TriggerEdit:()=>M,name:()=>O,settings:()=>F});const r=function(){for(var e,o,r=0,p="",n=arguments.length;r<n;r++)(e=arguments[r])&&(o=t(e))&&(p&&(p+=" "),p+=o);return p},p=window.popupMaker.i18n,n=window.wp.hooks,i=window.wp.blockEditor,a=window.wp.components,s=window.wp.compose,l=window.popupMaker.components,c=window.popupMaker.icons,u=window.ReactJSXRuntime,{popupTriggerExcludedBlocks:d}=window.popupMakerBlockEditor,g=[],m=d||["core/nextpage","popup-maker/call-to-action","popup-maker/call-to-actions"];function k(e){return!g.length&&!m.length||(g.length?g.includes(e):!m.length||!m.includes(e))}const h=(0,s.createHigherOrderComponent)(e=>o=>{const{name:t,attributes:r,setAttributes:n,isSelected:s}=o,{openPopupId:d}=r;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(e,{...o}),s&&k(t)&&(0,u.jsx)(i.InspectorControls,{children:(0,u.jsx)(a.Panel,{className:"pum-block-inspector-popup-controls",children:(0,u.jsxs)(a.PanelBody,{title:(0,p.__)("Popup Controls","popup-maker"),icon:c.Mark,initialOpen:!1,children:[(0,u.jsx)(a.PanelRow,{children:(0,p.__)("These settings allow you to control popups with this block.","popup-maker")}),(0,u.jsx)(a.PanelRow,{children:(0,u.jsx)(l.PopupSelectControl,{label:(0,u.jsxs)(u.Fragment,{children:[(0,p.__)("Open Popup","popup-maker"),(0,u.jsx)(a.Tooltip,{placement:"top",text:(0,p.__)("This method does not work well with all block types.","popup-maker"),children:(0,u.jsx)("a",{href:"https://wppopupmaker.com/docs/triggering-popups/trigger-click-open-overview-methods/",target:"_blank",rel:"noopener noreferrer",children:(0,u.jsx)(a.Icon,{size:16,icon:"editor-help",title:(0,p.__)("Open documentation","popup-maker"),style:{verticalAlign:"middle"}})})})]}),value:d,onChange:e=>n({openPopupId:e}),help:(0,p.__)("Open a popup when clicking this block","popup-maker")})})]})})})]})},"withAdvancedControls");(0,n.addFilter)("blocks.registerBlockType","popup-maker/popup-trigger-attributes",function(e){return void 0!==e.attributes&&k(e.name)&&(e.attributes=Object.assign(e.attributes,{openPopupId:{type:"string",default:""}})),e}),(0,n.addFilter)("editor.BlockEdit","popup-maker/popup-trigger-advanced-control",h),(0,n.addFilter)("blocks.getSaveContent.extraProps","popup-maker/applyTriggerClass",function(e,o,t){const{openPopupId:p}=t;return void 0!==p&&p>0&&k(o.name)&&(e.className=r(e.className,"popmake-"+p)),e});const _=window.wp.richText,w=window.wp.a11y,b=window.wp.element,v=window.wp.data,f=window.wp.keycodes,x=({className:e,onChangeInputValue:o,value:t,...n})=>(0,u.jsx)("form",{className:r("block-editor-popup-trigger-popover__popup-editor",e),role:"dialog","aria-label":(0,p.__)("Popup Trigger Editor","popup-maker"),...n,children:(0,u.jsxs)("div",{className:"block-editor-popup-select-input",role:"group","aria-label":(0,p.__)("Popup Selection Controls","popup-maker"),children:[(0,u.jsx)(l.PopupSelectControl,{emptyValueLabel:(0,p.__)("Which popup should open?","popup-maker"),hideLabelFromVision:!0,value:String(t),onChange:o,required:!0}),(0,u.jsx)(a.Button,{icon:"editor-break",label:(0,p.__)("Apply","popup-maker"),type:"submit"})]})}),y=window.wp.htmlEntities,{popups:j=[]}=window.popupMakerBlockEditor;function S({popupId:e,className:o}){const t=r(o,"block-editor-popup-trigger-popover__popup-viewer-text"),n=((e=0)=>{e=parseInt(String(e))||0;const o=j.filter(({id:o})=>e===o);return 1===o.length&&o[0]})(e),i=n?/* translators: %s = popup title */ /* translators: %s = popup title */ (0,p.sprintf)((0,p.__)('Open "%s" popup',"popup-maker"),(0,y.decodeEntities)(n.title.rendered)):"";return(0,u.jsx)("span",{className:t,role:"button","aria-label":i,children:i})}function T({className:e="",spanClassName:o="",onEditTriggerClick:t,popupId:n,...i}){return(0,u.jsxs)("div",{className:r("block-editor-popup-trigger-popover__popup-viewer",e),role:"region","aria-label":(0,p.__)("Popup Trigger Preview","popup-maker"),...i,children:[(0,u.jsx)(S,{popupId:n,className:o}),t&&(0,u.jsx)(a.Button,{icon:"edit",label:(0,p.__)("Edit","popup-maker"),onClick:t})]})}function C(e,o,t,r,p){let n=o;const i={forwards:1,backwards:-1}[p]||1,a=-1*i;for(;e[n]&&e[n][r]===t;)n+=i;return n+=a,n}const E=(e,...o)=>(...t)=>e(...t,...o),P=(E(C,"backwards"),E(C,"forwards"),e=>e.stopPropagation()),I=e=>{[f.LEFT,f.DOWN,f.RIGHT,f.UP,f.BACKSPACE,f.ENTER].indexOf(parseInt(e.key))>-1&&e.stopPropagation()},N=({isActive:e,activeAttributes:o,value:t,onChange:r,onFocusOutside:n,stopAddingTrigger:s,contentRef:l,focusOnMount:c})=>{const{selectionChange:d}=(0,v.useDispatch)(i.store),{selectionStart:g}=(0,v.useSelect)(e=>{const{getSelectionStart:o}=e(i.store);return{selectionStart:o()}},[]),m=(0,b.useMemo)(()=>{return e=o,{popupId:parseInt(null!==(t=e.popupId)&&void 0!==t?t:"0"),doDefault:"1"===e.doDefault};var e,t},[o]),[k,h]=(0,b.useState)(!o||!o.popupId),f=(0,_.useAnchor)({editableContentElement:l.current,settings:{...F,isActive:e}}),y=(0,b.useCallback)(()=>{const e=(0,_.removeFormat)(t,O);r(e),s(),(0,w.speak)((0,p.__)("Trigger removed.","popup-maker"),"assertive")},[r,s,t]),[j,S]=(0,b.useState)(!1),C=(0,b.useCallback)(()=>{S(e=>!e)},[]),E=(0,b.useCallback)(o=>{const n=m?.popupId,i=!n,a={...m,...o};if(!i&&!a?.popupId)return void y();const s=(({popupId:e=0,doDefault:o=!1})=>({type:O,attributes:{class:`popmake-${e} ${o?"pum-do-default":""}`,popupId:e.toString(),doDefault:o?"1":"0"}}))(a),l=(0,p.__)("Open Popup","popup-maker");let c;(0,_.isCollapsed)(t)&&!e?(c=function(e,o,t,r){const p=(0,_.insert)(e,o,r);return(0,_.applyFormat)(p,t,r,r+o.length)}(t,l,s,t.start),r(c),d({clientId:g.clientId,identifier:g.attributeKey,start:t.start+l.length+1})):(c=(0,_.applyFormat)(t,s),r(c)),e?(0,w.speak)((0,p.__)("Trigger edited.","popup-maker"),"assertive"):(0,w.speak)((0,p.__)("Trigger inserted.","popup-maker"),"assertive")},[m,t,e,r,y,d,g]),N=k||!m.popupId,{popupId:A,doDefault:M}=m,D=(0,b.useRef)(null);return(0,b.useEffect)(()=>{const o=l.current;D.current=e&&o?.ownerDocument?.activeElement!==o?.ownerDocument?.body?o?.ownerDocument?.activeElement:o;const t=e=>{"Escape"===e.key&&s()};return document.addEventListener("keydown",t),()=>{D.current&&"focus"in D.current&&D.current.focus(),document.removeEventListener("keydown",t)}},[l,e,s]),(0,b.useEffect)(()=>()=>{},[]),(0,u.jsx)(u.Fragment,{children:(0,u.jsx)(a.Popover,{className:"block-editor-popup-trigger__inline-popover editor-popup-trigger-popover block-editor-popup-trigger-popover",anchor:f,animate:!1,onClose:()=>{e||s()},onFocusOutside:n,position:"bottom center",offset:8,shift:!0,focusOnMount:c,constrainTabbing:!0,children:(0,u.jsxs)("div",{className:"block-editor-popup-trigger-popover__input-container",children:[(0,u.jsxs)("div",{className:"editor-popup-trigger-popover__row block-editor-popup-trigger-popover__row",children:[N?(0,u.jsx)(x,{className:"editor-format-toolbar__trigger-container-content block-editor-format-toolbar__trigger-container-content",value:null!=A?A:"",onChangeInputValue:e=>{E({popupId:Number(e)})},onKeyDown:I,onKeyPress:P,onSubmit:s}):(0,u.jsx)(T,{className:"editor-format-toolbar__trigger-container-content block-editor-format-toolbar__trigger-container-content",onKeyPress:P,popupId:null!=A?A:0,onEditTriggerClick:e=>{h(!0),e.preventDefault()}}),(0,u.jsx)(a.Button,{className:"editor-popup-trigger-popover__settings-toggle block-editor-popup-trigger-popover__settings-toggle",icon:j?"arrow-up-alt2":"arrow-down-alt2",label:(0,p.__)("Trigger settings","popup-maker"),onClick:C,"aria-expanded":j})]}),j&&(0,u.jsx)("div",{className:"editor-popup-trigger-popover__row block-editor-popup-trigger-popover__row editor-popup-trigger-popover__settings block-editor-popup-trigger-popover__settings",children:(0,u.jsx)(a.ToggleControl,{label:(0,p.__)("Do not prevent default click behavior","popup-maker"),checked:!!M,onChange:e=>E({doDefault:e}),__nextHasNoMarginBottom:!0})})]})})})},A=(0,p.__)("Popup Trigger","popup-maker"),O="popup-maker/popup-trigger",M=(0,a.withSpokenMessages)(({isActive:e,activeAttributes:o,value:t,onChange:r,onFocus:n,contentRef:a})=>{const[s,l]=(0,b.useState)(!1),[d,g]=(0,b.useState)(null);(0,b.useEffect)(()=>{e||l(!1)},[e]),(0,b.useLayoutEffect)(()=>{const o=a?.current;if(o)return o.addEventListener("click",t),()=>{o.removeEventListener("click",t)};function t(o){const t=o.target,r=t?.closest("[contenteditable] span.popup-trigger");r&&e&&(l(!0),g({el:r,action:"click"}))}},[a,e]);const m=()=>{l(!0)},k=()=>{r((0,_.removeFormat)(t,O)),(0,w.speak)((0,p.__)("Trigger removed.","popup-maker"),"assertive")},h=!("SPAN"===d?.el?.tagName&&"click"===d?.action),v=!(0,_.isCollapsed)(t);return(0,u.jsxs)(u.Fragment,{children:[v&&(0,u.jsx)(i.RichTextShortcut,{type:"primary",character:"p",onUse:m}),(0,u.jsx)(i.RichTextShortcut,{type:"primaryShift",character:"p",onUse:k}),e?(0,u.jsx)(i.RichTextToolbarButton,{icon:c.MarkWhite,iconSize:16,title:(0,p.__)("Remove Trigger","popup-maker"),onClick:k,isActive:e,shortcutType:"primaryShift",shortcutCharacter:"p","aria-haspopup":"true","aria-expanded":s}):(0,u.jsx)(i.RichTextToolbarButton,{icon:c.Mark,iconSize:16,title:A,onClick:m,isActive:e,shortcutType:"primary",shortcutCharacter:"p","aria-haspopup":"true","aria-expanded":s}),s&&(0,u.jsx)(N,{stopAddingTrigger:()=>{l(!1),d?.el?d.el.focus():n(),g(null)},onFocusOutside:()=>{l(!1),g(null)},isActive:e,activeAttributes:o,value:t,onChange:r,contentRef:a,focusOnMount:!!h&&"firstElement"})]})}),F={name:O,title:A,tagName:"span",className:"popup-trigger",object:!1,attributes:{popupId:"data-popup-id",doDefault:"data-do-default"},interactive:!1,edit:M};[o].forEach(({name:e,settings:o})=>(0,_.registerFormatType)(e,o));const D=window.popupMaker.coreData;(0,v.register)(D.callToActionStore),(0,v.register)(D.licenseStore),(0,v.register)(D.settingsStore),(0,v.register)(D.popupStore),(0,v.register)(D.urlSearchStore),(window.popupMaker=window.popupMaker||{}).blockEditor={}})(); dist/packages/icons.css 0000644 00000001400 15174671772 0011126 0 ustar 00 .pum-icon--block path,.pum-icon--block-manager path{stroke:currentColor}.pum-icon--block rect{stroke:currentColor;fill:currentColor}.pum-icon--check-all path{fill:currentColor}.pum-icon--controlled-content path,.pum-icon--custom-redirect path,.pum-icon--filter-lines path,.pum-icon--incognito path,.pum-icon--license-key path,.pum-icon--locked-user path{stroke:currentColor}.pum-icon--mark-colored path.pum-mark--center-path,.pum-icon--mark-colored path:not(.pum-mark--center-path){fill:currentColor}.pum-icon--monitor path,.pum-icon--permissions path,.pum-icon--protected-message path{stroke:currentColor}.pum-icon--protected-message rect{fill:currentColor;stroke:none}.pum-icon--protected-redirect path{stroke:currentColor}.pum-icon--upgrade path{fill:currentColor} dist/packages/core-data.js 0000644 00000171107 15174671772 0011512 0 ustar 00 (()=>{"use strict";var e={n:t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return e.d(r,{a:r}),r},d:(t,r)=>{for(var a in r)e.o(r,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:r[a]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{CALL_TO_ACTION_STORE:()=>c,DispatchStatus:()=>ue,LICENSE_STORE:()=>Je,NOTICE_CONTEXT:()=>d,POPUP_STORE:()=>Vt,SETTINGS_STORE:()=>Br,URL_SEARCH_STORE:()=>ma,appendUrlParams:()=>Ie,callToActionStore:()=>Qe,defaultCtaValues:()=>S,defaultLicenseValues:()=>ze,defaultPopupValues:()=>Kt,defaultSettings:()=>zr,fetchFromApi:()=>Re,fetchFromWPApi:()=>he,getErrorMessage:()=>me,licenseStore:()=>kt,popupStore:()=>Qr,restApiUrl:()=>ge,restBase:()=>Se,restUrl:()=>_e,settingsStore:()=>Ia,urlSearchStore:()=>Va,useLicense:()=>ja,useSettings:()=>Fa,validateCallToAction:()=>fe,validatePopup:()=>ir});var r={};e.r(r),e.d(r,{JsonPatchError:()=>K,_areEquals:()=>ee,applyOperation:()=>B,applyPatch:()=>W,applyReducer:()=>X,deepClone:()=>q,getValueByPointer:()=>J,validate:()=>Z,validator:()=>z});var a={};e.r(a),e.d(a,{compare:()=>ce,generate:()=>ie,observe:()=>oe,unobserve:()=>se});var s={};e.r(s),e.d(s,{activateLicense:()=>Rt,activatePro:()=>At,changeActionStatus:()=>ht,checkLicenseStatus:()=>mt,deactivateLicense:()=>It,hydrate:()=>Tt,removeLicense:()=>vt,updateLicenseKey:()=>ft});var o={};e.r(o),e.d(o,{getLicenseData:()=>Ot,getLicenseKey:()=>Nt,getLicenseStatus:()=>Ct});var i={};e.r(i),e.d(i,{getConnectInfo:()=>Ht,getDispatchError:()=>xt,getDispatchStatus:()=>Lt,getLicenseData:()=>Dt,getLicenseKey:()=>wt,getLicenseStatus:()=>bt,hasDispatched:()=>Pt,isDispatching:()=>Ut});const n=window.wp.data,c="popup-maker/call-to-actions",d="pum-cta-editor",l="RECEIVE_RECORD",p="RECEIVE_RECORDS",u="RECEIVE_ERROR",E={RECEIVE_RECORD:l,RECEIVE_RECORDS:p,RECEIVE_QUERY_RECORDS:"RECEIVE_QUERY_RECORDS",RECEIVE_ERROR:u,PURGE_RECORD:"PURGE_RECORD",PURGE_RECORDS:"PURGE_RECORDS",EDITOR_CHANGE_ID:"EDITOR_CHANGE_ID",EDIT_RECORD:"EDIT_RECORD",START_EDITING_RECORD:"START_EDITING_RECORD",SAVE_EDITED_RECORD:"SAVE_EDITED_RECORD",UNDO_EDIT_RECORD:"UNDO_EDIT_RECORD",REDO_EDIT_RECORD:"REDO_EDIT_RECORD",RESET_EDIT_RECORD:"RESET_EDIT_RECORD",CHANGE_ACTION_STATUS:"CHANGE_ACTION_STATUS",START_RESOLUTION:"START_RESOLUTION",FINISH_RESOLUTION:"FINISH_RESOLUTION",FAIL_RESOLUTION:"FAIL_RESOLUTION",INVALIDATE_RESOLUTION:"INVALIDATE_RESOLUTION"},y={byId:{},allIds:[],queries:{},editorId:void 0,editedEntities:{},editHistory:{},editHistoryIndex:{},resolutionState:{},notices:{},errors:{global:null,byId:{}}},S={id:0,uuid:"",slug:"",title:"",content:"",excerpt:"",status:"draft",settings:{type:"link",url:""},date:null,date_gmt:null,guid:"",link:"",modified:"",modified_gmt:"",type:"pum_cta",author:0,generated_slug:"",permalink_template:"",password:"",featured_media:0,comment_status:"open",ping_status:"open",format:"standard",meta:{},sticky:!1,template:"",categories:[],tags:[]},{RECEIVE_RECORD:g,RECEIVE_RECORDS:_,RECEIVE_QUERY_RECORDS:h,RECEIVE_ERROR:R,PURGE_RECORD:I,PURGE_RECORDS:m,EDITOR_CHANGE_ID:f,EDIT_RECORD:v,START_EDITING_RECORD:A,SAVE_EDITED_RECORD:T,UNDO_EDIT_RECORD:O,REDO_EDIT_RECORD:N,RESET_EDIT_RECORD:C,CHANGE_ACTION_STATUS:D,INVALIDATE_RESOLUTION:w}=E,b=window.lodash;var H,L=(H=function(e,t){return H=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},H(e,t)},function(e,t){function __(){this.constructor=e}H(e,t),e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}),U=Object.prototype.hasOwnProperty;function P(e,t){return U.call(e,t)}function x(e){if(Array.isArray(e)){for(var t=new Array(e.length),r=0;r<t.length;r++)t[r]=""+r;return t}if(Object.keys)return Object.keys(e);var a=[];for(var s in e)P(e,s)&&a.push(s);return a}function k(e){switch(typeof e){case"object":return JSON.parse(JSON.stringify(e));case"undefined":return null;default:return e}}function V(e){for(var t,r=0,a=e.length;r<a;){if(!((t=e.charCodeAt(r))>=48&&t<=57))return!1;r++}return!0}function G(e){return-1===e.indexOf("/")&&-1===e.indexOf("~")?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function j(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function F(e){if(void 0===e)return!0;if(e)if(Array.isArray(e)){for(var t=0,r=e.length;t<r;t++)if(F(e[t]))return!0}else if("object"==typeof e)for(var a=x(e),s=a.length,o=0;o<s;o++)if(F(e[a[o]]))return!0;return!1}function M(e,t){var r=[e];for(var a in t){var s="object"==typeof t[a]?JSON.stringify(t[a],null,2):t[a];void 0!==s&&r.push(a+": "+s)}return r.join("\n")}var $=function(e){function t(t,r,a,s,o){var i=this.constructor,n=e.call(this,M(t,{name:r,index:a,operation:s,tree:o}))||this;return n.name=r,n.index=a,n.operation=s,n.tree=o,Object.setPrototypeOf(n,i.prototype),n.message=M(t,{name:r,index:a,operation:s,tree:o}),n}return L(t,e),t}(Error),K=$,q=k,Y={add:function(e,t,r){return e[t]=this.value,{newDocument:r}},remove:function(e,t,r){var a=e[t];return delete e[t],{newDocument:r,removed:a}},replace:function(e,t,r){var a=e[t];return e[t]=this.value,{newDocument:r,removed:a}},move:function(e,t,r){var a=J(r,this.path);a&&(a=k(a));var s=B(r,{op:"remove",path:this.from}).removed;return B(r,{op:"add",path:this.path,value:s}),{newDocument:r,removed:a}},copy:function(e,t,r){var a=J(r,this.from);return B(r,{op:"add",path:this.path,value:k(a)}),{newDocument:r}},test:function(e,t,r){return{newDocument:r,test:ee(e[t],this.value)}},_get:function(e,t,r){return this.value=e[t],{newDocument:r}}},Q={add:function(e,t,r){return V(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:r,index:t}},remove:function(e,t,r){return{newDocument:r,removed:e.splice(t,1)[0]}},replace:function(e,t,r){var a=e[t];return e[t]=this.value,{newDocument:r,removed:a}},move:Y.move,copy:Y.copy,test:Y.test,_get:Y._get};function J(e,t){if(""==t)return e;var r={op:"_get",path:t};return B(e,r),r.value}function B(e,t,r,a,s,o){if(void 0===r&&(r=!1),void 0===a&&(a=!0),void 0===s&&(s=!0),void 0===o&&(o=0),r&&("function"==typeof r?r(t,0,e,t.path):z(t,0)),""===t.path){var i={newDocument:e};if("add"===t.op)return i.newDocument=t.value,i;if("replace"===t.op)return i.newDocument=t.value,i.removed=e,i;if("move"===t.op||"copy"===t.op)return i.newDocument=J(e,t.from),"move"===t.op&&(i.removed=e),i;if("test"===t.op){if(i.test=ee(e,t.value),!1===i.test)throw new K("Test operation failed","TEST_OPERATION_FAILED",o,t,e);return i.newDocument=e,i}if("remove"===t.op)return i.removed=e,i.newDocument=null,i;if("_get"===t.op)return t.value=e,i;if(r)throw new K("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",o,t,e);return i}a||(e=k(e));var n=(t.path||"").split("/"),c=e,d=1,l=n.length,p=void 0,u=void 0,E=void 0;for(E="function"==typeof r?r:z;;){if((u=n[d])&&-1!=u.indexOf("~")&&(u=j(u)),s&&("__proto__"==u||"prototype"==u&&d>0&&"constructor"==n[d-1]))throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(r&&void 0===p&&(void 0===c[u]?p=n.slice(0,d).join("/"):d==l-1&&(p=t.path),void 0!==p&&E(t,0,e,p)),d++,Array.isArray(c)){if("-"===u)u=c.length;else{if(r&&!V(u))throw new K("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",o,t,e);V(u)&&(u=~~u)}if(d>=l){if(r&&"add"===t.op&&u>c.length)throw new K("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",o,t,e);if(!1===(i=Q[t.op].call(t,c,u,e)).test)throw new K("Test operation failed","TEST_OPERATION_FAILED",o,t,e);return i}}else if(d>=l){if(!1===(i=Y[t.op].call(t,c,u,e)).test)throw new K("Test operation failed","TEST_OPERATION_FAILED",o,t,e);return i}if(c=c[u],r&&d<l&&(!c||"object"!=typeof c))throw new K("Cannot perform operation at the desired path","OPERATION_PATH_UNRESOLVABLE",o,t,e)}}function W(e,t,r,a,s){if(void 0===a&&(a=!0),void 0===s&&(s=!0),r&&!Array.isArray(t))throw new K("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");a||(e=k(e));for(var o=new Array(t.length),i=0,n=t.length;i<n;i++)o[i]=B(e,t[i],r,!0,s,i),e=o[i].newDocument;return o.newDocument=e,o}function X(e,t,r){var a=B(e,t);if(!1===a.test)throw new K("Test operation failed","TEST_OPERATION_FAILED",r,t,e);return a.newDocument}function z(e,t,r,a){if("object"!=typeof e||null===e||Array.isArray(e))throw new K("Operation is not an object","OPERATION_NOT_AN_OBJECT",t,e,r);if(!Y[e.op])throw new K("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",t,e,r);if("string"!=typeof e.path)throw new K("Operation `path` property is not a string","OPERATION_PATH_INVALID",t,e,r);if(0!==e.path.indexOf("/")&&e.path.length>0)throw new K('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,r);if(("move"===e.op||"copy"===e.op)&&"string"!=typeof e.from)throw new K("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,r);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&void 0===e.value)throw new K("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,r);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&F(e.value))throw new K("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,r);if(r)if("add"==e.op){var s=e.path.split("/").length,o=a.split("/").length;if(s!==o+1&&s!==o)throw new K("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,r)}else if("replace"===e.op||"remove"===e.op||"_get"===e.op){if(e.path!==a)throw new K("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,r)}else if("move"===e.op||"copy"===e.op){var i=Z([{op:"_get",path:e.from,value:void 0}],r);if(i&&"OPERATION_PATH_UNRESOLVABLE"===i.name)throw new K("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,r)}}function Z(e,t,r){try{if(!Array.isArray(e))throw new K("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)W(k(t),k(e),r||!0);else{r=r||z;for(var a=0;a<e.length;a++)r(e[a],a,t,void 0)}}catch(e){if(e instanceof K)return e;throw e}}function ee(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){var r,a,s,o=Array.isArray(e),i=Array.isArray(t);if(o&&i){if((a=e.length)!=t.length)return!1;for(r=a;0!==r--;)if(!ee(e[r],t[r]))return!1;return!0}if(o!=i)return!1;var n=Object.keys(e);if((a=n.length)!==Object.keys(t).length)return!1;for(r=a;0!==r--;)if(!t.hasOwnProperty(n[r]))return!1;for(r=a;0!==r--;)if(!ee(e[s=n[r]],t[s]))return!1;return!0}return e!=e&&t!=t}var te=new WeakMap,re=function(e){this.observers=new Map,this.obj=e},ae=function(e,t){this.callback=e,this.observer=t};function se(e,t){t.unobserve()}function oe(e,t){var r,a=function(e){return te.get(e)}(e);if(a){var s=function(e,t){return e.observers.get(t)}(a,t);r=s&&s.observer}else a=new re(e),te.set(e,a);if(r)return r;if(r={},a.value=k(e),t){r.callback=t,r.next=null;var o=function(){ie(r)},i=function(){clearTimeout(r.next),r.next=setTimeout(o)};"undefined"!=typeof window&&(window.addEventListener("mouseup",i),window.addEventListener("keyup",i),window.addEventListener("mousedown",i),window.addEventListener("keydown",i),window.addEventListener("change",i))}return r.patches=[],r.object=e,r.unobserve=function(){ie(r),clearTimeout(r.next),function(e,t){e.observers.delete(t.callback)}(a,r),"undefined"!=typeof window&&(window.removeEventListener("mouseup",i),window.removeEventListener("keyup",i),window.removeEventListener("mousedown",i),window.removeEventListener("keydown",i),window.removeEventListener("change",i))},a.observers.set(t,new ae(t,r)),r}function ie(e,t){void 0===t&&(t=!1);var r=te.get(e.object);ne(r.value,e.object,e.patches,"",t),e.patches.length&&W(r.value,e.patches);var a=e.patches;return a.length>0&&(e.patches=[],e.callback&&e.callback(a)),a}function ne(e,t,r,a,s){if(t!==e){"function"==typeof t.toJSON&&(t=t.toJSON());for(var o=x(t),i=x(e),n=!1,c=i.length-1;c>=0;c--){var d=e[p=i[c]];if(!P(t,p)||void 0===t[p]&&void 0!==d&&!1===Array.isArray(t))Array.isArray(e)===Array.isArray(t)?(s&&r.push({op:"test",path:a+"/"+G(p),value:k(d)}),r.push({op:"remove",path:a+"/"+G(p)}),n=!0):(s&&r.push({op:"test",path:a,value:e}),r.push({op:"replace",path:a,value:t}));else{var l=t[p];"object"==typeof d&&null!=d&&"object"==typeof l&&null!=l&&Array.isArray(d)===Array.isArray(l)?ne(d,l,r,a+"/"+G(p),s):d!==l&&(s&&r.push({op:"test",path:a+"/"+G(p),value:k(d)}),r.push({op:"replace",path:a+"/"+G(p),value:k(l)}))}}if(n||o.length!=i.length)for(c=0;c<o.length;c++){var p;P(e,p=o[c])||void 0===t[p]||r.push({op:"add",path:a+"/"+G(p),value:k(t[p])})}}}function ce(e,t,r){void 0===r&&(r=!1);var a=[];return ne(e,t,a,"",r),a}Object.assign({},r,a,{JsonPatchError:$,deepClone:k,escapePathComponent:G,unescapePathComponent:j});const de=window.popupMaker.i18n,le=window.wp.notices,pe=window.wp.htmlEntities;let ue=function(e){return e.Idle="IDLE",e.Resolving="RESOLVING",e.Error="ERROR",e.Success="SUCCESS",e}({});const Ee=window.wp.apiFetch;var ye=e.n(Ee);const Se="popup-maker/v2",ge=`${wpApiSettings.root}`,_e=`${wpApiSettings.root}${Se}/`,he=async(e,t={})=>{const r={"Content-Type":"application/json","X-WP-Nonce":wpApiSettings.nonce,...t.headers||{}},a=(e=>wpApiSettings.root.includes("?")?e.replace("?","&"):e)(e);try{return await ye()({url:`${ge}${a}`,...t,headers:r,credentials:"same-origin",parse:!0})}catch(e){if(e instanceof Error)throw e;if("object"==typeof e&&null!==e){const t=e;if("rest_invalid_param"===t.code)throw t;const r=t.message||"API request failed";throw new Error(r)}throw new Error("Unknown error occurred")}},Re=async(e,t={})=>he(`${Se}/${e}`,t),Ie=(e,t)=>{const r=Object.fromEntries(Object.entries(t).filter(([,e])=>!!e));return`${e}?${new URLSearchParams({...r})}`},me=e=>e instanceof Error?e.message:String("object"==typeof e&&null!==e&&"message"in e?e.message:e),fe=e=>e?!(e.title&&!e.title?.length)||{message:(0,de.__)("Please provide a name for this call to action.","popup-maker"),tabName:"general",field:"title"}:{message:(0,de.__)("Call to action not found","popup-maker")};function ve(e){return e&&"object"==typeof e&&"raw"in e}function Ae({_links:e,...t}){return Object.fromEntries(Object.entries(t).map(([e,t])=>[e,ve(t)?t.raw:t]))}const{RECEIVE_RECORD:Te,PURGE_RECORD:Oe,EDITOR_CHANGE_ID:Ne,EDIT_RECORD:Ce,START_EDITING_RECORD:De,SAVE_EDITED_RECORD:we,UNDO_EDIT_RECORD:be,REDO_EDIT_RECORD:He,RESET_EDIT_RECORD:Le,CHANGE_ACTION_STATUS:Ue,INVALIDATE_RESOLUTION:Pe}=E,xe=(e,t,r,a)=>!("rest_invalid_param"!==e?.code||!e?.data?.params)&&(t&&a.select(le.store).getNotices(d).filter(e=>e.id?.startsWith(`field-error-${t}-`)).forEach(e=>a.dispatch(le.store).removeNotice(e.id,d)),Object.entries(e.data.params).forEach(([a,s])=>{if("settings"===a&&e.data.details?.settings){const a=e.data.details.settings;a.data?.field&&r.createErrorNotice(a.message,{id:`field-error-${t||"new"}-${a.data.field}`,isDismissible:!1,type:"default"}),a.additional_errors&&Array.isArray(a.additional_errors)&&a.additional_errors.forEach(e=>{e.data?.field&&e.message&&r.createErrorNotice(e.message,{id:`field-error-${t||"new"}-${e.data.field}`,isDismissible:!1,type:"default"})})}else r.createErrorNotice(s,{id:`field-error-${t||"new"}-${a}`,isDismissible:!1,type:"default"})}),!0),ke={createCallToAction:(e,t=!0,r=!0)=>async({dispatch:a,registry:s})=>{const o="createCallToAction";try{a({type:Ue,payload:{actionName:o,status:ue.Resolving}});const{id:i,...n}=e;if(t){const e=fe(n);if(!0!==e)return a({type:Ue,payload:{actionName:o,status:ue.Error,message:e.message}}),r&&await a.createErrorNotice(e.message,{id:"call-to-action-validation-error"}),!1}const c=await Re("ctas?context=edit",{method:"POST",data:n});if(c)return s.batch(()=>{a({type:Ue,payload:{actionName:o,status:ue.Success}}),r&&a.createSuccessNotice((0,de.sprintf)( // translators: %s: call to action title. // translators: %s: call to action title. (0,de.__)('Call to action "%s" saved successfully.',"popup-maker"),(0,pe.decodeEntities)(c?.title.rendered)),{id:"call-to-action-saved"}),a({type:Te,payload:{record:c}})}),c;a({type:Ue,payload:{actionName:o,status:ue.Error,message:(0,de.__)("An error occurred, call to action was not saved.","popup-maker")}})}catch(t){const i=me(t);throw a({type:Ue,payload:{actionName:o,status:ue.Error,message:i}}),r&&(xe(t,e?.id,a,s)||a.createErrorNotice(i,{id:"call-to-action-save-error"})),t}return!1},updateCallToAction:(e,t=!0,r=!0)=>async({select:a,dispatch:s,registry:o})=>{const i="updateCallToAction";try{if(s({type:Ue,payload:{actionName:i,status:ue.Resolving}}),t){const t=fe(e);if(!0!==t)return s({type:Ue,payload:{actionName:i,status:ue.Error,message:t.message}}),r&&await s.createErrorNotice(t.message,{id:"call-to-action-validation-error"}),!1}const n=await a.getCallToAction(e.id);if(!n)return s({type:Ue,payload:{actionName:i,status:ue.Error,message:(0,de.__)("Call to action not found","popup-maker")}}),e.id&&s({type:Ue,payload:{actionName:e.id.toString(),status:ue.Error,message:(0,de.__)("Call to action not found","popup-maker")}}),!1;const c=await Re(`ctas/${n.id}`,{method:"POST",data:e});if(c)return o.batch(()=>{s({type:Ue,payload:{actionName:i,status:ue.Success}}),r&&s.createSuccessNotice((0,de.sprintf)( // translators: %s: call to action title. // translators: %s: call to action title. (0,de.__)('Call to action "%s" updated successfully.',"popup-maker"),(0,pe.decodeEntities)(c?.title.rendered)),{id:"call-to-action-saved"}),s({type:Te,payload:{record:c}})}),c;s({type:Ue,payload:{actionName:i,status:ue.Error,message:(0,de.__)("An error occurred, call to action was not saved.","popup-maker")}})}catch(t){const a=me(t);throw s({type:Ue,payload:{actionName:i,status:ue.Error,message:a}}),r&&(xe(t,e?.id,s,o)||s.createErrorNotice(a,{id:"call-to-action-save-error"})),t}return!1},deleteCallToAction:(e,t=!1,r=!0)=>async({dispatch:a,registry:s})=>{const o="deleteCallToAction";try{a({type:Ue,payload:{actionName:o,status:ue.Resolving}});const i=await Re(`ctas/${e}?context=edit`);if(!i)return a({type:Ue,payload:{actionName:o,status:ue.Error,message:(0,de.__)("Call to action not found","popup-maker")}}),!1;const n=t?"?force=true":"",c=await Re(`ctas/${e}${n}`,{method:"DELETE"});return c&&s.batch(()=>{a({type:Ue,payload:{actionName:o,status:ue.Success}}),r&&a.createSuccessNotice((0,de.sprintf)( // translators: %s: call to action title. // translators: %s: call to action title. (0,de.__)('Call to action "%s" deleted successfully.',"popup-maker"),(0,pe.decodeEntities)(i?.title.rendered)),{id:"call-to-action-deleted"}),a(t?{type:Oe,payload:{id:e}}:{type:Te,payload:{record:{...i,status:"trash"}}})}),c}catch(e){throw a({type:Ue,payload:{actionName:o,status:ue.Error,message:(0,de.__)("Failed to delete entity","popup-maker")}}),r&&await a.createErrorNotice(e instanceof Error?e.message:(0,de.__)("Failed to delete entity","popup-maker")),e}}},Ve={editRecord:(e,t)=>async({select:r,dispatch:a,registry:s})=>{try{let o;const i=r.hasEditedEntity(e);if(i)o=r.getEditedCallToAction(e);else if(o=await Re(`ctas/${e}?context=edit`).then(e=>e?Ae(e):void 0),!o)return;s.batch(async()=>{i||await a({type:De,payload:{id:e,editableEntity:o}});const r=(0,b.mergeWith)({},(0,b.cloneDeep)(o),t,(e,t)=>{if(Array.isArray(t))return t.slice()}),s=ce(null!=o?o:{},r);await a({type:Ce,payload:{id:e,edits:s}})})}catch(e){const t=me(e);console.error("Edit failed:",e),await a.createErrorNotice(t,{id:"call-to-action-edit-error"})}},saveEditedRecord:(e,t=!0,r=!0)=>async({select:a,dispatch:s,registry:o})=>{const i="saveRecord";try{if(s({type:Ue,payload:{actionName:i,status:ue.Resolving}}),!a.hasEdits(e))return s({type:Ue,payload:{actionName:i,status:ue.Error,message:(0,de.__)("No edits to save","popup-maker")}}),!1;const n=a.getCurrentEditHistoryIndex(e),c=a.getEditedCallToAction(e);if(!c)return s({type:Ue,payload:{actionName:i,status:ue.Error,message:(0,de.__)("No edits to save","popup-maker")}}),!1;if(c&&t){const e=fe(c);if(!0!==e)return o.batch(async()=>{s({type:Ue,payload:{actionName:i,status:ue.Error,message:e.message}}),r&&await s.createErrorNotice(e.message,{id:"call-to-action-validation-error"})}),!1}const d=await s.updateCallToAction(c,!1,r);return!!d&&(o.batch(()=>{s({type:Ue,payload:{actionName:i,status:ue.Success}}),r&&s.createSuccessNotice((0,de.sprintf)( // translators: %s: call to action title. // translators: %s: call to action title. (0,de.__)('Call to action "%s" saved successfully.',"popup-maker"),(0,pe.decodeEntities)(d?.title.rendered)),{id:"call-to-action-saved"}),s({type:we,payload:{id:e,historyIndex:n,editedEntity:Ae(d)}})}),!0)}catch(t){const a=me(t);throw console.error("Save failed:",t),o.batch(async()=>{s({type:Ue,payload:{actionName:i,status:ue.Error,message:a}}),r&&(xe(t,e,s,o)||await s.createErrorNotice(a,{id:"call-to-action-save-error"}))}),t}},undo:(e,t=1)=>async({select:r,dispatch:a})=>{const s=e>0?e:r.getEditorId();void 0!==s&&await a({type:be,payload:{id:s,steps:t}})},redo:(e,t=1)=>async({select:r,dispatch:a})=>{const s=e>0?e:r.getEditorId();void 0!==s&&await a({type:He,payload:{id:s,steps:t}})},resetRecordEdits:e=>async({select:t,dispatch:r})=>{const a=e>0?e:t.getEditorId();void 0!==a&&r({type:Le,payload:{id:a}})},updateEditorValues:e=>async({dispatch:t,select:r})=>{const a=r.getEditorId();void 0!==a&&t.editRecord(a,e)},saveEditorValues:()=>async({dispatch:e,select:t})=>{const r=t.getEditorId(),a=t.getCurrentEditorValues();return r&&a?e.saveEditedRecord(r):(e.createErrorNotice((0,de.__)("No editor values to save","popup-maker")),!1)},resetEditorValues:()=>async({dispatch:e,select:t})=>{const r=t.getEditorId();void 0!==r&&e.resetRecordEdits(r)},changeEditorId:e=>async({select:t,dispatch:r})=>{try{if(void 0===e)return void r({type:Ne,payload:{editorId:void 0}});if(t.hasEditedEntity(e))r({type:Ne,payload:{editorId:e}});else{const t=await Re(`ctas/${e}?context=edit`);if(!t)return void r.createErrorNotice((0,de.__)("Call to action not found","popup-maker"));r({type:De,payload:{id:e,editableEntity:Ae(t),setEditorId:!0}})}}catch(e){const t=me(e);console.error("Failed to change editor ID:",e),r.createErrorNotice(t,{id:"call-to-action-editor-error"})}}},Ge={...ke,createNotice:(e="info",t="",r)=>async({registry:a})=>{a.dispatch(le.store).createNotice(e,t,{...r,context:d})},createErrorNotice:(e,t)=>async({registry:r})=>{r.dispatch(le.store).createNotice("error",e,{...t,context:d})},createSuccessNotice:(e,t)=>async({registry:r})=>{r.dispatch(le.store).createNotice("success",e,{...t,context:d})},removeNotice:e=>async({registry:t})=>{t.dispatch(le.store).removeNotice(e,d)},removeAllNotices:e=>async({registry:t})=>{if(e)t.dispatch(le.store).removeNotices(e,d);else{const e=t.select(le.store).getNotices(d).map(e=>e.id);t.dispatch(le.store).removeNotices(e,d)}},...Ve,changeActionStatus:(e,t,r)=>({dispatch:a})=>{a({type:Ue,payload:{actionName:e,status:t,message:r}})},invalidateResolution:e=>({dispatch:t})=>{t({type:Pe,payload:{id:e}})}},je=window.wp.hooks,Fe={getCallToActions:(0,n.createSelector)(e=>e.allIds.map(t=>e.byId[t]),e=>[e.allIds,Object.keys(e.byId)]),getCallToAction:(0,n.createSelector)((e,t)=>{const r=e?.byId?.[t];return r},(e,t)=>[e,t]),getFetchError:(0,n.createSelector)((e,t)=>"number"==typeof t?e.errors.byId[t]:e.errors.global,(e,t)=>[e.errors,t]),getFiltered:(e,t,r=!1)=>r?Fe.getFilteredIds(e,t).map(t=>e.byId[t]):e.allIds.map(t=>e.byId[t]).filter(t),getFilteredIds:(e,t)=>e.allIds.filter(r=>t(e.byId[r]))},Me={getEditorId:(0,n.createSelector)(e=>e?.editorId,e=>[e.editorId]),isEditorActive:(0,n.createSelector)(e=>{const t=e?.editorId;return"string"==typeof t&&"new"===t||"number"==typeof t&&t>0},e=>[e.editorId]),getCurrentEditorValues:(0,n.createSelector)(e=>{const t=e?.editorId;if(void 0!==t)return Me.getEditedCallToAction(e,t)},e=>[e.editedEntities?.[e.editorId||0],e.editHistoryIndex?.[e.editorId||0],e.editHistory?.[e.editorId||0],e.editorId]),hasEditedEntity:(0,n.createSelector)((e,t)=>!!e?.editedEntities?.[t],(e,t)=>[e.editedEntities?.[t],t]),getEditedEntity:(0,n.createSelector)((e,t)=>e?.editedEntities?.[t],(e,t)=>[e.editedEntities?.[t],t]),getEntityEditHistory:(0,n.createSelector)((e,t)=>e?.editHistory?.[t],(e,t)=>[e.editHistory?.[t],t]),getCurrentEditHistoryIndex:(0,n.createSelector)((e,t)=>e.editHistoryIndex?.[t],(e,t)=>[e.editHistoryIndex?.[t],t]),hasEdits:(0,n.createSelector)((e,t)=>e.editHistory?.[t]?.length>0,(e,t)=>[e.editHistory?.[t],t]),hasUndo:(0,n.createSelector)((e,t)=>"number"==typeof e.editHistoryIndex?.[t]&&"object"==typeof e.editHistory?.[t]&&e.editHistoryIndex?.[t]>=0,(e,t)=>[e.editHistoryIndex?.[t],t]),hasRedo:(0,n.createSelector)((e,t)=>"number"==typeof e.editHistoryIndex?.[t]&&"object"==typeof e.editHistory?.[t]&&e.editHistoryIndex?.[t]<e.editHistory?.[t]?.length-1,(e,t)=>[e.editHistoryIndex?.[t],t]),getEditedCallToAction:(0,n.createSelector)((e,t)=>{var r;const a=e.editedEntities?.[t],s=e.editHistory?.[t],o=null!==(r=e.editHistoryIndex?.[t])&&void 0!==r?r:-1;if(a)return-1===o?a:s?.length?s.slice(0,o+1).reduce((e,t)=>W(e,Array.isArray(t)?t:[t],!0,!1).newDocument,a):a},(e,t)=>[e.editedEntities?.[t],e.editHistoryIndex?.[t],e.editHistory?.[t],t]),getDefaultValues:(0,n.createSelector)(e=>(0,je.applyFilters)("popupMaker.callToAction.defaultValues",S),e=>[e.editorId])},$e={getNotices:(0,n.createRegistrySelector)(e=>()=>e(le.store).getNotices(d)||[]),getNoticeById:(0,n.createRegistrySelector)(e=>t=>{const r=e(le.store).getNotices(d);return r?.find(e=>e.id===t)})},Ke={getResolutionState:(0,n.createSelector)((e,t)=>{const r=e.resolutionState?.[t];return r||{status:ue.Idle}},(e,t)=>[e.resolutionState,t]),isIdle:(0,n.createSelector)((e,t)=>Ke.getResolutionState(e,t).status===ue.Idle,(e,t)=>[t]),isResolving:(0,n.createSelector)((e,t)=>Ke.getResolutionState(e,t).status===ue.Resolving,(e,t)=>[t]),hasResolved:(0,n.createSelector)((e,t)=>Ke.getResolutionState(e,t).status===ue.Success,(e,t)=>[t]),hasFailed:(0,n.createSelector)((e,t)=>Ke.getResolutionState(e,t).status===ue.Error,(e,t)=>[t]),getResolutionError:(0,n.createSelector)((e,t)=>Ke.getResolutionState(e,t).error,(e,t)=>[e.resolutionState,t])},qe={...Fe,...Me,...$e,...Ke},Ye={getCallToActions:()=>async({dispatch:e})=>{try{const t=Ie("ctas",{status:["any","trash","auto-draft"],per_page:100,context:"edit"}),r=await Re(t,{method:"GET"});r.length&&e({type:p,payload:{records:r.map(({_links:e,...t})=>t)}})}catch(t){console.error(t),e({type:u,payload:{error:t.message}})}},getCallToAction:e=>async({dispatch:t})=>{try{const r=Ie(`ctas/${e}`,{context:"edit"}),{_links:a,...s}=await Re(r,{method:"GET"});t({type:l,payload:{record:s}})}catch(r){console.error(r),t({type:u,payload:{error:r.message,id:e}})}}},Qe=(0,n.createReduxStore)(c,{initialState:y,reducer:(e=y,t)=>{switch(t.type){case g:{const{record:r}=t.payload;return{...e,byId:{...e.byId,[r.id]:r},allIds:e.allIds.includes(r.id)?e.allIds:[...e.allIds,r.id]}}case _:case h:{const{records:r,query:a=!1}=t.payload,s=r.reduce((e,t)=>({...e,[t.id]:t}),e.byId),o=Array.from(new Set([...e.allIds,...r.map(e=>e.id)]));return{...e,allIds:o,byId:s,queries:a?{...e.queries,[JSON.stringify(a)]:r.map(e=>e.id)}:e.queries}}case R:{const{error:r,id:a=!1}=t.payload,s=e.errors||{global:null,byId:{}},o={...s.byId};return a?o[a]=r:s.global=r,{...e,errors:{global:a?s.global:r,byId:o}}}case m:case I:{const{ids:r=[],id:a=null}=t.payload;if(a&&a>0&&r.push(a),0===r.length)return e;const s=e.allIds.filter(e=>!r.includes(e)),o=Object.fromEntries(Object.entries(e.byId).filter(([e])=>!r.includes(e))),i=Object.fromEntries(Object.entries(e.editedEntities).filter(([e])=>!r.includes(e))),n=Object.fromEntries(Object.entries(e.editHistory).filter(([e])=>!r.includes(e))),c=Object.fromEntries(Object.entries(e.editHistoryIndex).filter(([e])=>!r.includes(e)));return{...e,byId:o,allIds:s,editedEntities:i,editHistory:n,editHistoryIndex:c}}case f:{const{editorId:r}=t.payload;return{...e,editorId:r}}case A:{const{id:r,editableEntity:a,setEditorId:s}=t.payload,o={...e,editedEntities:{...e.editedEntities,[r]:a}};return s?{...o,editorId:r}:o}case v:{var r,a;const{id:s,edits:o}=t.payload,i=null!==(r=e.editHistory[s])&&void 0!==r?r:[],n=null!==(a=e.editHistoryIndex[s])&&void 0!==a?a:-1,c=n<i.length-1?i.slice(0,n+1):i;return{...e,editHistory:{...e.editHistory,[s]:[...c,o]},editHistoryIndex:{...e.editHistoryIndex,[s]:c.length}}}case O:{var s;const{id:r,steps:a=1}=t.payload,o=null!==(s=e.editHistoryIndex[r])&&void 0!==s?s:-1,i=Math.max(-1,o-a);return{...e,editHistoryIndex:{...e.editHistoryIndex,[r]:i}}}case N:{var o,i;const{id:r,steps:a}=t.payload,s=null!==(o=e.editHistoryIndex[r])&&void 0!==o?o:-1,n=(null!==(i=e.editHistory[r]?.length)&&void 0!==i?i:0)-1,c=n>=0?Math.min(n,s+a):s;return{...e,editHistoryIndex:{...e.editHistoryIndex,[r]:c}}}case T:{const{id:r,historyIndex:a,editedEntity:s}=t.payload,o=e.editHistory[r].slice(a+1);return{...e,editedEntities:{...e.editedEntities,[r]:s},editHistory:{...e.editHistory,[r]:o},editHistoryIndex:{...e.editHistoryIndex,[r]:-1}}}case C:{const{id:r}=t.payload;return{...e,editedEntities:Object.fromEntries(Object.entries(e.editedEntities).filter(([e])=>Number(e)!==r)),editHistory:Object.fromEntries(Object.entries(e.editHistory).filter(([e])=>Number(e)!==r)),editHistoryIndex:Object.fromEntries(Object.entries(e.editHistoryIndex).filter(([e])=>Number(e)!==r))}}case D:{const{actionName:r,status:a,message:s}=t.payload;return{...e,resolutionState:{...e.resolutionState,[r]:{status:a,error:s}}}}case w:{const{id:r,operation:a}=t.payload;return{...e,resolutionState:{...e.resolutionState,[a]:{...e.resolutionState?.[a],[r]:void 0}}}}default:return e}},actions:Ge,selectors:qe,resolvers:Ye}),Je="popup-maker/license",Be="LICENSE_FETCH_ERROR",We={ACTIVATE_LICENSE:"ACTIVATE_LICENSE",CONNECT_SITE:"CONNECT_SITE",DEACTIVATE_LICENSE:"DEACTIVATE_LICENSE",REMOVE_LICENSE:"REMOVE_LICENSE",UPDATE_LICENSE_KEY:"UPDATE_LICENSE_KEY",CHECK_LICENSE_STATUS:"CHECK_LICENSE_STATUS",CHANGE_ACTION_STATUS:"CHANGE_ACTION_STATUS",HYDRATE_LICENSE_DATA:"HYDRATE_LICENSE_DATA",LICENSE_FETCH_ERROR:Be},Xe={success:!1,license:"invalid",license_limit:1,site_count:0,expires:"",activations_left:0,price_id:0,error:void 0,error_message:void 0},ze={key:"",status:Xe},Ze={license:ze},{ACTIVATE_LICENSE:et,CONNECT_SITE:tt,DEACTIVATE_LICENSE:rt,REMOVE_LICENSE:at,UPDATE_LICENSE_KEY:st,CHECK_LICENSE_STATUS:ot,HYDRATE_LICENSE_DATA:it,CHANGE_ACTION_STATUS:nt,LICENSE_FETCH_ERROR:ct}=We,dt=(e="")=>(e&&(e=`/${e}`),`popup-maker/v2/license${e}`),{ACTIVATE_LICENSE:lt,CONNECT_SITE:pt,DEACTIVATE_LICENSE:ut,UPDATE_LICENSE_KEY:Et,REMOVE_LICENSE:yt,CHECK_LICENSE_STATUS:St,HYDRATE_LICENSE_DATA:gt,CHANGE_ACTION_STATUS:_t}=We,ht=(e,t,r)=>(r&&console.log(e,r),{type:_t,actionName:e,status:t,message:r}),Rt=e=>async({dispatch:t})=>{const r="activateLicense";try{t.changeActionStatus(r,ue.Resolving);const a=await Re(dt("activate"),{method:"POST",data:{licenseKey:e}});if(a){const{status:e,connectInfo:s}=a;return t.changeActionStatus(r,ue.Success),void 0!==s&&t({type:pt,licenseStatus:e,connectInfo:s}),void t({type:lt,licenseStatus:e})}t.changeActionStatus(r,ue.Error,(0,de.__)("An error occurred, license were not saved.","popup-maker"))}catch(e){t.changeActionStatus(r,ue.Error,me(e))}},It=()=>async({dispatch:e})=>{const t="deactivateLicense";try{e.changeActionStatus(t,ue.Resolving);const r=await Re(dt("deactivate"),{method:"POST"});if(r)return e.changeActionStatus(t,ue.Success),void e({type:ut,licenseStatus:r.status});e.changeActionStatus(t,ue.Error,(0,de.__)("An error occurred, license were not saved.","popup-maker"))}catch(r){e.changeActionStatus(t,ue.Error,me(r))}},mt=()=>async({dispatch:e})=>{const t="checkLicenseStatus";try{e.changeActionStatus(t,ue.Resolving);const r=await Re(dt("status"),{method:"POST"});if(r)return e.changeActionStatus(t,ue.Success),void e({type:St,licenseStatus:r.status});e.changeActionStatus(t,ue.Error,(0,de.__)("An error occurred, license were not saved.","popup-maker"))}catch(r){e.changeActionStatus(t,ue.Error,me(r))}},ft=e=>async({select:t,dispatch:r})=>{const a="updateLicenseKey";if(t.getLicenseKey()!==e)try{r.changeActionStatus(a,ue.Resolving);const t=await Re(dt(),{method:"POST",data:{licenseKey:e}});if(t)return r.changeActionStatus(a,ue.Success),void r({type:Et,licenseKey:e,licenseStatus:t.status});r.changeActionStatus(a,ue.Error,(0,de.__)("An error occurred, license were not saved.","popup-maker"))}catch(e){r.changeActionStatus(a,ue.Error,me(e))}else r.changeActionStatus(a,ue.Error,(0,de.__)("The license key is the same as the current one.","popup-maker"))},vt=()=>async({dispatch:e})=>{const t="removeLicense";try{if(e.changeActionStatus(t,ue.Resolving),await Re(dt(),{method:"DELETE"}))return e.changeActionStatus(t,ue.Success),void e({type:yt});e.changeActionStatus(t,ue.Error,(0,de.__)("An error occurred, license were not saved.","popup-maker"))}catch(r){e.changeActionStatus(t,ue.Error,me(r))}},At=()=>async({dispatch:e})=>{const t="activatePro";try{if(e.changeActionStatus(t,ue.Resolving),await Re(dt("activate-pro"),{method:"POST"}))return void e.changeActionStatus(t,ue.Success);e.changeActionStatus(t,ue.Error,(0,de.__)("An error occurred, license were not saved.","popup-maker"))}catch(r){e.changeActionStatus(t,ue.Error,me(r))}},Tt=e=>({type:gt,license:e}),Ot=()=>async({dispatch:e})=>{try{const t=await Re(dt(),{method:"GET"});if(t)return void e.hydrate(t);e({type:Be,message:(0,de.__)("An error occurred, license data was not loaded.","popup-maker")})}catch(t){e({type:Be,message:me(t)})}},Nt=()=>async({resolveSelect:e})=>{var t;const{key:r=""}=null!==(t=await e.getLicenseData())&&void 0!==t?t:{};return r},Ct=()=>async({resolveSelect:e})=>{var t;const{status:r}=null!==(t=await e.getLicenseData())&&void 0!==t?t:{};return r},Dt=e=>e.license,wt=e=>{const{key:t}=Dt(e);return t},bt=(0,n.createSelector)(e=>{const{status:t}=Dt(e);return{...Xe,...t}},e=>[e.license.status]),Ht=e=>e.connectInfo,Lt=(e,t)=>e?.dispatchStatus?.[t]?.status,Ut=(0,n.createSelector)((e,t)=>{if(!Array.isArray(t))return Lt(e,t)===ue.Resolving;let r=!1;for(let a=0;t.length>a;a++)if(r=Lt(e,t[a])===ue.Resolving,r)return!0;return r},(e,t)=>[e.dispatchStatus,t]),Pt=(0,n.createSelector)((e,t)=>{const r=Lt(e,t);return!!(r&&[ue.Success,ue.Error].indexOf(r)>=0)},(e,t)=>[e.dispatchStatus,t]),xt=(e,t)=>e?.dispatchStatus?.[t]?.error,kt=(0,n.createReduxStore)(Je,{initialState:Ze,reducer:(e=Ze,t)=>{switch(t.type){case et:case rt:case ot:return{...e,license:{...e.license,status:t.licenseStatus}};case tt:return{...e,license:{...e.license,status:t.licenseStatus},connectInfo:t.connectInfo};case st:return{...e,license:{...e.license,key:t.licenseKey,status:t.licenseStatus}};case at:return{...e,license:{key:"",status:{}}};case it:return{...e,license:t.license};case ct:return{...e,error:t.message};case nt:return{...e,dispatchStatus:{...e.dispatchStatus,[t.actionName]:{...e?.dispatchStatus?.[t.actionName],status:t.status,error:t.message}}};default:return e}},actions:s,selectors:i,resolvers:o}),Vt="popup-maker/popups",Gt="pum-popup-editor",jt="RECEIVE_RECORD",Ft="RECEIVE_RECORDS",Mt={RECEIVE_RECORD:jt,RECEIVE_RECORDS:Ft,RECEIVE_QUERY_RECORDS:"RECEIVE_QUERY_RECORDS",RECEIVE_ERROR:"RECEIVE_ERROR",PURGE_RECORDS:"PURGE_RECORDS",PURGE_RECORD:"PURGE_RECORD",EDITOR_CHANGE_ID:"EDITOR_CHANGE_ID",EDIT_RECORD:"EDIT_RECORD",START_EDITING_RECORD:"START_EDITING_RECORD",SAVE_EDITED_RECORD:"SAVE_EDITED_RECORD",UNDO_EDIT_RECORD:"UNDO_EDIT_RECORD",REDO_EDIT_RECORD:"REDO_EDIT_RECORD",RESET_EDIT_RECORD:"RESET_EDIT_RECORD",CHANGE_ACTION_STATUS:"CHANGE_ACTION_STATUS",START_RESOLUTION:"START_RESOLUTION",FINISH_RESOLUTION:"FINISH_RESOLUTION",FAIL_RESOLUTION:"FAIL_RESOLUTION",INVALIDATE_RESOLUTION:"INVALIDATE_RESOLUTION"},$t={byId:{},allIds:[],queries:{},editorId:void 0,editedEntities:{},editHistory:{},editHistoryIndex:{},resolutionState:{},notices:{},errors:{global:null,byId:{}}},Kt={id:0,uuid:"",slug:"",title:"",content:"",excerpt:"",status:"draft",enabled:!1,settings:{conditions:{logicalOperator:"or",items:[]}},date:null,date_gmt:null,guid:"",link:"",modified:"",modified_gmt:"",type:"popup",author:0,generated_slug:"",permalink_template:"",password:"",featured_media:0,comment_status:"open",ping_status:"open",format:"standard",meta:{},sticky:!1,template:"",categories:[],tags:[]},{RECEIVE_RECORD:qt,RECEIVE_RECORDS:Yt,RECEIVE_QUERY_RECORDS:Qt,RECEIVE_ERROR:Jt,PURGE_RECORD:Bt,PURGE_RECORDS:Wt,EDITOR_CHANGE_ID:Xt,EDIT_RECORD:zt,START_EDITING_RECORD:Zt,SAVE_EDITED_RECORD:er,UNDO_EDIT_RECORD:tr,REDO_EDIT_RECORD:rr,RESET_EDIT_RECORD:ar,INVALIDATE_RESOLUTION:sr,CHANGE_ACTION_STATUS:or}=Mt,ir=e=>e?e.title&&!e.title?.length?{message:(0,de.__)("Please provide a name for this popup.","popup-maker"),tabName:"general",field:"title"}:!(!e.settings?.conditions?.items?.length&&"publish"===e.status)||{message:(0,de.__)("Please provide at least one condition for this popup before enabling it.","popup-maker"),tabName:"content"}:{message:(0,de.__)("Popup not found","popup-maker")};function nr(e){return e&&"object"==typeof e&&"raw"in e}function cr(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,nr(t)?t.raw:t]))}const{RECEIVE_RECORD:dr,PURGE_RECORD:lr,EDITOR_CHANGE_ID:pr,EDIT_RECORD:ur,START_EDITING_RECORD:Er,SAVE_EDITED_RECORD:yr,UNDO_EDIT_RECORD:Sr,REDO_EDIT_RECORD:gr,RESET_EDIT_RECORD:_r,CHANGE_ACTION_STATUS:hr,INVALIDATE_RESOLUTION:Rr}=Mt,Ir={createPopup:(e,t=!0,r=!0)=>async({dispatch:a,registry:s})=>{const o="createPopup";try{a({type:hr,payload:{actionName:o,status:ue.Resolving}});const{id:i,...n}=e;if(t){const e=ir(n);if(!0!==e)return a({type:hr,payload:{actionName:o,status:ue.Error,message:e.message}}),r&&await a.createErrorNotice(e.message,{id:"popup-validation-error"}),!1}const c=await Re("popups?context=edit",{method:"POST",data:n});if(c)return s.batch(()=>{a({type:hr,payload:{actionName:o,status:ue.Success}}),r&&a.createSuccessNotice((0,de.sprintf)( // translators: %s: popup title. // translators: %s: popup title. (0,de.__)('Popup "%s" saved successfully.',"popup-maker"),(0,pe.decodeEntities)(c?.title.rendered)),{id:"popup-saved"}),a({type:dr,payload:{record:c}})}),c;a({type:hr,payload:{actionName:o,status:ue.Error,message:(0,de.__)("An error occurred, popup was not saved.","popup-maker")}})}catch(e){const t=me(e);throw a({type:hr,payload:{actionName:o,status:ue.Error,message:t}}),r&&a.createErrorNotice(t),e}return!1},updatePopup:(e,t=!0,r=!0)=>async({select:a,dispatch:s,registry:o})=>{const i="updatePopup";try{if(s({type:hr,payload:{actionName:i,status:ue.Resolving}}),t){const t=ir(e);if(!0!==t)return s({type:hr,payload:{actionName:i,status:ue.Error,message:t.message}}),r&&await s.createErrorNotice(t.message,{id:"popup-validation-error"}),!1}const n=await a.getPopup(e.id);if(!n)return s({type:hr,payload:{actionName:i,status:ue.Error,message:(0,de.__)("Popup not found","popup-maker")}}),!1;const c=await Re(`popups/${n.id}`,{method:"POST",data:e});if(c)return o.batch(()=>{s({type:hr,payload:{actionName:i,status:ue.Success}})}),r&&s.createSuccessNotice((0,de.sprintf)( // translators: %s: popup title. // translators: %s: popup title. (0,de.__)('Popup "%s" updated successfully.',"popup-maker"),(0,pe.decodeEntities)(c?.title.rendered)),{id:"popup-saved"}),s({type:dr,payload:{record:c}}),c;s({type:hr,payload:{actionName:i,status:ue.Error,message:(0,de.__)("An error occurred, popup was not saved.","popup-maker")}})}catch(e){const t=me(e);throw s({type:hr,payload:{actionName:i,status:ue.Error,message:t}}),r&&s.createErrorNotice(t),e}return!1},deletePopup:(e,t=!1,r=!0)=>async({dispatch:a,registry:s})=>{const o="deletePopup";try{a({type:hr,payload:{actionName:o,status:ue.Resolving}});const i=await Re(`popups/${e}?context=edit`);if(!i)return a({type:hr,payload:{actionName:o,status:ue.Error,message:(0,de.__)("Popup not found","popup-maker")}}),!1;const n=t?"?force=true":"",c=await Re(`popups/${e}${n}`,{method:"DELETE"});return c&&s.batch(()=>{a({type:hr,payload:{actionName:o,status:ue.Success}}),r&&a.createSuccessNotice((0,de.sprintf)( // translators: %s: popup title. // translators: %s: popup title. (0,de.__)('Popup "%s" deleted successfully.',"popup-maker"),(0,pe.decodeEntities)(i?.title.rendered)),{id:"popup-deleted"}),a(t?{type:lr,payload:{id:e}}:{type:dr,payload:{record:{...i,status:"trash"}}})}),c}catch(e){throw a({type:hr,payload:{actionName:o,status:ue.Error,message:(0,de.__)("Popup not found","popup-maker")}}),r&&await a.createErrorNotice(e instanceof Error?e.message:(0,de.__)("Failed to delete entity","popup-maker")),e}},editRecord:(e,t)=>async({select:r,dispatch:a,registry:s})=>{try{let o;const i=r.hasEditedEntity(e);if(i)o=r.getEditedPopup(e);else if(o=await Re(`popups/${e}?context=edit`).then(e=>e?cr(e):void 0),!o)return;s.batch(async()=>{i||await a({type:Er,payload:{id:e,editableEntity:o}});const r=(0,b.mergeWith)({},(0,b.cloneDeep)(o),t,(e,t)=>{if(Array.isArray(t))return t.slice()}),s=ce(null!=o?o:{},r);await a({type:ur,payload:{id:e,edits:s}})})}catch(e){const t=me(e);console.error("Edit failed:",e),await a.createErrorNotice(t)}},saveEditedRecord:(e,t=!0,r=!0)=>async({select:a,dispatch:s,registry:o})=>{const i="saveRecord";try{if(s({type:hr,payload:{actionName:i,status:ue.Resolving}}),!a.hasEdits(e))return s({type:hr,payload:{actionName:i,status:ue.Error,message:(0,de.__)("No edits to save","popup-maker")}}),!1;const n=a.getCurrentEditHistoryIndex(e),c=a.getEditedPopup(e);if(!c)return s({type:hr,payload:{actionName:i,status:ue.Error,message:(0,de.__)("No edits to save","popup-maker")}}),!1;if(c&&t){const e=ir(c);if(!0!==e)return o.batch(async()=>{s({type:hr,payload:{actionName:i,status:ue.Error,message:e.message}}),r&&await s.createErrorNotice(e.message,{id:"popup-validation-error"})}),!1}const d=await s.updatePopup(c,!1,!1);return!!d&&(o.batch(()=>{s({type:hr,payload:{actionName:i,status:ue.Success}}),r&&s.createSuccessNotice((0,de.sprintf)( // translators: %s: popup title. // translators: %s: popup title. (0,de.__)('Popup "%s" saved successfully.',"popup-maker"),(0,pe.decodeEntities)(d?.title.rendered)),{id:"popup-saved"}),s({type:yr,payload:{id:e,historyIndex:n,editedEntity:cr(d)}})}),!0)}catch(e){const t=me(e);throw console.error("Save failed:",e),o.batch(async()=>{r&&await s.createErrorNotice(t),s({type:hr,payload:{actionName:i,status:ue.Error,message:t}})}),e}},undo:(e,t=1)=>async({select:r,dispatch:a})=>{const s=e>0?e:r.getEditorId();void 0!==s&&await a({type:Sr,payload:{id:s,steps:t}})},redo:(e,t=1)=>async({select:r,dispatch:a})=>{const s=e>0?e:r.getEditorId();void 0!==s&&await a({type:gr,payload:{id:s,steps:t}})},resetRecordEdits:e=>async({select:t,dispatch:r})=>{const a=e>0?e:t.getEditorId();void 0!==a&&r({type:_r,payload:{id:a}})},updateEditorValues:e=>async({dispatch:t,select:r})=>{const a=r.getEditorId();void 0!==a&&t.editRecord(a,e)},saveEditorValues:()=>async({dispatch:e,select:t})=>{const r=t.getEditorId(),a=t.getCurrentEditorValues();return r&&a?e.saveEditedRecord(r):(e.createErrorNotice((0,de.__)("No editor values to save","popup-maker")),!1)},resetEditorValues:()=>async({dispatch:e,select:t})=>{const r=t.getEditorId();void 0!==r&&e.resetRecordEdits(r)},changeEditorId:e=>async({select:t,dispatch:r})=>{try{if(void 0===e)return void r({type:pr,payload:{editorId:void 0}});if(!t.hasEditedEntity(e)){const t=await Re(`popups/${e}?context=edit`);if(!t)return void r.createErrorNotice((0,de.__)("Popup not found","popup-maker"));r({type:Er,payload:{id:e,editableEntity:cr(t),setEditorId:!0}})}r({type:pr,payload:{editorId:e}})}catch(e){const t=me(e);console.error("Failed to change editor ID:",e),r.createErrorNotice(t)}},createNotice:(e="info",t="",r)=>async({registry:a})=>{a.dispatch(le.store).createNotice(e,t,{...r,context:Gt})},createErrorNotice:(e,t)=>async({registry:r})=>{r.dispatch(le.store).createNotice("error",e,{...t,context:Gt})},createSuccessNotice:(e,t)=>async({registry:r})=>{r.dispatch(le.store).createNotice("success",e,{...t,context:Gt})},removeNotice:e=>async({registry:t})=>{t.dispatch(le.store).removeNotice(e,Gt)},removeAllNotices:e=>async({registry:t})=>{if(e)t.dispatch(le.store).removeNotices(e,Gt);else{const e=t.select(le.store).getNotices(Gt).map(e=>e.id);t.dispatch(le.store).removeNotices(e,Gt)}},changeActionStatus:(e,t,r)=>({dispatch:a})=>{r&&console.log(e,r),a({type:hr,payload:{actionName:e,status:t,message:r}})},invalidateResolution:e=>({dispatch:t})=>{t({type:Rr,payload:{id:e}})}},mr=(0,n.createSelector)(e=>e.allIds.map(t=>e.byId[t]),e=>[e.allIds,e.byId]),fr=(0,n.createSelector)((e,t)=>{const r=e?.byId?.[t];return r},(e,t)=>[e,t]),vr=(0,n.createSelector)((e,t)=>"number"==typeof t?e.errors.byId[t]:e.errors.global,(e,t)=>[e.errors,t]),Ar=(e,t)=>e.allIds.filter(r=>t(e.byId[r])),Tr=(0,n.createSelector)(e=>e?.editorId,e=>[e.editorId]),Or=(0,n.createSelector)(e=>{const t=e?.editorId;return"string"==typeof t&&"new"===t||"number"==typeof t&&t>0},e=>[e.editorId]),Nr=(0,n.createSelector)(e=>{const t=e?.editorId;if(void 0!==t)return Pr(e,t)},e=>[e.editedEntities?.[e.editorId||0],e.editHistoryIndex?.[e.editorId||0],e.editHistory?.[e.editorId||0],e.editorId]),Cr=(0,n.createSelector)((e,t)=>!!e?.editedEntities?.[t],(e,t)=>[e.editedEntities?.[t],t]),Dr=(0,n.createSelector)((e,t)=>e?.editedEntities?.[t],(e,t)=>[e.editedEntities?.[t],t]),wr=(0,n.createSelector)((e,t)=>e?.editHistory?.[t],(e,t)=>[e.editHistory?.[t],t]),br=(0,n.createSelector)((e,t)=>e.editHistoryIndex?.[t],(e,t)=>[e.editHistoryIndex?.[t],t]),Hr=(0,n.createSelector)((e,t)=>e.editHistory?.[t]?.length>0,(e,t)=>[e.editHistory?.[t],t]),Lr=(0,n.createSelector)((e,t)=>"number"==typeof e.editHistoryIndex?.[t]&&"object"==typeof e.editHistory?.[t]&&e.editHistoryIndex?.[t]>=0,(e,t)=>[e.editHistoryIndex?.[t],t]),Ur=(0,n.createSelector)((e,t)=>"number"==typeof e.editHistoryIndex?.[t]&&"object"==typeof e.editHistory?.[t]&&e.editHistoryIndex?.[t]<e.editHistory?.[t]?.length-1,(e,t)=>[e.editHistoryIndex?.[t],t]),Pr=(0,n.createSelector)((e,t)=>{const r=e.editedEntities?.[t],a=e.editHistory?.[t],s=e.editHistoryIndex?.[t];if(r)return-1===s?r:a?.length?a.slice(0,s+1).reduce((e,t)=>W(e,Array.isArray(t)?t:[t],!0,!1).newDocument,r):r},(e,t)=>[e.editedEntities?.[t],e.editHistoryIndex?.[t],e.editHistory?.[t],t]),xr=(0,n.createSelector)(e=>(0,je.applyFilters)("popupMaker.popup.defaultValues",Kt),e=>[e.editorId]),kr=(0,n.createRegistrySelector)(e=>()=>e(le.store).getNotices(Gt)||[]),Vr=(0,n.createRegistrySelector)(e=>t=>{const r=e(le.store).getNotices(Gt);return r?.find(e=>e.id===t)}),Gr=(0,n.createSelector)((e,t)=>{const r=e.resolutionState?.[t];return r||{status:ue.Idle}},(e,t)=>[e.resolutionState,t]),jr=(0,n.createSelector)((e,t)=>Gr(e,t).status===ue.Idle,(e,t)=>[t]),Fr=(0,n.createSelector)((e,t)=>Gr(e,t).status===ue.Resolving,(e,t)=>[t]),Mr=(0,n.createSelector)((e,t)=>Gr(e,t).status===ue.Success,(e,t)=>[t]),$r=(0,n.createSelector)((e,t)=>Gr(e,t).status===ue.Error,(e,t)=>[t]),Kr=(0,n.createSelector)((e,t)=>Gr(e,t).error,(e,t)=>[e.resolutionState,t]),qr={getPopups:mr,getPopup:fr,getFetchError:vr,getFiltered:(e,t,r=!1)=>r?Ar(e,t).map(t=>e.byId[t]):e.allIds.map(t=>e.byId[t]).filter(t),getFilteredIds:Ar,getEditorId:Tr,isEditorActive:Or,getCurrentEditorValues:Nr,hasEditedEntity:Cr,getEditedEntity:Dr,getEntityEditHistory:wr,getCurrentEditHistoryIndex:br,hasEdits:Hr,hasUndo:Lr,hasRedo:Ur,getEditedPopup:Pr,getDefaultValues:xr,getNotices:kr,getNoticeById:Vr,getResolutionState:Gr,isIdle:jr,isResolving:Fr,hasResolved:Mr,hasFailed:$r,getResolutionError:Kr},Yr={getPopups:()=>async({dispatch:e})=>{try{const t=Ie("popups",{status:["any","trash","auto-draft"],per_page:100,context:"edit"}),r=await Re(t,{method:"GET"});r.length&&e({type:Ft,payload:{records:r}})}catch(e){console.error(e)}},getPopup:e=>async({dispatch:t})=>{try{const r=Ie(`popups/${e}`,{context:"edit"}),a=await Re(r,{method:"GET"});t({type:jt,payload:{record:a}})}catch(e){console.error(e)}}},Qr=(0,n.createReduxStore)(Vt,{initialState:$t,reducer:(e=$t,t)=>{switch(t.type){case qt:{const{record:r}=t.payload;return{...e,byId:{...e.byId,[r.id]:r},allIds:e.allIds.includes(r.id)?e.allIds:[...e.allIds,r.id]}}case Yt:case Qt:{const{records:r,query:a=!1}=t.payload,s=r.reduce((e,t)=>({...e,[t.id]:t}),e.byId),o=Array.from(new Set([...e.allIds,...r.map(e=>e.id)]));return{...e,allIds:o,byId:s,queries:a?{...e.queries,[JSON.stringify(a)]:r.map(e=>e.id)}:e.queries}}case Jt:{const{error:r,id:a=!1}=t.payload,s=e.errors||{global:null,byId:{}},o={...s.byId};return a?o[a]=r:s.global=r,{...e,errors:{global:a?s.global:r,byId:o}}}case Wt:case Bt:{const{ids:r=[],id:a=null}=t.payload;if(a&&a>0&&r.push(a),0===r.length)return e;const s=e.allIds.filter(e=>!r.includes(e)),o=Object.fromEntries(Object.entries(e.byId).filter(([e])=>!r.includes(e))),i=Object.fromEntries(Object.entries(e.editedEntities).filter(([e])=>!r.includes(e))),n=Object.fromEntries(Object.entries(e.editHistory).filter(([e])=>!r.includes(e))),c=Object.fromEntries(Object.entries(e.editHistoryIndex).filter(([e])=>!r.includes(e)));return{...e,byId:o,allIds:s,editedEntities:i,editHistory:n,editHistoryIndex:c}}case Xt:{const{editorId:r}=t.payload;return{...e,editorId:r}}case Zt:{const{id:r,editableEntity:a,setEditorId:s}=t.payload,o={...e,editedEntities:{...e.editedEntities,[r]:a}};return s?{...o,editorId:r}:o}case zt:{var r,a;const{id:s,edits:o}=t.payload,i=null!==(r=e.editHistory[s])&&void 0!==r?r:[],n=null!==(a=e.editHistoryIndex[s])&&void 0!==a?a:-1,c=n<i.length-1?i.slice(0,n+1):i;return{...e,editHistory:{...e.editHistory,[s]:[...c,o]},editHistoryIndex:{...e.editHistoryIndex,[s]:c.length}}}case tr:{var s;const{id:r,steps:a=1}=t.payload,o=null!==(s=e.editHistoryIndex[r])&&void 0!==s?s:-1,i=Math.max(-1,o-a);return{...e,editHistoryIndex:{...e.editHistoryIndex,[r]:i}}}case rr:{var o,i;const{id:r,steps:a}=t.payload,s=null!==(o=e.editHistoryIndex[r])&&void 0!==o?o:-1,n=(null!==(i=e.editHistory[r]?.length)&&void 0!==i?i:0)-1,c=n>=0?Math.min(n,s+a):s;return{...e,editHistoryIndex:{...e.editHistoryIndex,[r]:c}}}case er:{const{id:r,historyIndex:a,editedEntity:s}=t.payload,o=e.editHistory[r].slice(a+1);return{...e,editedEntities:{...e.editedEntities,[r]:s},editHistory:{...e.editHistory,[r]:o},editHistoryIndex:{...e.editHistoryIndex,[r]:-1}}}case ar:{const{id:r}=t.payload;return{...e,editedEntities:Object.fromEntries(Object.entries(e.editedEntities).filter(([e])=>Number(e)!==r)),editHistory:Object.fromEntries(Object.entries(e.editHistory).filter(([e])=>Number(e)!==r)),editHistoryIndex:Object.fromEntries(Object.entries(e.editHistoryIndex).filter(([e])=>Number(e)!==r))}}case or:{const{actionName:r,status:a,message:s}=t.payload;return{...e,resolutionState:{...e.resolutionState,[r]:{status:a,error:s}}}}case sr:{const{id:r,operation:a}=t.payload;return{...e,resolutionState:{...e.resolutionState,[a]:{...e.resolutionState?.[a],[r]:void 0}}}}default:return e}},actions:Ir,selectors:qr,resolvers:Yr});var Jr;const Br="popup-maker/settings",Wr="SETTINGS_FETCH_ERROR",Xr={UPDATE:"UPDATE",STAGE_CHANGES:"STAGE_CHANGES",SAVE_CHANGES:"SAVE_CHANGES",HYDRATE:"HYDRATE",CHANGE_ACTION_STATUS:"CHANGE_ACTION_STATUS",INVALIDATE_RESOLUTION:"INVALIDATE_RESOLUTION",SETTINGS_FETCH_ERROR:Wr},zr=(0,je.applyFilters)("popupMaker.defaultSettings",{permissions:{view_block_controls:"edit_posts",edit_block_controls:"edit_posts",edit_restrictions:"manage_options",manage_settings:"manage_options"}}),{currentSettings:Zr=zr}=null!==(Jr=popupMakerCoreData)&&void 0!==Jr?Jr:{},ea={settings:Zr,unsavedChanges:{},resolutionState:{}},{UPDATE:ta,STAGE_CHANGES:ra,SAVE_CHANGES:aa,HYDRATE:sa,CHANGE_ACTION_STATUS:oa,SETTINGS_FETCH_ERROR:ia,INVALIDATE_RESOLUTION:na}=Xr,{UPDATE:ca,SAVE_CHANGES:da,STAGE_CHANGES:la,HYDRATE:pa,CHANGE_ACTION_STATUS:ua,INVALIDATE_RESOLUTION:Ea}=Xr,ya={updateSettings:e=>async({dispatch:t,resolveSelect:r})=>{const a="updateSettings";try{t.changeActionStatus(a,ue.Resolving);const s=await r.getSettings(),o=await Re("popup-maker/v2/settings",{method:"PUT",data:{settings:{...s,...e}}});if(o)return t.changeActionStatus(a,ue.Success),void t({type:ca,payload:{settings:o}});t.changeActionStatus(a,ue.Error,(0,de.__)("An error occurred, settings were not saved.","popup-maker"))}catch(e){t.changeActionStatus(a,ue.Error,me(e))}},saveSettings:e=>async({dispatch:t,resolveSelect:r})=>{const a="saveSettings";try{t.changeActionStatus(a,ue.Resolving);const s=await r.getSettings(),o=await r.getUnsavedChanges(),i=await Re("popup-maker/v2/settings",{method:"PUT",data:{settings:{...s,...o,...e}}});if(i)return t.changeActionStatus(a,ue.Success),void t({type:da,payload:{settings:i}});t.changeActionStatus(a,ue.Error,(0,de.__)("An error occurred, settings were not saved.","popup-maker"))}catch(e){t.changeActionStatus(a,ue.Error,me(e))}},stageUnsavedChanges:e=>({type:la,payload:{settings:e}}),hydrate:e=>({type:pa,payload:{settings:e}})},Sa={...ya,changeActionStatus:(e,t,r)=>({dispatch:a})=>{r&&console.log(e,r),a({type:ua,actionName:e,status:t,message:r})},invalidateResolution:e=>({dispatch:t})=>{t({type:Ea,payload:{id:e}})}},ga={getSettings:()=>async({dispatch:e,registry:t})=>{try{const r=await Re("popup-maker/v2/settings",{method:"GET"});t.batch(()=>{r&&e.hydrate(r),e({type:Wr,message:(0,de.__)("An error occurred, settings were not loaded.","popup-maker")})})}catch(t){e({type:Wr,message:me(t)})}}},_a={getSettings:(0,n.createSelector)(e=>e.settings,e=>[e.settings]),getSetting:(0,n.createSelector)((e,t,r)=>{var a;return null!==(a=_a.getSettings(e)[t])&&void 0!==a?a:r},(e,t,r)=>[e.settings,t,r]),getUnsavedChanges:(0,n.createSelector)(e=>e.unsavedChanges,e=>[e.unsavedChanges]),hasUnsavedChanges:(0,n.createSelector)(e=>{var t;return Object.keys(null!==(t=e?.unsavedChanges)&&void 0!==t?t:{}).length>0},e=>[e.unsavedChanges]),getReqPermission:(0,n.createSelector)((e,t)=>{const r=_a.getSetting(e,"permissions",zr.permissions)[t];return"string"==typeof r?r:"manage_options"},(e,t)=>[e.settings.permissions,t])},ha={getResolutionState:(0,n.createSelector)((e,t)=>{const r=e.resolutionState?.[t];return r||{status:ue.Idle}},(e,t)=>[t]),isIdle:(0,n.createSelector)((e,t)=>ha.getResolutionState(e,t).status===ue.Idle,(e,t)=>[t]),isResolving:(0,n.createSelector)((e,t)=>ha.getResolutionState(e,t).status===ue.Resolving,(e,t)=>[t]),hasResolved:(0,n.createSelector)((e,t)=>ha.getResolutionState(e,t).status===ue.Success,(e,t)=>[t]),hasFailed:(0,n.createSelector)((e,t)=>ha.getResolutionState(e,t).status===ue.Error,(e,t)=>[t]),getResolutionError:(0,n.createSelector)((e,t)=>ha.getResolutionState(e,t).error,(e,t)=>[t])},Ra={..._a,...ha},Ia=(0,n.createReduxStore)(Br,{initialState:ea,reducer:(e=ea,t)=>{switch(t.type){case sa:{const{settings:r}=t.payload;return{...e,settings:r}}case ia:{const{message:r}=t.payload;return{...e,error:r}}case ra:{var r;const{settings:a}=t.payload;return{...e,unsavedChanges:{...null!==(r=e.unsavedChanges)&&void 0!==r?r:{},...a}}}case aa:{const{settings:r}=t.payload;return{...e,settings:{...e.settings,...r},unsavedChanges:{}}}case ta:{const{settings:r}=t.payload;return{...e,settings:{...e.settings,...r}}}case oa:{const{actionName:r,status:a,message:s}=t.payload;return{...e,resolutionState:{...e.resolutionState,[r]:{status:a,error:s}}}}case na:{const{id:r,operation:a}=t.payload;return{...e,resolutionState:{...e.resolutionState,[a]:{...e.resolutionState?.[a],[r]:void 0}}}}default:return e}},actions:Sa,selectors:Ra,resolvers:ga}),ma="popup-maker/url-search",fa={SEARCH_REQUEST:"SEARCH_REQUEST",SEARCH_SUCCESS:"SEARCH_SUCCESS",SEARCH_ERROR:"SEARCH_ERROR",UPDATE_SUGGESTIONS:"UPDATE_SUGGESTIONS",CHANGE_ACTION_STATUS:"CHANGE_ACTION_STATUS",INVALIDATE_RESOLUTION:"INVALIDATE_RESOLUTION"},va={currentQuery:"",searchResults:[],queries:{},resolutionState:{}},{SEARCH_ERROR:Aa,SEARCH_REQUEST:Ta,SEARCH_SUCCESS:Oa,CHANGE_ACTION_STATUS:Na,INVALIDATE_RESOLUTION:Ca}=fa,{SEARCH_REQUEST:Da,SEARCH_SUCCESS:wa,SEARCH_ERROR:ba,CHANGE_ACTION_STATUS:Ha,INVALIDATE_RESOLUTION:La}=fa,Ua={updateSuggestions:(e,t)=>async({dispatch:r,registry:a})=>{const s="updateSuggestions";try{r.changeActionStatus(s,ue.Resolving),await a.batch(async()=>{r.searchRequest(e);const a=await(async(e,t={})=>{const{isInitialSuggestions:r=!1,type:a,subtype:s,page:o,perPage:i=(r?3:20)}=t,n=[],c=e=>!a||a===e||Array.isArray(a)&&a.indexOf(e)>=0,d=async(t,r)=>{try{return(await he(((e={search:""})=>Ie("wp/v2/search",e))({search:e,page:o,per_page:i,type:t,subtype:s}),{cache:"no-cache"})).map(e=>({...e,meta:{kind:r||t,subtype:s}}))}catch{return[]}};return c("post")&&n.push(d("post","post-type")),c("term")&&n.push(d("term","taxonomy")),c("post-format")&&n.push(d("post-format","taxonomy")),c("attachment")&&n.push(d("attachment","media")),(await Promise.all(n)).flat().filter(e=>!!e.id).slice(0,i).map(e=>{var t;const r="attachment"===e.type,a="object"==typeof e.title?null!==(t=e.title.rendered)&&void 0!==t?t:e.title.raw:e.title||(0,de.__)("(no title)","popup-maker");return{id:e.id,url:r&&e.source_url?e.source_url:e.url,title:a,type:e?.subtype||e.type,kind:e?.meta?.kind}})})(e,t);a&&(r.changeActionStatus(s,ue.Success),r.searchSuccess(e,a));const o=(0,de.__)("No results returned","popup-maker");r.changeActionStatus(s,ue.Error,o),r.searchError(e,o)})}catch(t){const a=me(t);r.changeActionStatus(s,ue.Error,a),r.searchError(e,a)}},searchRequest:e=>({type:Da,payload:{queryText:e}}),searchSuccess:(e,t)=>({type:wa,payload:{queryText:e,results:t}}),searchError:(e,t)=>({type:ba,payload:{queryText:e,error:t}}),changeActionStatus:(e,t,r)=>({dispatch:a})=>{r&&console.log(e,r),a({type:Ha,actionName:e,status:t,message:r})},invalidateResolution:e=>({dispatch:t})=>{t({type:La,payload:{id:e}})}},Pa={getSuggestions:(0,n.createSelector)(e=>e.searchResults||[],e=>[e.searchResults])},xa={getResolutionState:(0,n.createSelector)((e,t)=>{const r=e.resolutionState?.[t];return r||{status:ue.Idle}},(e,t)=>[t]),isIdle:(0,n.createSelector)((e,t)=>xa.getResolutionState(e,t).status===ue.Idle,(e,t)=>[t]),isResolving:(0,n.createSelector)((e,t)=>xa.getResolutionState(e,t).status===ue.Resolving,(e,t)=>[t]),hasResolved:(0,n.createSelector)((e,t)=>xa.getResolutionState(e,t).status===ue.Success,(e,t)=>[t]),hasFailed:(0,n.createSelector)((e,t)=>xa.getResolutionState(e,t).status===ue.Error,(e,t)=>[t]),getResolutionError:(0,n.createSelector)((e,t)=>xa.getResolutionState(e,t).error,(e,t)=>[t])},ka={...Pa,...xa},Va=(0,n.createReduxStore)(ma,{initialState:va,reducer:(e=va,t)=>{switch(t.type){case Ta:{const{queryText:r}=t.payload;return{...e,currentQuery:r}}case Oa:{const{queryText:r,results:a}=t.payload;return e.currentQuery===r?{...e,searchResults:a}:e}case Aa:{const{queryText:r,error:a}=t.payload;return e.currentQuery===r?{...e,error:a}:e}case Na:{const{actionName:r,status:a,message:s}=t;return{...e,resolutionState:{...e.resolutionState,[r]:{status:a,error:s}}}}case Ca:{const{id:r,operation:a}=t.payload;return{...e,resolutionState:{...e.resolutionState,[a]:{...e.resolutionState?.[a],[r]:void 0}}}}default:return e}},actions:Ua,selectors:ka}),Ga=window.wp.element,ja=()=>{var e,t,r,a;const{connectInfo:s,licenseKey:o,licenseStatus:i,isSaving:c,proWasActivated:d,isActivatingPro:l}=(0,n.useSelect)(e=>{const t=e(kt);return{connectInfo:t.getConnectInfo(),licenseKey:t.getLicenseKey(),licenseStatus:t.getLicenseStatus(),isSaving:t.isDispatching("activateLicense")||t.isDispatching("deactivateLicense")||t.isDispatching("checkLicenseStatus")||t.isDispatching("updateLicenseKey")||t.isDispatching("removeLicense"),isActivatingPro:t.isDispatching("activatePro"),proWasActivated:t.hasDispatched("activatePro")}},[]),{activateLicense:p,deactivateLicense:u,checkLicenseStatus:E,updateLicenseKey:y,removeLicense:S,activatePro:g}=(0,n.useDispatch)(kt),_="valid"===i?.license,h=["deactivated","site_inactive","inactive"].includes(null!==(e=i?.license)&&void 0!==e?e:""),R=["invalid","failed"].includes(i?.license),I=R&&["","missing"].includes(null!==(t=i?.error)&&void 0!==t?t:""),m="expired"===i?.license||["invalid","failed"].includes(null!==(r=i?.license)&&void 0!==r?r:"")&&"expired"===i?.error,f="disabled"===i?.license||R&&"disabled"===i?.error,v="no_activations_left"===i?.error,A=!!i?.error,T=R&&A&&!["missing","expired","disabled"].includes(null!==(a=i?.error)&&void 0!==a?a:""),O=(0,Ga.useMemo)(()=>_||h||m||f||v,[_,h,m,f,v]),N=(0,Ga.useMemo)(()=>_?"active":m?"expired":I?"missing":h?"deactivated":f?"disabled":T?"error":"unknown",[_,m,I,h,f,T]),C=(0,Ga.useMemo)(()=>{var e;let t=null!==(e=i?.price_id)&&void 0!==e?e:null;if(null===t)return-1;switch("string"==typeof t&&(t=parseInt(t,10)),t){default:return-1;case!1:case 0:return 0;case 1:case 2:case 3:case 4:return t}},[i?.price_id]);return{connectInfo:s,licenseKey:o,licenseStatus:i,licenseLevel:C,activateLicense:p,deactivateLicense:u,checkLicenseStatus:E,updateLicenseKey:y,removeLicense:S,activatePro:g,getLicenseStatusName:N,isSaving:c,isActivatingPro:l,proWasActivated:d,isLicenseKeyValid:O,isLicenseActive:_,isLicenseDeactivated:h,isLicenseMissing:I,isLicenseExpired:m,isLicenseInvalid:R,isLicenseDisabled:f,isLicenseOverQuota:v,isGeneralError:T,hasError:A}},Fa=()=>{const{currentSettings:e,unsavedChanges:t,hasUnsavedChanges:r,isSaving:a}=(0,n.useSelect)(e=>{const t=e(Ia);return{unsavedChanges:t.getUnsavedChanges(),hasUnsavedChanges:t.hasUnsavedChanges(),currentSettings:t.getSettings(),isSaving:t.isResolving("updateSettings")||t.isResolving("saveSettings")}},[]),{updateSettings:s,saveSettings:o,stageUnsavedChanges:i}=(0,n.useDispatch)(Ia),c=(0,Ga.useMemo)(()=>({...e,...t}),[e,t]);return{currentSettings:e,settings:c,getSetting:(e,t)=>{var r;return null!==(r=c[e])&&void 0!==r?r:t},updateSettings:s,saveSettings:o,isSaving:a,hasUnsavedChanges:r,stageUnsavedChanges:i,unsavedChanges:t}};(window.popupMaker=window.popupMaker||{}).coreData=t})(); dist/packages/cta-editor.css 0000644 00000016320 15174671772 0012055 0 ustar 00 .call-to-action-editor-modal{margin:8vh auto auto;max-height:85%;max-width:36rem;width:100%}.call-to-action-editor-modal .components-modal__content{margin-bottom:64px;margin-top:64px;overflow-y:scroll;padding:16px}.call-to-action-editor-modal .components-modal__content::-webkit-scrollbar{-webkit-appearance:none;width:7px}.call-to-action-editor-modal .components-modal__content::-webkit-scrollbar-thumb{background-color:#00000080;border-radius:4px;-webkit-box-shadow:0 0 1px #ffffff80}.call-to-action-editor-modal .components-modal__header{border-bottom:1px solid #c3c4c7;height:64px;padding:0 16px}.call-to-action-editor-modal .components-modal__header .components-modal__header-heading-container{line-clamp:1;display:-webkit-box;margin-right:125px;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.call-to-action-editor-modal .components-modal__header .components-modal__header-heading-container h1{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:fit-content}.call-to-action-editor-modal .call-to-action-enabled-toggle .components-h-stack{direction:rtl}.call-to-action-editor-modal .call-to-action-enabled-toggle.disabled label{color:#a30000}.call-to-action-editor-modal .call-to-action-enabled-toggle.enabled label{color:#00a32a}.call-to-action-editor+.editor-actions,.call-to-action-editor+.modal-actions{align-items:center;border-top:1px solid #c3c4c7;bottom:0;box-sizing:border-box;display:flex;gap:16px;height:64px;justify-content:right;left:0;padding:0 32px;position:absolute;right:0}.call-to-action-editor+.editor-actions>:last-child,.call-to-action-editor+.modal-actions>:last-child{left:32px;position:absolute}.call-to-action-editor+.editor-actions>:last-child svg,.call-to-action-editor+.modal-actions>:last-child svg{margin-right:3px;fill:#fff;stroke:green}.call-to-action-editor .editor-tabs{display:flex;gap:16px;width:100%}.call-to-action-editor .editor-tabs .components-tab-panel__tabs{flex:1 0 150px;text-align:left}.call-to-action-editor .editor-tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{background-color:#f0f0f0}.call-to-action-editor .editor-tabs .components-tab-panel__tab-content{flex:3 1 100%}.call-to-action-editor .components-base-control{margin-bottom:16px}.call-to-action-editor .components-base-control:last-child{margin-bottom:0}.call-to-action-editor .components-base-control.is-large .components-text-control__input{padding:1em}.call-to-action-editor .components-base-control .is-large .components-select-control__input{font-size:13px;height:auto;line-height:normal;min-height:30px;padding:1em}.call-to-action-editor .components-base-control__label,.call-to-action-editor .components-checkbox-control__label,.call-to-action-editor .components-input-control__label,.call-to-action-editor .components-toggle-control__label{font-size:13px!important;font-weight:500!important;text-transform:none!important}.call-to-action-editor .components-radio-button-control .options{gap:16px;max-width:500px}.call-to-action-editor .components-radio-button-control .components-button{box-sizing:border-box;flex:1 1 0%;font-size:13px;font-style:normal;font-weight:600;height:auto;line-height:140%;padding:16px 0}.call-to-action-editor .components-radio-button-control .components-button.is-primary{background:#007cba0d;color:#007cba}.call-to-action-editor .components-radio-button-control .components-button.is-primary:not(:disabled):focus{box-shadow:inset 0 0 0 2px #007cba,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:3px solid #0000}.call-to-action-editor .components-radio-button-control .components-button.is-primary:not(:disabled):not(:focus){box-shadow:inset 0 0 0 2px #007cba}.call-to-action-editor .components-radio-button-control .components-button.is-secondary{background:#fff;color:#757575}.call-to-action-editor .components-radio-button-control .components-button.is-secondary:not(:disabled):focus{box-shadow:inset 0 0 0 2px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:3px solid #0000}.call-to-action-editor .components-radio-button-control .components-button.is-secondary:not(:disabled):not(:focus){box-shadow:inset 0 0 0 2px #ddd}.call-to-action-editor .components-url-input .url-input__input{min-height:40px}.call-to-action-editor .general-tab .title-field .components-text-control__input{border-color:#eee;font-size:1.8em;height:auto;line-height:1;margin-bottom:1px;padding-left:5px}.call-to-action-editor .general-tab .title-field .components-base-control__field{margin-bottom:0}.call-to-action-editor .general-tab .title-field-notice{line-height:1;margin-bottom:32px;margin-left:0;margin-top:-32px}.call-to-action-editor .general-tab .title-field-notice .components-notice__content{padding:0}.call-to-action-editor .general-tab .description-field .components-text-control__input,.call-to-action-editor .general-tab .description-field .components-textarea-control__input{border-color:#eee;font-size:.9em;height:auto;min-height:auto;resize:none}.call-to-action-editor .general-tab .components-url-control .url-control-wrapper .url-control .url-control__input{min-height:40px}.call-to-action-editor .general-tab .components-url-control .url-control-wrapper .url-control .url-control__actions{right:6px;top:6px}.call-to-action-editor .call-to-action-editor-error{margin:-5px 0 10px}.call-to-action-editor .cta-field-wrapper--has-error .components-panel__header{border-bottom:1px solid #cc1818!important}.call-to-action-editor .cta-field-wrapper--has-error .components-panel__body{background:linear-gradient(180deg,#cc181808,#cc181814);border-radius:0 0 4px 4px}.call-to-action-editor .cta-field-wrapper--has-error .components-base-control__label{color:#cc1818!important}.call-to-action-editor .cta-field-wrapper--has-error .component-smart-token-control__input,.call-to-action-editor .cta-field-wrapper--has-error .components-input-control__input,.call-to-action-editor .cta-field-wrapper--has-error .components-number-control__input,.call-to-action-editor .cta-field-wrapper--has-error .components-select-control__input,.call-to-action-editor .cta-field-wrapper--has-error .components-select-control__input-wrapper,.call-to-action-editor .cta-field-wrapper--has-error .components-text-control__input,.call-to-action-editor .cta-field-wrapper--has-error .components-textarea-control__input,.call-to-action-editor .cta-field-wrapper--has-error .url-control__input{background-color:#fff;border:1px solid #cc1818!important;box-shadow:0 0 0 1px #cc1818!important}.call-to-action-editor .cta-field-wrapper--has-error .components-input-control__backdrop{background-color:#0000;border-color:#0000}.call-to-action-editor .cta-field-wrapper .cta-field-error{color:#cc1818;font-size:12px;line-height:1.4;margin-top:8px}.call-to-action-editor .editor-tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.error{background-color:#f4a2a2;border-left:4px solid #cc1818}.editor-header-actions{align-items:center;display:flex;flex-direction:row;gap:6px;justify-content:space-between;max-width:max-content}.editor-header-actions .components-button.close-button{min-width:auto;padding:0}.editor-header-actions .editor-header-options .components-button.popover-toggle{min-width:auto;padding-left:4px;padding-right:4px}.editor-header-options__popover .components-popover__content{min-width:fit-content} dist/packages/admin-bar.css 0000644 00000021241 15174671772 0011652 0 ustar 00 #wpadminbar{z-index:999999999998}#wp-admin-bar-popup-maker li#wp-admin-bar-flush-popup-cache a{color:#66b266!important}#wp-admin-bar-popup-maker>.ab-item:before{aspect-ratio:1/1;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTc5IiBoZWlnaHQ9IjE3OSIgdmlld0JveD0iMCAwIDE3OSAxNzkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMjMuNzkxIDExOS4wMzFDMTI2LjA1IDExNi40MjYgMTI3LjQ4NSAxMTMuMjA5IDEyNy45MTYgMTA5Ljc4OEMxMjguMzQ3IDEwNi4zNjYgMTI3Ljc1MyAxMDIuODk0IDEyNi4yMSA5OS44MUwxMDYuNTk1IDYwLjU4M0MxMDUuMTQ3IDU3LjY4NzUgMTAyLjkyMSA1NS4yNTI1IDEwMC4xNjcgNTMuNTUwNkM5Ny40MTMgNTEuODQ4OCA5NC4yMzk0IDUwLjk0NzQgOTEuMDAxOCA1MC45NDc0Qzg3Ljc2NDMgNTAuOTQ3NCA4NC41OTA3IDUxLjg0ODggODEuODM2NSA1My41NTA2Qzc5LjA4MjQgNTUuMjUyNSA3Ni44NTY1IDU3LjY4NzUgNzUuNDA4MyA2MC41ODNMNTUuNzkzNyA5OS44MUM1NC4yNDgyIDEwMi44OTUgNTMuNjUzIDEwNi4zNyA1NC4wODM1IDEwOS43OTRDNTQuNTE0MSAxMTMuMjE3IDU1Ljk1MSAxMTYuNDM2IDU4LjIxMjMgMTE5LjA0M0M2MC40NzM3IDEyMS42NDkgNjMuNDU3NyAxMjMuNTI2IDY2Ljc4NjYgMTI0LjQzNkM3MC4xMTU0IDEyNS4zNDYgNzMuNjM5MyAxMjUuMjQ3IDc2LjkxMjEgMTI0LjE1M0w5MS4wOTk5IDExOS40NDVMMTA1LjIwMSAxMjQuMTMxQzEwOC40NTcgMTI1LjIwMyAxMTEuOTU4IDEyNS4yOTEgMTE1LjI2NSAxMjQuMzg0QzExOC41NzEgMTIzLjQ3NyAxMjEuNTM3IDEyMS42MTUgMTIzLjc5MSAxMTkuMDMxVjExOS4wMzFaTTkxLjA5OTkgNjguMzg0OEwxMTAuNzE0IDEwNy42MTJMOTUuOTE2NCAxMDIuNjg3QzkyLjc4OTcgMTAxLjY0NiA4OS40MTAyIDEwMS42NDYgODYuMjgzNSAxMDIuNjg3TDcxLjQ4NTQgMTA3LjYxMkw5MS4wOTk5IDY4LjM4NDhaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTU4LjU3NjkgMjUuNDczN0MzOS4zOTIyIDI1LjQ3MzcgMjMuODQgNDEuMDI2IDIzLjg0IDYwLjIxMDZWNjQuODQyMkMyMy44NCA3MS4yMzcgMTguNjU2IDc2LjQyMTEgMTIuMjYxMSA3Ni40MjExQzUuODY2MiA3Ni40MjExIDAuNjgyMTI5IDcxLjIzNyAwLjY4MjEyOSA2NC44NDIyTDAuNjgyMTI5IDYwLjIxMDZDMC42ODIxMjkgMjguMjM2MiAyNi42MDI1IDIuMzE1ODQgNTguNTc2OSAyLjMxNTg0TDY1LjUyNDIgMi4zMTU4NEM3MS45MTkxIDIuMzE1ODQgNzcuMTAzMiA3LjQ5OTkxIDc3LjEwMzIgMTMuODk0OEM3Ny4xMDMyIDIwLjI4OTcgNzEuOTE5MSAyNS40NzM3IDY1LjUyNDIgMjUuNDczN0g1OC41NzY5WiIgZmlsbD0iIzFEQkU2MSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTU4LjU3NjkgMTU1LjE1OEMzOS4zOTIyIDE1NS4xNTggMjMuODQgMTM5LjYwNiAyMy44NCAxMjAuNDIxVjExNS43OUMyMy44NCAxMDkuMzk1IDE4LjY1NiAxMDQuMjExIDEyLjI2MTEgMTA0LjIxMUM1Ljg2NjIgMTA0LjIxMSAwLjY4MjEyOSAxMDkuMzk1IDAuNjgyMTI5IDExNS43OUwwLjY4MjEyOSAxMjAuNDIxQzAuNjgyMTI5IDE1Mi4zOTUgMjYuNjAyNSAxNzguMzE2IDU4LjU3NjkgMTc4LjMxNkg2NS41MjQyQzcxLjkxOTEgMTc4LjMxNiA3Ny4xMDMyIDE3My4xMzIgNzcuMTAzMiAxNjYuNzM3Qzc3LjEwMzIgMTYwLjM0MiA3MS45MTkxIDE1NS4xNTggNjUuNTI0MiAxNTUuMTU4SDU4LjU3NjlaIiBmaWxsPSIjMURCRTYxIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTIxLjEwMyAyNS40NzM3QzE0MC4yODggMjUuNDczNyAxNTUuODQgNDEuMDI2IDE1NS44NCA2MC4yMTA2VjY0Ljg0MjJDMTU1Ljg0IDcxLjIzNyAxNjEuMDI0IDc2LjQyMTEgMTY3LjQxOSA3Ni40MjExQzE3My44MTQgNzYuNDIxMSAxNzguOTk4IDcxLjIzNyAxNzguOTk4IDY0Ljg0MjJWNjAuMjEwNkMxNzguOTk4IDI4LjIzNjIgMTUzLjA3OCAyLjMxNTg0IDEyMS4xMDMgMi4zMTU4NEwxMTQuMTU2IDIuMzE1ODRDMTA3Ljc2MSAyLjMxNTg0IDEwMi41NzcgNy40OTk5MSAxMDIuNTc3IDEzLjg5NDhDMTAyLjU3NyAyMC4yODk3IDEwNy43NjEgMjUuNDczNyAxMTQuMTU2IDI1LjQ3MzdIMTIxLjEwM1oiIGZpbGw9IiMxREJFNjEiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMjEuMTAzIDE1NS4xNThDMTQwLjI4OCAxNTUuMTU4IDE1NS44NCAxMzkuNjA2IDE1NS44NCAxMjAuNDIxVjExNS43OUMxNTUuODQgMTA5LjM5NSAxNjEuMDI0IDEwNC4yMTEgMTY3LjQxOSAxMDQuMjExQzE3My44MTQgMTA0LjIxMSAxNzguOTk4IDEwOS4zOTUgMTc4Ljk5OCAxMTUuNzlWMTIwLjQyMUMxNzguOTk4IDE1Mi4zOTUgMTUzLjA3OCAxNzguMzE2IDEyMS4xMDMgMTc4LjMxNkgxMTQuMTU2QzEwNy43NjEgMTc4LjMxNiAxMDIuNTc3IDE3My4xMzIgMTAyLjU3NyAxNjYuNzM3QzEwMi41NzcgMTYwLjM0MiAxMDcuNzYxIDE1NS4xNTggMTE0LjE1NiAxNTUuMTU4SDEyMS4xMDNaIiBmaWxsPSIjMURCRTYxIi8+Cjwvc3ZnPgo=)!important;background-position:50%;background-repeat:no-repeat;background-size:contain;content:"";height:1em;top:3px}#wp-admin-bar-popup-maker .counter{aspect-ratio:1/1;background-color:#1dbe61;border-radius:100%;color:#fff;display:inline-block;height:1.5em;line-height:1.5;margin-left:2px;padding-right:1px;text-align:center}.pum-modal{align-items:flex-start;background:#00000080;display:flex;height:100%;justify-content:center;left:0;padding-top:50px;position:fixed;top:0;width:100%;z-index:999999999999}.pum-modal .pum-modal-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 30px #0003;overflow:hidden;position:relative;width:500px}.pum-modal .pum-modal-header{align-items:center;background:#1a191b;color:#fff;display:flex;gap:10px;justify-content:space-between;padding:15px 20px}.pum-modal .pum-modal-header .pum-logo{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTc5IiBoZWlnaHQ9IjE3OSIgdmlld0JveD0iMCAwIDE3OSAxNzkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMjMuNzkxIDExOS4wMzFDMTI2LjA1IDExNi40MjYgMTI3LjQ4NSAxMTMuMjA5IDEyNy45MTYgMTA5Ljc4OEMxMjguMzQ3IDEwNi4zNjYgMTI3Ljc1MyAxMDIuODk0IDEyNi4yMSA5OS44MUwxMDYuNTk1IDYwLjU4M0MxMDUuMTQ3IDU3LjY4NzUgMTAyLjkyMSA1NS4yNTI1IDEwMC4xNjcgNTMuNTUwNkM5Ny40MTMgNTEuODQ4OCA5NC4yMzk0IDUwLjk0NzQgOTEuMDAxOCA1MC45NDc0Qzg3Ljc2NDMgNTAuOTQ3NCA4NC41OTA3IDUxLjg0ODggODEuODM2NSA1My41NTA2Qzc5LjA4MjQgNTUuMjUyNSA3Ni44NTY1IDU3LjY4NzUgNzUuNDA4MyA2MC41ODNMNTUuNzkzNyA5OS44MUM1NC4yNDgyIDEwMi44OTUgNTMuNjUzIDEwNi4zNyA1NC4wODM1IDEwOS43OTRDNTQuNTE0MSAxMTMuMjE3IDU1Ljk1MSAxMTYuNDM2IDU4LjIxMjMgMTE5LjA0M0M2MC40NzM3IDEyMS42NDkgNjMuNDU3NyAxMjMuNTI2IDY2Ljc4NjYgMTI0LjQzNkM3MC4xMTU0IDEyNS4zNDYgNzMuNjM5MyAxMjUuMjQ3IDc2LjkxMjEgMTI0LjE1M0w5MS4wOTk5IDExOS40NDVMMTA1LjIwMSAxMjQuMTMxQzEwOC40NTcgMTI1LjIwMyAxMTEuOTU4IDEyNS4yOTEgMTE1LjI2NSAxMjQuMzg0QzExOC41NzEgMTIzLjQ3NyAxMjEuNTM3IDEyMS42MTUgMTIzLjc5MSAxMTkuMDMxVjExOS4wMzFaTTkxLjA5OTkgNjguMzg0OEwxMTAuNzE0IDEwNy42MTJMOTUuOTE2NCAxMDIuNjg3QzkyLjc4OTcgMTAxLjY0NiA4OS40MTAyIDEwMS42NDYgODYuMjgzNSAxMDIuNjg3TDcxLjQ4NTQgMTA3LjYxMkw5MS4wOTk5IDY4LjM4NDhaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTU4LjU3NjkgMjUuNDczN0MzOS4zOTIyIDI1LjQ3MzcgMjMuODQgNDEuMDI2IDIzLjg0IDYwLjIxMDZWNjQuODQyMkMyMy44NCA3MS4yMzcgMTguNjU2IDc2LjQyMTEgMTIuMjYxMSA3Ni40MjExQzUuODY2MiA3Ni40MjExIDAuNjgyMTI5IDcxLjIzNyAwLjY4MjEyOSA2NC44NDIyTDAuNjgyMTI5IDYwLjIxMDZDMC42ODIxMjkgMjguMjM2MiAyNi42MDI1IDIuMzE1ODQgNTguNTc2OSAyLjMxNTg0TDY1LjUyNDIgMi4zMTU4NEM3MS45MTkxIDIuMzE1ODQgNzcuMTAzMiA3LjQ5OTkxIDc3LjEwMzIgMTMuODk0OEM3Ny4xMDMyIDIwLjI4OTcgNzEuOTE5MSAyNS40NzM3IDY1LjUyNDIgMjUuNDczN0g1OC41NzY5WiIgZmlsbD0iIzFEQkU2MSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTU4LjU3NjkgMTU1LjE1OEMzOS4zOTIyIDE1NS4xNTggMjMuODQgMTM5LjYwNiAyMy44NCAxMjAuNDIxVjExNS43OUMyMy44NCAxMDkuMzk1IDE4LjY1NiAxMDQuMjExIDEyLjI2MTEgMTA0LjIxMUM1Ljg2NjIgMTA0LjIxMSAwLjY4MjEyOSAxMDkuMzk1IDAuNjgyMTI5IDExNS43OUwwLjY4MjEyOSAxMjAuNDIxQzAuNjgyMTI5IDE1Mi4zOTUgMjYuNjAyNSAxNzguMzE2IDU4LjU3NjkgMTc4LjMxNkg2NS41MjQyQzcxLjkxOTEgMTc4LjMxNiA3Ny4xMDMyIDE3My4xMzIgNzcuMTAzMiAxNjYuNzM3Qzc3LjEwMzIgMTYwLjM0MiA3MS45MTkxIDE1NS4xNTggNjUuNTI0MiAxNTUuMTU4SDU4LjU3NjlaIiBmaWxsPSIjMURCRTYxIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTIxLjEwMyAyNS40NzM3QzE0MC4yODggMjUuNDczNyAxNTUuODQgNDEuMDI2IDE1NS44NCA2MC4yMTA2VjY0Ljg0MjJDMTU1Ljg0IDcxLjIzNyAxNjEuMDI0IDc2LjQyMTEgMTY3LjQxOSA3Ni40MjExQzE3My44MTQgNzYuNDIxMSAxNzguOTk4IDcxLjIzNyAxNzguOTk4IDY0Ljg0MjJWNjAuMjEwNkMxNzguOTk4IDI4LjIzNjIgMTUzLjA3OCAyLjMxNTg0IDEyMS4xMDMgMi4zMTU4NEwxMTQuMTU2IDIuMzE1ODRDMTA3Ljc2MSAyLjMxNTg0IDEwMi41NzcgNy40OTk5MSAxMDIuNTc3IDEzLjg5NDhDMTAyLjU3NyAyMC4yODk3IDEwNy43NjEgMjUuNDczNyAxMTQuMTU2IDI1LjQ3MzdIMTIxLjEwM1oiIGZpbGw9IiMxREJFNjEiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMjEuMTAzIDE1NS4xNThDMTQwLjI4OCAxNTUuMTU4IDE1NS44NCAxMzkuNjA2IDE1NS44NCAxMjAuNDIxVjExNS43OUMxNTUuODQgMTA5LjM5NSAxNjEuMDI0IDEwNC4yMTEgMTY3LjQxOSAxMDQuMjExQzE3My44MTQgMTA0LjIxMSAxNzguOTk4IDEwOS4zOTUgMTc4Ljk5OCAxMTUuNzlWMTIwLjQyMUMxNzguOTk4IDE1Mi4zOTUgMTUzLjA3OCAxNzguMzE2IDEyMS4xMDMgMTc4LjMxNkgxMTQuMTU2QzEwNy43NjEgMTc4LjMxNiAxMDIuNTc3IDE3My4xMzIgMTAyLjU3NyAxNjYuNzM3QzEwMi41NzcgMTYwLjM0MiAxMDcuNzYxIDE1NS4xNTggMTE0LjE1NiAxNTUuMTU4SDEyMS4xMDNaIiBmaWxsPSIjMURCRTYxIi8+Cjwvc3ZnPgo=) 50%/contain no-repeat;height:24px;width:24px}.pum-modal .pum-modal-header h4{color:#fff;font-weight:700;margin:0}.pum-modal .pum-modal-body{padding:20px}.pum-modal .pum-modal-body .pum-modal-copy{position:relative}.pum-modal .pum-modal-body .pum-modal-copy p{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;font-family:monospace;margin:0 0 15px;padding:10px;word-break:break-all}.pum-modal .pum-modal-body .pum-modal-copy .button{background-color:#fff;border:1px solid #ddd;bottom:0;cursor:pointer;padding:.25em;position:absolute;right:0}.pum-modal .pum-modal-body .pum-modal-copy .button .dashicons{font-size:16px;height:16px;margin:0;width:16px}.pum-modal .pum-modal-body .notice-success{color:#1dbe61}.pum-modal .pum-modal-close{background:none;border:none;color:#fffc;cursor:pointer;height:24px;padding:0;transition:color .2s;width:24px}.pum-modal .pum-modal-close:hover{color:#fff}.pum-modal .pum-modal-close .dashicons{font-size:24px;height:24px;width:24px} dist/packages/block-editor-rtl.css 0000644 00000007130 15174671772 0013176 0 ustar 00 .pum-block-inspector-popup-controls{border-bottom:1px solid #e2e4e7!important} .components-popover .block-editor-popup-select-input{display:flex;flex-direction:row;flex-grow:1;gap:0;justify-content:space-between;padding:1px;position:relative}.components-popover .block-editor-popup-select-input .components-base-control__field{margin-bottom:0}.components-popover .block-editor-popup-select-input input[type=text],.components-popover .block-editor-popup-select-input select{border:none;border-radius:0;font-size:16px;min-height:36px!important;min-width:300px!important;width:100%!important}@media(min-width:600px){.components-popover .block-editor-popup-select-input input[type=text],.components-popover .block-editor-popup-select-input select{font-size:13px;width:300px}}.components-popover .block-editor-popup-select-input input[type=text]::-ms-clear,.components-popover .block-editor-popup-select-input select::-ms-clear{display:none}.components-popover .block-editor-popup-select-input .components-input-control__backdrop{border:none}.components-popover .block-editor-popup-select-input button[type=submit]{z-index:1}.block-editor-popup-trigger-popover__additional-controls{border-top:1px solid #e2e4e7}.block-editor-popup-trigger-popover__additional-controls>div[role=menu] .components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default)>svg{box-shadow:none}.block-editor-popup-trigger-popover__additional-controls div[role=menu]>.components-icon-button{padding-right:2px}.block-editor-popup-trigger-popover .components-notice.is-dismissible{margin:0;padding-left:0}.block-editor-popup-trigger-popover .components-notice.is-dismissible .components-notice__content{margin:0}.block-editor-popup-trigger-popover__row{display:flex}.block-editor-popup-trigger-popover__row>:not(.block-editor-popup-trigger-popover__settings-toggle){flex-grow:1}.block-editor-popup-trigger-popover .components-icon-button{padding:3px}.block-editor-popup-trigger-popover .components-icon-button>svg{border-radius:8px;height:30px;padding:5px;width:30px}.block-editor-popup-trigger-popover .components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{box-shadow:none}.block-editor-popup-trigger-popover .components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover>svg{background-color:#fff;box-shadow:inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #fff;color:#555d66;outline:none}.block-editor-popup-trigger-popover .components-icon-button:not(:disabled):focus{box-shadow:none}.block-editor-popup-trigger-popover .components-icon-button:not(:disabled):focus>svg{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 4px #fff;outline:2px solid #0000}.block-editor-popup-trigger-popover__settings-toggle{border-right:1px solid #e2e4e7;border-radius:0;flex-shrink:0;margin-right:1px}.block-editor-popup-trigger-popover__settings-toggle[aria-expanded=true] .dashicon{transform:rotate(-180deg)}.block-editor-popup-trigger-popover__settings{border-top:1px solid #e2e4e7;display:block;padding:16px}.block-editor-popup-trigger-popover__settings .components-base-control:last-child,.block-editor-popup-trigger-popover__settings .components-base-control:last-child .components-base-control__field{margin-bottom:0}.block-editor-popup-trigger-popover__popup-editor,.block-editor-popup-trigger-popover__popup-viewer{display:flex}.block-editor-popup-trigger-popover__popup-viewer-text{flex-grow:1;flex-shrink:1;margin:7px;max-width:500px;min-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-editor-popup-trigger-popover__popup-viewer-text.has-invalid-link{color:#cc1818} dist/packages/icons.css.map 0000644 00000003424 15174671772 0011712 0 ustar 00 {"version":3,"file":"icons.css","mappings":";;;AAEE;EACC;AADH;AAME;EACC;AAJH;AAME;EACC;EACA;AAJH;AASE;EACC;AAPH;AAYE;EACC;AAVH;AAeE;EACC;AAbH;AAkBE;EACC;AAhBH;AAqBE;EACC;AAnBH;AAwBE;EACC;AAtBH;AA2BE;EACC;AAzBH;AA8BE;;EAEC;AA5BH;AAiCE;EACC;AA/BH;AAoCE;EACC;AAlCH;AAuCE;EACC;AArCH;AAuCE;EACC;EACA;AArCH;AA0CE;EACC;AAxCH;AA6CE;EACC;AA3CH,C","sources":["webpack://popup-maker/core/./packages/icons/src/lib/editor.scss?"],"sourcesContent":[".pum-icon {\n\t&--block-manager {\n\t\tpath {\n\t\t\tstroke: currentColor;\n\t\t}\n\t}\n\n\t&--block {\n\t\tpath {\n\t\t\tstroke: currentColor;\n\t\t}\n\t\trect {\n\t\t\tstroke: currentColor;\n\t\t\tfill: currentColor;\n\t\t}\n\t}\n\n\t&--check-all {\n\t\tpath {\n\t\t\tfill: currentColor;\n\t\t}\n\t}\n\n\t&--controlled-content {\n\t\tpath {\n\t\t\tstroke: currentColor;\n\t\t}\n\t}\n\n\t&--custom-redirect {\n\t\tpath {\n\t\t\tstroke: currentColor;\n\t\t}\n\t}\n\n\t&--filter-lines {\n\t\tpath {\n\t\t\tstroke: currentColor;\n\t\t}\n\t}\n\n\t&--incognito {\n\t\tpath {\n\t\t\tstroke: currentColor;\n\t\t}\n\t}\n\n\t&--license-key {\n\t\tpath {\n\t\t\tstroke: currentColor;\n\t\t}\n\t}\n\n\t&--locked-user {\n\t\tpath {\n\t\t\tstroke: currentColor;\n\t\t}\n\t}\n\n\t&--mark-colored {\n\t\tpath.pum-mark--center-path,\n\t\tpath:not(.pum-mark--center-path) {\n\t\t\tfill: currentColor;\n\t\t}\n\t}\n\n\t&--monitor {\n\t\tpath {\n\t\t\tstroke: currentColor;\n\t\t}\n\t}\n\n\t&--permissions {\n\t\tpath {\n\t\t\tstroke: currentColor;\n\t\t}\n\t}\n\n\t&--protected-message {\n\t\tpath {\n\t\t\tstroke: currentColor;\n\t\t}\n\t\trect {\n\t\t\tfill: currentColor;\n\t\t\tstroke: none;\n\t\t}\n\t}\n\n\t&--protected-redirect {\n\t\tpath {\n\t\t\tstroke: currentColor;\n\t\t}\n\t}\n\n\t&--upgrade {\n\t\tpath {\n\t\t\tfill: currentColor;\n\t\t}\n\t}\n}\n"],"names":[],"sourceRoot":""} dist/packages/block-library.js 0000644 00000063505 15174671772 0012411 0 ustar 00 (()=>{"use strict";var t={n:e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return t.d(a,{a}),a},d:(e,a)=>{for(var o in a)t.o(a,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:a[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{init:()=>O,metadata:()=>F,name:()=>L,settings:()=>H});var a={};t.r(a),t.d(a,{init:()=>Q,metadata:()=>K,name:()=>q,settings:()=>X});var o={};t.r(o),t.d(o,{ctaButton:()=>e,ctaButtons:()=>a});const r=window.wp.domReady;var n=t.n(r);const l=window.popupMaker.i18n,i=window.wp.element,s=((0,i.forwardRef)(({icon:t,size:e=24,...a},o)=>(0,i.cloneElement)(t,{width:e,height:e,...a,ref:o})),window.wp.primitives),h=window.ReactJSXRuntime,c=(s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.Circle,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,(0,h.jsx)(s.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,h.jsx)(s.Path,{d:"M8 12.5h8V11H8v1.5Z M19 6.5H5a2 2 0 0 0-2 2V15a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a2 2 0 0 0-2-2ZM5 8h14a.5.5 0 0 1 .5.5V15a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8.5A.5.5 0 0 1 5 8Z"})})),p=(s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,(0,h.jsx)(s.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,h.jsx)(s.Path,{d:"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z"})})),u=(0,h.jsx)(s.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,h.jsx)(s.Path,{d:"M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z"})}),S=(s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,(0,h.jsx)(s.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,h.jsx)(s.Path,{d:"M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z"})})),d=(s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.Path,s.Circle,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.G,s.Path,s.Path,s.SVG,s.G,s.Path,s.Path,s.SVG,s.G,s.Path,s.Path,s.SVG,s.G,s.Path,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,(0,h.jsx)(s.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,h.jsx)(s.Path,{d:"m19 7-3-3-8.5 8.5-1 4 4-1L19 7Zm-7 11.5H5V20h7v-1.5Z"})})),P=(s.SVG,s.Path,(0,h.jsx)(s.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,h.jsx)(s.Path,{d:"M19.5 4.5h-7V6h4.44l-5.97 5.97 1.06 1.06L18 7.06v4.44h1.5v-7Zm-13 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3H17v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3V5.5h-3Z"})})),V=(s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,(0,h.jsx)(s.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,h.jsx)(s.Path,{d:"M17.031 4.703 15.576 4l-1.56 3H14v.03l-2.324 4.47H9.5V13h1.396l-1.502 2.889h-.95a3.694 3.694 0 0 1 0-7.389H10V7H8.444a5.194 5.194 0 1 0 0 10.389h.17L7.5 19.53l1.416.719L15.049 8.5h.507a3.694 3.694 0 0 1 0 7.39H14v1.5h1.556a5.194 5.194 0 0 0 .273-10.383l1.202-2.304Z"})})),G=(s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.Path,s.SVG,s.Path,(0,h.jsx)(s.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,h.jsx)(s.Path,{fillRule:"evenodd",d:"M6.863 13.644L5 13.25h-.5a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5H5L18 6.5h2V16h-2l-3.854-.815.026.008a3.75 3.75 0 01-7.31-1.549zm1.477.313a2.251 2.251 0 004.356.921l-4.356-.921zm-2.84-3.28L18.157 8h.343v6.5h-.343L5.5 11.823v-1.146z",clipRule:"evenodd"})})),m=(s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.Path,s.SVG,s.Path,s.Path,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,(0,h.jsxs)(s.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[(0,h.jsx)(s.Path,{d:"m19 7.5h-7.628c-.3089-.87389-1.1423-1.5-2.122-1.5-.97966 0-1.81309.62611-2.12197 1.5h-2.12803v1.5h2.12803c.30888.87389 1.14231 1.5 2.12197 1.5.9797 0 1.8131-.62611 2.122-1.5h7.628z"}),(0,h.jsx)(s.Path,{d:"m19 15h-2.128c-.3089-.8739-1.1423-1.5-2.122-1.5s-1.8131.6261-2.122 1.5h-7.628v1.5h7.628c.3089.8739 1.1423 1.5 2.122 1.5s1.8131-.6261 2.122-1.5h2.128z"})]})),x=(s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.Path,s.SVG,s.Path,s.Path,s.Path,s.SVG,s.Path,s.Path,s.SVG,s.Path,s.Path,s.SVG,s.Path,s.Path,s.SVG,s.Path,s.Path,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,s.SVG,s.Path,window.wp.blocks);function w(t){if(!t)return;const{metadata:e,settings:a,name:o}=t;return(0,x.registerBlockType)({name:o,...e},a)}function g(t){var e,a,o="";if("string"==typeof t||"number"==typeof t)o+=t;else if("object"==typeof t)if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(a=g(t[e]))&&(o&&(o+=" "),o+=a)}else for(a in t)t[a]&&(o&&(o+=" "),o+=a);return o}const k=function(){for(var t,e,a=0,o="",r=arguments.length;a<r;a++)(t=arguments[a])&&(e=g(t))&&(o&&(o+=" "),o+=e);return o},b=window.React,_=window.wp.blockEditor,f=window.wp.htmlEntities,y=window.wp.components,v=window.wp.data,C=window.wp.editor,j=window.wp.compose,B=window.wp.keycodes,T=window.popupMaker.components,A=window.popupMaker.coreData,M=window.popupMaker.ctaEditor;function z(t,e,a){if(!t)return;const o=[];if(["popup-maker/cta-button"].includes(e)&&a&&o.push("id","bindings"),!o.length)return;const r=Object.entries(t).reduce((t,[e,r])=>o.includes(e)?(t[e]="bindings"===e&&a?a(r):r,t):t,{});return Object.keys(r).length?r:void 0}function N(t){return t.toString().replace(/<\/?a[^>]*>/g,"")}window.wp.blob,window.wp.coreData;const I="_blank",D="nofollow",E=(0,M.withModal)(M.Editor);function R({selectedWidth:t,setAttributes:e}){const a=(0,j.useViewportMatch)("medium","<")?{}:{popoverProps:{placement:"left-start",offset:259}};return(0,h.jsx)(y.__experimentalToolsPanel,{label:(0,l.__)("Settings","default"),resetAll:()=>e({width:void 0}),dropdownMenuProps:a,children:(0,h.jsx)(y.__experimentalToolsPanelItem,{label:(0,l.__)("Button width","default"),isShownByDefault:!0,hasValue:()=>!!t,onDeselect:()=>e({width:void 0}),as:"div",__nextHasNoMarginBottom:!0,children:(0,h.jsx)(y.__experimentalToggleGroupControl,{label:(0,l.__)("Button width","default"),value:t,onChange:t=>e({width:Number(t)}),isBlock:!0,__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0,children:[25,50,75,100].map(t=>(0,h.jsx)(y.__experimentalToggleGroupControlOption,{value:t,label:`${t}%`},t))})})})}const F=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"popup-maker/cta-button","title":"Call to Action Button","category":"popup-maker","parent":["popup-maker/cta-buttons","core/buttons"],"description":"Prompt visitors to take action with a button-style link.","keywords":["link","button","call to action","cta","conversion"],"textdomain":"popup-maker","attributes":{"tagName":{"type":"string","enum":["a","button"],"default":"a"},"type":{"type":"string","default":"button"},"textAlign":{"type":"string"},"url":{"type":"string","source":"attribute","selector":"a","attribute":"href","role":"content"},"title":{"type":"string","source":"attribute","selector":"a,button","attribute":"title","role":"content"},"text":{"type":"rich-text","source":"rich-text","selector":"a,button","role":"content"},"linkTarget":{"type":"string","source":"attribute","selector":"a","attribute":"target","role":"content"},"rel":{"type":"string","source":"attribute","selector":"a","attribute":"rel","role":"content"},"placeholder":{"type":"string"},"backgroundColor":{"type":"string"},"textColor":{"type":"string"},"gradient":{"type":"string"},"width":{"type":"number"},"ctaId":{"type":"number"}},"supports":{"anchor":true,"splitting":true,"align":false,"alignWide":false,"color":{"__experimentalSkipSerialization":true,"gradients":true,"__experimentalDefaultControls":{"background":true,"text":true}},"typography":{"__experimentalSkipSerialization":["fontSize","lineHeight","fontFamily","fontWeight","fontStyle","textTransform","textDecoration","letterSpacing"],"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalWritingMode":true,"__experimentalDefaultControls":{"fontSize":true}},"reusable":false,"shadow":{"__experimentalSkipSerialization":true},"spacing":{"__experimentalSkipSerialization":true,"padding":["horizontal","vertical"],"__experimentalDefaultControls":{"padding":true}},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true,"__experimentalSkipSerialization":true,"__experimentalDefaultControls":{"color":true,"radius":true,"style":true,"width":true}},"__experimentalSelector":".wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link","interactivity":{"clientNavigation":true}},"styles":[{"name":"fill","label":"Fill","isDefault":true},{"name":"outline","label":"Outline"}],"editorStyle":"popup-maker-block-library","style":"popup-maker-block-library-style","selectors":{"root":".wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link","typography":{"writingMode":".wp-block-popup-maker-cta-button"}}}'),{name:L}=F,H={icon:c,example:{attributes:{className:"is-style-fill",text:(0,l.__)("Call to Action","popup-maker")}},edit:function(t){const{attributes:e,setAttributes:a,className:o,isSelected:r,onReplace:n,mergeBlocks:s,clientId:c,context:w}=t,{tagName:g,textAlign:M,linkTarget:z,placeholder:F,rel:L,style:H,text:O,url:$,width:W,metadata:Z,ctaId:U}=e,J=g||"a",[K,q]=(0,i.useState)(!1),[X,Q]=(0,i.useState)(!1),Y=r&&(K||!!U),[tt,et]=(0,i.useState)(null),at=(0,i.useRef)(null),ot=(0,i.useRef)(null),rt=(0,_.useBlockProps)({ref:(0,j.useMergeRefs)([et,at]),onKeyDown:function(t){B.isKeyboardEvent.primary(t,"k")?(t.preventDefault(),wt()):B.isKeyboardEvent.primaryShift(t,"k")&&(gt(),ot.current?.focus())}}),nt=(0,_.__experimentalUseBorderProps)(e),lt=(0,_.__experimentalUseColorProps)(e),it=(0,_.__experimentalGetSpacingClassesAndStyles)(e),st=(0,_.__experimentalGetShadowClassesAndStyles)(e),ht=(0,_.useBlockEditingMode)(),ct=z===I,pt=!!L?.includes(D),ut="a"===J,St=(0,v.useSelect)(t=>U?t(A.callToActionStore).getCallToAction(U):void 0,[U]),{currentPostId:dt,currentPostType:Pt}=(0,v.useSelect)(t=>({currentPostId:t(C.store).getCurrentPostId(),currentPostType:t(C.store).getCurrentPostType()}),[]),Vt=window.popupMakerBlockLibrary?.homeUrl||"/",Gt=(0,b.useCallback)((t,e=!1)=>{const a=new URLSearchParams;return a.set("cta",t),"popup"===Pt&&dt&&a.set("pid",dt.toString()),e&&a.set("notrack","1"),`${Vt.replace(/\/$/,"")}/?${a.toString()}`},[dt,Pt,Vt]),{createCallToAction:mt,changeEditorId:xt}=(0,v.useDispatch)(A.callToActionStore);function wt(){q(!0)}function gt(){a({ctaId:void 0,url:void 0,linkTarget:void 0,rel:void 0}),q(!1)}(0,i.useEffect)(()=>{r||q(!1)},[r]),(0,i.useEffect)(()=>{if(U)if(St){const t=Gt(St.uuid);a({url:t,linkTarget:St.settings.opensInNewTab?I:void 0,rel:St.settings.nofollow?D:void 0})}else a({url:void 0,linkTarget:void 0,rel:void 0})},[U,St,Pt,dt,Vt,a,Gt]);const kt=function(t){const{replaceBlocks:e,selectionChange:a}=(0,v.useDispatch)(_.store),o=(0,v.useSelect)(t=>t(_.store).getBlock,[]),r=(0,v.useSelect)(t=>t(_.store).getBlockRootClientId,[]),n=(0,v.useSelect)(t=>t(_.store).getBlockIndex,[]),l=(0,i.useRef)(t);return l.current=t,(0,j.useRefEffect)(t=>{function i(t){if(t.defaultPrevented||t.keyCode!==B.ENTER)return;const{content:i,clientId:s}=l.current;if(i.length)return;t.preventDefault();const h=o(r(s)),c=n(s),p=(0,x.cloneBlock)({...h,innerBlocks:h.innerBlocks.slice(0,c)}),u=(0,x.createBlock)((0,x.getDefaultBlockName)()||""),S=h.innerBlocks.slice(c+1),d=S.length?[(0,x.cloneBlock)({...h,innerBlocks:S})]:[];e(h.clientId,[p,u,...d],1),a(u.clientId)}return t.addEventListener("keydown",i),()=>{t.removeEventListener("keydown",i)}},[])}({content:O,clientId:c}),bt=(0,j.useMergeRefs)([kt,ot]),[_t,ft]=(0,i.useState)(!1),yt=ut&&r&&(!!U||K)&&!!tt,[vt,Ct]=(0,i.useState)(0);(0,i.useEffect)(()=>{!async function(){if(!1!==X){if(!0===X){const t=await mt({title:(0,l.__)("New call to action","popup-maker"),status:"publish"});t?(xt(t.id),Q(t.id),q(!0)):Q(!1)}else"number"==typeof X&&X>0&&q(!0);Ct(t=>t+1)}}()},[X,mt,xt]);const[jt,Bt]=(0,_.useSettings)("typography.fluid","layout"),Tt=(0,_.getTypographyClassesAndStyles)(e,{typography:{fluid:jt},layout:{wideSize:Bt?.wideSize}}),At=(0,v.useSelect)(t=>{const e=t(A.callToActionStore),a=U?e.getFetchError(U)||null:e.getFetchError()||null;return null===a?null:a.replace("Invalid post ID.",(0,l.__)("Call to action not found.","popup-maker"))},[U]);return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)("div",{...rt,className:k(rt.className,{[`has-custom-width wp-block-popup-maker-cta-button__width-${W}`]:W,"has-custom-font-size":rt.style.fontSize}),style:{...rt.style,border:At?"2px solid red":void 0},children:(0,h.jsx)(_.RichText,{ref:bt,"aria-label":(0,l.__)("Button text","default"),placeholder:F||(0,l.__)("Add text…","default"),value:O,onChange:t=>a({text:N(t)}),withoutInteractiveFormatting:!0,className:k(o,"wp-block-popup-maker-cta-button__link",lt.className,nt.className,Tt.className,{[`has-text-align-${M}`]:M,"no-border-radius":0===H?.border?.radius,"has-custom-font-size":rt.style.fontSize}),style:{...nt.style,...lt.style,...it.style,...st.style,...Tt.style,writingMode:void 0},onReplace:n,onMerge:s,identifier:"text"})}),(0,h.jsxs)(_.BlockControls,{group:"block",children:["default"===ht&&(0,h.jsx)(_.AlignmentControl,{value:M,onChange:t=>{a({textAlign:t})}}),!St&&ut&&(0,h.jsx)(y.ToolbarButton,{icon:G,title:(0,l.__)("Add Call to Action","popup-maker"),shortcut:B.displayShortcut.primary("k"),onClick:t=>{t.preventDefault(),wt()}}),St&&ut&&(0,h.jsx)(y.ToolbarButton,{icon:V,title:(0,l.__)("Remove Call to Action","popup-maker"),shortcut:B.displayShortcut.primaryShift("k"),onClick:gt,isActive:!0})]}),yt&&(0,h.jsx)(y.Popover,{placement:"bottom",onClose:()=>{q(!1),ot.current?.focus?.()},anchor:tt,focusOnMount:!!Y&&"firstElement",__unstableSlotName:"__unstable-block-tools-after",shift:!0,className:"block-editor-link-control",children:(0,h.jsxs)("div",{style:{width:"300px",padding:"10px"},children:[At&&(0,h.jsx)("div",{className:"pum-cta-error-notice",children:(0,h.jsx)(y.Notice,{status:"error",isDismissible:!1,children:At})}),K||At?(0,h.jsx)(y.Flex,{direction:"column",children:(0,h.jsxs)(y.Flex,{align:"center",justify:"space-between",children:[(0,h.jsx)(y.FlexItem,{style:{flexGrow:1},children:(0,h.jsx)(T.CallToActionSelectControl,{value:U&&!At?U:0,onChange:async t=>{"create_new"!==t?(a({ctaId:Number(t)}),q(!1)):Q(!0)},hideLabelFromVision:!0,placeholder:(0,l.__)("Search or create CTA…","popup-maker"),multiple:!1,extraOptions:[{value:"create_new",label:(0,l.__)("+ Create new CTA","popup-maker")}]})}),(0,h.jsx)(y.FlexItem,{children:(0,h.jsx)(y.Button,{icon:p,label:(0,l.__)("Save","popup-maker"),onClick:()=>q(!1)})})]})}):St&&(0,h.jsxs)(y.Flex,{direction:"column",gap:3,children:[(0,h.jsxs)(y.Flex,{justify:"space-between",align:"center",children:[(0,h.jsx)("div",{style:{fontSize:"16px",fontWeight:"500",color:"#1e1e1e",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:(0,f.decodeEntities)(St?.title?.rendered),children:(0,f.decodeEntities)(St?.title?.rendered)}),(0,h.jsx)(y.Button,{icon:V,variant:"link",size:"small",style:{textDecoration:"none"},isDestructive:!0,onClick:gt,label:(0,l.__)("Remove","popup-maker")})]}),(0,h.jsxs)(y.Flex,{justify:"space-between",align:"center",style:{color:"#1e1e1e"},children:[(0,h.jsxs)("div",{style:{fontSize:"12px",color:"#666",backgroundColor:"#f0f0f0",padding:"2px 8px",borderRadius:"12px",fontWeight:"500",flexGrow:.5,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["ID: ",St?.id]}),(0,h.jsx)(y.Button,{icon:P,variant:"tertiary",style:{borderRadius:"6px",textDecoration:"none",color:"#1e1e1e",padding:".25rem 0.75rem",flexGrow:1},href:Gt(St.uuid,!0),target:"_blank",rel:"noopener noreferrer",showTooltip:!0,label:(0,l.__)("Preview Call To Action","popup-maker"),children:(0,l.__)("Preview","popup-maker")}),(0,h.jsx)(y.Button,{icon:d,variant:"tertiary",style:{borderRadius:"6px",textDecoration:"none",color:"#1e1e1e",padding:".25rem 0.75rem",flexGrow:1},href:`edit.php?post_type=popup&page=popup-maker-call-to-actions&edit=${St.id}`,target:"_blank",label:(0,l.__)("Edit Call to Action","popup-maker"),showTooltip:!0,children:(0,l.__)("Edit","popup-maker")})]}),(0,h.jsxs)(y.Button,{icon:m,variant:"secondary",onClick:()=>ft(!_t),style:{width:"100%",justifyContent:"space-between",border:"1px solid #ddd",borderRadius:"6px",padding:"8px 12px"},showTooltip:!0,label:(0,l.__)("Advanced Options","popup-maker"),children:[(0,l.__)("Advanced Options","popup-maker"),(0,h.jsx)(y.Icon,{icon:_t?S:u})]}),_t&&(0,h.jsxs)(y.Flex,{direction:"column",gap:3,children:[(0,h.jsx)(y.ToggleControl,{label:(0,l.__)("Open in new window","popup-maker"),checked:ct,onChange:t=>{a({linkTarget:t?I:void 0})},__nextHasNoMarginBottom:!0}),(0,h.jsx)(y.ToggleControl,{label:(0,l.__)('Add rel="nofollow"',"popup-maker"),checked:pt,onChange:t=>{a({rel:t?D:void 0})},__nextHasNoMarginBottom:!0})]})]})]})}),(0,h.jsx)(_.InspectorControls,{group:"settings",children:(0,h.jsx)(y.Panel,{header:(0,l.__)("CTA Settings","popup-maker"),children:(0,h.jsx)(y.PanelBody,{children:(0,h.jsx)(T.CallToActionSelectControl,{label:(0,l.__)("Choose a Call to Action","popup-maker"),value:U,placeholder:(0,l.__)("Search or create CTA…","popup-maker"),onChange:async t=>{"create_new"!==t?(a({ctaId:Number(t)}),q(!1)):Q(!0)},extraOptions:[{value:"create_new",label:(0,l.__)("+ Create new CTA","popup-maker")}]})})})}),(0,h.jsx)(_.InspectorControls,{children:(0,h.jsx)(R,{selectedWidth:W,setAttributes:a})}),(0,h.jsx)(_.InspectorControls,{group:"advanced",children:ut&&(0,h.jsx)(y.TextControl,{__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0,label:(0,l.__)("Link rel","default"),value:L||"",onChange:t=>a({rel:t})})}),"number"==typeof X&&X>0&&(0,h.jsx)(E,{id:X,defaultValues:{status:"publish"},onSave:t=>{a({ctaId:t.id})},closeOnSave:!0,onClose:()=>{Q(!1)}},X)]})},save:function({attributes:t,className:e}){const{tagName:a,type:o,textAlign:r,fontSize:n,linkTarget:l,rel:i,style:s,text:c,title:p,url:u,width:S}=t,d=a||"a",P="button"===d,V=o||"button",G=(0,_.__experimentalGetBorderClassesAndStyles)(t),m=(0,_.__experimentalGetColorClassesAndStyles)(t),x=(0,_.__experimentalGetSpacingClassesAndStyles)(t),w=(0,_.__experimentalGetShadowClassesAndStyles)(t),g=(0,_.getTypographyClassesAndStyles)(t),b=k("pum-cta","wp-block-popup-maker-cta-button__link","wp-element-button",m.className,G.className,g.className,{[`has-text-align-${r}`]:r,"no-border-radius":0===s?.border?.radius,"has-custom-font-size":n||s?.typography?.fontSize}),f={...G.style,...m.style,...x.style,...w.style,...g.style,writingMode:void 0},y=k(e,{[`has-custom-width wp-block-popup-maker-cta-button__width-${S}`]:Boolean(S)});return(0,h.jsx)("div",{..._.useBlockProps.save({className:y}),children:(0,h.jsx)(_.RichText.Content,{tagName:d,type:P?V:null,className:b,href:P?null:u,title:p,style:f,value:c,target:P?null:l,rel:P?null:i})})},deprecated:[],merge:(t,{text:e=""})=>({...t,text:(t.text||"")+e})},O=()=>w({name:L,metadata:F,settings:H}),$=window.popupMaker.icons,W=window.wp.hooks,Z=(t,e)=>(Z.body||(Z.body=t.implementation.createHTMLDocument("").body),Z.body.innerHTML=e,Z.body),U={from:[{type:"block",isMultiBlock:!0,blocks:["popup-maker/cta-button","core/button"],transform:t=>(0,x.createBlock)("popup-maker/cta-buttons",{},t.map((t,e)=>"core/button"===e?(0,x.createBlock)("core/button",t):(0,x.createBlock)("popup-maker/cta-button",t)))},{type:"block",isMultiBlock:!0,blocks:["core/buttons"],transform:t=>(0,x.createBlock)("popup-maker/cta-buttons",{},t.map(t=>(0,x.createBlock)("core/button",t)))},{type:"block",isMultiBlock:!0,blocks:["core/paragraph"],transform:t=>(0,x.createBlock)("popup-maker/cta-buttons",{},t.map(t=>{const{content:e,metadata:a}=t,o=Z(document,e),r=o.innerText||"",n=o.querySelector("a"),l=n?.getAttribute("href");return(0,x.createBlock)("popup-maker/cta-button",{text:r,url:l,metadata:z(a,"popup-maker/cta-button",({content:t})=>({text:t}))})})),isMatch:t=>t.every(t=>{const e=Z(document,t.content),a=e.innerText||"",o=e.querySelectorAll("a");return a.length<=30&&o.length<=1})}]},J={name:"popup-maker/cta-button",attributesToCopy:["backgroundColor","border","className","fontFamily","fontSize","gradient","style","textColor","width"]},K=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"popup-maker/cta-buttons","title":"Call to Action Buttons","category":"popup-maker","allowedBlocks":["popup-maker/cta-button","core/button"],"description":"Prompt visitors to take action with a group of button-style links.","keywords":["link","button","call to action","cta","conversion"],"textdomain":"popup-maker","attributes":{},"supports":{"anchor":true,"align":["wide","full"],"html":false,"__experimentalExposeControlsToChildren":true,"color":{"gradients":true,"text":false,"__experimentalDefaultControls":{"background":true}},"spacing":{"blockGap":["horizontal","vertical"],"padding":true,"margin":["top","bottom"],"__experimentalDefaultControls":{"padding":true,"blockGap":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true,"__experimentalDefaultControls":{"color":true,"radius":true,"style":true,"width":true}},"layout":{"allowSwitching":false,"allowInheriting":false,"default":{"type":"flex"}},"interactivity":{"clientNavigation":true}},"editorStyle":"popup-maker-block-library","style":"popup-maker-block-library-style"}'),{name:q}=K,X={icon:$.Mark,example:{attributes:{layout:{type:"flex",justifyContent:"center"}},innerBlocks:[{name:"popup-maker/cta-button",attributes:{text:(0,l.__)("Buy now","popup-maker")}},{name:"popup-maker/cta-button",attributes:{text:(0,l.__)("Contact us","popup-maker")}}]},deprecated:[],transforms:U,edit:function({attributes:t,className:e}){var a;const{fontSize:o,layout:r,style:n}=t,l=(0,_.useBlockProps)({className:k(e,{"has-custom-font-size":o||n?.typography?.fontSize})}),{hasButtonVariations:i}=(0,v.useSelect)(t=>({hasButtonVariations:t(x.store).getBlockVariations("popup-maker/cta-button","inserter").length>0}),[]),s=(0,_.useInnerBlocksProps)(l,{defaultBlock:J,directInsert:!i,template:[["popup-maker/cta-button"]],templateInsertUpdatesSelection:!0,orientation:null!==(a=r?.orientation)&&void 0!==a?a:"horizontal"});return(0,h.jsx)("div",{...s})},save:function({attributes:t,className:e}){const{fontSize:a,style:o}=t,r=_.useBlockProps.save({className:k(e,{"has-custom-font-size":a||o?.typography?.fontSize})}),n=_.useInnerBlocksProps.save(r);return(0,h.jsx)("div",{...n})}},Q=()=>w({name:q,metadata:K,settings:X});(0,W.addFilter)("blocks.registerBlockType","popup-maker/cta-buttons",t=>{const{name:e}=t;switch(e){case"core/button":return{...t,parent:[...t.parent,"popup-maker/cta-buttons"]};case"core/buttons":return{...t,allowedBlocks:[...t.allowedBlocks,"popup-maker/cta-button"]};default:return t}}),n()(()=>{Object.values(o).forEach(({init:t})=>{t()})}),(window.popupMaker=window.popupMaker||{}).blockLibrary={}})(); dist/packages/core-data.js.map 0000644 00001342650 15174671772 0012272 0 ustar 00 {"version":3,"file":"core-data.js","mappings":";;;;;;;;;;;;;;;;;AAAkC;AACE;AAMN;;;AAG9B;AACA;AACA;;AAE0C;AACI;AAMhB;;AAE9B,sEAAe,gBAAgB,EAAE,6CAAI,EAAE,+CAAM;AAC7C,kBAAkB;AAClB,aAAa;AACb,uBAAuB;AACvB,yBAAyB;AACzB,CAAC,CAAC,E;;;;;;;;;;;;;;;;;;;;;;;AC5BqG;AAChG,qBAAqB,oDAAU;AAC/B,gBAAgB,oDAAU;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,KAAK;AACL;AACA;AACA;AACA,iBAAiB;AACjB,KAAK;AACL;AACA;AACA;AACA,iBAAiB;AACjB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,wDAAU;AAChC;AACA,uDAAuD,+BAA+B;AACtF,mCAAmC,kDAAkD;AACrF,iBAAiB;AACjB,KAAK;AACL;AACA;AACA;AACA,mCAAmC,mCAAmC,wDAAU,eAAe;AAC/F,iBAAiB;AACjB,KAAK;AACL;AACA,iBAAiB;AACjB,KAAK;AACL;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,YAAY,uDAAS;AACrB;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,iBAAiB;AACjB,KAAK;AACL;AACA;AACA,iBAAiB;AACjB,KAAK;AACL;AACA;AACA;AACA,iBAAiB;AACjB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;AACO;AACP,wCAAwC;AACxC,qCAAqC;AACrC,gDAAgD;AAChD,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA,uEAAuE;AACvE,mFAAmF;AACnF,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,uBAAuB,wDAAU;AACjC;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mEAAqB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,uDAAS;AACvD;AACA,sBAAsB;AACtB,6BAA6B,uDAAS;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gGAAgG;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gGAAgG;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,oBAAoB;AAC7C;AACO;AACP,qCAAqC;AACrC,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wDAAU;AAC7B;AACA;AACA,6CAA6C,cAAc;AAC3D;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kGAAkG,0DAAY;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,wDAAU,YAAY,wDAAU;AACvD;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,UAAU;AACnC;AACA;AACA,yBAAyB,UAAU;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AChbA;AACA;AACA;AACA;AACA;AAC6F;AACrD;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wDAAU;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,iCAAiC;AACjC;AACA;AACA;AACA,QAAQ,qDAAU;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,yDAAW;AAC7B,kBAAkB,yDAAW;AAC7B;AACA;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA,YAAY,4DAAc;AAC1B;AACA;AACA,gEAAgE,iEAAmB;AACnF;AACA;AACA;AACA;AACA;AACA,uCAAuC,+BAA+B,iEAAmB,cAAc,wDAAU,UAAU;AAC3H;AACA,mCAAmC,kCAAkC,iEAAmB,cAAc,wDAAU,UAAU;AAC1H;AACA;AACA;AACA;AACA;AACA,+BAA+B,+BAA+B,iEAAmB,cAAc,wDAAU,UAAU;AACnH;AACA,2BAA2B,iCAAiC,iEAAmB,OAAO;AACtF,4BAA4B;AAC5B;AACA;AACA;AACA,+BAA+B,uCAAuC;AACtE;AACA,2BAA2B,uCAAuC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oBAAoB;AACxC;AACA,aAAa,4DAAc;AAC3B,2BAA2B,8BAA8B,iEAAmB,cAAc,wDAAU,YAAY;AAChH;AACA;AACA;AACA;AACA;AACA;AACO;AACP,iCAAiC;AACjC;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;AC/KA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAI,IAAI,SAAI;AAC7B;AACA;AACA,eAAe,gBAAgB,sCAAsC,kBAAkB;AACvF,8BAA8B;AAC9B;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,CAAC;AACD;AACO;AACP;AACA;AACO;AACP;AACA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB;AACO;AACP;AACA;AACA,oDAAoD;AACpD;AACA,yBAAyB;AACzB;AACA,wBAAwB;AACxB;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,gDAAgD,WAAW;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mBAAmB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,4DAA4D;AACxI;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,8DAA8D,4DAA4D;AAC1H;AACA;AACA;AACA,CAAC;AACqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1KwB;AACgB;AAEd;AACW;AACD;AAEC;AAEb;AACW;AACL;AACX;AAUzC,MAAM;EACLgB,cAAc;EACdC,YAAY;EACZC,gBAAgB;EAChBC,WAAW;EACXC,oBAAoB;EACpBC,kBAAkB;EAClBC,gBAAgB;EAChBC,gBAAgB;EAChBC,iBAAiB;EACjBC,oBAAoB;EACpBC;AACD,CAAC,GAAGjB,oDAAY;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMkB,2BAA2B,GAAGA,CACnCC,KAAU,EACVC,KAAyB,EACzBC,QAAa,EACbC,QAAa,KACT;EACJ;EACA,IAAKH,KAAK,EAAEI,IAAI,KAAK,oBAAoB,IAAIJ,KAAK,EAAEK,IAAI,EAAEC,MAAM,EAAG;IAClE;IACA,IAAKL,KAAK,EAAG;MACZ,MAAMM,OAAO,GAAGJ,QAAQ,CACtBK,MAAM,CAAE7B,qDAAa,CAAC,CACtB8B,UAAU,CAAE3B,sDAAe,CAAC;MAC9B,MAAM4B,WAAW,GAAGH,OAAO,CAACI,MAAM,CAC/BC,CAAS,IAAMA,CAAC,CAACC,EAAE,EAAEC,UAAU,CAAE,eAAgBb,KAAK,GAAK,CAC9D,CAAC;MACDS,WAAW,CAACK,OAAO,CAAIH,CAAS,IAC/BT,QAAQ,CACND,QAAQ,CAAEvB,qDAAa,CAAC,CACxBqC,YAAY,CAAEJ,CAAC,CAACC,EAAE,EAAE/B,sDAAe,CACtC,CAAC;IACF;;IAEA;IACAmC,MAAM,CAACC,OAAO,CAAElB,KAAK,CAACK,IAAI,CAACC,MAAO,CAAC,CAACS,OAAO,CAAE,CAAE,CAAEI,KAAK,EAAEC,OAAO,CAAE,KAAM;MACtE;MACA,IAAKD,KAAK,KAAK,UAAU,IAAInB,KAAK,CAACK,IAAI,CAACgB,OAAO,EAAEC,QAAQ,EAAG;QAC3D,MAAMC,aAAa,GAAGvB,KAAK,CAACK,IAAI,CAACgB,OAAO,CAACC,QAAQ;;QAEjD;QACA,IAAKC,aAAa,CAAClB,IAAI,EAAEc,KAAK,EAAG;UAChCjB,QAAQ,CAACsB,iBAAiB,CAAED,aAAa,CAACH,OAAO,EAAE;YAClDP,EAAE,EAAE,eAAgBZ,KAAK,IAAI,KAAK,IACjCsB,aAAa,CAAClB,IAAI,CAACc,KAAK,EACvB;YACFM,aAAa,EAAE,KAAK;YACpBC,IAAI,EAAE,SAAS,CAAE;UAClB,CAAE,CAAC;QACJ;;QAEA;QACA,IACCH,aAAa,CAACI,iBAAiB,IAC/BC,KAAK,CAACC,OAAO,CAAEN,aAAa,CAACI,iBAAkB,CAAC,EAC/C;UACDJ,aAAa,CAACI,iBAAiB,CAACZ,OAAO,CACpCe,eAAoB,IAAM;YAC3B,IACCA,eAAe,CAACzB,IAAI,EAAEc,KAAK,IAC3BW,eAAe,CAACV,OAAO,EACtB;cACDlB,QAAQ,CAACsB,iBAAiB,CACzBM,eAAe,CAACV,OAAO,EACvB;gBACCP,EAAE,EAAE,eAAgBZ,KAAK,IAAI,KAAK,IACjC6B,eAAe,CAACzB,IAAI,CAACc,KAAK,EACzB;gBACFM,aAAa,EAAE,KAAK;gBACpBC,IAAI,EAAE,SAAS,CAAE;cAClB,CACD,CAAC;YACF;UACD,CACD,CAAC;QACF;MACD,CAAC,MAAM;QACN;QACAxB,QAAQ,CAACsB,iBAAiB,CAAEJ,OAAO,EAAY;UAC9CP,EAAE,EAAE,eAAgBZ,KAAK,IAAI,KAAK,IAAMkB,KAAK,EAAG;UAChDM,aAAa,EAAE,KAAK;UACpBC,IAAI,EAAE,SAAS,CAAE;QAClB,CAAE,CAAC;MACJ;IACD,CAAE,CAAC;IACH,OAAO,IAAI;EACZ;EACA,OAAO,KAAK;AACb,CAAC;;AAED;AACA;AACA;AACA,MAAMK,aAAa,GAAG;EACrB;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EACCC,kBAAkB,EACjBA,CACCC,YAAoC,EACpCC,QAAiB,GAAG,IAAI,EACxBC,WAAoB,GAAG,IAAI,KAE5B,OAAQ;IAAEjC,QAAQ;IAAEC;EAAS,CAAC,KAAM;IACnC,MAAMiC,MAAM,GAAG,oBAAoB;IAEnC,IAAI;MACHlC,QAAQ,CAAE;QACTwB,IAAI,EAAE7B,oBAAoB;QAC1BwC,OAAO,EAAE;UACRC,UAAU,EAAEF,MAAM;UAClBG,MAAM,EAAExD,sDAAc,CAACyD;QACxB;MACD,CAAE,CAAC;MAEH,MAAM;QAAE3B,EAAE;QAAE,GAAG4B;MAAO,CAAC,GAAGR,YAAY;MAEtC,IAAKC,QAAQ,EAAG;QACf,MAAMQ,UAAU,GAAGxD,iEAAoB,CAAEuD,MAAO,CAAC;QAEjD,IAAK,IAAI,KAAKC,UAAU,EAAG;UAC1BxC,QAAQ,CAAE;YACTwB,IAAI,EAAE7B,oBAAoB;YAC1BwC,OAAO,EAAE;cACRC,UAAU,EAAEF,MAAM;cAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;cAC5BvB,OAAO,EAAEsB,UAAU,CAACtB;YACrB;UACD,CAAE,CAAC;UACH,IAAKe,WAAW,EAAG;YAClB,MAAMjC,QAAQ,CAACsB,iBAAiB,CAC/BkB,UAAU,CAACtB,OAAO,EAClB;cACCP,EAAE,EAAE;YACL,CACD,CAAC;UACF;UAEA,OAAO,KAAK;QACb;MACD;MAEA,MAAM+B,MAAM,GAAG,MAAM5D,oDAAY,CAChC,mBAAmB,EACnB;QACC6D,MAAM,EAAE,MAAM;QACdxC,IAAI,EAAEoC;MACP,CACD,CAAC;MAED,IAAKG,MAAM,EAAG;QACbzC,QAAQ,CAAC2C,KAAK,CAAE,MAAM;UACrB5C,QAAQ,CAAE;YACTwB,IAAI,EAAE7B,oBAAoB;YAC1BwC,OAAO,EAAE;cACRC,UAAU,EAAEF,MAAM;cAClBG,MAAM,EAAExD,sDAAc,CAACgE;YACxB;UACD,CAAE,CAAC;UAEH,IAAKZ,WAAW,EAAG;YAClBjC,QAAQ,CAAC8C,mBAAmB,CAC3BvE,0DAAO;YACN;YACAD,qDAAE,CACD,yCAAyC,EACzC,aACD,CAAC,EACDI,wEAAc,CAAEgE,MAAM,EAAEK,KAAK,CAACC,QAAS,CACxC,CAAC,EACD;cACCrC,EAAE,EAAE;YACL,CACD,CAAC;UACF;UAEAX,QAAQ,CAAE;YACTwB,IAAI,EAAEtC,cAAc;YACpBiD,OAAO,EAAE;cACRc,MAAM,EAAEP;YACT;UACD,CAAE,CAAC;QACJ,CAAE,CAAC;QAEH,OAAOA,MAAM;MACd;MAEA1C,QAAQ,CAAE;QACTwB,IAAI,EAAE7B,oBAAoB;QAC1BwC,OAAO,EAAE;UACRC,UAAU,EAAEF,MAAM;UAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;UAC5BvB,OAAO,EAAE5C,qDAAE,CACV,kDAAkD,EAClD,aACD;QACD;MACD,CAAE,CAAC;IACJ,CAAC,CAAC,OAAQwB,KAAK,EAAG;MACjB,MAAMoD,YAAY,GAAGnE,uDAAe,CAAEe,KAAM,CAAC;MAE7CE,QAAQ,CAAE;QACTwB,IAAI,EAAE7B,oBAAoB;QAC1BwC,OAAO,EAAE;UACRC,UAAU,EAAEF,MAAM;UAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;UAC5BvB,OAAO,EAAEgC;QACV;MACD,CAAE,CAAC;MAEH,IAAKjB,WAAW,EAAG;QAClB;QACA,MAAMkB,cAAc,GAAGtD,2BAA2B,CACjDC,KAAK,EACLiC,YAAY,EAAEpB,EAAE,EAChBX,QAAQ,EACRC,QACD,CAAC;QAED,IAAK,CAAEkD,cAAc,EAAG;UACvB;UACAnD,QAAQ,CAACsB,iBAAiB,CAAE4B,YAAY,EAAE;YACzCvC,EAAE,EAAE;UACL,CAAE,CAAC;QACJ;MACD;MAEA,MAAMb,KAAK;IACZ;IAEA,OAAO,KAAK;EACb,CAAC;EAEF;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EACCsD,kBAAkB,EACjBA,CACCrB,YAAgC,EAChCC,QAAiB,GAAG,IAAI,EACxBC,WAAoB,GAAG,IAAI,KAE5B,OAAQ;IAAE3B,MAAM;IAAEN,QAAQ;IAAEC;EAAS,CAAC,KAAM;IAC3C,MAAMiC,MAAM,GAAG,oBAAoB;IAEnC,IAAI;MACHlC,QAAQ,CAAE;QACTwB,IAAI,EAAE7B,oBAAoB;QAC1BwC,OAAO,EAAE;UACRC,UAAU,EAAEF,MAAM;UAClBG,MAAM,EAAExD,sDAAc,CAACyD;QACxB;MACD,CAAE,CAAC;MAEH,IAAKN,QAAQ,EAAG;QACf,MAAMQ,UAAU,GAAGxD,iEAAoB,CAAE+C,YAAa,CAAC;QAEvD,IAAK,IAAI,KAAKS,UAAU,EAAG;UAC1BxC,QAAQ,CAAE;YACTwB,IAAI,EAAE7B,oBAAoB;YAC1BwC,OAAO,EAAE;cACRC,UAAU,EAAEF,MAAM;cAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;cAC5BvB,OAAO,EAAEsB,UAAU,CAACtB;YACrB;UACD,CAAE,CAAC;UAEH,IAAKe,WAAW,EAAG;YAClB,MAAMjC,QAAQ,CAACsB,iBAAiB,CAC/BkB,UAAU,CAACtB,OAAO,EAClB;cACCP,EAAE,EAAE;YACL,CACD,CAAC;UACF;UAEA,OAAO,KAAK;QACb;MACD;MAEA,MAAM0C,qBAAqB,GAAG,MAAM/C,MAAM,CAACgD,eAAe,CACzDvB,YAAY,CAACpB,EACd,CAAC;MAED,IAAK,CAAE0C,qBAAqB,EAAG;QAC9BrD,QAAQ,CAAE;UACTwB,IAAI,EAAE7B,oBAAoB;UAC1BwC,OAAO,EAAE;YACRC,UAAU,EAAEF,MAAM;YAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;YAC5BvB,OAAO,EAAE5C,qDAAE,CACV,0BAA0B,EAC1B,aACD;UACD;QACD,CAAE,CAAC;;QAEH;QACA,IAAKyD,YAAY,CAACpB,EAAE,EAAG;UACtBX,QAAQ,CAAE;YACTwB,IAAI,EAAE7B,oBAAoB;YAC1BwC,OAAO,EAAE;cACRC,UAAU,EAAEL,YAAY,CAACpB,EAAE,CAAC4C,QAAQ,CAAC,CAAC;cACtClB,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;cAC5BvB,OAAO,EAAE5C,qDAAE,CACV,0BAA0B,EAC1B,aACD;YACD;UACD,CAAE,CAAC;QACJ;QAEA,OAAO,KAAK;MACb;MAEA,MAAMoE,MAAM,GAAG,MAAM5D,oDAAY,CAChC,QAASuE,qBAAqB,CAAC1C,EAAE,EAAG,EACpC;QACCgC,MAAM,EAAE,MAAM;QACdxC,IAAI,EAAE4B;MACP,CACD,CAAC;MAED,IAAKW,MAAM,EAAG;QACbzC,QAAQ,CAAC2C,KAAK,CAAE,MAAM;UACrB;UACA5C,QAAQ,CAAE;YACTwB,IAAI,EAAE7B,oBAAoB;YAC1BwC,OAAO,EAAE;cACRC,UAAU,EAAEF,MAAM;cAClBG,MAAM,EAAExD,sDAAc,CAACgE;YACxB;UACD,CAAE,CAAC;UAEH,IAAKZ,WAAW,EAAG;YAClBjC,QAAQ,CAAC8C,mBAAmB,CAC3BvE,0DAAO;YACN;YACAD,qDAAE,CACD,2CAA2C,EAC3C,aACD,CAAC,EACDI,wEAAc,CAAEgE,MAAM,EAAEK,KAAK,CAACC,QAAS,CACxC,CAAC,EACD;cACCrC,EAAE,EAAE;YACL,CACD,CAAC;UACF;UAEAX,QAAQ,CAAE;YACTwB,IAAI,EAAEtC,cAAc;YACpBiD,OAAO,EAAE;cACRc,MAAM,EAAEP;YACT;UACD,CAAE,CAAC;QACJ,CAAE,CAAC;QAEH,OAAOA,MAAM;MACd;MAEA1C,QAAQ,CAAE;QACTwB,IAAI,EAAE7B,oBAAoB;QAC1BwC,OAAO,EAAE;UACRC,UAAU,EAAEF,MAAM;UAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;UAC5BvB,OAAO,EAAE5C,qDAAE,CACV,kDAAkD,EAClD,aACD;QACD;MACD,CAAE,CAAC;IACJ,CAAC,CAAC,OAAQwB,KAAK,EAAG;MACjB,MAAMoD,YAAY,GAAGnE,uDAAe,CAAEe,KAAM,CAAC;MAE7CE,QAAQ,CAAE;QACTwB,IAAI,EAAE7B,oBAAoB;QAC1BwC,OAAO,EAAE;UACRC,UAAU,EAAEF,MAAM;UAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;UAC5BvB,OAAO,EAAEgC;QACV;MACD,CAAE,CAAC;MAEH,IAAKjB,WAAW,EAAG;QAClB;QACA,MAAMkB,cAAc,GAAGtD,2BAA2B,CACjDC,KAAK,EACLiC,YAAY,EAAEpB,EAAE,EAChBX,QAAQ,EACRC,QACD,CAAC;QAED,IAAK,CAAEkD,cAAc,EAAG;UACvB;UACAnD,QAAQ,CAACsB,iBAAiB,CAAE4B,YAAY,EAAE;YACzCvC,EAAE,EAAE;UACL,CAAE,CAAC;QACJ;MACD;MAEA,MAAMb,KAAK;IACZ;IAEA,OAAO,KAAK;EACb,CAAC;EAEF;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EACC0D,kBAAkB,EACjBA,CACC7C,EAAU,EACV8C,WAAoB,GAAG,KAAK,EAC5BxB,WAAoB,GAAG,IAAI,KAE5B,OAAQ;IAAEjC,QAAQ;IAAEC;EAAS,CAAC,KAAM;IACnC,MAAMiC,MAAM,GAAG,oBAAoB;IAEnC,IAAI;MACHlC,QAAQ,CAAE;QACTwB,IAAI,EAAE7B,oBAAoB;QAC1BwC,OAAO,EAAE;UACRC,UAAU,EAAEF,MAAM;UAClBG,MAAM,EAAExD,sDAAc,CAACyD;QACxB;MACD,CAAE,CAAC;;MAEH;MACA,MAAMe,qBAAqB,GAAG,MAAMvE,oDAAY,CAE7C,QAAS6B,EAAE,eAAiB,CAAC;MAEhC,IAAK,CAAE0C,qBAAqB,EAAG;QAC9BrD,QAAQ,CAAE;UACTwB,IAAI,EAAE7B,oBAAoB;UAC1BwC,OAAO,EAAE;YACRC,UAAU,EAAEF,MAAM;YAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;YAC5BvB,OAAO,EAAE5C,qDAAE,CACV,0BAA0B,EAC1B,aACD;UACD;QACD,CAAE,CAAC;QAEH,OAAO,KAAK;MACb;MAEA,MAAMoF,KAAK,GAAGD,WAAW,GAAG,aAAa,GAAG,EAAE;MAE9C,MAAMf,MAAM,GAAG,MAAM5D,oDAAY,CAChC,QAAS6B,EAAE,GAAK+C,KAAK,EAAG,EACxB;QACCf,MAAM,EAAE;MACT,CACD,CAAC;MAED,IAAKD,MAAM,EAAG;QACbzC,QAAQ,CAAC2C,KAAK,CAAE,MAAM;UACrB5C,QAAQ,CAAE;YACTwB,IAAI,EAAE7B,oBAAoB;YAC1BwC,OAAO,EAAE;cACRC,UAAU,EAAEF,MAAM;cAClBG,MAAM,EAAExD,sDAAc,CAACgE;YACxB;UACD,CAAE,CAAC;UAEH,IAAKZ,WAAW,EAAG;YAClBjC,QAAQ,CAAC8C,mBAAmB,CAC3BvE,0DAAO;YACN;YACAD,qDAAE,CACD,2CAA2C,EAC3C,aACD,CAAC,EACDI,wEAAc,CACb2E,qBAAqB,EAAEN,KAAK,CAACC,QAC9B,CACD,CAAC,EACD;cACCrC,EAAE,EAAE;YACL,CACD,CAAC;UACF;UAEA,IAAK8C,WAAW,EAAG;YAClBzD,QAAQ,CAAE;cACTwB,IAAI,EAAErC,YAAY;cAClBgD,OAAO,EAAE;gBACRxB;cACD;YACD,CAAE,CAAC;UACJ,CAAC,MAAM;YACNX,QAAQ,CAAE;cACTwB,IAAI,EAAEtC,cAAc;cACpBiD,OAAO,EAAE;gBACRc,MAAM,EAAE;kBACP,GAAGI,qBAAqB;kBACxBhB,MAAM,EAAE;gBACT;cACD;YACD,CAAE,CAAC;UACJ;QACD,CAAE,CAAC;MACJ;MAEA,OAAOK,MAAM;IACd,CAAC,CAAC,OAAQ5C,KAAK,EAAG;MACjB;MACAE,QAAQ,CAAE;QACTwB,IAAI,EAAE7B,oBAAoB;QAC1BwC,OAAO,EAAE;UACRC,UAAU,EAAEF,MAAM;UAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;UAC5BvB,OAAO,EAAE5C,qDAAE,CAAE,yBAAyB,EAAE,aAAc;QACvD;MACD,CAAE,CAAC;MAEH,IAAK2D,WAAW,EAAG;QAClB,MAAMjC,QAAQ,CAACsB,iBAAiB,CAC/BxB,KAAK,YAAY2C,KAAK,GACnB3C,KAAK,CAACoB,OAAO,GACb5C,qDAAE,CAAE,yBAAyB,EAAE,aAAc,CACjD,CAAC;MACF;MAEA,MAAMwB,KAAK;IACZ;EACD;AACF,CAAC;;AAED;AACA;AACA;AACA,MAAM6D,aAAa,GAAG;EACrB;AACD;AACA;AACA;AACA;AACA;AACA;EACCC,UAAU,EACTA,CAAEjD,EAAU,EAAEkD,KAA6B,KAC3C,OAAQ;IAAEvD,MAAM;IAAEN,QAAQ;IAAEC;EAAS,CAAC,KAAM;IAC3C,IAAI;MACH,IAAIoD,qBAA8C;MAClD,MAAMS,eAAe,GAAGxD,MAAM,CAACwD,eAAe,CAAEnD,EAAG,CAAC;MAEpD,IAAKmD,eAAe,EAAG;QACtBT,qBAAqB,GAAG/C,MAAM,CAACyD,qBAAqB,CACnDpD,EACD,CAAgB;MACjB,CAAC,MAAM;QACN0C,qBAAqB,GAAG,MAAMvE,oDAAY,CAEvC,QAAS6B,EAAE,eAAiB,CAAC,CAACqD,IAAI,CAAItB,MAAM;QAC9C;QACAA,MAAM,GACHzD,sDAAc,CAA4ByD,MAAO,CAAC,GAClDuB,SACJ,CAAC;QACD,IAAK,CAAEZ,qBAAqB,EAAG;UAC9B;QACD;MACD;MAEApD,QAAQ,CAAC2C,KAAK,CAAE,YAAY;QAC3B,IAAK,CAAEkB,eAAe,EAAG;UACxB,MAAM9D,QAAQ,CAAE;YACfwB,IAAI,EAAElC,oBAAoB;YAC1B6C,OAAO,EAAE;cACRxB,EAAE;cACF1B,cAAc,EAAEoE;YACjB;UACD,CAAE,CAAC;QACJ;;QAEA;QACA;QACA,MAAMa,YAAY,GAAG/F,iDAAS,CAC7B,CAAC,CAAC,EACFD,iDAAS,CAAEmF,qBAAsB,CAAC,EAClCQ,KAAK,EACL,CAAEM,SAAS,EAAEC,QAAQ,KAAM;UAC1B,IAAK1C,KAAK,CAACC,OAAO,CAAEyC,QAAS,CAAC,EAAG;YAChC;YACA,OAAOA,QAAQ,CAACC,KAAK,CAAC,CAAC;UACxB;UACA,OAAOJ,SAAS;QACjB,CACD,CAAC;;QAED;QACA,MAAMK,IAAI,GAAGjG,wDAAgB,CAC5BgF,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAI,CAAC,CAAC,EAC3Ba,YACD,CAAC;QAED,MAAMlE,QAAQ,CAAE;UACfwB,IAAI,EAAEnC,WAAW;UACjB8C,OAAO,EAAE;YACRxB,EAAE;YACFkD,KAAK,EAAES;UACR;QACD,CAAsB,CAAC;MACxB,CAAE,CAAC;IACJ,CAAC,CAAC,OAAQxE,KAAK,EAAG;MACjB,MAAMoD,YAAY,GAAGnE,uDAAe,CAAEe,KAAM,CAAC;;MAE7C;MACAyE,OAAO,CAACzE,KAAK,CAAE,cAAc,EAAEA,KAAM,CAAC;MAEtC,MAAME,QAAQ,CAACsB,iBAAiB,CAAE4B,YAAY,EAAE;QAC/CvC,EAAE,EAAE;MACL,CAAE,CAAC;IACJ;EACD,CAAC;EAEF;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EACC6D,gBAAgB,EACfA,CACC7D,EAAU,EACVqB,QAAiB,GAAG,IAAI,EACxBC,WAAoB,GAAG,IAAI,KAE5B,OAAQ;IAAE3B,MAAM;IAAEN,QAAQ;IAAEC;EAAS,CAAC,KAAM;IAC3C,MAAMiC,MAAM,GAAG,YAAY;IAE3B,IAAI;MACHlC,QAAQ,CAAE;QACTwB,IAAI,EAAE7B,oBAAoB;QAC1BwC,OAAO,EAAE;UACRC,UAAU,EAAEF,MAAM;UAClBG,MAAM,EAAExD,sDAAc,CAACyD;QACxB;MACD,CAAE,CAAC;MAEH,IAAK,CAAEhC,MAAM,CAACmE,QAAQ,CAAE9D,EAAG,CAAC,EAAG;QAC9BX,QAAQ,CAAE;UACTwB,IAAI,EAAE7B,oBAAoB;UAC1BwC,OAAO,EAAE;YACRC,UAAU,EAAEF,MAAM;YAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;YAC5BvB,OAAO,EAAE5C,qDAAE,CAAE,kBAAkB,EAAE,aAAc;UAChD;QACD,CAAE,CAAC;QAEH,OAAO,KAAK;MACb;MAEA,MAAMoG,YAAY,GAAGpE,MAAM,CAACqE,0BAA0B,CAAEhE,EAAG,CAAC;MAC5D,MAAMiE,kBAAkB,GAAGtE,MAAM,CAACyD,qBAAqB,CAAEpD,EAAG,CAAC;MAE7D,IAAK,CAAEiE,kBAAkB,EAAG;QAC3B5E,QAAQ,CAAE;UACTwB,IAAI,EAAE7B,oBAAoB;UAC1BwC,OAAO,EAAE;YACRC,UAAU,EAAEF,MAAM;YAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;YAC5BvB,OAAO,EAAE5C,qDAAE,CAAE,kBAAkB,EAAE,aAAc;UAChD;QACD,CAAE,CAAC;QAEH,OAAO,KAAK;MACb;MAEA,IAAKsG,kBAAkB,IAAI5C,QAAQ,EAAG;QACrC,MAAMQ,UAAU,GACfxD,iEAAoB,CAAE4F,kBAAmB,CAAC;QAE3C,IAAK,IAAI,KAAKpC,UAAU,EAAG;UAC1BvC,QAAQ,CAAC2C,KAAK,CAAE,YAAY;YAC3B5C,QAAQ,CAAE;cACTwB,IAAI,EAAE7B,oBAAoB;cAC1BwC,OAAO,EAAE;gBACRC,UAAU,EAAEF,MAAM;gBAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;gBAC5BvB,OAAO,EAAEsB,UAAU,CAACtB;cACrB;YACD,CAAE,CAAC;YAEH,IAAKe,WAAW,EAAG;cAClB,MAAMjC,QAAQ,CAACsB,iBAAiB,CAC/BkB,UAAU,CAACtB,OAAO,EAClB;gBACCP,EAAE,EAAE;cACL,CACD,CAAC;YACF;UACD,CAAE,CAAC;UAEH,OAAO,KAAK;QACb;MACD;MAEA,MAAM+B,MAAM,GAAG,MAAM1C,QAAQ,CAACoD,kBAAkB,CAC/CwB,kBAAkB,EAClB,KAAK,EACL3C,WACD,CAAC;MAED,IAAKS,MAAM,EAAG;QACbzC,QAAQ,CAAC2C,KAAK,CAAE,MAAM;UACrB5C,QAAQ,CAAE;YACTwB,IAAI,EAAE7B,oBAAoB;YAC1BwC,OAAO,EAAE;cACRC,UAAU,EAAEF,MAAM;cAClBG,MAAM,EAAExD,sDAAc,CAACgE;YACxB;UACD,CAAE,CAAC;UAEH,IAAKZ,WAAW,EAAG;YAClBjC,QAAQ,CAAC8C,mBAAmB,CAC3BvE,0DAAO;YACN;YACAD,qDAAE,CACD,yCAAyC,EACzC,aACD,CAAC,EACDI,wEAAc,CAAEgE,MAAM,EAAEK,KAAK,CAACC,QAAS,CACxC,CAAC,EACD;cACCrC,EAAE,EAAE;YACL,CACD,CAAC;UACF;UAEAX,QAAQ,CAAE;YACTwB,IAAI,EAAEjC,kBAAkB;YACxB4C,OAAO,EAAE;cACRxB,EAAE;cACF+D,YAAY;cACZR,YAAY,EAAEjF,sDAAc,CAAEyD,MAAO;YACtC;UACD,CAAE,CAAC;QACJ,CAAE,CAAC;QAEH,OAAO,IAAI;MACZ;MAEA,OAAO,KAAK;IACb,CAAC,CAAC,OAAQ5C,KAAK,EAAG;MACjB,MAAMoD,YAAY,GAAGnE,uDAAe,CAAEe,KAAM,CAAC;;MAE7C;MACAyE,OAAO,CAACzE,KAAK,CAAE,cAAc,EAAEA,KAAM,CAAC;MAEtCG,QAAQ,CAAC2C,KAAK,CAAE,YAAY;QAC3B5C,QAAQ,CAAE;UACTwB,IAAI,EAAE7B,oBAAoB;UAC1BwC,OAAO,EAAE;YACRC,UAAU,EAAEF,MAAM;YAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;YAC5BvB,OAAO,EAAEgC;UACV;QACD,CAAE,CAAC;QAEH,IAAKjB,WAAW,EAAG;UAClB;UACA,MAAMkB,cAAc,GAAGtD,2BAA2B,CACjDC,KAAK,EACLa,EAAE,EACFX,QAAQ,EACRC,QACD,CAAC;UAED,IAAK,CAAEkD,cAAc,EAAG;YACvB;YACA,MAAMnD,QAAQ,CAACsB,iBAAiB,CAAE4B,YAAY,EAAE;cAC/CvC,EAAE,EAAE;YACL,CAAE,CAAC;UACJ;QACD;MACD,CAAE,CAAC;MAEH,MAAMb,KAAK;IACZ;IAEA;AAAa;EACd,CAAC;EAEF;AACD;AACA;AACA;AACA;AACA;AACA;EACC+E,IAAI,EACHA,CAAElE,EAAU,EAAEmE,KAAa,GAAG,CAAC,KAC/B,OAAQ;IAAExE,MAAM;IAAEN;EAAS,CAAC,KAAM;IACjC,MAAMD,KAAK,GAAGY,EAAE,GAAG,CAAC,GAAGA,EAAE,GAAGL,MAAM,CAACyE,WAAW,CAAC,CAAC;IAEhD,IAAK,OAAOhF,KAAK,KAAK,WAAW,EAAG;MACnC;IACD;IAEA,MAAMC,QAAQ,CAAE;MACfwB,IAAI,EAAEhC,gBAAgB;MACtB2C,OAAO,EAAE;QACRxB,EAAE,EAAEZ,KAAK;QACT+E;MACD;IACD,CAAE,CAAC;EACJ,CAAC;EAEF;AACD;AACA;AACA;AACA;AACA;AACA;EACCE,IAAI,EACHA,CAAErE,EAAU,EAAEmE,KAAa,GAAG,CAAC,KAC/B,OAAQ;IAAExE,MAAM;IAAEN;EAAS,CAAC,KAAM;IACjC,MAAMD,KAAK,GAAGY,EAAE,GAAG,CAAC,GAAGA,EAAE,GAAGL,MAAM,CAACyE,WAAW,CAAC,CAAC;IAEhD,IAAK,OAAOhF,KAAK,KAAK,WAAW,EAAG;MACnC;IACD;IAEA,MAAMC,QAAQ,CAAE;MACfwB,IAAI,EAAE/B,gBAAgB;MACtB0C,OAAO,EAAE;QACRxB,EAAE,EAAEZ,KAAK;QACT+E;MACD;IACD,CAAE,CAAC;EACJ,CAAC;EAEF;AACD;AACA;AACA;AACA;AACA;EACCG,gBAAgB,EACbtE,EAAU,IACZ,OAAQ;IAAEL,MAAM;IAAEN;EAAS,CAAC,KAAM;IACjC,MAAMD,KAAK,GAAGY,EAAE,GAAG,CAAC,GAAGA,EAAE,GAAGL,MAAM,CAACyE,WAAW,CAAC,CAAC;IAEhD,IAAK,OAAOhF,KAAK,KAAK,WAAW,EAAG;MACnC;IACD;IAEAC,QAAQ,CAAE;MACTwB,IAAI,EAAE9B,iBAAiB;MACvByC,OAAO,EAAE;QACRxB,EAAE,EAAEZ;MACL;IACD,CAAE,CAAC;EACJ,CAAC;EAEF;AACD;AACA;AACA;AACA;AACA;EACCmF,kBAAkB,EACfC,MAA0B,IAC5B,OAAQ;IAAEnF,QAAQ;IAAEM;EAAO,CAAC,KAAM;IACjC,MAAM8E,QAAQ,GAAG9E,MAAM,CAACyE,WAAW,CAAC,CAAC;IAErC,IAAK,OAAOK,QAAQ,KAAK,WAAW,EAAG;MACtC;IACD;IAEApF,QAAQ,CAAC4D,UAAU,CAAEwB,QAAQ,EAAED,MAAO,CAAC;EACxC,CAAC;EAEF;AACD;AACA;AACA;AACA;EACCE,gBAAgB,EACfA,CAAA,KACA,OAAQ;IAAErF,QAAQ;IAAEM;EAAO,CAAC,KAAM;IACjC,MAAM8E,QAAQ,GAAG9E,MAAM,CAACyE,WAAW,CAAC,CAAC;IACrC,MAAMO,YAAY,GAAGhF,MAAM,CAACiF,sBAAsB,CAAC,CAAC;IAEpD,IAAK,CAAEH,QAAQ,IAAI,CAAEE,YAAY,EAAG;MACnCtF,QAAQ,CAACsB,iBAAiB,CACzBhD,qDAAE,CAAE,0BAA0B,EAAE,aAAc,CAC/C,CAAC;MACD,OAAO,KAAK;IACb;IAEA,OAAO0B,QAAQ,CAACwE,gBAAgB,CAAEY,QAAS,CAAC;EAC7C,CAAC;EAEF;AACD;AACA;AACA;AACA;EACCI,iBAAiB,EAChBA,CAAA,KACA,OAAQ;IAAExF,QAAQ;IAAEM;EAAO,CAAC,KAAM;IACjC,MAAM8E,QAAQ,GAAG9E,MAAM,CAACyE,WAAW,CAAC,CAAC;IAErC,IAAK,OAAOK,QAAQ,KAAK,WAAW,EAAG;MACtC;IACD;IAEApF,QAAQ,CAACiF,gBAAgB,CAAEG,QAAS,CAAC;EACtC,CAAC;EAEF;AACD;AACA;AACA;AACA;AACA;EACCK,cAAc,EACXL,QAAkB,IACpB,OAAQ;IAAE9E,MAAM;IAAEN;EAAS,CAAC,KAAM;IACjC,IAAI;MACH,IAAK,OAAOoF,QAAQ,KAAK,WAAW,EAAG;QACtCpF,QAAQ,CAAE;UACTwB,IAAI,EAAEpC,gBAAgB;UACtB+C,OAAO,EAAE;YACRiD,QAAQ,EAAEnB;UACX;QACD,CAAE,CAAC;QACH;MACD;MAEA,IAAK,CAAE3D,MAAM,CAACwD,eAAe,CAAEsB,QAAS,CAAC,EAAG;QAC3C,MAAMM,MAAM,GAAG,MAAM5G,oDAAY,CAChC,QAASsG,QAAQ,eAClB,CAAC;QAED,IAAK,CAAEM,MAAM,EAAG;UACf1F,QAAQ,CAACsB,iBAAiB,CACzBhD,qDAAE,CAAE,0BAA0B,EAAE,aAAc,CAC/C,CAAC;UACD;QACD;QAEA0B,QAAQ,CAAE;UACTwB,IAAI,EAAElC,oBAAoB;UAC1B6C,OAAO,EAAE;YACRxB,EAAE,EAAEyE,QAAQ;YACZnG,cAAc,EAAEA,sDAAc,CAAEyG,MAAO,CAAC;YACxCC,WAAW,EAAE;UACd;QACD,CAAE,CAAC;MACJ,CAAC,MAAM;QACN3F,QAAQ,CAAE;UACTwB,IAAI,EAAEpC,gBAAgB;UACtB+C,OAAO,EAAE;YACRiD;UACD;QACD,CAAE,CAAC;MACJ;IACD,CAAC,CAAC,OAAQtF,KAAK,EAAG;MACjB,MAAMoD,YAAY,GAAGnE,uDAAe,CAAEe,KAAM,CAAC;;MAE7C;MACAyE,OAAO,CAACzE,KAAK,CAAE,6BAA6B,EAAEA,KAAM,CAAC;MAErDE,QAAQ,CAACsB,iBAAiB,CAAE4B,YAAY,EAAE;QACzCvC,EAAE,EAAE;MACL,CAAE,CAAC;IACJ;EACD;AACF,CAAC;;AAED;AACA;AACA;AACA,MAAMiF,aAAa,GAAG;EACrB;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EACCC,YAAY,EACXA;EACC;AACH;AACA;EACGxD,MAA0B,GAAG,MAAM;EACnC;AACH;AACA;EACGyD,OAA4B,GAAG,EAAE,EAIjCC,OAAgB,KAEjB,OAAQ;IAAE9F;EAAS,CAAC,KAAM;IACzBA,QAAQ,CAACD,QAAQ,CAAEvB,qDAAa,CAAC,CAACoH,YAAY,CAAExD,MAAM,EAAEyD,OAAO,EAAE;MAChE,GAAGC,OAAO;MACVC,OAAO,EAAEpH,sDAAcA;IACxB,CAAE,CAAC;EACJ,CAAC;EAEF;AACD;AACA;AACA;AACA;AACA;AACA;EACC0C,iBAAiB,EAChBA,CAICwE,OAAe,EAIfC,OAA8C,KAE/C,OAAQ;IAAE9F;EAAS,CAAC,KAAM;IACzBA,QAAQ,CAACD,QAAQ,CAAEvB,qDAAa,CAAC,CAACoH,YAAY,CAAE,OAAO,EAAEC,OAAO,EAAE;MACjE,GAAGC,OAAO;MACVC,OAAO,EAAEpH,sDAAcA;IACxB,CAAE,CAAC;EACJ,CAAC;EAEF;AACD;AACA;AACA;AACA;AACA;AACA;EACCkE,mBAAmB,EAClBA,CAICgD,OAAe,EAIfC,OAA8C,KAE/C,OAAQ;IAAE9F;EAAS,CAAC,KAAM;IACzBA,QAAQ,CACND,QAAQ,CAAEvB,qDAAa,CAAC,CACxBoH,YAAY,CAAE,SAAS,EAAEC,OAAO,EAAE;MAClC,GAAGC,OAAO;MACVC,OAAO,EAAEpH,sDAAcA;IACxB,CAAE,CAAC;EACL,CAAC;EAEF;AACD;AACA;AACA;AACA;AACA;EACCkC,YAAY,EACTH,EAAU,IACZ,OAAQ;IAAEV;EAAS,CAAC,KAAM;IACzBA,QAAQ,CACND,QAAQ,CAAEvB,qDAAa,CAAC,CACxBqC,YAAY,CAAEH,EAAE,EAAE/B,sDAAe,CAAC;EACrC,CAAC;EAEF;AACD;AACA;AACA;AACA;AACA;EACCqH,gBAAgB,EACbC,GAAc,IAChB,OAAQ;IAAEjG;EAAS,CAAC,KAAM;IACzB,IAAKiG,GAAG,EAAG;MACVjG,QAAQ,CACND,QAAQ,CAAEvB,qDAAa,CAAC,CACxB0H,aAAa,CAAED,GAAG,EAAEtH,sDAAe,CAAC;IACvC,CAAC,MAAM;MACN,MAAMyB,OAAO,GAAGJ,QAAQ,CACtBK,MAAM,CAAE7B,qDAAa,CAAC,CACtB8B,UAAU,CAAE3B,sDAAe,CAAC;MAC9B,MAAMwH,SAAS,GAAG/F,OAAO,CAACgG,GAAG,CAAIC,MAAM,IAAMA,MAAM,CAAC3F,EAAG,CAAC;MACxDV,QAAQ,CACND,QAAQ,CAAEvB,qDAAa,CAAC,CACxB0H,aAAa,CAAEC,SAAS,EAAExH,sDAAe,CAAC;IAC7C;EACD;AACF,CAAC;;AAED;AACA;AACA;AACA,MAAM2H,iBAAiB,GAAG;EACzB;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EACCC,kBAAkB,EACjBA,CACCpE,UAAkB,EAClBC,MAAsB,EACtBnB,OAA4D,KAE7D,CAAE;IAAElB;EAAS,CAAC,KAAM;IACnBA,QAAQ,CAAE;MACTwB,IAAI,EAAE7B,oBAAoB;MAC1BwC,OAAO,EAAE;QACRC,UAAU;QACVC,MAAM;QACNnB;MACD;IACD,CAAE,CAAC;EACJ,CAAC;EAEF;AACD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;AACD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;AACD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;AACD;AACA;AACA;AACA;AACA;EACCuF,oBAAoB,EACjB9F,EAAmB,IACrB,CAAE;IAAEX;EAAS,CAAC,KAAM;IACnBA,QAAQ,CAAE;MACTwB,IAAI,EAAE5B,qBAAqB;MAC3BuC,OAAO,EAAE;QACRxB;MACD;IACD,CAAE,CAAC;EACJ;AACF,CAAC;AAED,MAAM+F,OAAO,GAAG;EACf;EACA,GAAG7E,aAAa;EAChB;EACA,GAAG+D,aAAa;EAChB;EACA,GAAGjC,aAAa;EAChB;EACA,GAAG4C;AACJ,CAAC;AAED,iEAAeG,OAAO,E;;;;;;;;;;;;;;;;;;;;;AC7uCf,MAAMC,UAAU,GAAG,6BAA6B;AAChD,MAAM/H,cAAc,GAAG,gBAAgB;;AAE9C;AACO,MAAMM,cAAc,GAAG,gBAAgB;AACvC,MAAM0H,eAAe,GAAG,iBAAiB;AACzC,MAAMC,qBAAqB,GAAG,uBAAuB;AACrD,MAAMC,aAAa,GAAG,eAAe;AACrC,MAAM3H,YAAY,GAAG,cAAc;AACnC,MAAM4H,aAAa,GAAG,eAAe;;AAE5C;AACO,MAAM3H,gBAAgB,GAAG,kBAAkB;AAC3C,MAAMC,WAAW,GAAG,aAAa;AACjC,MAAMC,oBAAoB,GAAG,sBAAsB;AACnD,MAAMC,kBAAkB,GAAG,oBAAoB;AAC/C,MAAMC,gBAAgB,GAAG,kBAAkB;AAC3C,MAAMC,gBAAgB,GAAG,kBAAkB;AAC3C,MAAMC,iBAAiB,GAAG,mBAAmB;;AAEpD;AACO,MAAMC,oBAAoB,GAAG,sBAAsB;AAC1D;AACO,MAAMqH,gBAAgB,GAAG,kBAAkB;AAC3C,MAAMC,iBAAiB,GAAG,mBAAmB;AAC7C,MAAMC,eAAe,GAAG,iBAAiB;AACzC,MAAMtH,qBAAqB,GAAG,uBAAuB;AAErD,MAAMjB,YAuBZ,GAAG;EACHO,cAAc;EACd0H,eAAe;EACfC,qBAAqB;EACrBC,aAAa;EACb3H,YAAY;EACZ4H,aAAa;EACb3H,gBAAgB;EAChBC,WAAW;EACXC,oBAAoB;EACpBC,kBAAkB;EAClBC,gBAAgB;EAChBC,gBAAgB;EAChBC,iBAAiB;EACjBC,oBAAoB;EACpBqH,gBAAgB;EAChBC,iBAAiB;EACjBC,eAAe;EACftH;AACD,CAAC;;AAED;AACA;AACA;AACO,MAAMuH,YAAmB,GAAG;EAClCC,IAAI,EAAE,CAAC,CAAC;EACRC,MAAM,EAAE,EAAE;EACVC,OAAO,EAAE,CAAC,CAAC;EACXlC,QAAQ,EAAEnB,SAAS;EACnBsD,cAAc,EAAE,CAAC,CAAC;EAClBC,WAAW,EAAE,CAAC,CAAC;EACfC,gBAAgB,EAAE,CAAC,CAAC;EACpBC,eAAe,EAAE,CAAC,CAAC;EACnBrH,OAAO,EAAE,CAAC,CAAC;EACXsH,MAAM,EAAE;IACPC,MAAM,EAAE,IAAI;IACZR,IAAI,EAAE,CAAC;EACR;AACD,CAAC;;AAED;AACA;AACA;AACO,MAAMS,cAAc,GAAG;EAC7BlH,EAAE,EAAE,EAAE;EACNO,OAAO,EAAE,EAAE;EACXM,IAAI,EAAE,MAAM;EACZD,aAAa,EAAE;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMuG,aAA0B,GAAG;EACzCnH,EAAE,EAAE,CAAC;EACLoH,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE,EAAE;EACRjF,KAAK,EAAE,EAAE;EACT+C,OAAO,EAAE,EAAE;EACXmC,OAAO,EAAE,EAAE;EACX5F,MAAM,EAAE,OAAO;EACfjB,QAAQ,EAAE;IACTI,IAAI,EAAE,MAAM;IACZ0G,GAAG,EAAE;EACN,CAAC;EACD;EACAC,IAAI,EAAE,IAAI;EACVC,QAAQ,EAAE,IAAI;EACdC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE,EAAE;EACRC,QAAQ,EAAE,EAAE;EACZC,YAAY,EAAE,EAAE;EAChBhH,IAAI,EAAE,SAAS;EACfiH,MAAM,EAAE,CAAC;EACTC,cAAc,EAAE,EAAE;EAClBC,kBAAkB,EAAE,EAAE;EACtBC,QAAQ,EAAE,EAAE;EACZC,cAAc,EAAE,CAAC;EACjBC,cAAc,EAAE,MAAM;EACtBC,WAAW,EAAE,MAAM;EACnBC,MAAM,EAAE,UAAU;EAClBC,IAAI,EAAE,CAAC,CAAC;EACRC,MAAM,EAAE,KAAK;EACbC,QAAQ,EAAE,EAAE;EACZC,UAAU,EAAE,EAAE;EACdC,IAAI,EAAE;AACP,CAAC,C;;;;;;;;;;;;;;;;;;;;AC5IsD;AAC1B;;;;;;;;;;;;;;;;ACN4B;AAOzD,MAAM;EACLnK,cAAc;EACd0H,eAAe;EACfC,qBAAqB;EACrBC,aAAa;EACb3H,YAAY;EACZ4H,aAAa;EACb3H,gBAAgB;EAChBC,WAAW;EACXC,oBAAoB;EACpBC,kBAAkB;EAClBC,gBAAgB;EAChBC,gBAAgB;EAChBC,iBAAiB;EACjBC,oBAAoB;EACpBC;AACD,CAAC,GAAGjB,oDAAY;;AAEhB;AACA;AACA;;AA4KA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA2BO,MAAM+K,OAAO,GAAGA,CACtBC,KAAK,GAAGxC,oDAAY,EACpBjF,MAAqB,KACV;EACX,QAASA,MAAM,CAACV,IAAI;IACnB,KAAKtC,cAAc;MAAE;QACpB,MAAM;UAAE+D;QAAO,CAAC,GAAGf,MAAM,CAACC,OAAO;QAEjC,OAAO;UACN,GAAGwH,KAAK;UACRvC,IAAI,EAAE;YACL,GAAGuC,KAAK,CAACvC,IAAI;YACb,CAAEnE,MAAM,CAACtC,EAAE,GAAIsC;UAChB,CAAC;UACDoE,MAAM,EAAEsC,KAAK,CAACtC,MAAM,CAACuC,QAAQ,CAAE3G,MAAM,CAACtC,EAAG,CAAC,GACvCgJ,KAAK,CAACtC,MAAM,GACZ,CAAE,GAAGsC,KAAK,CAACtC,MAAM,EAAEpE,MAAM,CAACtC,EAAE;QAChC,CAAC;MACF;IAEA,KAAKiG,eAAe;IACpB,KAAKC,qBAAqB;MAAE;QAC3B,MAAM;UAAEgD,OAAO;UAAEC,KAAK,GAAG;QAAM,CAAC,GAAG5H,MAAM,CAACC,OAAO;;QAEjD;QACA,MAAMiF,IAAI,GAAGyC,OAAO,CAACE,MAAM,CAG1B,CAAEC,GAAG,EAAE/G,MAAM,MAAQ;UACpB,GAAG+G,GAAG;UACN,CAAE/G,MAAM,CAACtC,EAAE,GAAIsC;QAChB,CAAC,CAAE,EACH0G,KAAK,CAACvC,IACP,CAAC;;QAED;QACA,MAAMC,MAAM,GAAG3F,KAAK,CAACuI,IAAI,CACxB,IAAIC,GAAG,CAAE,CAAE,GAAGP,KAAK,CAACtC,MAAM,EAAE,GAAGwC,OAAO,CAACxD,GAAG,CAAI8D,CAAC,IAAMA,CAAC,CAACxJ,EAAG,CAAC,CAAG,CAC/D,CAAC;QAED,OAAO;UACN,GAAGgJ,KAAK;UACRtC,MAAM;UACND,IAAI;UACJE,OAAO,EAAEwC,KAAK,GACX;YACA,GAAGH,KAAK,CAACrC,OAAO;YAChB,CAAE8C,IAAI,CAACC,SAAS,CAAEP,KAAM,CAAC,GAAID,OAAO,CAACxD,GAAG,CACrC8D,CAAC,IAAMA,CAAC,CAACxJ,EACZ;UACA,CAAC,GACDgJ,KAAK,CAACrC;QACV,CAAC;MACF;IAEA,KAAKR,aAAa;MAAE;QACnB,MAAM;UAAEhH,KAAK;UAAEa,EAAE,GAAG;QAAM,CAAC,GAAGuB,MAAM,CAACC,OAAO;QAC5C;QACA,MAAMmI,UAAU,GAAGX,KAAK,CAAChC,MAAM,IAAI;UAAEC,MAAM,EAAE,IAAI;UAAER,IAAI,EAAE,CAAC;QAAE,CAAC;QAC7D,MAAMmD,OAAO,GAAG;UAAE,GAAGD,UAAU,CAAClD;QAAK,CAAC;QACtC,IAAKzG,EAAE,EAAG;UACT4J,OAAO,CAAE5J,EAAE,CAAE,GAAGb,KAAK;QACtB,CAAC,MAAM;UACN;UACAwK,UAAU,CAAC1C,MAAM,GAAG9H,KAAK;QAC1B;QACA,OAAO;UACN,GAAG6J,KAAK;UACRhC,MAAM,EAAE;YACPC,MAAM,EAAEjH,EAAE,GAAG2J,UAAU,CAAC1C,MAAM,GAAG9H,KAAK;YACtCsH,IAAI,EAAEmD;UACP;QACD,CAAC;MACF;IAEA,KAAKxD,aAAa;IAClB,KAAK5H,YAAY;MAAE;QAClB,MAAM;UAAE+G,GAAG,GAAG,EAAE;UAAEvF,EAAE,GAAG;QAAK,CAAC,GAAGuB,MAAM,CAACC,OAAO;QAE9C,IAAKxB,EAAE,IAAIA,EAAE,GAAG,CAAC,EAAG;UACnBuF,GAAG,CAACsE,IAAI,CAAE7J,EAAG,CAAC;QACf;QAEA,IAAKuF,GAAG,CAACuE,MAAM,KAAK,CAAC,EAAG;UACvB,OAAOd,KAAK;QACb;;QAEA;QACA,MAAMtC,MAAM,GAAGsC,KAAK,CAACtC,MAAM,CAAC5G,MAAM,CAC/BiK,GAAG,IAAM,CAAExE,GAAG,CAAC0D,QAAQ,CAAEc,GAAI,CAChC,CAAC;;QAED;QACA,MAAMtD,IAAI,GAAGrG,MAAM,CAAC4J,WAAW,CAC9B5J,MAAM,CAACC,OAAO,CAAE2I,KAAK,CAACvC,IAAK,CAAC,CAAC3G,MAAM,CAClC,CAAE,CAAEiK,GAAG,CAAE,KAAM,CAAExE,GAAG,CAAC0D,QAAQ,CAAEc,GAAI,CACpC,CACD,CAAC;;QAED;QACA,MAAMnD,cAAc,GAAGxG,MAAM,CAAC4J,WAAW,CACxC5J,MAAM,CAACC,OAAO,CAAE2I,KAAK,CAACpC,cAAe,CAAC,CAAC9G,MAAM,CAC5C,CAAE,CAAEiK,GAAG,CAAE,KAAM,CAAExE,GAAG,CAAC0D,QAAQ,CAAEc,GAAI,CACpC,CACD,CAAC;;QAED;QACA,MAAMlD,WAAW,GAAGzG,MAAM,CAAC4J,WAAW,CACrC5J,MAAM,CAACC,OAAO,CAAE2I,KAAK,CAACnC,WAAY,CAAC,CAAC/G,MAAM,CACzC,CAAE,CAAEiK,GAAG,CAAE,KAAM,CAAExE,GAAG,CAAC0D,QAAQ,CAAEc,GAAI,CACpC,CACD,CAAC;;QAED;QACA,MAAMjD,gBAAgB,GAAG1G,MAAM,CAAC4J,WAAW,CAC1C5J,MAAM,CAACC,OAAO,CAAE2I,KAAK,CAAClC,gBAAiB,CAAC,CAAChH,MAAM,CAC9C,CAAE,CAAEiK,GAAG,CAAE,KAAM,CAAExE,GAAG,CAAC0D,QAAQ,CAAEc,GAAI,CACpC,CACD,CAAC;QAED,OAAO;UACN,GAAGf,KAAK;UACRvC,IAAI;UACJC,MAAM;UACNE,cAAc;UACdC,WAAW;UACXC;QACD,CAAC;MACF;IAEA,KAAKrI,gBAAgB;MAAE;QACtB,MAAM;UAAEgG;QAAS,CAAC,GAAGlD,MAAM,CAACC,OAAO;QAEnC,OAAO;UACN,GAAGwH,KAAK;UACRvE;QACD,CAAC;MACF;IAEA,KAAK9F,oBAAoB;MAAE;QAC1B,MAAM;UAAEqB,EAAE;UAAE1B,cAAc;UAAE0G;QAAY,CAAC,GAAGzD,MAAM,CAACC,OAAO;QAE1D,MAAMyI,QAAQ,GAAG;UAChB,GAAGjB,KAAK;UACRpC,cAAc,EAAE;YACf,GAAGoC,KAAK,CAACpC,cAAc;YACvB,CAAE5G,EAAE,GAAI1B;UACT;QACD,CAAC;QAED,IAAK,CAAE0G,WAAW,EAAG;UACpB,OAAOiF,QAAQ;QAChB;QAEA,OAAO;UACN,GAAGA,QAAQ;UACXxF,QAAQ,EAAEzE;QACX,CAAC;MACF;IAEA,KAAKtB,WAAW;MAAE;QAAA,IAAAwL,qBAAA,EAAAC,qBAAA;QACjB,MAAM;UAAEnK,EAAE;UAAEkD;QAAM,CAAC,GAAG3B,MAAM,CAACC,OAAO;QAEpC,MAAMqF,WAAW,IAAAqD,qBAAA,GAAGlB,KAAK,CAACnC,WAAW,CAAE7G,EAAE,CAAE,cAAAkK,qBAAA,cAAAA,qBAAA,GAAI,EAAE;QACjD,MAAME,YAAY,IAAAD,qBAAA,GAAGnB,KAAK,CAAClC,gBAAgB,CAAE9G,EAAE,CAAE,cAAAmK,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;;QAEvD;QACA,MAAME,cAAc,GACnBD,YAAY,GAAGvD,WAAW,CAACiD,MAAM,GAAG,CAAC,GAClCjD,WAAW,CAACnD,KAAK,CAAE,CAAC,EAAE0G,YAAY,GAAG,CAAE,CAAC,GACxCvD,WAAW;QAEf,OAAO;UACN,GAAGmC,KAAK;UACRnC,WAAW,EAAE;YACZ,GAAGmC,KAAK,CAACnC,WAAW;YACpB,CAAE7G,EAAE,GAAI,CAAE,GAAGqK,cAAc,EAAEnH,KAAK;UACnC,CAAC;UACD4D,gBAAgB,EAAE;YACjB,GAAGkC,KAAK,CAAClC,gBAAgB;YACzB,CAAE9G,EAAE,GAAIqK,cAAc,CAACP,MAAM,CAAE;UAChC;QACD,CAAC;MACF;IAEA,KAAKjL,gBAAgB;MAAE;QAAA,IAAAyL,sBAAA;QACtB,MAAM;UAAEtK,EAAE;UAAEmE,KAAK,GAAG;QAAE,CAAC,GAAG5C,MAAM,CAACC,OAAO;QAExC,MAAM4I,YAAY,IAAAE,sBAAA,GAAGtB,KAAK,CAAClC,gBAAgB,CAAE9G,EAAE,CAAE,cAAAsK,sBAAA,cAAAA,sBAAA,GAAI,CAAC,CAAC;QACvD,MAAMC,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAAE,CAAC,CAAC,EAAEL,YAAY,GAAGjG,KAAM,CAAC;QAErD,OAAO;UACN,GAAG6E,KAAK;UACRlC,gBAAgB,EAAE;YACjB,GAAGkC,KAAK,CAAClC,gBAAgB;YACzB,CAAE9G,EAAE,GAAIuK;UACT;QACD,CAAC;MACF;IAEA,KAAKzL,gBAAgB;MAAE;QAAA,IAAA4L,sBAAA,EAAAC,sBAAA;QACtB,MAAM;UAAE3K,EAAE;UAAEmE;QAAM,CAAC,GAAG5C,MAAM,CAACC,OAAO;QAEpC,MAAM4I,YAAY,IAAAM,sBAAA,GAAG1B,KAAK,CAAClC,gBAAgB,CAAE9G,EAAE,CAAE,cAAA0K,sBAAA,cAAAA,sBAAA,GAAI,CAAC,CAAC;QACvD;QACA,MAAME,QAAQ,GAAG,EAAAD,sBAAA,GAAE3B,KAAK,CAACnC,WAAW,CAAE7G,EAAE,CAAE,EAAE8J,MAAM,cAAAa,sBAAA,cAAAA,sBAAA,GAAI,CAAC,IAAK,CAAC;QAC7D,MAAMJ,QAAQ,GACbK,QAAQ,IAAI,CAAC,GACVJ,IAAI,CAACK,GAAG,CAAED,QAAQ,EAAER,YAAY,GAAGjG,KAAM,CAAC,GAC1CiG,YAAY;QAEhB,OAAO;UACN,GAAGpB,KAAK;UACRlC,gBAAgB,EAAE;YACjB,GAAGkC,KAAK,CAAClC,gBAAgB;YACzB,CAAE9G,EAAE,GAAIuK;UACT;QACD,CAAC;MACF;IAEA,KAAK3L,kBAAkB;MAAE;QACxB,MAAM;UAAEoB,EAAE;UAAE+D,YAAY;UAAER;QAAa,CAAC,GAAGhC,MAAM,CAACC,OAAO;;QAEzD;QACA,MAAMsJ,cAAc,GAAG9B,KAAK,CAACnC,WAAW,CAAE7G,EAAE,CAAE,CAAC0D,KAAK,CACnDK,YAAY,GAAG,CAChB,CAAC;QAED,OAAO;UACN,GAAGiF,KAAK;UACRpC,cAAc,EAAE;YACf,GAAGoC,KAAK,CAACpC,cAAc;YACvB,CAAE5G,EAAE,GAAIuD;UACT,CAAC;UACDsD,WAAW,EAAE;YACZ,GAAGmC,KAAK,CAACnC,WAAW;YACpB,CAAE7G,EAAE,GAAI8K;UACT,CAAC;UACDhE,gBAAgB,EAAE;YACjB,GAAGkC,KAAK,CAAClC,gBAAgB;YACzB,CAAE9G,EAAE,GAAI,CAAC;UACV;QACD,CAAC;MACF;IAEA,KAAKjB,iBAAiB;MAAE;QACvB,MAAM;UAAEiB;QAAG,CAAC,GAAGuB,MAAM,CAACC,OAAO;QAE7B,OAAO;UACN,GAAGwH,KAAK;UACR;UACApC,cAAc,EAAExG,MAAM,CAAC4J,WAAW,CACjC5J,MAAM,CAACC,OAAO,CAAE2I,KAAK,CAACpC,cAAe,CAAC,CAAC9G,MAAM,CAC5C,CAAE,CAAEiK,GAAG,CAAE,KAAMgB,MAAM,CAAEhB,GAAI,CAAC,KAAK/J,EAClC,CACD,CAAC;UACD6G,WAAW,EAAEzG,MAAM,CAAC4J,WAAW,CAC9B5J,MAAM,CAACC,OAAO,CAAE2I,KAAK,CAACnC,WAAY,CAAC,CAAC/G,MAAM,CACzC,CAAE,CAAEiK,GAAG,CAAE,KAAMgB,MAAM,CAAEhB,GAAI,CAAC,KAAK/J,EAClC,CACD,CAAC;UACD8G,gBAAgB,EAAE1G,MAAM,CAAC4J,WAAW,CACnC5J,MAAM,CAACC,OAAO,CAAE2I,KAAK,CAAClC,gBAAiB,CAAC,CAAChH,MAAM,CAC9C,CAAE,CAAEiK,GAAG,CAAE,KAAMgB,MAAM,CAAEhB,GAAI,CAAC,KAAK/J,EAClC,CACD;QACD,CAAC;MACF;IAEA,KAAKhB,oBAAoB;MAAE;QAC1B,MAAM;UAAEyC,UAAU;UAAEC,MAAM;UAAEnB;QAAQ,CAAC,GAAGgB,MAAM,CAACC,OAAO;QAEtD,OAAO;UACN,GAAGwH,KAAK;UACRjC,eAAe,EAAE;YAChB,GAAGiC,KAAK,CAACjC,eAAe;YACxB,CAAEtF,UAAU,GAAI;cACfC,MAAM;cACNvC,KAAK,EAAEoB;YACR;UACD;QACD,CAAC;MACF;;IAEA;IACA;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEA;IACA;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEA;IACA;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEA,KAAKtB,qBAAqB;MAAE;QAC3B,MAAM;UAAEe,EAAE;UAAEgL;QAAU,CAAC,GAAGzJ,MAAM,CAACC,OAAO;QAExC,OAAO;UACN,GAAGwH,KAAK;UACRjC,eAAe,EAAE;YAChB,GAAGiC,KAAK,CAACjC,eAAe;YACxB,CAAEiE,SAAS,GAAI;cACd,GAAGhC,KAAK,CAACjC,eAAe,GAAIiE,SAAS,CAAE;cACvC,CAAEhL,EAAE,GAAIsD;YACT;UACD;QACD,CAAC;MACF;IAEA;MACC,OAAO0F,KAAK;EACd;AACD,CAAC;AAED,iEAAeD,OAAO,E;;;;;;;;;;;;;;;AClmBmC;AACoB;AAK7E,MAAMmC,eAAe,GAAG;EACvBC,gBAAgB,EACfA,CAAA,KACA,OAAQ;IAAE9L;EAAS,CAAC,KAAM;IACzB,IAAI;MACH,MAAM+L,SAAS,GAAG;QACjB1J,MAAM,EAAE,CAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAE;QACxC2J,QAAQ,EAAE,GAAG;QACbhG,OAAO,EAAE;MACV,CAAC;MAED,MAAMkC,GAAG,GAAG0D,uDAAe,CAAE,MAAM,EAAEG,SAAU,CAAC;MAEhD,MAAME,OAAO,GAAG,MAAMnN,oDAAY,CAE/BoJ,GAAG,EAAE;QACPvF,MAAM,EAAE;MACT,CAAE,CAAC;MAEH,IAAKsJ,OAAO,CAACxB,MAAM,EAAG;QACrBzK,QAAQ,CAAE;UACTwB,IAAI,EAAEoF,uDAAe;UACrBzE,OAAO,EAAE;YACR0H,OAAO,EAAEoC,OAAO,CAAC5F,GAAG;YACnB;YACA,CAAE;cAAE6F,MAAM;cAAE,GAAGjJ;YAAO,CAAC,KAAMA,MAC9B;UACD;QACD,CAAmB,CAAC;MACrB;IACD,CAAC,CAAC,OAAQnD,KAAU,EAAG;MACtB;MACAyE,OAAO,CAACzE,KAAK,CAAEA,KAAM,CAAC;MACtBE,QAAQ,CAAE;QACTwB,IAAI,EAAEsF,qDAAa;QACnB3E,OAAO,EAAE;UACRrC,KAAK,EAAEA,KAAK,CAACoB;QACd;MACD,CAAmB,CAAC;IACrB;EACD,CAAC;EAEFoC,eAAe,EACZ3C,EAAU,IACZ,OAAQ;IAAEX;EAAS,CAAC,KAAM;IACzB,IAAI;MACH,MAAMkI,GAAG,GAAG0D,uDAAe,CAAE,QAASjL,EAAE,EAAG,EAAE;QAC5CqF,OAAO,EAAE;MACV,CAAE,CAAC;MAEH,MAAM;QAAEkG,MAAM;QAAE,GAAGjJ;MAAO,CAAC,GAAG,MAAMnE,oDAAY,CAE7CoJ,GAAG,EAAE;QACPvF,MAAM,EAAE;MACT,CAAE,CAAC;MAEH3C,QAAQ,CAAE;QACTwB,IAAI,EAAEtC,sDAAc;QACpBiD,OAAO,EAAE;UACRc;QACD;MACD,CAAmB,CAAC;IACrB,CAAC,CAAC,OAAQnD,KAAU,EAAG;MACtB;MACAyE,OAAO,CAACzE,KAAK,CAAEA,KAAM,CAAC;MACtBE,QAAQ,CAAE;QACTwB,IAAI,EAAEsF,qDAAa;QACnB3E,OAAO,EAAE;UACRrC,KAAK,EAAEA,KAAK,CAACoB,OAAO;UACpBP;QACD;MACD,CAAmB,CAAC;IACrB;EACD;AACF,CAAC;AAED,MAAMwL,SAAS,GAAG;EACjB,GAAGN;AACJ,CAAC;AAED,iEAAeM,SAAS,E;;;;;;;;;;;;;;;;;;;;;;ACtFqB;AAEG;AACW;AACc;AAE3B;AACc;AAO5D;AACA;AACA;AACA,MAAMK,eAAe,GAAG;EACvB;AACD;AACA;AACA;AACA;EACCV,gBAAgB,EAAES,+DAAc,CAC7B5C,KAAY,IAAMA,KAAK,CAACtC,MAAM,CAAChB,GAAG,CAAI1F,EAAE,IAAMgJ,KAAK,CAACvC,IAAI,CAAEzG,EAAE,CAAG,CAAC,EAChEgJ,KAAY,IAAM,CAAEA,KAAK,CAACtC,MAAM,EAAEtG,MAAM,CAAC0L,IAAI,CAAE9C,KAAK,CAACvC,IAAK,CAAC,CAC9D,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACC9D,eAAe,EAAEiJ,+DAAc,CAC9B,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;IAC/B,MAAMsC,MAAM,GAAG0G,KAAK,EAAEvC,IAAI,GAAIzG,EAAE,CAAE;IAClC,OAAOsC,MAAM;EACd,CAAC,EACD,CAAE0G,KAAY,EAAEhJ,EAAU,KAAM,CAAEgJ,KAAK,EAAEhJ,EAAE,CAC5C,CAAC;EAED;AACD;AACA;EACC+L,aAAa,EAAEH,+DAAc,CAC5B,CAAE5C,KAAY,EAAEhJ,EAAW,KAAM;IAChC,IAAK,OAAOA,EAAE,KAAK,QAAQ,EAAG;MAC7B,OAAOgJ,KAAK,CAAChC,MAAM,CAACP,IAAI,CAAEzG,EAAE,CAAE;IAC/B;IACA,OAAOgJ,KAAK,CAAChC,MAAM,CAACC,MAAM;EAC3B,CAAC,EACD,CAAE+B,KAAY,EAAEhJ,EAAmB,KAAM,CAAEgJ,KAAK,CAAChC,MAAM,EAAEhH,EAAE,CAC5D,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACCgM,WAAW,EAAEA,CACZhD,KAAY,EACZiD,SAAsD,EACtDC,aAAsB,GAAG,KAAK,KAC1B;IACJ,IAAK,CAAEA,aAAa,EAAG;MACtB,OAAOlD,KAAK,CAACtC,MAAM,CACjBhB,GAAG,CAAI1F,EAAE,IAAMgJ,KAAK,CAACvC,IAAI,CAAEzG,EAAE,CAAG,CAAC,CACjCF,MAAM,CAAEmM,SAAU,CAAC;IACtB;IAEA,OAAOJ,eAAe,CACpBM,cAAc,CAAEnD,KAAK,EAAEiD,SAAU,CAAC,CAClCvG,GAAG,CAAI1F,EAAE,IAAMgJ,KAAK,CAACvC,IAAI,CAAEzG,EAAE,CAAG,CAAC;EACpC,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EACCmM,cAAc,EAAEA,CACfnD,KAAY,EACZiD,SAAsD,KAClDjD,KAAK,CAACtC,MAAM,CAAC5G,MAAM,CAAIE,EAAE,IAAMiM,SAAS,CAAEjD,KAAK,CAACvC,IAAI,CAAEzG,EAAE,CAAG,CAAE;AACnE,CAAC;;AAED;AACA;AACA;AACA,MAAMoM,eAAe,GAAG;EACvB;AACD;AACA;AACA;AACA;EACChI,WAAW,EAAEwH,+DAAc,CACxB5C,KAAY,IAAMA,KAAK,EAAEvE,QAAQ,EACjCuE,KAAY,IAAM,CAAEA,KAAK,CAACvE,QAAQ,CACrC,CAAC;EAED;AACD;AACA;AACA;AACA;EACC4H,cAAc,EAAET,+DAAc,CAC3B5C,KAAY,IAAe;IAC5B,MAAMvE,QAAQ,GAAGuE,KAAK,EAAEvE,QAAQ;;IAEhC;IACA,IAAK,OAAOA,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,KAAK,KAAK,EAAG;MACzD,OAAO,IAAI;IACZ;IAEA,OAAO,OAAOA,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,GAAG,CAAC;EACpD,CAAC,EACCuE,KAAY,IAAM,CAAEA,KAAK,CAACvE,QAAQ,CACrC,CAAC;EAED;AACD;AACA;AACA;AACA;EACCG,sBAAsB,EAAEgH,+DAAc,CACnC5C,KAAY,IAAM;IACnB,MAAMvE,QAAQ,GAAGuE,KAAK,EAAEvE,QAAQ;IAEhC,IAAK,OAAOA,QAAQ,KAAK,WAAW,EAAG;MACtC,OAAOnB,SAAS;IACjB;IAEA,OAAO8I,eAAe,CAAChJ,qBAAqB,CAAE4F,KAAK,EAAEvE,QAAS,CAAC;EAChE,CAAC,EACCuE,KAAY,IAAM,CACnBA,KAAK,CAACpC,cAAc,GAAIoC,KAAK,CAACvE,QAAQ,IAAI,CAAC,CAAE,EAC7CuE,KAAK,CAAClC,gBAAgB,GAAIkC,KAAK,CAACvE,QAAQ,IAAI,CAAC,CAAE,EAC/CuE,KAAK,CAACnC,WAAW,GAAImC,KAAK,CAACvE,QAAQ,IAAI,CAAC,CAAE,EAC1CuE,KAAK,CAACvE,QAAQ,CAEhB,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACCtB,eAAe,EAAEyI,+DAAc,CAC9B,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;IAC/B,OAAO,CAAC,CAAEgJ,KAAK,EAAEpC,cAAc,GAAI5G,EAAE,CAAE;EACxC,CAAC,EACD,CAAEgJ,KAAY,EAAEhJ,EAAU,KAAM,CAAEgJ,KAAK,CAACpC,cAAc,GAAI5G,EAAE,CAAE,EAAEA,EAAE,CACnE,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACCsM,eAAe,EAAEV,+DAAc,CAC9B,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;IAC/B,OAAOgJ,KAAK,EAAEpC,cAAc,GAAI5G,EAAE,CAAE;EACrC,CAAC,EACD,CAAEgJ,KAAY,EAAEhJ,EAAU,KAAM,CAAEgJ,KAAK,CAACpC,cAAc,GAAI5G,EAAE,CAAE,EAAEA,EAAE,CACnE,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACCuM,oBAAoB,EAAEX,+DAAc,CACnC,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;IAC/B,OAAOgJ,KAAK,EAAEnC,WAAW,GAAI7G,EAAE,CAAE;EAClC,CAAC,EACD,CAAEgJ,KAAY,EAAEhJ,EAAU,KAAM,CAAEgJ,KAAK,CAACnC,WAAW,GAAI7G,EAAE,CAAE,EAAEA,EAAE,CAChE,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACCgE,0BAA0B,EAAE4H,+DAAc,CACzC,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;IAC/B,OAAOgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE;EACtC,CAAC,EACD,CAAEgJ,KAAY,EAAEhJ,EAAU,KAAM,CAAEgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,EAAEA,EAAE,CACrE,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACC8D,QAAQ,EAAE8H,+DAAc,CACvB,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;IAC/B,OAAOgJ,KAAK,CAACnC,WAAW,GAAI7G,EAAE,CAAE,EAAE8J,MAAM,GAAG,CAAC;EAC7C,CAAC,EACD,CAAEd,KAAY,EAAEhJ,EAAU,KAAM,CAAEgJ,KAAK,CAACnC,WAAW,GAAI7G,EAAE,CAAE,EAAEA,EAAE,CAChE,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACCwM,OAAO,EAAEZ,+DAAc,CACtB,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;IAC/B,IACC,OAAOgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,KAAK,QAAQ,IAClD,OAAOgJ,KAAK,CAACnC,WAAW,GAAI7G,EAAE,CAAE,KAAK,QAAQ,EAC5C;MACD,OAAO,KAAK;IACb;IAEA,OAAOgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,IAAI,CAAC;EAC3C,CAAC,EACD,CAAEgJ,KAAY,EAAEhJ,EAAU,KAAM,CAAEgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,EAAEA,EAAE,CACrE,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACCyM,OAAO,EAAEb,+DAAc,CACtB,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;IAC/B,IACC,OAAOgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,KAAK,QAAQ,IAClD,OAAOgJ,KAAK,CAACnC,WAAW,GAAI7G,EAAE,CAAE,KAAK,QAAQ,EAC5C;MACD,OAAO,KAAK;IACb;IAEA,OACCgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,GAC9BgJ,KAAK,CAACnC,WAAW,GAAI7G,EAAE,CAAE,EAAE8J,MAAM,GAAG,CAAC;EAEvC,CAAC,EACD,CAAEd,KAAY,EAAEhJ,EAAU,KAAM,CAAEgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,EAAEA,EAAE,CACrE,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACCoD,qBAAqB,EAAEwI,+DAAc,CACpC,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;IAAA,IAAAmK,qBAAA;IAC/B,MAAMuC,UAAU,GAAG1D,KAAK,CAACpC,cAAc,GAAI5G,EAAE,CAAE;IAC/C,MAAM6G,WAAW,GAAGmC,KAAK,CAACnC,WAAW,GAAI7G,EAAE,CAAE;IAC7C,MAAM8G,gBAAgB,IAAAqD,qBAAA,GAAGnB,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,cAAAmK,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;IAE7D,IAAK,CAAEuC,UAAU,EAAG;MACnB,OAAOpJ,SAAS;IACjB;;IAEA;IACA,IAAKwD,gBAAgB,KAAK,CAAC,CAAC,EAAG;MAC9B,OAAO4F,UAAU;IAClB;IAEA,IAAK,CAAE7F,WAAW,EAAEiD,MAAM,EAAG;MAC5B,OAAO4C,UAAU;IAClB;;IAEA;IACA,MAAMC,YAAY,GAAG9F,WAAW,CAACnD,KAAK,CAAE,CAAC,EAAEoD,gBAAgB,GAAG,CAAE,CAAC;;IAEjE;IACA,MAAMvD,YAAY,GAAGoJ,YAAY,CAACvD,MAAM,CAAE,CAAErE,MAAM,EAAE6H,QAAQ,KAAM;MACjE,MAAMC,UAAU,GAAG9L,KAAK,CAACC,OAAO,CAAE4L,QAAS,CAAC,GACzCA,QAAQ,GACR,CAAEA,QAAQ,CAAE;MAEf,MAAME,OAAO,GAAGrB,2DAAU,CAAE1G,MAAM,EAAE8H,UAAU,EAAE,IAAI,EAAE,KAAM,CAAC;MAC7D,OAAOC,OAAO,CAACC,WAAW;IAC3B,CAAC,EAAEL,UAAW,CAAC;IAEf,OAAOnJ,YAAY;EACpB,CAAC,EACD,CAAEyF,KAAY,EAAEhJ,EAAU,KAAM,CAC/BgJ,KAAK,CAACpC,cAAc,GAAI5G,EAAE,CAAE,EAC5BgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,EAC9BgJ,KAAK,CAACnC,WAAW,GAAI7G,EAAE,CAAE,EACzBA,EAAE,CAEJ,CAAC;EAED;AACD;AACA;EACCgN,gBAAgB,EAAEpB,+DAAc;EAC/B;EACEqB,MAAa,IAAM;IACpB,OAAOvB,8DAAY,CAClB,uCAAuC,EACvCvE,qDACD,CAAC;EACF,CAAC,EACC8F,MAAa,IAAM,CAAEA,MAAM,CAACxI,QAAQ,CACvC;AACD,CAAC;;AAED;AACA;AACA;AACA,MAAMyI,eAAe,GAAG;EACvB;AACD;AACA;EACCtN,UAAU,EAAE+L,uEAAsB,CAAIhM,MAAM,IAAM,MAAM;IACvD,MAAMD,OAAO,GAAGC,MAAM,CAAE7B,qDAAa,CAAC,CAAC8B,UAAU,CAAE3B,sDAAe,CAAC;IACnE,OAASyB,OAAO,IAAI,EAAE;EACvB,CAAE,CAAC;EAEH;AACD;AACA;EACCyN,aAAa,EAAExB,uEAAsB,CAClChM,MAAM,IACLK,EAAU,IAA0B;IACrC,MAAMN,OAAO,GACZC,MAAM,CAAE7B,qDAAa,CAAC,CAAC8B,UAAU,CAAE3B,sDAAe,CAAC;IACpD,OAAOyB,OAAO,EAAE0N,IAAI,CAAIrN,CAAC,IAAMA,CAAC,CAACC,EAAE,KAAKA,EAAG,CAAC;EAG7C,CACF;AACD,CAAC;;AAED;AACA;AACA;AACA,MAAMqN,mBAAmB,GAAG;EAC3B;AACD;AACA;EACCC,kBAAkB,EAAE1B,+DAAc,CACjC,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGiC,KAAK,CAACjC,eAAe,GAAI/G,EAAE,CAAE;;IAErD;IACA,IAAK,CAAE+G,eAAe,EAAG;MACxB,OAAO;QACNrF,MAAM,EAAExD,sDAAc,CAACqP;MACxB,CAAC;IACF;IAEA,OAAOxG,eAAe;EACvB,CAAC,EACD,CAAEiC,KAAY,EAAEhJ,EAAmB,KAAM,CAAEgJ,KAAK,CAACjC,eAAe,EAAE/G,EAAE,CACrE,CAAC;EAED;AACD;AACA;EACCwN,MAAM,EAAE5B,+DAAc,CACrB,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGsG,mBAAmB,CAACC,kBAAkB,CAC7DtE,KAAK,EACLhJ,EACD,CAAC;IACD,OAAO+G,eAAe,CAACrF,MAAM,KAAKxD,sDAAc,CAACqP,IAAI;EACtD,CAAC,EACD,CAAEN,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;EAED;AACD;AACA;EACCyN,WAAW,EAAE7B,+DAAc,CAC1B,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGsG,mBAAmB,CAACC,kBAAkB,CAC7DtE,KAAK,EACLhJ,EACD,CAAC;IACD,OAAO+G,eAAe,CAACrF,MAAM,KAAKxD,sDAAc,CAACyD,SAAS;EAC3D,CAAC,EACD,CAAEsL,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;EAED;AACD;AACA;EACC0N,WAAW,EAAE9B,+DAAc,CAC1B,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGsG,mBAAmB,CAACC,kBAAkB,CAC7DtE,KAAK,EACLhJ,EACD,CAAC;IACD,OAAO+G,eAAe,CAACrF,MAAM,KAAKxD,sDAAc,CAACgE,OAAO;EACzD,CAAC,EACD,CAAE+K,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;EAED;AACD;AACA;EACC2N,SAAS,EAAE/B,+DAAc,CACxB,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGsG,mBAAmB,CAACC,kBAAkB,CAC7DtE,KAAK,EACLhJ,EACD,CAAC;IACD,OAAO+G,eAAe,CAACrF,MAAM,KAAKxD,sDAAc,CAAC4D,KAAK;EACvD,CAAC,EACD,CAAEmL,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;EAED;AACD;AACA;EACC4N,kBAAkB,EAAEhC,+DAAc,CACjC,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGsG,mBAAmB,CAACC,kBAAkB,CAC7DtE,KAAK,EACLhJ,EACD,CAAC;IACD,OAAO+G,eAAe,CAAC5H,KAAK;EAC7B,CAAC,EACD,CAAE6J,KAAY,EAAEhJ,EAAmB,KAAM,CAAEgJ,KAAK,CAACjC,eAAe,EAAE/G,EAAE,CACrE;AACD,CAAC;AAED,MAAM6N,SAAS,GAAG;EACjB;EACA,GAAGhC,eAAe;EAClB;EACA,GAAGO,eAAe;EAClB;EACA,GAAGc,eAAe;EAClB;EACA,GAAGG;AACJ,CAAC;AAED,iEAAeQ,SAAS,E;;;;;;;;;;;;;;;;;;;;;AChd2B;AAEnB;AACA;AACI;AACA;AACmB;AAIvD;AACA;AACA;AACO,MAAME,WAAW,GAAGA,CAAA,MAAQ;EAClCvH,YAAY;EACZuC,OAAO;EACPhD,OAAO;EACP8H,SAAS;EACTrC,SAASA,oDAAAA;AACV,CAAC,CAAE;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAM3N,KAAK,GAAGiQ,iEAAgB,CAC7B9H,kDAAU,EACV+H,WAAW,CAAC,CACb,CAAC;AAED,iEAAelQ,KAAK,E;;;;;;;;;;;;;;AC5BpB;AACO,SAASmQ,cAAcA,CAC7BC,KAAU,EACmC;EAC7C,OAAOA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAIA,KAAK;AAC5D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS3P,cAAcA,CAAoC;EACjEiN,MAAM;EACN,GAAGxG;AACkB,CAAC,EAAmB;EACzC,OAAO3E,MAAM,CAAC4J,WAAW,CACxB5J,MAAM,CAACC,OAAO,CAAE0E,MAAO,CAAC,CAACW,GAAG,CAAE,CAAE,CAAEwI,GAAG,EAAED,KAAK,CAAE,KAAM,CACnDC,GAAG,EACHF,cAAc,CAAEC,KAAM,CAAC,GAAGA,KAAK,CAACE,GAAG,GAAGF,KAAK,CAC1C,CACH,CAAC;AACF,C;;;;;;;;;;;;;;;AC1BuC;AAKvC;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM5P,oBAAoB,GAChC+C,YAA4D,IAQrD;EACP,IAAK,CAAEA,YAAY,EAAG;IACrB,OAAO;MACNb,OAAO,EAAE5C,qDAAE,CAAE,0BAA0B,EAAE,aAAc;IACxD,CAAC;EACF;EAEA,IAAKyD,YAAY,CAACgB,KAAK,IAAI,CAAEhB,YAAY,CAACgB,KAAK,EAAE0H,MAAM,EAAG;IACzD,OAAO;MACNvJ,OAAO,EAAE5C,qDAAE,CACV,gDAAgD,EAChD,aACD,CAAC;MACDyQ,OAAO,EAAE,SAAS;MAClB9N,KAAK,EAAE;IACR,CAAC;EACF;EAEA,OAAO,IAAI;AACZ,CAAC,C;;;;;;;;;;;;;ACxCM,IAAKpC,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA,M;;;;;;;;;;;;;;;;ACA4B;;;;;;;;;;;;;;;;;;;ACAT;AACY;AAEf;AAE1C,MAAMmQ,UAAU,GAAGA,CAAA,KAAM;EAAA,IAAAM,qBAAA,EAAAC,oBAAA,EAAAC,sBAAA,EAAAC,qBAAA;EACxB;EACA,MAAM;IACLC,WAAW;IACXC,UAAU;IACVC,aAAa;IACbC,QAAQ;IACRC,eAAe;IACfC;EACD,CAAC,GAAGX,0DAAS,CAAI9O,MAAM,IAAM;IAC5B,MAAM0P,WAAW,GAAG1P,MAAM,CAAE+O,kDAAa,CAAC;IAC1C,OAAO;MACNK,WAAW,EAAEM,WAAW,CAACC,cAAc,CAAC,CAAC;MACzCN,UAAU,EAAEK,WAAW,CAACE,aAAa,CAAC,CAAC;MACvCN,aAAa,EAAEI,WAAW,CAACG,gBAAgB,CAAC,CAAC;MAC7CN,QAAQ,EACPG,WAAW,CAACI,aAAa,CAAE,iBAAkB,CAAC,IAC9CJ,WAAW,CAACI,aAAa,CAAE,mBAAoB,CAAC,IAChDJ,WAAW,CAACI,aAAa,CAAE,oBAAqB,CAAC,IACjDJ,WAAW,CAACI,aAAa,CAAE,kBAAmB,CAAC,IAC/CJ,WAAW,CAACI,aAAa,CAAE,eAAgB,CAAC;MAC7CL,eAAe,EAAEC,WAAW,CAACI,aAAa,CAAE,aAAc,CAAC;MAC3DN,eAAe,EAAEE,WAAW,CAACK,aAAa,CAAE,aAAc;IAC3D,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;;EAEP;EACA,MAAM;IACLC,eAAe;IACfC,iBAAiB;IACjBC,kBAAkB;IAClBC,gBAAgB;IAChBC,aAAa;IACbC;EACD,CAAC,GAAGxB,4DAAW,CAAEE,kDAAa,CAAC;;EAE/B;;EAEA;EACA,MAAMuB,eAAe,GAAG,OAAO,KAAKhB,aAAa,EAAEiB,OAAO;;EAE1D;EACA,MAAMC,oBAAoB,GAAG,CAC5B,aAAa,EACb,eAAe,EACf,UAAU,CACV,CAAClH,QAAQ,EAAA0F,qBAAA,GAAEM,aAAa,EAAEiB,OAAO,cAAAvB,qBAAA,cAAAA,qBAAA,GAAI,EAAG,CAAC;;EAE1C;EACA,MAAMyB,gBAAgB,GAAG,CAAE,SAAS,EAAE,QAAQ,CAAE,CAACnH,QAAQ,CACxDgG,aAAa,EAAEiB,OAChB,CAAC;;EAED;EACA,MAAMG,gBAAgB,GACrBD,gBAAgB,IAChB,CAAE,EAAE,EAAE,SAAS,CAAE,CAACnH,QAAQ,EAAA2F,oBAAA,GAAEK,aAAa,EAAE9P,KAAK,cAAAyP,oBAAA,cAAAA,oBAAA,GAAI,EAAG,CAAC;;EAEzD;EACA,MAAM0B,gBAAgB,GACrB,SAAS,KAAKrB,aAAa,EAAEiB,OAAO,IAClC,CAAE,SAAS,EAAE,QAAQ,CAAE,CAACjH,QAAQ,EAAA4F,sBAAA,GAAEI,aAAa,EAAEiB,OAAO,cAAArB,sBAAA,cAAAA,sBAAA,GAAI,EAAG,CAAC,IACjE,SAAS,KAAKI,aAAa,EAAE9P,KAAO;;EAEtC;EACA,MAAMoR,iBAAiB,GACtB,UAAU,KAAKtB,aAAa,EAAEiB,OAAO,IACnCE,gBAAgB,IAAI,UAAU,KAAKnB,aAAa,EAAE9P,KAAO;EAE5D,MAAMqR,kBAAkB,GAAG,qBAAqB,KAAKvB,aAAa,EAAE9P,KAAK;;EAEzE;EACA,MAAMsR,QAAQ,GAAG,CAAC,CAAExB,aAAa,EAAE9P,KAAK;;EAExC;EACA,MAAMuR,cAAc,GACnBN,gBAAgB,IAChBK,QAAQ,IACR,CAAE,CAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAE,CAACxH,QAAQ,EAAA6F,qBAAA,GAC9CG,aAAa,EAAE9P,KAAK,cAAA2P,qBAAA,cAAAA,qBAAA,GAAI,EACzB,CAAC;EAEF,MAAM6B,iBAAiB,GAAGpC,2DAAO,CAChC,MACC0B,eAAe,IACfE,oBAAoB,IACpBG,gBAAgB,IAChBC,iBAAiB,IACjBC,kBAAkB,EACnB,CACCP,eAAe,EACfE,oBAAoB,EACpBG,gBAAgB,EAChBC,iBAAiB,EACjBC,kBAAkB,CAEpB,CAAC;;EAED;EACA,MAAMI,oBAAoB,GAAGrC,2DAAO,CAAE,MAAM;IAC3C,IAAK0B,eAAe,EAAG;MACtB,OAAO,QAAQ;IAChB,CAAC,MAAM,IAAKK,gBAAgB,EAAG;MAC9B,OAAO,SAAS;IACjB,CAAC,MAAM,IAAKD,gBAAgB,EAAG;MAC9B,OAAO,SAAS;IACjB,CAAC,MAAM,IAAKF,oBAAoB,EAAG;MAClC,OAAO,aAAa;IACrB,CAAC,MAAM,IAAKI,iBAAiB,EAAG;MAC/B,OAAO,UAAU;IAClB,CAAC,MAAM,IAAKG,cAAc,EAAG;MAC5B,OAAO,OAAO;IACf;IACA,OAAO,SAAS;EACjB,CAAC,EAAE,CACFT,eAAe,EACfK,gBAAgB,EAChBD,gBAAgB,EAChBF,oBAAoB,EACpBI,iBAAiB,EACjBG,cAAc,CACb,CAAC;EAEH,MAAMG,YAAY,GAAGtC,2DAAO,CAAE,MAAM;IAAA,IAAAuC,qBAAA;IACnC;IACA,IAAIC,OAAO,IAAAD,qBAAA,GAAG7B,aAAa,EAAE+B,QAAQ,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,IAAI;IAE7C,IAAK,IAAI,KAAKC,OAAO,EAAG;MACvB,OAAO,CAAC,CAAC;IACV;IAEA,IAAK,QAAQ,KAAK,OAAOA,OAAO,EAAG;MAClCA,OAAO,GAAGE,QAAQ,CAAEF,OAAO,EAAE,EAAG,CAAC;IAClC;IAEA,QAASA,OAAO;MACf;QACC,OAAO,CAAC,CAAC;MAEV,KAAK,KAAK;MACV,KAAK,CAAC;QACL,OAAO,CAAC;MAET,KAAK,CAAC;MACN,KAAK,CAAC;MACN,KAAK,CAAC;MACN,KAAK,CAAC;QACL,OAAOA,OAAO;IAChB;EACD,CAAC,EAAE,CAAE9B,aAAa,EAAE+B,QAAQ,CAAG,CAAC;EAEhC,OAAO;IACNjC,WAAW;IACXC,UAAU;IACVC,aAAa;IACb4B,YAAY;IACZlB,eAAe;IACfC,iBAAiB;IACjBC,kBAAkB;IAClBC,gBAAgB;IAChBC,aAAa;IACbC,WAAW;IACXY,oBAAoB;IACpB1B,QAAQ;IACRE,eAAe;IACfD,eAAe;IACfwB,iBAAiB;IACjBV,eAAe;IACfE,oBAAoB;IACpBE,gBAAgB;IAChBC,gBAAgB;IAChBF,gBAAgB;IAChBG,iBAAiB;IACjBC,kBAAkB;IAClBE,cAAc;IACdD;EACD,CAAC;AACF,CAAC;AAED,iEAAepC,UAAU,E;;;;;;;;;;;;;;;;;;ACxLoB;AACY;AAEb;AAI5C,MAAMC,WAAW,GAAGA,CAAA,KAAM;EACzB;EACA,MAAM;IAAE6C,eAAe;IAAEC,cAAc;IAAEC,iBAAiB;IAAEnC;EAAS,CAAC,GACrET,0DAAS,CACN9O,MAAM,IAAM;IACb,MAAM0P,WAAW,GAAG1P,MAAM,CAAEuR,oDAAc,CAAC;IAC3C,OAAO;MACNE,cAAc,EAAE/B,WAAW,CAACiC,iBAAiB,CAAC,CAAC;MAC/CD,iBAAiB,EAAEhC,WAAW,CAACgC,iBAAiB,CAAC,CAAC;MAClDF,eAAe,EAAE9B,WAAW,CAACkC,WAAW,CAAC,CAAC;MAC1CrC,QAAQ,EACPG,WAAW,CAAC5B,WAAW,CAAE,gBAAiB,CAAC,IAC3C4B,WAAW,CAAC5B,WAAW,CAAE,cAAe;IAC1C,CAAC;EACF,CAAC;EACD;EACA,EACD,CAAC;;EAEF;EACA,MAAM;IAAE+D,cAAc;IAAEC,YAAY;IAAEC;EAAoB,CAAC,GAC1DlD,4DAAW,CAAE0C,oDAAc,CAAC;;EAE7B;EACA,MAAMzQ,QAAQ,GAAG8N,2DAAO,CACvB,OAAQ;IAAE,GAAG4C,eAAe;IAAE,GAAGC;EAAe,CAAC,CAAE,EACnD,CAAED,eAAe,EAAEC,cAAc,CAClC,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACC,MAAMO,UAAU,GAAGA,CAIlBC,IAAO,EACPC,YAAe,KACQ;IAAA,IAAAC,cAAA;IACvB,QAAAA,cAAA,GAAOrR,QAAQ,CAAEmR,IAAI,CAAE,cAAAE,cAAA,cAAAA,cAAA,GAAID,YAAY;EACxC,CAAC;EAED,OAAO;IACNV,eAAe;IACf1Q,QAAQ;IACRkR,UAAU;IACVH,cAAc;IACdC,YAAY;IACZvC,QAAQ;IACRmC,iBAAiB;IACjBK,mBAAmB;IACnBN;EACD,CAAC;AACF,CAAC;AAED,iEAAe9C,WAAW,E;;;;;;;;;;;;;;;;;;;;;;;;;;;AClEa;AAEO;AACW;AAEd;AACT;AAWlC,MAAM;EACL0D,gBAAgB;EAChBC,YAAY;EACZC,kBAAkB;EAClBC,kBAAkB;EAClBC,cAAc;EACdC,oBAAoB;EACpBC,oBAAoB;EACpBtT;AACD,CAAC,GAAGhB,oDAAY;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM6H,kBAAkB,GAAGA,CACjCpE,UAA4B,EAC5BC,MAAsB,EACtBnB,OAA4B,KAMxB;EACJ,IAAKA,OAAO,EAAG;IACd;IACAqD,OAAO,CAAC2O,GAAG,CAAE9Q,UAAU,EAAElB,OAAQ,CAAC;EACnC;EAEA,OAAO;IACNM,IAAI,EAAE7B,oBAAoB;IAC1ByC,UAAU;IACVC,MAAM;IACNnB;EACD,CAAC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMoP,eAAe,GACzBX,UAAuB,IACzB,OAAQ;EAAE3P;AAAS,CAAC,KAAM;EACzB,MAAMoC,UAAU,GAAG,iBAAiB;EAEpC,IAAI;IACHpC,QAAQ,CAACwG,kBAAkB,CAAEpE,UAAU,EAAEvD,sDAAc,CAACyD,SAAU,CAAC;IAEnE,MAAMI,MAAM,GAAG,MAAM5D,oDAAY,CAChC4T,+CAAO,CAAE,UAAW,CAAC,EACrB;MACC/P,MAAM,EAAE,MAAM;MACdxC,IAAI,EAAE;QAAEwP;MAAW;IACpB,CACD,CAAC;IAED,IAAKjN,MAAM,EAAG;MACb,MAAM;QAAEL,MAAM;QAAEqN;MAAY,CAAC,GAAGhN,MAAM;MAEtC1C,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAACgE,OAChB,CAAC;MAED,IAAK6M,WAAW,KAAKzL,SAAS,EAAG;QAChCjE,QAAQ,CAAE;UACTwB,IAAI,EAAEoR,YAAY;UAClBhD,aAAa,EAAEvN,MAAM;UACrBqN;QACD,CAAE,CAAC;MACJ;MAEA1P,QAAQ,CAAE;QACTwB,IAAI,EAAEmR,gBAAgB;QACtB/C,aAAa,EAAEvN;MAChB,CAAE,CAAC;MAEH;IACD;;IAEA;IACA;IACA;IACArC,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpBnE,qDAAE,CACD,4CAA4C,EAC5C,aACD,CACD,CAAC;EACF,CAAC,CAAC,OAAQwB,KAAK,EAAG;IACjB;IACAE,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpB1D,uDAAe,CAAEe,KAAM,CACxB,CAAC;EACF;AACD,CAAC;;AAEF;AACA;AACA;AACO,MAAMyQ,iBAAiB,GAC7BA,CAAA,KACA,OAAQ;EAAEvQ;AAAS,CAAC,KAAM;EACzB,MAAMoC,UAAU,GAAG,mBAAmB;EAEtC,IAAI;IACHpC,QAAQ,CAACwG,kBAAkB,CAAEpE,UAAU,EAAEvD,sDAAc,CAACyD,SAAU,CAAC;IAEnE,MAAMI,MAAM,GAAG,MAAM5D,oDAAY,CAChC4T,+CAAO,CAAE,YAAa,CAAC,EACvB;MACC/P,MAAM,EAAE;IACT,CACD,CAAC;IAED,IAAKD,MAAM,EAAG;MACb;MACA;MACA1C,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAACgE,OAChB,CAAC;MAED7C,QAAQ,CAAE;QACTwB,IAAI,EAAEqR,kBAAkB;QACxBjD,aAAa,EAAElN,MAAM,CAACL;MACvB,CAAE,CAAC;MAEH;IACD;;IAEA;IACA;IACA;IACArC,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpBnE,qDAAE,CACD,4CAA4C,EAC5C,aACD,CACD,CAAC;EACF,CAAC,CAAC,OAAQwB,KAAK,EAAG;IACjB;IACAE,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpB1D,uDAAe,CAAEe,KAAM,CACxB,CAAC;EACF;AACD,CAAC;;AAEF;AACA;AACA;AACO,MAAM0Q,kBAAkB,GAC9BA,CAAA,KACA,OAAQ;EAAExQ;AAAS,CAAC,KAAM;EACzB,MAAMoC,UAAU,GAAG,oBAAoB;EAEvC,IAAI;IACHpC,QAAQ,CAACwG,kBAAkB,CAAEpE,UAAU,EAAEvD,sDAAc,CAACyD,SAAU,CAAC;IAEnE,MAAMI,MAAM,GAAG,MAAM5D,oDAAY,CAChC4T,+CAAO,CAAE,QAAS,CAAC,EACnB;MACC/P,MAAM,EAAE;IACT,CACD,CAAC;IAED,IAAKD,MAAM,EAAG;MACb1C,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAACgE,OAChB,CAAC;MAED7C,QAAQ,CAAE;QACTwB,IAAI,EAAEwR,oBAAoB;QAC1BpD,aAAa,EAAElN,MAAM,CAACL;MACvB,CAAE,CAAC;MAEH;IACD;IAEArC,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpBnE,qDAAE,CACD,4CAA4C,EAC5C,aACD,CACD,CAAC;EACF,CAAC,CAAC,OAAQwB,KAAK,EAAG;IACjB;IACAE,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpB1D,uDAAe,CAAEe,KAAM,CACxB,CAAC;EACF;AACD,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACO,MAAM2Q,gBAAgB,GAC1Bd,UAAsB,IACxB,OAAQ;EAAErP,MAAM;EAAEN;AAAS,CAAC,KAAM;EACjC,MAAMoC,UAAU,GAAG,kBAAkB;EAErC,MAAM+Q,UAAU,GAAG7S,MAAM,CAAC4P,aAAa,CAAC,CAAC;EAEzC,IAAKiD,UAAU,KAAKxD,UAAU,EAAG;IAChC3P,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpBnE,qDAAE,CACD,iDAAiD,EACjD,aACD,CACD,CAAC;IAED;EACD;EAEA,IAAI;IACH0B,QAAQ,CAACwG,kBAAkB,CAAEpE,UAAU,EAAEvD,sDAAc,CAACyD,SAAU,CAAC;IAEnE,MAAMI,MAAM,GAAG,MAAM5D,oDAAY,CAChC4T,+CAAO,CAAC,CAAC,EACT;MACC/P,MAAM,EAAE,MAAM;MACdxC,IAAI,EAAE;QAAEwP;MAAW;IACpB,CACD,CAAC;IAED,IAAKjN,MAAM,EAAG;MACb;MACA;MACA1C,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAACgE,OAChB,CAAC;MAED7C,QAAQ,CAAE;QACTwB,IAAI,EAAEsR,kBAAkB;QACxBnD,UAAU;QACVC,aAAa,EAAElN,MAAM,CAACL;MACvB,CAAE,CAAC;MAEH;IACD;;IAEA;IACA;IACA;IACArC,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpBnE,qDAAE,CACD,4CAA4C,EAC5C,aACD,CACD,CAAC;EACF,CAAC,CAAC,OAAQwB,KAAK,EAAG;IACjB;IACAE,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpB1D,uDAAe,CAAEe,KAAM,CACxB,CAAC;EACF;AACD,CAAC;;AAEF;AACA;AACA;AACO,MAAM4Q,aAAa,GACzBA,CAAA,KACA,OAAQ;EAAE1Q;AAAS,CAAC,KAAM;EACzB,MAAMoC,UAAU,GAAG,eAAe;EAElC,IAAI;IACHpC,QAAQ,CAACwG,kBAAkB,CAAEpE,UAAU,EAAEvD,sDAAc,CAACyD,SAAU,CAAC;IAEnE,MAAMI,MAAM,GAAG,MAAM5D,oDAAY,CAAa4T,+CAAO,CAAC,CAAC,EAAE;MACxD/P,MAAM,EAAE;IACT,CAAE,CAAC;IAEH,IAAKD,MAAM,EAAG;MACb1C,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAACgE,OAChB,CAAC;MAED7C,QAAQ,CAAE;QACTwB,IAAI,EAAEuR;MACP,CAAE,CAAC;MAEH;IACD;IAEA/S,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpBnE,qDAAE,CACD,4CAA4C,EAC5C,aACD,CACD,CAAC;EACF,CAAC,CAAC,OAAQwB,KAAK,EAAG;IACjB;IACAE,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpB1D,uDAAe,CAAEe,KAAM,CACxB,CAAC;EACF;AACD,CAAC;;AAEF;AACA;AACA;AACO,MAAM6Q,WAAW,GACvBA,CAAA,KACA,OAAQ;EAAE3Q;AAAS,CAAC,KAAM;EACzB,MAAMoC,UAAU,GAAG,aAAa;EAEhC,IAAI;IACHpC,QAAQ,CAACwG,kBAAkB,CAAEpE,UAAU,EAAEvD,sDAAc,CAACyD,SAAU,CAAC;IAEnE,MAAMI,MAAM,GAAG,MAAM5D,oDAAY,CAChC4T,+CAAO,CAAE,cAAe,CAAC,EACzB;MACC/P,MAAM,EAAE;IACT,CACD,CAAC;IAED,IAAKD,MAAM,EAAG;MACb1C,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAACgE,OAChB,CAAC;MAED;IACD;IAEA7C,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpBnE,qDAAE,CACD,4CAA4C,EAC5C,aACD,CACD,CAAC;EACF,CAAC,CAAC,OAAQwB,KAAK,EAAG;IACjB;IACAE,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpB1D,uDAAe,CAAEe,KAAM,CACxB,CAAC;EACF;AACD,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACO,MAAMsT,OAAO,GACnBvC,OAAgB,IACwB;EACxC,OAAO;IACNrP,IAAI,EAAEyR,oBAAoB;IAC1BpC;EACD,CAAC;AACF,CAAC,C;;;;;;;;;;;;;;;;;;;ACnZM,MAAMlK,UAAU,GAAG,qBAAqB;AAExC,MAAMgM,gBAAgB,GAAG,kBAAkB;AAC3C,MAAMC,YAAY,GAAG,cAAc;AACnC,MAAMC,kBAAkB,GAAG,oBAAoB;AAC/C,MAAME,cAAc,GAAG,gBAAgB;AACvC,MAAMD,kBAAkB,GAAG,oBAAoB;AAC/C,MAAME,oBAAoB,GAAG,sBAAsB;AACnD,MAAMrT,oBAAoB,GAAG,sBAAsB;AACnD,MAAMsT,oBAAoB,GAAG,sBAAsB;AACnD,MAAMI,mBAAmB,GAAG,qBAAqB;AAEjD,MAAM1U,YAUZ,GAAG;EACHgU,gBAAgB;EAChBC,YAAY;EACZC,kBAAkB;EAClBE,cAAc;EACdD,kBAAkB;EAClBE,oBAAoB;EACpBrT,oBAAoB;EACpBsT,oBAAoB;EACpBI;AACD,CAAC;;AAED;AACA;AACA;AACO,MAAMC,qBAAoC,GAAG;EACnDC,OAAO,EAAE,KAAK;EACd1C,OAAO,EAAE,SAAS;EAClB2C,aAAa,EAAE,CAAC;EAChBC,UAAU,EAAE,CAAC;EACbC,OAAO,EAAE,EAAE;EACXC,gBAAgB,EAAE,CAAC;EACnBhC,QAAQ,EAAE,CAAC;EACX7R,KAAK,EAAEmE,SAAS;EAChB2P,aAAa,EAAE3P;AAChB,CAAC;;AAED;AACA;AACA;AACO,MAAM6D,aAAsB,GAAG;EACrC+G,GAAG,EAAE,EAAE;EACPxM,MAAM,EAAEiR;AACT,CAAC;;AAED;AACA;AACA;AACO,MAAMnM,YAAmB,GAAG;EAClC0J,OAAO,EAAE/I;AACV,CAAC,C;;;;;;;;;;;;;;;;;AC5DiD;;;;;;;;;;;;;;;ACLO;AAUzD,MAAM;EACL6K,gBAAgB;EAChBC,YAAY;EACZC,kBAAkB;EAClBE,cAAc;EACdD,kBAAkB;EAClBE,oBAAoB;EACpBC,oBAAoB;EACpBtT,oBAAoB;EACpB0T;AACD,CAAC,GAAG1U,oDAAY;AAqEhB,MAAM+K,OAAO,GAAGA,CAAEC,KAAY,GAAGxC,oDAAY,EAAEjF,MAAqB,KAAM;EACzE,QAASA,MAAM,CAACV,IAAI;IACnB,KAAKmR,gBAAgB;IACrB,KAAKE,kBAAkB;IACvB,KAAKG,oBAAoB;MACxB,OAAO;QACN,GAAGrJ,KAAK;QACRkH,OAAO,EAAE;UACR,GAAGlH,KAAK,CAACkH,OAAO;UAChBxO,MAAM,EAAEH,MAAM,CAAC0N;QAChB;MACD,CAAC;MACD;AAAa;IAEd,KAAKgD,YAAY;MAChB,OAAO;QACN,GAAGjJ,KAAK;QACRkH,OAAO,EAAE;UACR,GAAGlH,KAAK,CAACkH,OAAO;UAChBxO,MAAM,EAAEH,MAAM,CAAC0N;QAChB,CAAC;QACDF,WAAW,EAAExN,MAAM,CAACwN;MACrB,CAAC;IAEF,KAAKoD,kBAAkB;MACtB,OAAO;QACN,GAAGnJ,KAAK;QACRkH,OAAO,EAAE;UACR,GAAGlH,KAAK,CAACkH,OAAO;UAChBhC,GAAG,EAAE3M,MAAM,CAACyN,UAAU;UACtBtN,MAAM,EAAEH,MAAM,CAAC0N;QAChB;MACD,CAAC;IAEF,KAAKmD,cAAc;MAClB,OAAO;QACN,GAAGpJ,KAAK;QACRkH,OAAO,EAAE;UACRhC,GAAG,EAAE,EAAE;UACPxM,MAAM,EAAE,CAAC;QACV;MACD,CAAC;IAEF,KAAK4Q,oBAAoB;MACxB,OAAO;QACN,GAAGtJ,KAAK;QACRkH,OAAO,EAAE3O,MAAM,CAAC2O;MACjB,CAAC;IAEF,KAAKwC,mBAAmB;MACvB,OAAO;QACN,GAAG1J,KAAK;QACR7J,KAAK,EAAEoC,MAAM,CAAChB;MACf,CAAC;IAEF,KAAKvB,oBAAoB;MACxB,OAAO;QACN,GAAGgK,KAAK;QACRoK,cAAc,EAAE;UACf,GAAGpK,KAAK,CAACoK,cAAc;UACvB,CAAE7R,MAAM,CAACE,UAAU,GAAI;YACtB,GAAGuH,KAAK,EAAEoK,cAAc,GAAI7R,MAAM,CAACE,UAAU,CAAE;YAC/CC,MAAM,EAAEH,MAAM,CAACG,MAAM;YACrBvC,KAAK,EAAEoC,MAAM,CAAChB;UACf;QACD;MACD,CAAC;IAEF;MACC,OAAOyI,KAAK;EACd;AACD,CAAC;AAED,iEAAeD,OAAO,E;;;;;;;;;;;;;;;;;;;;;AClKiB;AAEkB;AACP;AAChB;AAI3B,MAAMsK,cAAc,GAC1BA,CAAA,KACA,OAAQ;EAAEhU;AAAS,CAAC,KAAM;EACzB,IAAI;IACH,MAAMiM,OAAO,GAAG,MAAMnN,oDAAY,CAAa4T,+CAAO,CAAC,CAAC,EAAE;MACzD/P,MAAM,EAAE;IACT,CAAE,CAAC;IAEH,IAAKsJ,OAAO,EAAG;MACdjM,QAAQ,CAACoT,OAAO,CAAEnH,OAAQ,CAAC;MAC3B;IACD;IAEAjM,QAAQ,CAAE;MACTwB,IAAI,EAAE6R,2DAAmB;MACzBnS,OAAO,EAAE5C,qDAAE,CACV,iDAAiD,EACjD,aACD;IACD,CAAE,CAAC;EACJ,CAAC,CAAC,OAAQwB,KAAK,EAAG;IACjBE,QAAQ,CAAE;MACTwB,IAAI,EAAE6R,2DAAmB;MACzBnS,OAAO,EAAEnC,uDAAe,CAAEe,KAAM;IACjC,CAAE,CAAC;EACJ;AACD,CAAC;AAEK,MAAMoQ,aAAa,GACzBA,CAAA,KACA,OAAQ;EAAE+D;AAAc,CAAC,KAAM;EAAA,IAAAC,qBAAA;EAC9B,MAAM;IAAErF,GAAG,GAAG;EAAG,CAAC,IAAAqF,qBAAA,GAAK,MAAMD,aAAa,CAACD,cAAc,CAAC,CAAC,cAAAE,qBAAA,cAAAA,qBAAA,GAAM,CAAC,CAAC;EAEnE,OAAOrF,GAAG;AACX,CAAC;AAEK,MAAMsB,gBAAgB,GAC5BA,CAAA,KACA,OAAQ;EAAE8D;AAAc,CAAC,KAAM;EAAA,IAAAE,sBAAA;EAC9B,MAAM;IAAE9R;EAAO,CAAC,IAAA8R,sBAAA,GAAK,MAAMF,aAAa,CAACD,cAAc,CAAC,CAAC,cAAAG,sBAAA,cAAAA,sBAAA,GAAM,CAAC,CAAC;EAEjE,OAAO9R,MAAM;AACd,CAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;AClD+C;AAEH;AACM;AAWpD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM2R,cAAc,GAAKrK,KAAY,IAAeA,KAAK,CAACkH,OAAO;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMX,aAAa,GAAKvG,KAAY,IAAkB;EAC5D,MAAM;IAAEkF;EAAI,CAAC,GAAGmF,cAAc,CAAErK,KAAM,CAAC;EACvC,OAAOkF,GAAG;AACX,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMsB,gBAAgB,GAAG5D,+DAAc,CAC3C5C,KAAY,IAAqB;EAClC,MAAM;IAAEtH;EAAO,CAAC,GAAG2R,cAAc,CAAErK,KAAM,CAAC;EAE1C,OAAO;IACN,GAAG2J,6DAAqB;IACxB,GAAGjR;EACJ,CAAC;AACF,CAAC,EACCsH,KAAY,IAAM,CAAEA,KAAK,CAACkH,OAAO,CAACxO,MAAM,CAC3C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM4N,cAAc,GAAKtG,KAAY,IAC3CA,KAAK,CAAC+F,WAAW;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM0E,iBAAiB,GAAGA,CAChCzK,KAAY,EACZvH,UAA4B,KACJuH,KAAK,EAAEoK,cAAc,GAAI3R,UAAU,CAAE,EAAEC,MAAM;;AAEtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM+N,aAAa,GAAG7D,+DAAc,CAC1C,CACC5C,KAAY,EACZ0K,WAAkD,KACrC;EACb,IAAK,CAAE3S,KAAK,CAACC,OAAO,CAAE0S,WAAY,CAAC,EAAG;IACrC,OACCD,iBAAiB,CAAEzK,KAAK,EAAE0K,WAAY,CAAC,KACvCxV,sDAAc,CAACyD,SAAS;EAE1B;EAEA,IAAIgS,WAAW,GAAG,KAAK;EAEvB,KAAM,IAAIC,CAAC,GAAG,CAAC,EAAEF,WAAW,CAAC5J,MAAM,GAAG8J,CAAC,EAAEA,CAAC,EAAE,EAAG;IAC9CD,WAAW,GACVF,iBAAiB,CAAEzK,KAAK,EAAE0K,WAAW,CAAEE,CAAC,CAAG,CAAC,KAC5C1V,sDAAc,CAACyD,SAAS;IAEzB,IAAKgS,WAAW,EAAG;MAClB,OAAO,IAAI;IACZ;EACD;EAEA,OAAOA,WAAW;AACnB,CAAC,EACD,CAAE3K,KAAY,EAAE0K,WAAkD,KAAM,CACvE1K,KAAK,CAACoK,cAAc,EACpBM,WAAW,CAEb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMhE,aAAa,GAAG9D,+DAAc,CAC1C,CAAE5C,KAAY,EAAEvH,UAA4B,KAAe;EAC1D,MAAMC,MAAM,GAAG+R,iBAAiB,CAAEzK,KAAK,EAAEvH,UAAW,CAAC;EAErD,OAAO,CAAC,EACPC,MAAM,IAEL,CAAExD,sDAAc,CAACgE,OAAO,EAAEhE,sDAAc,CAAC4D,KAAK,CAAE,CAC9C+R,OAAO,CAAEnS,MAAO,CAAC,IAAI,CAAC,CACzB;AACF,CAAC,EACD,CAAEsH,KAAY,EAAEvH,UAA4B,KAAM,CACjDuH,KAAK,CAACoK,cAAc,EACpB3R,UAAU,CAEZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMqS,gBAAgB,GAAGA,CAC/B9K,KAAY,EACZvH,UAA4B,KACJuH,KAAK,EAAEoK,cAAc,GAAI3R,UAAU,CAAE,EAAEtC,KAAK,C;;;;;;;;;;;;;;;;;;;;ACzJlB;AAEnB;AACK;AACI;AACA;AACc;AAIvD,MAAM4O,WAAW,GAAGA,CAAA,MAAQ;EAC3BvH,YAAY;EACZuC,OAAO;EACPhD,OAAO;EACP8H,SAAS;EACTrC,SAASA,yCAAAA;AACV,CAAC,CAAE;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAM3N,KAAK,GAAGiQ,iEAAgB,CAC7B9H,kDAAU,EACV+H,WAAW,CAAC,CACb,CAAC;AAED,iEAAelQ,KAAK,E;;;;;;;;;;;;;AC5Bb,MAAMkU,OAAO,GAAGA,CAAEgC,OAAO,GAAG,EAAE,KAAM;EAC1C,IAAKA,OAAO,EAAG;IACdA,OAAO,GAAG,IAAKA,OAAO,EAAG;EAC1B;EAEA,OAAO,yBAA0BA,OAAO,EAAG;AAC5C,CAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACN6C;AACgB;AAEd;AACW;AACD;AAEC;AAEb;AACW;AACZ;AACJ;AAWzC;;AAEA,MAAM;EACLxV,cAAc;EACdC,YAAY;EACZC,gBAAgB;EAChBC,WAAW;EACXC,oBAAoB;EACpBC,kBAAkB;EAClBC,gBAAgB;EAChBC,gBAAgB;EAChBC,iBAAiB;EACjBC,oBAAoB;EACpBC;AACD,CAAC,GAAGjB,oDAAY;;AAEhB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMiW,WAAW,GACvBA,CACCC,KAA+B,EAC/B7S,QAAiB,GAAG,IAAI,EACxBC,WAAoB,GAAG,IAAI,KAE5B,OAAQ;EAAEjC,QAAQ;EAAEC;AAAS,CAAC,KAAM;EACnC,MAAMiC,MAAM,GAAG,aAAa;EAE5B,IAAI;IACHlC,QAAQ,CAAE;MACTwB,IAAI,EAAE7B,oBAAoB;MAC1BwC,OAAO,EAAE;QACRC,UAAU,EAAEF,MAAM;QAClBG,MAAM,EAAExD,sDAAc,CAACyD;MACxB;IACD,CAAE,CAAC;IAEH,MAAM;MAAE3B,EAAE;MAAE,GAAGmU;IAAS,CAAC,GAAGD,KAAK;IAEjC,IAAK7S,QAAQ,EAAG;MACf,MAAMQ,UAAU,GAAGmS,0DAAa,CAAEG,QAAS,CAAC;MAE5C,IAAK,IAAI,KAAKtS,UAAU,EAAG;QAC1BxC,QAAQ,CAAE;UACTwB,IAAI,EAAE7B,oBAAoB;UAC1BwC,OAAO,EAAE;YACRC,UAAU,EAAEF,MAAM;YAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;YAC5BvB,OAAO,EAAEsB,UAAU,CAACtB;UACrB;QACD,CAAE,CAAC;QAEH,IAAKe,WAAW,EAAG;UAClB,MAAMjC,QAAQ,CAACsB,iBAAiB,CAAEkB,UAAU,CAACtB,OAAO,EAAE;YACrDP,EAAE,EAAE;UACL,CAAE,CAAC;QACJ;QAEA,OAAO,KAAK;MACb;IACD;IAEA,MAAM+B,MAAM,GAAG,MAAM5D,oDAAY,CAChC,qBAAqB,EACrB;MACC6D,MAAM,EAAE,MAAM;MACdxC,IAAI,EAAE2U;IACP,CACD,CAAC;IAED,IAAKpS,MAAM,EAAG;MACbzC,QAAQ,CAAC2C,KAAK,CAAE,MAAM;QACrB5C,QAAQ,CAAE;UACTwB,IAAI,EAAE7B,oBAAoB;UAC1BwC,OAAO,EAAE;YACRC,UAAU,EAAEF,MAAM;YAClBG,MAAM,EAAExD,sDAAc,CAACgE;UACxB;QACD,CAAE,CAAC;QAEH,IAAKZ,WAAW,EAAG;UAClBjC,QAAQ,CAAC8C,mBAAmB,CAC3BvE,0DAAO;UACN;UACAD,qDAAE,CACD,gCAAgC,EAChC,aACD,CAAC,EACDI,wEAAc,CAAEgE,MAAM,EAAEK,KAAK,CAACC,QAAS,CACxC,CAAC,EACD;YACCrC,EAAE,EAAE;UACL,CACD,CAAC;QACF;QAEAX,QAAQ,CAAE;UACTwB,IAAI,EAAEtC,cAAc;UACpBiD,OAAO,EAAE;YACRc,MAAM,EAAEP;UACT;QACD,CAAE,CAAC;MACJ,CAAE,CAAC;MAEH,OAAOA,MAAM;IACd;IAEA1C,QAAQ,CAAE;MACTwB,IAAI,EAAE7B,oBAAoB;MAC1BwC,OAAO,EAAE;QACRC,UAAU,EAAEF,MAAM;QAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;QAC5BvB,OAAO,EAAE5C,qDAAE,CACV,yCAAyC,EACzC,aACD;MACD;IACD,CAAE,CAAC;EACJ,CAAC,CAAC,OAAQwB,KAAK,EAAG;IACjB,MAAMoD,YAAY,GAAGnE,uDAAe,CAAEe,KAAM,CAAC;IAE7CE,QAAQ,CAAE;MACTwB,IAAI,EAAE7B,oBAAoB;MAC1BwC,OAAO,EAAE;QACRC,UAAU,EAAEF,MAAM;QAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;QAC5BvB,OAAO,EAAEgC;MACV;IACD,CAAE,CAAC;IAEH,IAAKjB,WAAW,EAAG;MAClB;MACAjC,QAAQ,CAACsB,iBAAiB,CAAE4B,YAAa,CAAC;IAC3C;IAEA,MAAMpD,KAAK;EACZ;EAEA,OAAO,KAAK;AACb,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMiV,WAAW,GACvBA,CACCF,KAA2B,EAC3B7S,QAAiB,GAAG,IAAI,EACxBC,WAAoB,GAAG,IAAI,KAE5B,OAAQ;EAAE3B,MAAM;EAAEN,QAAQ;EAAEC;AAAS,CAAC,KAAM;EAC3C,MAAMiC,MAAM,GAAG,aAAa;EAE5B,IAAI;IACHlC,QAAQ,CAAE;MACTwB,IAAI,EAAE7B,oBAAoB;MAC1BwC,OAAO,EAAE;QACRC,UAAU,EAAEF,MAAM;QAClBG,MAAM,EAAExD,sDAAc,CAACyD;MACxB;IACD,CAAE,CAAC;IAEH,IAAKN,QAAQ,EAAG;MACf,MAAMQ,UAAU,GAAGmS,0DAAa,CAAEE,KAAM,CAAC;MAEzC,IAAK,IAAI,KAAKrS,UAAU,EAAG;QAC1BxC,QAAQ,CAAE;UACTwB,IAAI,EAAE7B,oBAAoB;UAC1BwC,OAAO,EAAE;YACRC,UAAU,EAAEF,MAAM;YAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;YAC5BvB,OAAO,EAAEsB,UAAU,CAACtB;UACrB;QACD,CAAE,CAAC;QAEH,IAAKe,WAAW,EAAG;UAClB,MAAMjC,QAAQ,CAACsB,iBAAiB,CAAEkB,UAAU,CAACtB,OAAO,EAAE;YACrDP,EAAE,EAAE;UACL,CAAE,CAAC;QACJ;QAEA,OAAO,KAAK;MACb;IACD;IAEA,MAAMqU,cAAc,GAAG,MAAM1U,MAAM,CAAC2U,QAAQ,CAAEJ,KAAK,CAAClU,EAAG,CAAC;IAExD,IAAK,CAAEqU,cAAc,EAAG;MACvBhV,QAAQ,CAAE;QACTwB,IAAI,EAAE7B,oBAAoB;QAC1BwC,OAAO,EAAE;UACRC,UAAU,EAAEF,MAAM;UAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;UAC5BvB,OAAO,EAAE5C,qDAAE,CAAE,iBAAiB,EAAE,aAAc;QAC/C;MACD,CAAE,CAAC;MAEH,OAAO,KAAK;IACb;IAEA,MAAMoE,MAAM,GAAG,MAAM5D,oDAAY,CAChC,UAAWkW,cAAc,CAACrU,EAAE,EAAG,EAC/B;MACCgC,MAAM,EAAE,MAAM;MACdxC,IAAI,EAAE0U;IACP,CACD,CAAC;IAED,IAAKnS,MAAM,EAAG;MACbzC,QAAQ,CAAC2C,KAAK,CAAE,MAAM;QACrB5C,QAAQ,CAAE;UACTwB,IAAI,EAAE7B,oBAAoB;UAC1BwC,OAAO,EAAE;YACRC,UAAU,EAAEF,MAAM;YAClBG,MAAM,EAAExD,sDAAc,CAACgE;UACxB;QACD,CAAE,CAAC;MACJ,CAAE,CAAC;MAEH,IAAKZ,WAAW,EAAG;QAClBjC,QAAQ,CAAC8C,mBAAmB,CAC3BvE,0DAAO;QACN;QACAD,qDAAE,CACD,kCAAkC,EAClC,aACD,CAAC,EACDI,wEAAc,CAAEgE,MAAM,EAAEK,KAAK,CAACC,QAAS,CACxC,CAAC,EACD;UACCrC,EAAE,EAAE;QACL,CACD,CAAC;MACF;MAEAX,QAAQ,CAAE;QACTwB,IAAI,EAAEtC,cAAc;QACpBiD,OAAO,EAAE;UACRc,MAAM,EAAEP;QACT;MACD,CAAE,CAAC;MAEH,OAAOA,MAAM;IACd;IAEA1C,QAAQ,CAAE;MACTwB,IAAI,EAAE7B,oBAAoB;MAC1BwC,OAAO,EAAE;QACRC,UAAU,EAAEF,MAAM;QAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;QAC5BvB,OAAO,EAAE5C,qDAAE,CACV,yCAAyC,EACzC,aACD;MACD;IACD,CAAE,CAAC;EACJ,CAAC,CAAC,OAAQwB,KAAK,EAAG;IACjB,MAAMoD,YAAY,GAAGnE,uDAAe,CAAEe,KAAM,CAAC;IAE7CE,QAAQ,CAAE;MACTwB,IAAI,EAAE7B,oBAAoB;MAC1BwC,OAAO,EAAE;QACRC,UAAU,EAAEF,MAAM;QAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;QAC5BvB,OAAO,EAAEgC;MACV;IACD,CAAE,CAAC;IAEH,IAAKjB,WAAW,EAAG;MAClB;MACAjC,QAAQ,CAACsB,iBAAiB,CAAE4B,YAAa,CAAC;IAC3C;IAEA,MAAMpD,KAAK;EACZ;EAEA,OAAO,KAAK;AACb,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMoV,WAAW,GACvBA,CACCvU,EAAU,EACV8C,WAAoB,GAAG,KAAK,EAC5BxB,WAAoB,GAAG,IAAI,KAE5B,OAAQ;EAAEjC,QAAQ;EAAEC;AAAS,CAAC,KAAM;EACnC,MAAMiC,MAAM,GAAG,aAAa;EAE5B,IAAI;IACHlC,QAAQ,CAAE;MACTwB,IAAI,EAAE7B,oBAAoB;MAC1BwC,OAAO,EAAE;QACRC,UAAU,EAAEF,MAAM;QAClBG,MAAM,EAAExD,sDAAc,CAACyD;MACxB;IACD,CAAE,CAAC;;IAEH;IACA,MAAM0S,cAAc,GAAG,MAAMlW,oDAAY,CACxC,UAAW6B,EAAE,eACd,CAAC;IAED,IAAK,CAAEqU,cAAc,EAAG;MACvBhV,QAAQ,CAAE;QACTwB,IAAI,EAAE7B,oBAAoB;QAC1BwC,OAAO,EAAE;UACRC,UAAU,EAAEF,MAAM;UAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;UAC5BvB,OAAO,EAAE5C,qDAAE,CAAE,iBAAiB,EAAE,aAAc;QAC/C;MACD,CAAE,CAAC;MAEH,OAAO,KAAK;IACb;IAEA,MAAMoF,KAAK,GAAGD,WAAW,GAAG,aAAa,GAAG,EAAE;IAE9C,MAAMf,MAAM,GAAG,MAAM5D,oDAAY,CAChC,UAAW6B,EAAE,GAAK+C,KAAK,EAAG,EAC1B;MACCf,MAAM,EAAE;IACT,CACD,CAAC;IAED,IAAKD,MAAM,EAAG;MACbzC,QAAQ,CAAC2C,KAAK,CAAE,MAAM;QACrB5C,QAAQ,CAAE;UACTwB,IAAI,EAAE7B,oBAAoB;UAC1BwC,OAAO,EAAE;YACRC,UAAU,EAAEF,MAAM;YAClBG,MAAM,EAAExD,sDAAc,CAACgE;UACxB;QACD,CAAE,CAAC;QAEH,IAAKZ,WAAW,EAAG;UAClBjC,QAAQ,CAAC8C,mBAAmB,CAC3BvE,0DAAO;UACN;UACAD,qDAAE,CACD,kCAAkC,EAClC,aACD,CAAC,EACDI,wEAAc,CAAEsW,cAAc,EAAEjS,KAAK,CAACC,QAAS,CAChD,CAAC,EACD;YACCrC,EAAE,EAAE;UACL,CACD,CAAC;QACF;QAEA,IAAK8C,WAAW,EAAG;UAClBzD,QAAQ,CAAE;YACTwB,IAAI,EAAErC,YAAY;YAClBgD,OAAO,EAAE;cACRxB;YACD;UACD,CAAE,CAAC;QACJ,CAAC,MAAM;UACNX,QAAQ,CAAE;YACTwB,IAAI,EAAEtC,cAAc;YACpBiD,OAAO,EAAE;cACRc,MAAM,EAAE;gBACP,GAAG+R,cAAc;gBACjB3S,MAAM,EAAE;cACT;YACD;UACD,CAAE,CAAC;QACJ;MACD,CAAE,CAAC;IACJ;IAEA,OAAOK,MAAM;EACd,CAAC,CAAC,OAAQ5C,KAAK,EAAG;IACjB;IACAE,QAAQ,CAAE;MACTwB,IAAI,EAAE7B,oBAAoB;MAC1BwC,OAAO,EAAE;QACRC,UAAU,EAAEF,MAAM;QAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;QAC5BvB,OAAO,EAAE5C,qDAAE,CAAE,iBAAiB,EAAE,aAAc;MAC/C;IACD,CAAE,CAAC;IAEH,IAAK2D,WAAW,EAAG;MAClB,MAAMjC,QAAQ,CAACsB,iBAAiB,CAC/BxB,KAAK,YAAY2C,KAAK,GACnB3C,KAAK,CAACoB,OAAO,GACb5C,qDAAE,CAAE,yBAAyB,EAAE,aAAc,CACjD,CAAC;IACF;IAEA,MAAMwB,KAAK;EACZ;AACD,CAAC;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM8D,UAAU,GACtBA,CAAEjD,EAAU,EAAEkD,KAA+B,KAC7C,OAAQ;EAAEvD,MAAM;EAAEN,QAAQ;EAAEC;AAAS,CAAC,KAAM;EAC3C,IAAI;IACH,IAAI+U,cAAyC;IAC7C,MAAMlR,eAAe,GAAGxD,MAAM,CAACwD,eAAe,CAAEnD,EAAG,CAAC;IAEpD,IAAKmD,eAAe,EAAG;MACtBkR,cAAc,GAAG1U,MAAM,CAAC6U,cAAc,CAAExU,EAAG,CAAkB;IAC9D,CAAC,MAAM;MACNqU,cAAc,GAAG,MAAMlW,oDAAY,CAEhC,UAAW6B,EAAE,eAAiB,CAAC,CAACqD,IAAI,CAAItB,MAAM;MAChD;MACAA,MAAM,GACHzD,sDAAc,CAAqByD,MAAO,CAAC,GAC3CuB,SACJ,CAAC;MACD,IAAK,CAAE+Q,cAAc,EAAG;QACvB;MACD;IACD;IAEA/U,QAAQ,CAAC2C,KAAK,CAAE,YAAY;MAC3B,IAAK,CAAEkB,eAAe,EAAG;QACxB,MAAM9D,QAAQ,CAAE;UACfwB,IAAI,EAAElC,oBAAoB;UAC1B6C,OAAO,EAAE;YACRxB,EAAE;YACF1B,cAAc,EAAE+V;UACjB;QACD,CAAE,CAAC;MACJ;;MAEA;MACA;MACA,MAAM9Q,YAAY,GAAG/F,iDAAS,CAC7B,CAAC,CAAC,EACFD,iDAAS,CAAE8W,cAAe,CAAC,EAC3BnR,KAAK,EACL,CAAEM,SAAS,EAAEC,QAAQ,KAAM;QAC1B,IAAK1C,KAAK,CAACC,OAAO,CAAEyC,QAAS,CAAC,EAAG;UAChC;UACA,OAAOA,QAAQ,CAACC,KAAK,CAAC,CAAC;QACxB;QACA,OAAOJ,SAAS;MACjB,CACD,CAAC;;MAED;MACA,MAAMK,IAAI,GAAGjG,wDAAgB,CAC5B2W,cAAc,aAAdA,cAAc,cAAdA,cAAc,GAAI,CAAC,CAAC,EACpB9Q,YACD,CAAC;MAED,MAAMlE,QAAQ,CAAE;QACfwB,IAAI,EAAEnC,WAAW;QACjB8C,OAAO,EAAE;UACRxB,EAAE;UACFkD,KAAK,EAAES;QACR;MACD,CAAsB,CAAC;IACxB,CAAE,CAAC;EACJ,CAAC,CAAC,OAAQxE,KAAK,EAAG;IACjB,MAAMoD,YAAY,GAAGnE,uDAAe,CAAEe,KAAM,CAAC;;IAE7C;IACAyE,OAAO,CAACzE,KAAK,CAAE,cAAc,EAAEA,KAAM,CAAC;IAEtC,MAAME,QAAQ,CAACsB,iBAAiB,CAAE4B,YAAa,CAAC;EACjD;AACD,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMsB,gBAAgB,GAC5BA,CACC7D,EAAU,EACVqB,QAAiB,GAAG,IAAI,EACxBC,WAAoB,GAAG,IAAI,KAE5B,OAAQ;EAAE3B,MAAM;EAAEN,QAAQ;EAAEC;AAAS,CAAC,KAAM;EAC3C,MAAMiC,MAAM,GAAG,YAAY;EAE3B,IAAI;IACHlC,QAAQ,CAAE;MACTwB,IAAI,EAAE7B,oBAAoB;MAC1BwC,OAAO,EAAE;QACRC,UAAU,EAAEF,MAAM;QAClBG,MAAM,EAAExD,sDAAc,CAACyD;MACxB;IACD,CAAE,CAAC;IAEH,IAAK,CAAEhC,MAAM,CAACmE,QAAQ,CAAE9D,EAAG,CAAC,EAAG;MAC9BX,QAAQ,CAAE;QACTwB,IAAI,EAAE7B,oBAAoB;QAC1BwC,OAAO,EAAE;UACRC,UAAU,EAAEF,MAAM;UAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;UAC5BvB,OAAO,EAAE5C,qDAAE,CAAE,kBAAkB,EAAE,aAAc;QAChD;MACD,CAAE,CAAC;MAEH,OAAO,KAAK;IACb;IAEA,MAAMoG,YAAY,GAAGpE,MAAM,CAACqE,0BAA0B,CAAEhE,EAAG,CAAC;IAC5D,MAAMyU,WAAW,GAAG9U,MAAM,CAAC6U,cAAc,CAAExU,EAAG,CAAC;IAE/C,IAAK,CAAEyU,WAAW,EAAG;MACpBpV,QAAQ,CAAE;QACTwB,IAAI,EAAE7B,oBAAoB;QAC1BwC,OAAO,EAAE;UACRC,UAAU,EAAEF,MAAM;UAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;UAC5BvB,OAAO,EAAE5C,qDAAE,CAAE,kBAAkB,EAAE,aAAc;QAChD;MACD,CAAE,CAAC;MAEH,OAAO,KAAK;IACb;IAEA,IAAK8W,WAAW,IAAIpT,QAAQ,EAAG;MAC9B,MAAMQ,UAAU,GAAGmS,0DAAa,CAAES,WAAY,CAAC;MAE/C,IAAK,IAAI,KAAK5S,UAAU,EAAG;QAC1BvC,QAAQ,CAAC2C,KAAK,CAAE,YAAY;UAC3B5C,QAAQ,CAAE;YACTwB,IAAI,EAAE7B,oBAAoB;YAC1BwC,OAAO,EAAE;cACRC,UAAU,EAAEF,MAAM;cAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;cAC5BvB,OAAO,EAAEsB,UAAU,CAACtB;YACrB;UACD,CAAE,CAAC;UAEH,IAAKe,WAAW,EAAG;YAClB,MAAMjC,QAAQ,CAACsB,iBAAiB,CAC/BkB,UAAU,CAACtB,OAAO,EAClB;cACCP,EAAE,EAAE;YACL,CACD,CAAC;UACF;QACD,CAAE,CAAC;QAEH,OAAO,KAAK;MACb;IACD;IAEA,MAAM+B,MAAM,GAAG,MAAM1C,QAAQ,CAAC+U,WAAW,CACxCK,WAAW,EACX,KAAK,EACL,KACD,CAAC;IAED,IAAK1S,MAAM,EAAG;MACbzC,QAAQ,CAAC2C,KAAK,CAAE,MAAM;QACrB5C,QAAQ,CAAE;UACTwB,IAAI,EAAE7B,oBAAoB;UAC1BwC,OAAO,EAAE;YACRC,UAAU,EAAEF,MAAM;YAClBG,MAAM,EAAExD,sDAAc,CAACgE;UACxB;QACD,CAAE,CAAC;QAEH,IAAKZ,WAAW,EAAG;UAClBjC,QAAQ,CAAC8C,mBAAmB,CAC3BvE,0DAAO;UACN;UACAD,qDAAE,CACD,gCAAgC,EAChC,aACD,CAAC,EACDI,wEAAc,CAAEgE,MAAM,EAAEK,KAAK,CAACC,QAAS,CACxC,CAAC,EACD;YACCrC,EAAE,EAAE;UACL,CACD,CAAC;QACF;QAEAX,QAAQ,CAAE;UACTwB,IAAI,EAAEjC,kBAAkB;UACxB4C,OAAO,EAAE;YACRxB,EAAE;YACF+D,YAAY;YACZR,YAAY,EAAEjF,sDAAc,CAAEyD,MAAO;UACtC;QACD,CAAE,CAAC;MACJ,CAAE,CAAC;MAEH,OAAO,IAAI;IACZ;IAEA,OAAO,KAAK;EACb,CAAC,CAAC,OAAQ5C,KAAK,EAAG;IACjB,MAAMoD,YAAY,GAAGnE,uDAAe,CAAEe,KAAM,CAAC;;IAE7C;IACAyE,OAAO,CAACzE,KAAK,CAAE,cAAc,EAAEA,KAAM,CAAC;IAEtCG,QAAQ,CAAC2C,KAAK,CAAE,YAAY;MAC3B,IAAKX,WAAW,EAAG;QAClB,MAAMjC,QAAQ,CAACsB,iBAAiB,CAAE4B,YAAa,CAAC;MACjD;MAEAlD,QAAQ,CAAE;QACTwB,IAAI,EAAE7B,oBAAoB;QAC1BwC,OAAO,EAAE;UACRC,UAAU,EAAEF,MAAM;UAClBG,MAAM,EAAExD,sDAAc,CAAC4D,KAAK;UAC5BvB,OAAO,EAAEgC;QACV;MACD,CAAE,CAAC;IACJ,CAAE,CAAC;IAEH,MAAMpD,KAAK;EACZ;AACD,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM+E,IAAI,GAChBA,CAAElE,EAAU,EAAEmE,KAAa,GAAG,CAAC,KAC/B,OAAQ;EAAExE,MAAM;EAAEN;AAAS,CAAC,KAAM;EACjC,MAAMqV,OAAO,GAAG1U,EAAE,GAAG,CAAC,GAAGA,EAAE,GAAGL,MAAM,CAACyE,WAAW,CAAC,CAAC;EAElD,IAAK,OAAOsQ,OAAO,KAAK,WAAW,EAAG;IACrC;EACD;EAEA,MAAMrV,QAAQ,CAAE;IACfwB,IAAI,EAAEhC,gBAAgB;IACtB2C,OAAO,EAAE;MACRxB,EAAE,EAAE0U,OAAO;MACXvQ;IACD;EACD,CAAE,CAAC;AACJ,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,IAAI,GAChBA,CAAErE,EAAU,EAAEmE,KAAa,GAAG,CAAC,KAC/B,OAAQ;EAAExE,MAAM;EAAEN;AAAS,CAAC,KAAM;EACjC,MAAMqV,OAAO,GAAG1U,EAAE,GAAG,CAAC,GAAGA,EAAE,GAAGL,MAAM,CAACyE,WAAW,CAAC,CAAC;EAElD,IAAK,OAAOsQ,OAAO,KAAK,WAAW,EAAG;IACrC;EACD;EAEA,MAAMrV,QAAQ,CAAE;IACfwB,IAAI,EAAE/B,gBAAgB;IACtB0C,OAAO,EAAE;MACRxB,EAAE,EAAE0U,OAAO;MACXvQ;IACD;EACD,CAAE,CAAC;AACJ,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,gBAAgB,GAC1BtE,EAAU,IACZ,OAAQ;EAAEL,MAAM;EAAEN;AAAS,CAAC,KAAM;EACjC,MAAMqV,OAAO,GAAG1U,EAAE,GAAG,CAAC,GAAGA,EAAE,GAAGL,MAAM,CAACyE,WAAW,CAAC,CAAC;EAElD,IAAK,OAAOsQ,OAAO,KAAK,WAAW,EAAG;IACrC;EACD;EAEArV,QAAQ,CAAE;IACTwB,IAAI,EAAE9B,iBAAiB;IACvByC,OAAO,EAAE;MACRxB,EAAE,EAAE0U;IACL;EACD,CAAE,CAAC;AACJ,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACO,MAAMnQ,kBAAkB,GAC5BC,MAA4B,IAC9B,OAAQ;EAAEnF,QAAQ;EAAEM;AAAO,CAAC,KAAM;EACjC,MAAM8E,QAAQ,GAAG9E,MAAM,CAACyE,WAAW,CAAC,CAAC;EAErC,IAAK,OAAOK,QAAQ,KAAK,WAAW,EAAG;IACtC;EACD;EAEApF,QAAQ,CAAC4D,UAAU,CAAEwB,QAAQ,EAAED,MAAO,CAAC;AACxC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACO,MAAME,gBAAgB,GAC5BA,CAAA,KACA,OAAQ;EAAErF,QAAQ;EAAEM;AAAO,CAAC,KAAM;EACjC,MAAM8E,QAAQ,GAAG9E,MAAM,CAACyE,WAAW,CAAC,CAAC;EACrC,MAAMO,YAAY,GAAGhF,MAAM,CAACiF,sBAAsB,CAAC,CAAC;EAEpD,IAAK,CAAEH,QAAQ,IAAI,CAAEE,YAAY,EAAG;IACnCtF,QAAQ,CAACsB,iBAAiB,CACzBhD,qDAAE,CAAE,0BAA0B,EAAE,aAAc,CAC/C,CAAC;IACD,OAAO,KAAK;EACb;EAEA,OAAO0B,QAAQ,CAACwE,gBAAgB,CAAEY,QAAS,CAAC;AAC7C,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACO,MAAMI,iBAAiB,GAC7BA,CAAA,KACA,OAAQ;EAAExF,QAAQ;EAAEM;AAAO,CAAC,KAAM;EACjC,MAAM8E,QAAQ,GAAG9E,MAAM,CAACyE,WAAW,CAAC,CAAC;EAErC,IAAK,OAAOK,QAAQ,KAAK,WAAW,EAAG;IACtC;EACD;EAEApF,QAAQ,CAACiF,gBAAgB,CAAEG,QAAS,CAAC;AACtC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,cAAc,GACxBL,QAAkB,IACpB,OAAQ;EAAE9E,MAAM;EAAEN;AAAS,CAAC,KAAM;EACjC,IAAI;IACH,IAAK,OAAOoF,QAAQ,KAAK,WAAW,EAAG;MACtCpF,QAAQ,CAAE;QACTwB,IAAI,EAAEpC,gBAAgB;QACtB+C,OAAO,EAAE;UACRiD,QAAQ,EAAEnB;QACX;MACD,CAAE,CAAC;MACH;IACD;IAEA,IAAK,CAAE3D,MAAM,CAACwD,eAAe,CAAEsB,QAAS,CAAC,EAAG;MAC3C,MAAMM,MAAM,GAAG,MAAM5G,oDAAY,CAChC,UAAWsG,QAAQ,eACpB,CAAC;MAED,IAAK,CAAEM,MAAM,EAAG;QACf1F,QAAQ,CAACsB,iBAAiB,CACzBhD,qDAAE,CAAE,iBAAiB,EAAE,aAAc,CACtC,CAAC;QACD;MACD;MAEA0B,QAAQ,CAAE;QACTwB,IAAI,EAAElC,oBAAoB;QAC1B6C,OAAO,EAAE;UACRxB,EAAE,EAAEyE,QAAQ;UACZnG,cAAc,EAAEA,sDAAc,CAAEyG,MAAO,CAAC;UACxCC,WAAW,EAAE;QACd;MACD,CAAE,CAAC;IACJ;IAEA3F,QAAQ,CAAE;MACTwB,IAAI,EAAEpC,gBAAgB;MACtB+C,OAAO,EAAE;QACRiD;MACD;IACD,CAAE,CAAC;EACJ,CAAC,CAAC,OAAQtF,KAAK,EAAG;IACjB,MAAMoD,YAAY,GAAGnE,uDAAe,CAAEe,KAAM,CAAC;;IAE7C;IACAyE,OAAO,CAACzE,KAAK,CAAE,6BAA6B,EAAEA,KAAM,CAAC;IAErDE,QAAQ,CAACsB,iBAAiB,CAAE4B,YAAa,CAAC;EAC3C;AACD,CAAC;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM2C,YAAY,GACxBA;AACC;AACF;AACA;AACExD,MAA0B,GAAG,MAAM;AACnC;AACF;AACA;AACEyD,OAA4B,GAAG,EAAE,EAIjCC,OAAgB,KAEjB,OAAQ;EAAE9F;AAAS,CAAC,KAAM;EACzBA,QAAQ,CAACD,QAAQ,CAAEvB,qDAAa,CAAC,CAACoH,YAAY,CAAExD,MAAM,EAAEyD,OAAO,EAAE;IAChE,GAAGC,OAAO;IACVC,OAAO,EAAEpH,sDAAcA;EACxB,CAAE,CAAC;AACJ,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM0C,iBAAiB,GAC7BA,CAICwE,OAAe,EAIfC,OAA8C,KAE/C,OAAQ;EAAE9F;AAAS,CAAC,KAAM;EACzBA,QAAQ,CAACD,QAAQ,CAAEvB,qDAAa,CAAC,CAACoH,YAAY,CAAE,OAAO,EAAEC,OAAO,EAAE;IACjE,GAAGC,OAAO;IACVC,OAAO,EAAEpH,sDAAcA;EACxB,CAAE,CAAC;AACJ,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMkE,mBAAmB,GAC/BA,CAICgD,OAAe,EAIfC,OAA8C,KAE/C,OAAQ;EAAE9F;AAAS,CAAC,KAAM;EACzBA,QAAQ,CAACD,QAAQ,CAAEvB,qDAAa,CAAC,CAACoH,YAAY,CAAE,SAAS,EAAEC,OAAO,EAAE;IACnE,GAAGC,OAAO;IACVC,OAAO,EAAEpH,sDAAcA;EACxB,CAAE,CAAC;AACJ,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACO,MAAMkC,YAAY,GACtBH,EAAU,IACZ,OAAQ;EAAEV;AAAS,CAAC,KAAM;EACzBA,QAAQ,CAACD,QAAQ,CAAEvB,qDAAa,CAAC,CAACqC,YAAY,CAAEH,EAAE,EAAE/B,sDAAe,CAAC;AACrE,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACO,MAAMqH,gBAAgB,GAC1BC,GAAc,IAChB,OAAQ;EAAEjG;AAAS,CAAC,KAAM;EACzB,IAAKiG,GAAG,EAAG;IACVjG,QAAQ,CACND,QAAQ,CAAEvB,qDAAa,CAAC,CACxB0H,aAAa,CAAED,GAAG,EAAEtH,sDAAe,CAAC;EACvC,CAAC,MAAM;IACN,MAAMyB,OAAO,GAAGJ,QAAQ,CACtBK,MAAM,CAAE7B,qDAAa,CAAC,CACtB8B,UAAU,CAAE3B,sDAAe,CAAC;IAC9B,MAAMwH,SAAS,GAAG/F,OAAO,CAACgG,GAAG,CAAIC,MAAM,IAAMA,MAAM,CAAC3F,EAAG,CAAC;IACxDV,QAAQ,CACND,QAAQ,CAAEvB,qDAAa,CAAC,CACxB0H,aAAa,CAAEC,SAAS,EAAExH,sDAAe,CAAC;EAC7C;AACD,CAAC;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM4H,kBAAkB,GAC9BA,CACCpE,UAAkB,EAClBC,MAAsB,EACtBnB,OAA4D,KAE7D,CAAE;EAAElB;AAAS,CAAC,KAAM;EACnB,IAAKkB,OAAO,EAAG;IACd;IACAqD,OAAO,CAAC2O,GAAG,CAAE9Q,UAAU,EAAElB,OAAQ,CAAC;EACnC;EAEAlB,QAAQ,CAAE;IACTwB,IAAI,EAAE7B,oBAAoB;IAC1BwC,OAAO,EAAE;MACRC,UAAU;MACVC,MAAM;MACNnB;IACD;EACD,CAAE,CAAC;AACJ,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACO,MAAMuF,oBAAoB,GAC9B9F,EAAmB,IACrB,CAAE;EAAEX;AAAS,CAAC,KAAM;EACnBA,QAAQ,CAAE;IACTwB,IAAI,EAAE5B,qBAAqB;IAC3BuC,OAAO,EAAE;MACRxB;IACD;EACD,CAAE,CAAC;AACJ,CAAC;AAEF,iEAAe;EACd;AACD;AACA;EACCiU,WAAW;EACXG,WAAW;EACXG,WAAW;EAEX;AACD;AACA;EACCtR,UAAU;EACVY,gBAAgB;EAChBK,IAAI;EACJG,IAAI;EACJC,gBAAgB;EAChBC,kBAAkB;EAClBG,gBAAgB;EAChBG,iBAAiB;EACjBC,cAAc;EAEd;AACD;AACA;EACCI,YAAY;EACZvE,iBAAiB;EACjBwB,mBAAmB;EACnBhC,YAAY;EACZmF,gBAAgB;EAEhB;AACD;AACA;EACCO,kBAAkB;EAClBC;AACD,CAAC,E;;;;;;;;;;;;;;;;;;;;AC7iCM,MAAME,UAAU,GAAG,oBAAoB;AACvC,MAAM/H,cAAc,GAAG,kBAAkB;;AAEhD;AACO,MAAMM,cAAc,GAAG,gBAAgB;AACvC,MAAM0H,eAAe,GAAG,iBAAiB;AACzC,MAAMC,qBAAqB,GAAG,uBAAuB;AACrD,MAAMC,aAAa,GAAG,eAAe;AACrC,MAAM3H,YAAY,GAAG,cAAc;AACnC,MAAM4H,aAAa,GAAG,eAAe;;AAE5C;AACO,MAAM3H,gBAAgB,GAAG,kBAAkB;AAC3C,MAAMC,WAAW,GAAG,aAAa;AACjC,MAAMC,oBAAoB,GAAG,sBAAsB;AACnD,MAAMC,kBAAkB,GAAG,oBAAoB;AAC/C,MAAMC,gBAAgB,GAAG,kBAAkB;AAC3C,MAAMC,gBAAgB,GAAG,kBAAkB;AAC3C,MAAMC,iBAAiB,GAAG,mBAAmB;;AAEpD;AACO,MAAMC,oBAAoB,GAAG,sBAAsB;AACnD,MAAMqH,gBAAgB,GAAG,kBAAkB;AAC3C,MAAMC,iBAAiB,GAAG,mBAAmB;AAC7C,MAAMC,eAAe,GAAG,iBAAiB;AACzC,MAAMtH,qBAAqB,GAAG,uBAAuB;AAErD,MAAMjB,YAuBZ,GAAG;EACHO,cAAc;EACd0H,eAAe;EACfC,qBAAqB;EACrBC,aAAa;EACbC,aAAa;EACb5H,YAAY;EACZC,gBAAgB;EAChBC,WAAW;EACXC,oBAAoB;EACpBC,kBAAkB;EAClBC,gBAAgB;EAChBC,gBAAgB;EAChBC,iBAAiB;EACjBC,oBAAoB;EACpBqH,gBAAgB;EAChBC,iBAAiB;EACjBC,eAAe;EACftH;AACD,CAAC;;AAED;AACA;AACA;AACO,MAAMuH,YAAmB,GAAG;EAClCC,IAAI,EAAE,CAAC,CAAC;EACRC,MAAM,EAAE,EAAE;EACVC,OAAO,EAAE,CAAC,CAAC;EACXlC,QAAQ,EAAEnB,SAAS;EACnBsD,cAAc,EAAE,CAAC,CAAC;EAClBC,WAAW,EAAE,CAAC,CAAC;EACfC,gBAAgB,EAAE,CAAC,CAAC;EACpBC,eAAe,EAAE,CAAC,CAAC;EACnBrH,OAAO,EAAE,CAAC,CAAC;EACXsH,MAAM,EAAE;IACPC,MAAM,EAAE,IAAI;IACZR,IAAI,EAAE,CAAC;EACR;AACD,CAAC;;AAED;AACA;AACA;AACO,MAAMS,cAAc,GAAG;EAC7BlH,EAAE,EAAE,EAAE;EACNO,OAAO,EAAE,EAAE;EACXM,IAAI,EAAE,MAAM;EACZD,aAAa,EAAE;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMuG,aAA4B,GAAG;EAC3CnH,EAAE,EAAE,CAAC;EACLoH,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE,EAAE;EACRjF,KAAK,EAAE,EAAE;EACT+C,OAAO,EAAE,EAAE;EACXmC,OAAO,EAAE,EAAE;EACX5F,MAAM,EAAE,OAAO;EACfiT,OAAO,EAAE,KAAK;EACdlU,QAAQ,EAAE;IACTmU,UAAU,EAAE;MACXC,eAAe,EAAE,IAAI;MACrBC,KAAK,EAAE;IACR;EACD,CAAC;EACD;EACAtN,IAAI,EAAE,IAAI;EACVC,QAAQ,EAAE,IAAI;EACdC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE,EAAE;EACRC,QAAQ,EAAE,EAAE;EACZC,YAAY,EAAE,EAAE;EAChBhH,IAAI,EAAE,OAAO;EACbiH,MAAM,EAAE,CAAC;EACTC,cAAc,EAAE,EAAE;EAClBC,kBAAkB,EAAE,EAAE;EACtBC,QAAQ,EAAE,EAAE;EACZC,cAAc,EAAE,CAAC;EACjBC,cAAc,EAAE,MAAM;EACtBC,WAAW,EAAE,MAAM;EACnBC,MAAM,EAAE,UAAU;EAClBC,IAAI,EAAE,CAAC,CAAC;EACRC,MAAM,EAAE,KAAK;EACbC,QAAQ,EAAE,EAAE;EACZC,UAAU,EAAE,EAAE;EACdC,IAAI,EAAE;AACP,CAAC,C;;;;;;;;;;;;;;;;;;;AChJ+C;AACnB;;;;;;;;;;;;;;;;ACN4B;AAOzD,MAAM;EACLnK,cAAc;EACd0H,eAAe;EACfC,qBAAqB;EACrBC,aAAa;EACb3H,YAAY;EACZ4H,aAAa;EACb3H,gBAAgB;EAChBC,WAAW;EACXC,oBAAoB;EACpBC,kBAAkB;EAClBC,gBAAgB;EAChBC,gBAAgB;EAChBC,iBAAiB;EACjBE,qBAAqB;EACrBD;AACD,CAAC,GAAGhB,oDAAY;;AAEhB;AACA;AACA;;AA4KA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA2BO,MAAM+K,OAAO,GAAGA,CACtBC,KAAY,GAAGxC,oDAAY,EAC3BjF,MAAqB,KACV;EACX,QAASA,MAAM,CAACV,IAAI;IACnB,KAAKtC,cAAc;MAAE;QACpB,MAAM;UAAE+D;QAAO,CAAC,GAAGf,MAAM,CAACC,OAAO;QAEjC,OAAO;UACN,GAAGwH,KAAK;UACRvC,IAAI,EAAE;YACL,GAAGuC,KAAK,CAACvC,IAAI;YACb,CAAEnE,MAAM,CAACtC,EAAE,GAAIsC;UAChB,CAAC;UACDoE,MAAM,EAAEsC,KAAK,CAACtC,MAAM,CAACuC,QAAQ,CAAE3G,MAAM,CAACtC,EAAG,CAAC,GACvCgJ,KAAK,CAACtC,MAAM,GACZ,CAAE,GAAGsC,KAAK,CAACtC,MAAM,EAAEpE,MAAM,CAACtC,EAAE;QAChC,CAAC;MACF;IAEA,KAAKiG,eAAe;IACpB,KAAKC,qBAAqB;MAAE;QAC3B,MAAM;UAAEgD,OAAO;UAAEC,KAAK,GAAG;QAAM,CAAC,GAAG5H,MAAM,CAACC,OAAO;;QAEjD;QACA,MAAMiF,IAAI,GAAGyC,OAAO,CAACE,MAAM,CAC1B,CAAEC,GAAG,EAAE/G,MAAM,MAAQ;UACpB,GAAG+G,GAAG;UACN,CAAE/G,MAAM,CAACtC,EAAE,GAAIsC;QAChB,CAAC,CAAE,EACH0G,KAAK,CAACvC,IACP,CAAC;;QAED;QACA,MAAMC,MAAM,GAAG3F,KAAK,CAACuI,IAAI,CACxB,IAAIC,GAAG,CAAE,CAAE,GAAGP,KAAK,CAACtC,MAAM,EAAE,GAAGwC,OAAO,CAACxD,GAAG,CAAI8D,CAAC,IAAMA,CAAC,CAACxJ,EAAG,CAAC,CAAG,CAC/D,CAAC;QAED,OAAO;UACN,GAAGgJ,KAAK;UACRtC,MAAM;UACND,IAAI;UACJE,OAAO,EAAEwC,KAAK,GACX;YACA,GAAGH,KAAK,CAACrC,OAAO;YAChB,CAAE8C,IAAI,CAACC,SAAS,CAAEP,KAAM,CAAC,GAAID,OAAO,CAACxD,GAAG,CACrC8D,CAAC,IAAMA,CAAC,CAACxJ,EACZ;UACA,CAAC,GACDgJ,KAAK,CAACrC;QACV,CAAC;MACF;IAEA,KAAKR,aAAa;MAAE;QACnB,MAAM;UAAEhH,KAAK;UAAEa,EAAE,GAAG;QAAM,CAAC,GAAGuB,MAAM,CAACC,OAAO;QAC5C;QACA,MAAMmI,UAAU,GAAGX,KAAK,CAAChC,MAAM,IAAI;UAAEC,MAAM,EAAE,IAAI;UAAER,IAAI,EAAE,CAAC;QAAE,CAAC;QAC7D,MAAMmD,OAAO,GAAG;UAAE,GAAGD,UAAU,CAAClD;QAAK,CAAC;QACtC,IAAKzG,EAAE,EAAG;UACT4J,OAAO,CAAE5J,EAAE,CAAE,GAAGb,KAAK;QACtB,CAAC,MAAM;UACN;UACAwK,UAAU,CAAC1C,MAAM,GAAG9H,KAAK;QAC1B;QACA,OAAO;UACN,GAAG6J,KAAK;UACRhC,MAAM,EAAE;YACPC,MAAM,EAAEjH,EAAE,GAAG2J,UAAU,CAAC1C,MAAM,GAAG9H,KAAK;YACtCsH,IAAI,EAAEmD;UACP;QACD,CAAC;MACF;IAEA,KAAKxD,aAAa;IAClB,KAAK5H,YAAY;MAAE;QAClB,MAAM;UAAE+G,GAAG,GAAG,EAAE;UAAEvF,EAAE,GAAG;QAAK,CAAC,GAAGuB,MAAM,CAACC,OAAO;QAE9C,IAAKxB,EAAE,IAAIA,EAAE,GAAG,CAAC,EAAG;UACnBuF,GAAG,CAACsE,IAAI,CAAE7J,EAAG,CAAC;QACf;QAEA,IAAKuF,GAAG,CAACuE,MAAM,KAAK,CAAC,EAAG;UACvB,OAAOd,KAAK;QACb;;QAEA;QACA,MAAMtC,MAAM,GAAGsC,KAAK,CAACtC,MAAM,CAAC5G,MAAM,CAC/BiK,GAAG,IAAM,CAAExE,GAAG,CAAC0D,QAAQ,CAAEc,GAAI,CAChC,CAAC;;QAED;QACA,MAAMtD,IAAI,GAAGrG,MAAM,CAAC4J,WAAW,CAC9B5J,MAAM,CAACC,OAAO,CAAE2I,KAAK,CAACvC,IAAK,CAAC,CAAC3G,MAAM,CAClC,CAAE,CAAEiK,GAAG,CAAE,KAAM,CAAExE,GAAG,CAAC0D,QAAQ,CAAEc,GAAI,CACpC,CACD,CAAC;;QAED;QACA,MAAMnD,cAAc,GAAGxG,MAAM,CAAC4J,WAAW,CACxC5J,MAAM,CAACC,OAAO,CAAE2I,KAAK,CAACpC,cAAe,CAAC,CAAC9G,MAAM,CAC5C,CAAE,CAAEiK,GAAG,CAAE,KAAM,CAAExE,GAAG,CAAC0D,QAAQ,CAAEc,GAAI,CACpC,CACD,CAAC;;QAED;QACA,MAAMlD,WAAW,GAAGzG,MAAM,CAAC4J,WAAW,CACrC5J,MAAM,CAACC,OAAO,CAAE2I,KAAK,CAACnC,WAAY,CAAC,CAAC/G,MAAM,CACzC,CAAE,CAAEiK,GAAG,CAAE,KAAM,CAAExE,GAAG,CAAC0D,QAAQ,CAAEc,GAAI,CACpC,CACD,CAAC;;QAED;QACA,MAAMjD,gBAAgB,GAAG1G,MAAM,CAAC4J,WAAW,CAC1C5J,MAAM,CAACC,OAAO,CAAE2I,KAAK,CAAClC,gBAAiB,CAAC,CAAChH,MAAM,CAC9C,CAAE,CAAEiK,GAAG,CAAE,KAAM,CAAExE,GAAG,CAAC0D,QAAQ,CAAEc,GAAI,CACpC,CACD,CAAC;QAED,OAAO;UACN,GAAGf,KAAK;UACRvC,IAAI;UACJC,MAAM;UACNE,cAAc;UACdC,WAAW;UACXC;QACD,CAAC;MACF;IAEA,KAAKrI,gBAAgB;MAAE;QACtB,MAAM;UAAEgG;QAAS,CAAC,GAAGlD,MAAM,CAACC,OAAO;QAEnC,OAAO;UACN,GAAGwH,KAAK;UACRvE;QACD,CAAC;MACF;IAEA,KAAK9F,oBAAoB;MAAE;QAC1B,MAAM;UAAEqB,EAAE;UAAE1B,cAAc;UAAE0G;QAAY,CAAC,GAAGzD,MAAM,CAACC,OAAO;QAE1D,MAAMyI,QAAQ,GAAG;UAChB,GAAGjB,KAAK;UACRpC,cAAc,EAAE;YACf,GAAGoC,KAAK,CAACpC,cAAc;YACvB,CAAE5G,EAAE,GAAI1B;UACT;QACD,CAAC;QAED,IAAK,CAAE0G,WAAW,EAAG;UACpB,OAAOiF,QAAQ;QAChB;QAEA,OAAO;UACN,GAAGA,QAAQ;UACXxF,QAAQ,EAAEzE;QACX,CAAC;MACF;IAEA,KAAKtB,WAAW;MAAE;QAAA,IAAAwL,qBAAA,EAAAC,qBAAA;QACjB,MAAM;UAAEnK,EAAE;UAAEkD;QAAM,CAAC,GAAG3B,MAAM,CAACC,OAAO;QAEpC,MAAMqF,WAAW,IAAAqD,qBAAA,GAAGlB,KAAK,CAACnC,WAAW,CAAE7G,EAAE,CAAE,cAAAkK,qBAAA,cAAAA,qBAAA,GAAI,EAAE;QACjD,MAAME,YAAY,IAAAD,qBAAA,GAAGnB,KAAK,CAAClC,gBAAgB,CAAE9G,EAAE,CAAE,cAAAmK,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;;QAEvD;QACA,MAAME,cAAc,GACnBD,YAAY,GAAGvD,WAAW,CAACiD,MAAM,GAAG,CAAC,GAClCjD,WAAW,CAACnD,KAAK,CAAE,CAAC,EAAE0G,YAAY,GAAG,CAAE,CAAC,GACxCvD,WAAW;QAEf,OAAO;UACN,GAAGmC,KAAK;UACRnC,WAAW,EAAE;YACZ,GAAGmC,KAAK,CAACnC,WAAW;YACpB,CAAE7G,EAAE,GAAI,CAAE,GAAGqK,cAAc,EAAEnH,KAAK;UACnC,CAAC;UACD4D,gBAAgB,EAAE;YACjB,GAAGkC,KAAK,CAAClC,gBAAgB;YACzB,CAAE9G,EAAE,GAAIqK,cAAc,CAACP,MAAM,CAAE;UAChC;QACD,CAAC;MACF;IAEA,KAAKjL,gBAAgB;MAAE;QAAA,IAAAyL,sBAAA;QACtB,MAAM;UAAEtK,EAAE;UAAEmE,KAAK,GAAG;QAAE,CAAC,GAAG5C,MAAM,CAACC,OAAO;QAExC,MAAM4I,YAAY,IAAAE,sBAAA,GAAGtB,KAAK,CAAClC,gBAAgB,CAAE9G,EAAE,CAAE,cAAAsK,sBAAA,cAAAA,sBAAA,GAAI,CAAC,CAAC;QACvD,MAAMC,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAAE,CAAC,CAAC,EAAEL,YAAY,GAAGjG,KAAM,CAAC;QAErD,OAAO;UACN,GAAG6E,KAAK;UACRlC,gBAAgB,EAAE;YACjB,GAAGkC,KAAK,CAAClC,gBAAgB;YACzB,CAAE9G,EAAE,GAAIuK;UACT;QACD,CAAC;MACF;IAEA,KAAKzL,gBAAgB;MAAE;QAAA,IAAA4L,sBAAA,EAAAC,sBAAA;QACtB,MAAM;UAAE3K,EAAE;UAAEmE;QAAM,CAAC,GAAG5C,MAAM,CAACC,OAAO;QAEpC,MAAM4I,YAAY,IAAAM,sBAAA,GAAG1B,KAAK,CAAClC,gBAAgB,CAAE9G,EAAE,CAAE,cAAA0K,sBAAA,cAAAA,sBAAA,GAAI,CAAC,CAAC;QACvD;QACA,MAAME,QAAQ,GAAG,EAAAD,sBAAA,GAAE3B,KAAK,CAACnC,WAAW,CAAE7G,EAAE,CAAE,EAAE8J,MAAM,cAAAa,sBAAA,cAAAA,sBAAA,GAAI,CAAC,IAAK,CAAC;QAC7D,MAAMJ,QAAQ,GACbK,QAAQ,IAAI,CAAC,GACVJ,IAAI,CAACK,GAAG,CAAED,QAAQ,EAAER,YAAY,GAAGjG,KAAM,CAAC,GAC1CiG,YAAY;QAEhB,OAAO;UACN,GAAGpB,KAAK;UACRlC,gBAAgB,EAAE;YACjB,GAAGkC,KAAK,CAAClC,gBAAgB;YACzB,CAAE9G,EAAE,GAAIuK;UACT;QACD,CAAC;MACF;IAEA,KAAK3L,kBAAkB;MAAE;QACxB,MAAM;UAAEoB,EAAE;UAAE+D,YAAY;UAAER;QAAa,CAAC,GAAGhC,MAAM,CAACC,OAAO;;QAEzD;QACA,MAAMsJ,cAAc,GAAG9B,KAAK,CAACnC,WAAW,CAAE7G,EAAE,CAAE,CAAC0D,KAAK,CACnDK,YAAY,GAAG,CAChB,CAAC;QAED,OAAO;UACN,GAAGiF,KAAK;UACRpC,cAAc,EAAE;YACf,GAAGoC,KAAK,CAACpC,cAAc;YACvB,CAAE5G,EAAE,GAAIuD;UACT,CAAC;UACDsD,WAAW,EAAE;YACZ,GAAGmC,KAAK,CAACnC,WAAW;YACpB,CAAE7G,EAAE,GAAI8K;UACT,CAAC;UACDhE,gBAAgB,EAAE;YACjB,GAAGkC,KAAK,CAAClC,gBAAgB;YACzB,CAAE9G,EAAE,GAAI,CAAC;UACV;QACD,CAAC;MACF;IAEA,KAAKjB,iBAAiB;MAAE;QACvB,MAAM;UAAEiB;QAAG,CAAC,GAAGuB,MAAM,CAACC,OAAO;QAE7B,OAAO;UACN,GAAGwH,KAAK;UACR;UACApC,cAAc,EAAExG,MAAM,CAAC4J,WAAW,CACjC5J,MAAM,CAACC,OAAO,CAAE2I,KAAK,CAACpC,cAAe,CAAC,CAAC9G,MAAM,CAC5C,CAAE,CAAEiK,GAAG,CAAE,KAAMgB,MAAM,CAAEhB,GAAI,CAAC,KAAK/J,EAClC,CACD,CAAC;UACD6G,WAAW,EAAEzG,MAAM,CAAC4J,WAAW,CAC9B5J,MAAM,CAACC,OAAO,CAAE2I,KAAK,CAACnC,WAAY,CAAC,CAAC/G,MAAM,CACzC,CAAE,CAAEiK,GAAG,CAAE,KAAMgB,MAAM,CAAEhB,GAAI,CAAC,KAAK/J,EAClC,CACD,CAAC;UACD8G,gBAAgB,EAAE1G,MAAM,CAAC4J,WAAW,CACnC5J,MAAM,CAACC,OAAO,CAAE2I,KAAK,CAAClC,gBAAiB,CAAC,CAAChH,MAAM,CAC9C,CAAE,CAAEiK,GAAG,CAAE,KAAMgB,MAAM,CAAEhB,GAAI,CAAC,KAAK/J,EAClC,CACD;QACD,CAAC;MACF;IAEA,KAAKhB,oBAAoB;MAAE;QAC1B,MAAM;UAAEyC,UAAU;UAAEC,MAAM;UAAEnB;QAAQ,CAAC,GAAGgB,MAAM,CAACC,OAAO;QAEtD,OAAO;UACN,GAAGwH,KAAK;UACRjC,eAAe,EAAE;YAChB,GAAGiC,KAAK,CAACjC,eAAe;YACxB,CAAEtF,UAAU,GAAI;cACfC,MAAM;cACNvC,KAAK,EAAEoB;YACR;UACD;QACD,CAAC;MACF;;IAEA;IACA;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEA;IACA;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEA;IACA;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEA,KAAKtB,qBAAqB;MAAE;QAC3B,MAAM;UAAEe,EAAE;UAAEgL;QAAU,CAAC,GAAGzJ,MAAM,CAACC,OAAO;QAExC,OAAO;UACN,GAAGwH,KAAK;UACRjC,eAAe,EAAE;YAChB,GAAGiC,KAAK,CAACjC,eAAe;YACxB,CAAEiE,SAAS,GAAI;cACd,GAAGhC,KAAK,CAACjC,eAAe,GAAIiE,SAAS,CAAE;cACvC,CAAEhL,EAAE,GAAIsD;YACT;UACD;QACD,CAAC;MACF;IAEA;MACC,OAAO0F,KAAK;EACd;AACD,CAAC;AAED,iEAAeD,OAAO,E;;;;;;;;;;;;;;;;AC5lBJ;AAC4C;AAKvD,MAAMmM,SAAS,GACrBA,CAAA,KACA,OAAQ;EAAE7V;AAAS,CAAC,KAAM;EACzB;;EAEA,IAAI;IACH;;IAEA,MAAM+L,SAAS,GAAG;MACjB1J,MAAM,EAAE,CAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAE;MACxC2J,QAAQ,EAAE,GAAG;MACbhG,OAAO,EAAE;IACV,CAAC;IAED,MAAMkC,GAAG,GAAG0D,uDAAe,CAAE,QAAQ,EAAEG,SAAU,CAAC;IAElD,MAAME,OAAO,GAAG,MAAMnN,oDAAY,CAAuBoJ,GAAG,EAAE;MAC7DvF,MAAM,EAAE;IACT,CAAE,CAAC;IAEH,IAAKsJ,OAAO,CAACxB,MAAM,EAAG;MACrBzK,QAAQ,CAAE;QACTwB,IAAI,EAAEoF,uDAAe;QACrBzE,OAAO,EAAE;UACR0H,OAAO,EAAEoC;QACV;MACD,CAAmB,CAAC;MACpB;IACD;;IAEA;EACD,CAAC,CAAC,OAAQnM,KAAU,EAAG;IACtB;IACA;IACAyE,OAAO,CAACzE,KAAK,CAAEA,KAAM,CAAC;IACtB;EACD;AACD,CAAC;AAEK,MAAMmV,QAAQ,GAClBtU,EAAU,IACZ,OAAQ;EAAEX;AAAS,CAAC,KAAM;EACzB;EACA,IAAI;IACH;;IAEA,MAAMkI,GAAG,GAAG0D,uDAAe,CAAE,UAAWjL,EAAE,EAAG,EAAE;MAC9CqF,OAAO,EAAE;IACV,CAAE,CAAC;IAEH,MAAM/C,MAAM,GAAG,MAAMnE,oDAAY,CAAqBoJ,GAAG,EAAE;MAC1DvF,MAAM,EAAE;IACT,CAAE,CAAC;IAEH3C,QAAQ,CAAE;MACTwB,IAAI,EAAEtC,sDAAc;MACpBiD,OAAO,EAAE;QACRc;MACD;IACD,CAAmB,CAAC;;IAEpB;EACD,CAAC,CAAC,OAAQnD,KAAU,EAAG;IACtB;IACA;IACAyE,OAAO,CAACzE,KAAK,CAAEA,KAAM,CAAC;IACtB;EACD;AACD,CAAC;AAEF,iEAAe;EACd+V,SAAS;EACTZ;AACD,CAAC,E;;;;;;;;;;;;;;;;;;;;;;;ACnF4C;AAEG;AACW;AACc;AAE3B;AACc;AAM5D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,MAAMY,SAAS,GAAGtJ,+DAAc,CACpC5C,KAAY,IAAMA,KAAK,CAACtC,MAAM,CAAChB,GAAG,CAAI1F,EAAE,IAAMgJ,KAAK,CAACvC,IAAI,CAAEzG,EAAE,CAAG,CAAC,EAChEgJ,KAAY,IAAM,CAAEA,KAAK,CAACtC,MAAM,EAAEsC,KAAK,CAACvC,IAAI,CAC/C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM6N,QAAQ,GAAG1I,+DAAc,CACrC,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;EAC/B,MAAMsC,MAAM,GAAG0G,KAAK,EAAEvC,IAAI,GAAIzG,EAAE,CAAE;EAClC,OAAOsC,MAAM;AACd,CAAC,EACD,CAAE0G,KAAY,EAAEhJ,EAAU,KAAM,CAAEgJ,KAAK,EAAEhJ,EAAE,CAC5C,CAAC;;AAED;AACA;AACA;AACO,MAAM+L,aAAa,GAAGH,+DAAc,CAC1C,CAAE5C,KAAY,EAAEhJ,EAAW,KAAM;EAChC,IAAK,OAAOA,EAAE,KAAK,QAAQ,EAAG;IAC7B,OAAOgJ,KAAK,CAAChC,MAAM,CAACP,IAAI,CAAEzG,EAAE,CAAE;EAC/B;EACA,OAAOgJ,KAAK,CAAChC,MAAM,CAACC,MAAM;AAC3B,CAAC,EACD,CAAE+B,KAAY,EAAEhJ,EAAmB,KAAM,CAAEgJ,KAAK,CAAChC,MAAM,EAAEhH,EAAE,CAC5D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMgM,WAAW,GAAGA,CAC1BhD,KAAY,EACZiD,SAA+C,EAC/CC,aAAsB,GAAG,KAAK,KAC1B;EACJ,IAAK,CAAEA,aAAa,EAAG;IACtB,OAAOlD,KAAK,CAACtC,MAAM,CACjBhB,GAAG,CAAI1F,EAAE,IAAMgJ,KAAK,CAACvC,IAAI,CAAEzG,EAAE,CAAG,CAAC,CACjCF,MAAM,CAAEmM,SAAU,CAAC;EACtB;EAEA,OAAOE,cAAc,CAAEnD,KAAK,EAAEiD,SAAU,CAAC,CAACvG,GAAG,CAAI1F,EAAE,IAAMgJ,KAAK,CAACvC,IAAI,CAAEzG,EAAE,CAAG,CAAC;AAC5E,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMmM,cAAc,GAAGA,CAC7BnD,KAAY,EACZiD,SAA+C,KAC3CjD,KAAK,CAACtC,MAAM,CAAC5G,MAAM,CAAIE,EAAE,IAAMiM,SAAS,CAAEjD,KAAK,CAACvC,IAAI,CAAEzG,EAAE,CAAG,CAAE,CAAC;;AAEnE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,MAAMoE,WAAW,GAAGwH,+DAAc,CACtC5C,KAAY,IAAMA,KAAK,EAAEvE,QAAQ,EACjCuE,KAAY,IAAM,CAAEA,KAAK,CAACvE,QAAQ,CACrC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAM4H,cAAc,GAAGT,+DAAc,CACzC5C,KAAY,IAAe;EAC5B,MAAMvE,QAAQ,GAAGuE,KAAK,EAAEvE,QAAQ;;EAEhC;EACA,IAAK,OAAOA,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,KAAK,KAAK,EAAG;IACzD,OAAO,IAAI;EACZ;EAEA,OAAO,OAAOA,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,GAAG,CAAC;AACpD,CAAC,EACCuE,KAAY,IAAM,CAAEA,KAAK,CAACvE,QAAQ,CACrC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMG,sBAAsB,GAAGgH,+DAAc,CACjD5C,KAAY,IAAM;EACnB,MAAMvE,QAAQ,GAAGuE,KAAK,EAAEvE,QAAQ;EAEhC,IAAK,OAAOA,QAAQ,KAAK,WAAW,EAAG;IACtC,OAAOnB,SAAS;EACjB;EAEA,OAAOkR,cAAc,CAAExL,KAAK,EAAEvE,QAAS,CAAC;AACzC,CAAC,EACCuE,KAAY,IAAM,CACnBA,KAAK,CAACpC,cAAc,GAAIoC,KAAK,CAACvE,QAAQ,IAAI,CAAC,CAAE,EAC7CuE,KAAK,CAAClC,gBAAgB,GAAIkC,KAAK,CAACvE,QAAQ,IAAI,CAAC,CAAE,EAC/CuE,KAAK,CAACnC,WAAW,GAAImC,KAAK,CAACvE,QAAQ,IAAI,CAAC,CAAE,EAC1CuE,KAAK,CAACvE,QAAQ,CAEhB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMtB,eAAe,GAAGyI,+DAAc,CAC5C,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;EAC/B,OAAO,CAAC,CAAEgJ,KAAK,EAAEpC,cAAc,GAAI5G,EAAE,CAAE;AACxC,CAAC,EACD,CAAEgJ,KAAY,EAAEhJ,EAAU,KAAM,CAAEgJ,KAAK,CAACpC,cAAc,GAAI5G,EAAE,CAAE,EAAEA,EAAE,CACnE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMsM,eAAe,GAAGV,+DAAc,CAC5C,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;EAC/B,OAAOgJ,KAAK,EAAEpC,cAAc,GAAI5G,EAAE,CAAE;AACrC,CAAC,EACD,CAAEgJ,KAAY,EAAEhJ,EAAU,KAAM,CAAEgJ,KAAK,CAACpC,cAAc,GAAI5G,EAAE,CAAE,EAAEA,EAAE,CACnE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMuM,oBAAoB,GAAGX,+DAAc,CACjD,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;EAC/B,OAAOgJ,KAAK,EAAEnC,WAAW,GAAI7G,EAAE,CAAE;AAClC,CAAC,EACD,CAAEgJ,KAAY,EAAEhJ,EAAU,KAAM,CAAEgJ,KAAK,CAACnC,WAAW,GAAI7G,EAAE,CAAE,EAAEA,EAAE,CAChE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMgE,0BAA0B,GAAG4H,+DAAc,CACvD,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;EAC/B,OAAOgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE;AACtC,CAAC,EACD,CAAEgJ,KAAY,EAAEhJ,EAAU,KAAM,CAAEgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,EAAEA,EAAE,CACrE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM8D,QAAQ,GAAG8H,+DAAc,CACrC,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;EAC/B,OAAOgJ,KAAK,CAACnC,WAAW,GAAI7G,EAAE,CAAE,EAAE8J,MAAM,GAAG,CAAC;AAC7C,CAAC,EACD,CAAEd,KAAY,EAAEhJ,EAAU,KAAM,CAAEgJ,KAAK,CAACnC,WAAW,GAAI7G,EAAE,CAAE,EAAEA,EAAE,CAChE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMwM,OAAO,GAAGZ,+DAAc,CACpC,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;EAC/B,IACC,OAAOgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,KAAK,QAAQ,IAClD,OAAOgJ,KAAK,CAACnC,WAAW,GAAI7G,EAAE,CAAE,KAAK,QAAQ,EAC5C;IACD,OAAO,KAAK;EACb;EAEA,OAAOgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,IAAI,CAAC;AAC3C,CAAC,EACD,CAAEgJ,KAAY,EAAEhJ,EAAU,KAAM,CAAEgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,EAAEA,EAAE,CACrE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMyM,OAAO,GAAGb,+DAAc,CACpC,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;EAC/B,IACC,OAAOgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,KAAK,QAAQ,IAClD,OAAOgJ,KAAK,CAACnC,WAAW,GAAI7G,EAAE,CAAE,KAAK,QAAQ,EAC5C;IACD,OAAO,KAAK;EACb;EAEA,OACCgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,GAC9BgJ,KAAK,CAACnC,WAAW,GAAI7G,EAAE,CAAE,EAAE8J,MAAM,GAAG,CAAC;AAEvC,CAAC,EACD,CAAEd,KAAY,EAAEhJ,EAAU,KAAM,CAAEgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,EAAEA,EAAE,CACrE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMwU,cAAc,GAAG5I,+DAAc,CAC3C,CAAE5C,KAAY,EAAEhJ,EAAU,KAAM;EAC/B,MAAM0M,UAAU,GAAG1D,KAAK,CAACpC,cAAc,GAAI5G,EAAE,CAAE;EAC/C,MAAM6G,WAAW,GAAGmC,KAAK,CAACnC,WAAW,GAAI7G,EAAE,CAAE;EAC7C,MAAM8G,gBAAgB,GAAGkC,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE;EAEvD,IAAK,CAAE0M,UAAU,EAAG;IACnB,OAAOpJ,SAAS;EACjB;;EAEA;EACA,IAAKwD,gBAAgB,KAAK,CAAC,CAAC,EAAG;IAC9B,OAAO4F,UAAU;EAClB;EAEA,IAAK,CAAE7F,WAAW,EAAEiD,MAAM,EAAG;IAC5B,OAAO4C,UAAU;EAClB;;EAEA;EACA,MAAMC,YAAY,GAAG9F,WAAW,CAACnD,KAAK,CAAE,CAAC,EAAEoD,gBAAgB,GAAG,CAAE,CAAC;;EAEjE;EACA,MAAMvD,YAAY,GAAGoJ,YAAY,CAACvD,MAAM,CAAE,CAAErE,MAAM,EAAE6H,QAAQ,KAAM;IACjE,MAAMC,UAAU,GAAG9L,KAAK,CAACC,OAAO,CAAE4L,QAAS,CAAC,GACzCA,QAAQ,GACR,CAAEA,QAAQ,CAAE;IAEf,MAAME,OAAO,GAAGrB,2DAAU,CAAE1G,MAAM,EAAE8H,UAAU,EAAE,IAAI,EAAE,KAAM,CAAC;IAC7D,OAAOC,OAAO,CAACC,WAAW;EAC3B,CAAC,EAAEL,UAAW,CAAC;EAEf,OAAOnJ,YAAY;AACpB,CAAC,EACD,CAAEyF,KAAY,EAAEhJ,EAAU,KAAM,CAC/BgJ,KAAK,CAACpC,cAAc,GAAI5G,EAAE,CAAE,EAC5BgJ,KAAK,CAAClC,gBAAgB,GAAI9G,EAAE,CAAE,EAC9BgJ,KAAK,CAACnC,WAAW,GAAI7G,EAAE,CAAE,EACzBA,EAAE,CAEJ,CAAC;;AAED;AACA;AACA;AACO,MAAMgN,gBAAgB,GAAGpB,+DAAc;AAC7C;AACEqB,MAAa,IAAM;EACpB,OAAOvB,8DAAY,CAClB,gCAAgC,EAChCvE,qDACD,CAAC;AACF,CAAC,EACC8F,MAAa,IAAM,CAAEA,MAAM,CAACxI,QAAQ,CACvC,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACO,MAAM7E,UAAU,GAAG+L,uEAAsB,CAAIhM,MAAM,IAAM,MAAM;EACrE,MAAMD,OAAO,GAAGC,MAAM,CAAE7B,qDAAa,CAAC,CAAC8B,UAAU,CAAE3B,sDAAe,CAAC;EACnE,OAASyB,OAAO,IAAI,EAAE;AACvB,CAAE,CAAC;;AAEH;AACA;AACA;AACO,MAAMyN,aAAa,GAAGxB,uEAAsB,CAChDhM,MAAM,IACLK,EAAU,IAA0B;EACrC,MAAMN,OAAO,GAAGC,MAAM,CAAE7B,qDAAa,CAAC,CAAC8B,UAAU,CAAE3B,sDAAe,CAAC;EACnE,OAAOyB,OAAO,EAAE0N,IAAI,CAAIrN,CAAC,IAAMA,CAAC,CAACC,EAAE,KAAKA,EAAG,CAAC;AAC7C,CACF,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACO,MAAMsN,kBAAkB,GAAG1B,+DAAc,CAC/C,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;EACxC,MAAM+G,eAAe,GAAGiC,KAAK,CAACjC,eAAe,GAAI/G,EAAE,CAAE;;EAErD;EACA,IAAK,CAAE+G,eAAe,EAAG;IACxB,OAAO;MACNrF,MAAM,EAAExD,sDAAc,CAACqP;IACxB,CAAC;EACF;EAEA,OAAOxG,eAAe;AACvB,CAAC,EACD,CAAEiC,KAAY,EAAEhJ,EAAmB,KAAM,CAAEgJ,KAAK,CAACjC,eAAe,EAAE/G,EAAE,CACrE,CAAC;;AAED;AACA;AACA;AACO,MAAMwN,MAAM,GAAG5B,+DAAc,CACnC,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;EACxC,MAAM+G,eAAe,GAAGuG,kBAAkB,CAAEtE,KAAK,EAAEhJ,EAAG,CAAC;EACvD,OAAO+G,eAAe,CAACrF,MAAM,KAAKxD,sDAAc,CAACqP,IAAI;AACtD,CAAC,EACD,CAAEN,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;;AAED;AACA;AACA;AACO,MAAMyN,WAAW,GAAG7B,+DAAc,CACxC,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;EACxC,MAAM+G,eAAe,GAAGuG,kBAAkB,CAAEtE,KAAK,EAAEhJ,EAAG,CAAC;EACvD,OAAO+G,eAAe,CAACrF,MAAM,KAAKxD,sDAAc,CAACyD,SAAS;AAC3D,CAAC,EACD,CAAEsL,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;;AAED;AACA;AACA;AACO,MAAM0N,WAAW,GAAG9B,+DAAc,CACxC,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;EACxC,MAAM+G,eAAe,GAAGuG,kBAAkB,CAAEtE,KAAK,EAAEhJ,EAAG,CAAC;EACvD,OAAO+G,eAAe,CAACrF,MAAM,KAAKxD,sDAAc,CAACgE,OAAO;AACzD,CAAC,EACD,CAAE+K,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;;AAED;AACA;AACA;AACO,MAAM2N,SAAS,GAAG/B,+DAAc,CACtC,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;EACxC,MAAM+G,eAAe,GAAGuG,kBAAkB,CAAEtE,KAAK,EAAEhJ,EAAG,CAAC;EACvD,OAAO+G,eAAe,CAACrF,MAAM,KAAKxD,sDAAc,CAAC4D,KAAK;AACvD,CAAC,EACD,CAAEmL,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;;AAED;AACA;AACA;AACO,MAAM4N,kBAAkB,GAAGhC,+DAAc,CAC/C,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;EACxC,MAAM+G,eAAe,GAAGuG,kBAAkB,CAAEtE,KAAK,EAAEhJ,EAAG,CAAC;EACvD,OAAO+G,eAAe,CAAC5H,KAAK;AAC7B,CAAC,EACD,CAAE6J,KAAY,EAAEhJ,EAAmB,KAAM,CAAEgJ,KAAK,CAACjC,eAAe,EAAE/G,EAAE,CACrE,CAAC;AAED,iEAAe;EACd;AACD;AACA;EACCkV,SAAS;EACTZ,QAAQ;EACRvI,aAAa;EACbC,WAAW;EACXG,cAAc;EAEd;AACD;AACA;EACC/H,WAAW;EACXiI,cAAc;EACdzH,sBAAsB;EACtBzB,eAAe;EACfmJ,eAAe;EACfC,oBAAoB;EACpBvI,0BAA0B;EAC1BF,QAAQ;EACR0I,OAAO;EACPC,OAAO;EACP+H,cAAc;EACdxH,gBAAgB;EAEhB;AACD;AACA;EACCpN,UAAU;EACVuN,aAAa;EAEb;AACD;AACA;EACCG,kBAAkB;EAClBE,MAAM;EACNC,WAAW;EACXC,WAAW;EACXC,SAAS;EACTC;AACD,CAAC,E;;;;;;;;;;;;;;;;;;;;;ACzdkD;AAEnB;AACA;AACI;AACA;AACmB;AAIvD;AACA;AACA;AACO,MAAMG,WAAW,GAAGA,CAAA,MAAQ;EAClCvH,YAAY;EACZuC,OAAO;EACPhD,OAAO;EACP8H,SAAS;EACTrC,SAASA,oDAAAA;AACV,CAAC,CAAE;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAM3N,KAAK,GAAGiQ,iEAAgB,CAC7B9H,kDAAU,EACV+H,WAAW,CAAC,CACb,CAAC;AAED,iEAAelQ,KAAK,E;;;;;;;;;;;;;;AC5BpB;AACO,SAASmQ,cAAcA,CAC7BC,KAAU,EACmC;EAC7C,OAAOA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAIA,KAAK;AAC5D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS3P,cAAcA,CAC7ByG,MAAS,EACQ;EACjB,OAAO3E,MAAM,CAAC4J,WAAW,CACxB5J,MAAM,CAACC,OAAO,CAAE0E,MAAO,CAAC,CAACW,GAAG,CAAE,CAAE,CAAEwI,GAAG,EAAED,KAAK,CAAE,KAAM,CACnDC,GAAG,EACHF,cAAc,CAAEC,KAAM,CAAC,GAAGA,KAAK,CAACE,GAAG,GAAGF,KAAK,CAC1C,CACH,CAAC;AACF,C;;;;;;;;;;;;;;;ACzBuC;AAKvC;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM+F,aAAa,GACzBE,KAA8C,IAQvC;EACP,IAAK,CAAEA,KAAK,EAAG;IACd,OAAO;MACN3T,OAAO,EAAE5C,qDAAE,CAAE,iBAAiB,EAAE,aAAc;IAC/C,CAAC;EACF;EAEA,IAAKuW,KAAK,CAAC9R,KAAK,IAAI,CAAE8R,KAAK,CAAC9R,KAAK,EAAE0H,MAAM,EAAG;IAC3C,OAAO;MACNvJ,OAAO,EAAE5C,qDAAE,CACV,uCAAuC,EACvC,aACD,CAAC;MACDyQ,OAAO,EAAE,SAAS;MAClB9N,KAAK,EAAE;IACR,CAAC;EACF;EAEA,IACC,CAAE4T,KAAK,CAACzT,QAAQ,EAAEmU,UAAU,EAAEE,KAAK,EAAEhL,MAAM,IAC3CoK,KAAK,CAACxS,MAAM,KAAK,SAAS,EACzB;IACD,OAAO;MACNnB,OAAO,EAAE5C,qDAAE,CACV,0EAA0E,EAC1E,aACD,CAAC;MACDyQ,OAAO,EAAE;IACV,CAAC;EACF;EAEA,OAAO,IAAI;AACZ,CAAC,C;;;;;;;;;;;;;;;;;;;ACrDsC;AAEO;AACW;AAEd;AACT;AAKlC,MAAM;EACL+G,MAAM;EACNC,YAAY;EACZC,aAAa;EACbC,OAAO;EACPtW,oBAAoB;EACpBC;AACD,CAAC,GAAGjB,oDAAY;;AAEhB;AACA;AACA;AACA,MAAMuX,eAAe,GAAG;EACvB;AACD;AACA;AACA;AACA;AACA;AACA;EACC/D,cAAc,EAKZ/Q,QAA6B,IAE9B,OAAQ;IAAEpB,QAAQ;IAAEiU;EAAc,CAAC,KAAM;IACxC,MAAM7R,UAAU,GAAG,gBAAgB;IAEnC,IAAI;MACHpC,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAACyD,SAChB,CAAC;MAED,MAAMwP,eAAe,GAAG,MAAMmC,aAAa,CAAC/B,WAAW,CAAC,CAAC;MAEzD,MAAMxP,MAAM,GAAG,MAAM5D,oDAAY,CAAc4T,+CAAO,CAAC,CAAC,EAAE;QACzD/P,MAAM,EAAE,KAAK;QACbxC,IAAI,EAAE;UACLiB,QAAQ,EAAE;YAAE,GAAG0Q,eAAe;YAAE,GAAG1Q;UAAS;QAC7C;MACD,CAAE,CAAC;MAEH,IAAKsB,MAAM,EAAG;QACb1C,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAACgE,OAChB,CAAC;QAED7C,QAAQ,CAAE;UACTwB,IAAI,EAAEsU,MAAM;UACZ3T,OAAO,EAAE;YACRf,QAAQ,EAAEsB;UACX;QACD,CAAmB,CAAC;QAEpB;MACD;MAEA1C,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpBnE,qDAAE,CACD,6CAA6C,EAC7C,aACD,CACD,CAAC;IACF,CAAC,CAAC,OAAQwB,KAAK,EAAG;MACjBE,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpB1D,uDAAe,CAAEe,KAAM,CACxB,CAAC;IACF;EACD,CAAC;EAEF;AACD;AACA;AACA;AACA;AACA;AACA;EACCsS,YAAY,EAKVhR,QAA8B,IAE/B,OAAQ;IAAEpB,QAAQ;IAAEiU;EAAc,CAAC,KAAM;IACxC,MAAM7R,UAAU,GAAG,cAAc;IAEjC,IAAI;MACHpC,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAACyD,SAChB,CAAC;MAED,MAAMwP,eAAe,GAAG,MAAMmC,aAAa,CAAC/B,WAAW,CAAC,CAAC;MAEzD,MAAMH,cAAc,GAAG,MAAMkC,aAAa,CAAChC,iBAAiB,CAAC,CAAC;MAE9D,MAAMvP,MAAM,GAAG,MAAM5D,oDAAY,CAAc4T,+CAAO,CAAC,CAAC,EAAE;QACzD/P,MAAM,EAAE,KAAK;QACbxC,IAAI,EAAE;UACLiB,QAAQ,EAAE;YACT,GAAG0Q,eAAe;YAClB,GAAGC,cAAc;YACjB,GAAG3Q;UACJ;QACD;MACD,CAAE,CAAC;MAEH,IAAKsB,MAAM,EAAG;QACb1C,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAACgE,OAChB,CAAC;QAED7C,QAAQ,CAAE;UACTwB,IAAI,EAAEuU,YAAY;UAClB5T,OAAO,EAAE;YACRf,QAAQ,EAAEsB;UACX;QACD,CAAmB,CAAC;QAEpB;MACD;MAEA1C,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpBnE,qDAAE,CACD,6CAA6C,EAC7C,aACD,CACD,CAAC;IACF,CAAC,CAAC,OAAQwB,KAAK,EAAG;MACjBE,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpB1D,uDAAe,CAAEe,KAAM,CACxB,CAAC;IACF;EACD,CAAC;EAEF;AACD;AACA;AACA;AACA;AACA;AACA;EACCuS,mBAAmB,EAIlBjR,QAA6B,IACV;IACnB,OAAO;MACNI,IAAI,EAAEwU,aAAa;MACnB7T,OAAO,EAAE;QACRf;MACD;IACD,CAAC;EACF,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACCgS,OAAO,EAINhS,QAAkB,IACC;IACnB,OAAO;MACNI,IAAI,EAAEyU,OAAO;MACb9T,OAAO,EAAE;QACRf;MACD;IACD,CAAC;EACF;AACD,CAAC;;AAED;AACA;AACA;AACA,MAAMmF,iBAAiB,GAAG;EACzB;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EACCC,kBAAkB,EACjBA,CACCpE,UAAkB,EAClBC,MAAsB,EACtBnB,OAA4D,KAE7D,CAAE;IAAElB;EAAS,CAAC,KAAM;IACnB,IAAKkB,OAAO,EAAG;MACd;MACAqD,OAAO,CAAC2O,GAAG,CAAE9Q,UAAU,EAAElB,OAAQ,CAAC;IACnC;IAEAlB,QAAQ,CAAE;MACTwB,IAAI,EAAE7B,oBAAoB;MAC1ByC,UAAU;MACVC,MAAM;MACNnB;IACD,CAAE,CAAC;EACJ,CAAC;EAEF;AACD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;AACD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;AACD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;AACD;AACA;AACA;AACA;AACA;EACCuF,oBAAoB,EACjB9F,EAAmB,IACrB,CAAE;IAAEX;EAAS,CAAC,KAAM;IACnBA,QAAQ,CAAE;MACTwB,IAAI,EAAE5B,qBAAqB;MAC3BuC,OAAO,EAAE;QACRxB;MACD;IACD,CAAE,CAAC;EACJ;AACF,CAAC;AAED,MAAM+F,OAAO,GAAG;EACf;EACA,GAAGwP,eAAe;EAClB;EACA,GAAG3P;AACJ,CAAC;AAED,iEAAeG,OAAO,E;;;;;;;;;;;;;;;;;;;;;ACzT0B;AAKzC,MAAMC,UAAU,GAAG,sBAAsB;AAEzC,MAAMmP,MAAM,GAAG,QAAQ;AACvB,MAAME,aAAa,GAAG,eAAe;AACrC,MAAMD,YAAY,GAAG,cAAc;AACnC,MAAME,OAAO,GAAG,SAAS;AACzB,MAAMtW,oBAAoB,GAAG,sBAAsB;AACnD,MAAMC,qBAAqB,GAAG,uBAAuB;AACrD,MAAMuW,oBAAoB,GAAG,sBAAsB;AAEnD,MAAMxX,YAQZ,GAAG;EACHmX,MAAM;EACNE,aAAa;EACbD,YAAY;EACZE,OAAO;EACPtW,oBAAoB;EACpBC,qBAAqB;EACrBuW;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,MAAMrO,aAAuB;AACnC;AACD;AACA;AACA;AACA;AACA;AACA;AACCuE,8DAAY,CAAE,4BAA4B,EAAE;EAC3C+J,WAAW,EAAE;IACZ;IACAC,mBAAmB,EAAE,YAAY;IACjCC,mBAAmB,EAAE,YAAY;IACjC;IACAC,iBAAiB,EAAE,gBAAgB;IACnC;IACAC,eAAe,EAAE;EAClB;AACD,CAAE,CAAa;;AAEhB;AACA;AACA;AACA,MAAM;EAAE1E,eAAe,GAAGhK;AAAc,CAAC,IAAA2O,mBAAA,GAAGC,kBAAkB,cAAAD,mBAAA,cAAAA,mBAAA,GAAI,CAAC,CAAC;AAE7D,MAAMtP,YAAmB,GAAG;EAClC/F,QAAQ,EAAE0Q,eAAe;EACzBC,cAAc,EAAE,CAAC,CAAC;EAClBrK,eAAe,EAAE,CAAC;AACnB,CAAC,C;;;;;;;;;;;;;;;;;AC/DkD;;;;;;;;;;;;;;;ACLM;AAKzD,MAAM;EACLoO,MAAM;EACNE,aAAa;EACbD,YAAY;EACZE,OAAO;EACPtW,oBAAoB;EACpBwW,oBAAoB;EACpBvW;AACD,CAAC,GAAGjB,oDAAY;AAoFhB,MAAM+K,OAAO,GAAGA,CAAEC,KAAY,GAAGxC,oDAAY,EAAEjF,MAAqB,KAAM;EACzE,QAASA,MAAM,CAACV,IAAI;IACnB,KAAKyU,OAAO;MAAE;QACb,MAAM;UAAE7U;QAAS,CAAC,GAAGc,MAAM,CAACC,OAAO;QAEnC,OAAO;UACN,GAAGwH,KAAK;UACRvI;QACD,CAAC;MACF;IAEA,KAAK+U,oBAAoB;MAAE;QAC1B,MAAM;UAAEjV;QAAQ,CAAC,GAAGgB,MAAM,CAACC,OAAO;QAElC,OAAO;UACN,GAAGwH,KAAK;UACR7J,KAAK,EAAEoB;QACR,CAAC;MACF;IAEA,KAAK8U,aAAa;MAAE;QAAA,IAAAa,qBAAA;QACnB,MAAM;UAAEzV;QAAS,CAAC,GAAGc,MAAM,CAACC,OAAO;QAEnC,OAAO;UACN,GAAGwH,KAAK;UACRoI,cAAc,EAAE;YACf,KAAA8E,qBAAA,GAAKlN,KAAK,CAACoI,cAAc,cAAA8E,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC,CAAE;YACjC,GAAGzV;UACJ;QACD,CAAC;MACF;IAEA,KAAK2U,YAAY;MAAE;QAClB,MAAM;UAAE3U;QAAS,CAAC,GAAGc,MAAM,CAACC,OAAO;QAEnC,OAAO;UACN,GAAGwH,KAAK;UACRvI,QAAQ,EAAE;YACT,GAAGuI,KAAK,CAACvI,QAAQ;YACjB,GAAGA;UACJ,CAAC;UACD2Q,cAAc,EAAE,CAAC;QAClB,CAAC;MACF;IAEA,KAAK+D,MAAM;MAAE;QACZ,MAAM;UAAE1U;QAAS,CAAC,GAAGc,MAAM,CAACC,OAAO;QACnC,OAAO;UACN,GAAGwH,KAAK;UACRvI,QAAQ,EAAE;YACT,GAAGuI,KAAK,CAACvI,QAAQ;YACjB,GAAGA;UACJ;QACD,CAAC;MACF;IAEA,KAAKzB,oBAAoB;MAAE;QAC1B,MAAM;UAAEyC,UAAU;UAAEC,MAAM;UAAEnB;QAAQ,CAAC,GAAGgB,MAAM,CAACC,OAAO;QAEtD,OAAO;UACN,GAAGwH,KAAK;UACRjC,eAAe,EAAE;YAChB,GAAGiC,KAAK,CAACjC,eAAe;YACxB,CAAEtF,UAAU,GAAI;cACfC,MAAM;cACNvC,KAAK,EAAEoB;YACR;UACD;QACD,CAAC;MACF;IAEA,KAAKtB,qBAAqB;MAAE;QAC3B,MAAM;UAAEe,EAAE;UAAEgL;QAAU,CAAC,GAAGzJ,MAAM,CAACC,OAAO;QAExC,OAAO;UACN,GAAGwH,KAAK;UACRjC,eAAe,EAAE;YAChB,GAAGiC,KAAK,CAACjC,eAAe;YACxB,CAAEiE,SAAS,GAAI;cACd,GAAGhC,KAAK,CAACjC,eAAe,GAAIiE,SAAS,CAAE;cACvC,CAAEhL,EAAE,GAAIsD;YACT;UACD;QACD,CAAC;MACF;IAEA;MACC,OAAO0F,KAAK;EACd;AACD,CAAC;AAED,iEAAeD,OAAO,E;;;;;;;;;;;;;;;;;;AC5LiB;AAEkB;AACN;AACjB;AAIlC,MAAMoN,iBAAiB,GAAG;EACzB5E,WAAW,EACVA,CAAA,KACA,OAAQ;IAAElS,QAAQ;IAAEC;EAAS,CAAC,KAAM;IACnC,IAAI;MACH,MAAMmB,QAAQ,GAAG,MAAMtC,oDAAY,CAAc4T,+CAAO,CAAC,CAAC,EAAE;QAC3D/P,MAAM,EAAE;MACT,CAAE,CAAC;MAEH1C,QAAQ,CAAC2C,KAAK,CAAE,MAAM;QACrB,IAAKxB,QAAQ,EAAG;UACfpB,QAAQ,CAACoT,OAAO,CAAEhS,QAAS,CAAC;QAC7B;QAEApB,QAAQ,CAAE;UACTwB,IAAI,EAAE2U,4DAAoB;UAC1BjV,OAAO,EAAE5C,qDAAE,CACV,8CAA8C,EAC9C,aACD;QACD,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ,CAAC,CAAC,OAAQwB,KAAK,EAAG;MACjBE,QAAQ,CAAE;QACTwB,IAAI,EAAE2U,4DAAoB;QAC1BjV,OAAO,EAAEnC,uDAAe,CAAEe,KAAM;MACjC,CAAE,CAAC;IACJ;EACD;AACF,CAAC;AAED,iEAAegX,iBAAiB,E;;;;;;;;;;;;;;;;;ACvCiB;AAEH;AACF;AAK5C,MAAMC,iBAAiB,GAAG;EACzB;AACD;AACA;AACA;AACA;AACA;AACA;EACC7E,WAAW,EAAE3F,+DAAc,CACxB5C,KAAY,IAAMA,KAAK,CAACvI,QAAQ,EAChCuI,KAAY,IAAM,CAAEA,KAAK,CAACvI,QAAQ,CACrC,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACCkR,UAAU,EAAE/F,+DAAc,CACzB,CAIC5C,KAAY,EACZ4I,IAAO,EACPC,YAAe,KACX;IAAA,IAAAC,cAAA;IACJ,MAAMrR,QAAQ,GAAG2V,iBAAiB,CAAC7E,WAAW,CAAEvI,KAAM,CAAC;IAEvD,QAAA8I,cAAA,GAAOrR,QAAQ,CAAEmR,IAAI,CAAE,cAAAE,cAAA,cAAAA,cAAA,GAAID,YAAY;EACxC,CAAC,EACD,CAIC7I,KAAY,EACZ4I,IAAO,EACPC,YAAe,KACX,CAAE7I,KAAK,CAACvI,QAAQ,EAAEmR,IAAI,EAAEC,YAAY,CAC1C,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACCP,iBAAiB,EAAE1F,+DAAc,CAC9B5C,KAAY,IAAMA,KAAK,CAACoI,cAAc,EACtCpI,KAAY,IAAM,CAAEA,KAAK,CAACoI,cAAc,CAC3C,CAAC;EAED;AACD;AACA;EACCC,iBAAiB,EAAEzF,+DAAc,CAC9B5C,KAAY,IAAe;IAAA,IAAAkN,qBAAA;IAC5B,OAAO9V,MAAM,CAAC0L,IAAI,EAAAoK,qBAAA,GAAElN,KAAK,EAAEoI,cAAc,cAAA8E,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAE,CAAC,CAACpM,MAAM,GAAG,CAAC;EAC7D,CAAC,EACCd,KAAY,IAAM,CAAEA,KAAK,CAACoI,cAAc,CAC3C,CAAC;EAED;AACD;AACA;EACCiF,gBAAgB,EAAEzK,+DAAc,CAC/B,CACC5C,KAAY,EAIZsN,GAAM,KACM;IACZ,MAAMb,WAAW,GAAGW,iBAAiB,CAACzE,UAAU,CAC/C3I,KAAK,EACL,aAAa,EACb7B,qDAAa,CAACsO,WACf,CAAC;IAED,MAAMc,iBAAiB,GAAG,gBAAgB;IAE1C,MAAMC,UAAU,GAAGf,WAAW,CAAEa,GAAG,CAAE;IAErC,OAAO,OAAOE,UAAU,KAAK,QAAQ,GAClCA,UAAU,GACVD,iBAAiB;EACrB,CAAC,EACD,CAAEvN,KAAY,EAAEsN,GAAoC,KAAM,CACzDtN,KAAK,CAACvI,QAAQ,CAACgV,WAAW,EAC1Ba,GAAG,CAEL;AACD,CAAC;;AAED;AACA;AACA;AACA,MAAMjJ,mBAAmB,GAAG;EAC3B;AACD;AACA;EACCC,kBAAkB,EAAE1B,+DAAc,CACjC,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGiC,KAAK,CAACjC,eAAe,GAAI/G,EAAE,CAAE;;IAErD;IACA,IAAK,CAAE+G,eAAe,EAAG;MACxB,OAAO;QACNrF,MAAM,EAAExD,sDAAc,CAACqP;MACxB,CAAC;IACF;IAEA,OAAOxG,eAAe;EACvB,CAAC,EACD,CAAEkG,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;EAED;AACD;AACA;EACCwN,MAAM,EAAE5B,+DAAc,CACrB,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGsG,mBAAmB,CAACC,kBAAkB,CAC7DtE,KAAK,EACLhJ,EACD,CAAC;IACD,OAAO+G,eAAe,CAACrF,MAAM,KAAKxD,sDAAc,CAACqP,IAAI;EACtD,CAAC,EACD,CAAEN,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;EAED;AACD;AACA;EACCyN,WAAW,EAAE7B,+DAAc,CAC1B,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGsG,mBAAmB,CAACC,kBAAkB,CAC7DtE,KAAK,EACLhJ,EACD,CAAC;IACD,OAAO+G,eAAe,CAACrF,MAAM,KAAKxD,sDAAc,CAACyD,SAAS;EAC3D,CAAC,EACD,CAAEsL,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;EAED;AACD;AACA;EACC0N,WAAW,EAAE9B,+DAAc,CAC1B,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGsG,mBAAmB,CAACC,kBAAkB,CAC7DtE,KAAK,EACLhJ,EACD,CAAC;IACD,OAAO+G,eAAe,CAACrF,MAAM,KAAKxD,sDAAc,CAACgE,OAAO;EACzD,CAAC,EACD,CAAE+K,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;EAED;AACD;AACA;EACC2N,SAAS,EAAE/B,+DAAc,CACxB,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGsG,mBAAmB,CAACC,kBAAkB,CAC7DtE,KAAK,EACLhJ,EACD,CAAC;IACD,OAAO+G,eAAe,CAACrF,MAAM,KAAKxD,sDAAc,CAAC4D,KAAK;EACvD,CAAC,EACD,CAAEmL,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;EAED;AACD;AACA;EACC4N,kBAAkB,EAAEhC,+DAAc,CACjC,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGsG,mBAAmB,CAACC,kBAAkB,CAC7DtE,KAAK,EACLhJ,EACD,CAAC;IACD,OAAO+G,eAAe,CAAC5H,KAAK;EAC7B,CAAC,EACD,CAAE8N,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C;AACD,CAAC;AAED,MAAM6N,SAAS,GAAG;EACjB;EACA,GAAGuI,iBAAiB;EACpB;EACA,GAAG/I;AACJ,CAAC;AAED,iEAAeQ,SAAS,E;;;;;;;;;;;;;;;;;;;;AChN2B;AAEnB;AACA;AACI;AACA;AACmB;AAIvD,MAAME,WAAW,GAAGA,CAAA,MAAQ;EAC3BvH,YAAY;EACZuC,OAAO;EACPhD,OAAO;EACP8H,SAAS;EACTrC,SAASA,oDAAAA;AACV,CAAC,CAAE;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAM3N,KAAK,GAAGiQ,iEAAgB,CAC7B9H,kDAAU,EACV+H,WAAW,CAAC,CACb,CAAC;AAED,iEAAelQ,KAAK,E;;;;;;;;;;;;;AC5Bb,MAAMkU,OAAO,GAAGA,CAAA,KAAM,yBAAyB,C;;;;;;;;;;;;;;;;;;;ACAf;AAEO;AACH;AAEA;AACI;AAK/C,MAAM;EACL2E,cAAc;EACdC,cAAc;EACdC,YAAY;EACZ5X,oBAAoB;EACpBC;AACD,CAAC,GAAGjB,oDAAY;AAEhB,MAAM6Y,aAAa,GAAG;EACrB;AACD;AACA;AACA;AACA;EACCC,iBAAiB,EAChBA,CAICC,SAAiB,EAIjBC,aAA6B,KAE9B,OAAQ;IAAE3X,QAAQ;IAAEC;EAAS,CAAC,KAAM;IACnC,MAAMmC,UAAU,GAAG,mBAAmB;IAEtC,IAAI;MACHpC,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAACyD,SAChB,CAAC;MAED,MAAMrC,QAAQ,CAAC2C,KAAK,CAAE,YAAY;QACjC5C,QAAQ,CAAC4X,aAAa,CAAEF,SAAU,CAAC;QAEnC,MAAMzL,OAAO,GAAG,MAAMmL,4DAAoB,CACzCM,SAAS,EACTC,aACD,CAAC;QAED,IAAK1L,OAAO,EAAG;UACdjM,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAACgE,OAChB,CAAC;UAED7C,QAAQ,CAAC6X,aAAa,CAAEH,SAAS,EAAEzL,OAAQ,CAAC;QAC7C;QAEA,MAAM/I,YAAY,GAAG5E,qDAAE,CACtB,qBAAqB,EACrB,aACD,CAAC;QAED0B,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpBS,YACD,CAAC;QAEDlD,QAAQ,CAAC8X,WAAW,CAAEJ,SAAS,EAAExU,YAAa,CAAC;MAChD,CAAE,CAAC;IACJ,CAAC,CAAC,OAAQpD,KAAK,EAAG;MACjB,MAAMoD,YAAY,GAAGnE,uDAAe,CAAEe,KAAM,CAAC;MAE7CE,QAAQ,CAACwG,kBAAkB,CAC1BpE,UAAU,EACVvD,sDAAc,CAAC4D,KAAK,EACpBS,YACD,CAAC;MACDlD,QAAQ,CAAC8X,WAAW,CAAEJ,SAAS,EAAExU,YAAa,CAAC;IAChD;EACD,CAAC;EAEF;AACD;AACA;AACA;AACA;EACC0U,aAAa,EAIZF,SAAiB,KAEf;IACDlW,IAAI,EAAE6V,cAAc;IACpBlV,OAAO,EAAE;MACRuV;IACD;EACD,CAAC,CAAmB;EAErB;AACD;AACA;AACA;AACA;AACA;EACCG,aAAa,EAAEA,CAIdH,SAAiB,EAIjBzL,OAA6B,KACV;IACnB,OAAO;MACNzK,IAAI,EAAE8V,cAAc;MACpBnV,OAAO,EAAE;QACRuV,SAAS;QACTzL;MACD;IACD,CAAC;EACF,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;EACC6L,WAAW,EAAEA,CAIZJ,SAAiB,EAIjB5X,KAAa,KACM;IACnB,OAAO;MACN0B,IAAI,EAAE+V,YAAY;MAClBpV,OAAO,EAAE;QACRuV,SAAS;QACT5X;MACD;IACD,CAAC;EACF;AACD,CAAC;;AAED;AACA;AACA;AACA,MAAMyG,iBAAiB,GAAG;EACzB;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EACCC,kBAAkB,EACjBA,CACCpE,UAAkB,EAClBC,MAAsB,EACtBnB,OAA4D,KAE7D,CAAE;IAAElB;EAAS,CAAC,KAAM;IACnB,IAAKkB,OAAO,EAAG;MACd;MACAqD,OAAO,CAAC2O,GAAG,CAAE9Q,UAAU,EAAElB,OAAQ,CAAC;IACnC;IAEAlB,QAAQ,CAAE;MACTwB,IAAI,EAAE7B,oBAAoB;MAC1ByC,UAAU;MACVC,MAAM;MACNnB;IACD,CAAE,CAAC;EACJ,CAAC;EAEF;AACD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;AACD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;AACD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;AACD;AACA;AACA;AACA;AACA;EACCuF,oBAAoB,EACjB9F,EAAmB,IACrB,CAAE;IAAEX;EAAS,CAAC,KAAM;IACnBA,QAAQ,CAAE;MACTwB,IAAI,EAAE5B,qBAAqB;MAC3BuC,OAAO,EAAE;QACRxB;MACD;IACD,CAAE,CAAC;EACJ;AACF,CAAC;AAED,MAAM+F,OAAO,GAAG;EACf;EACA,GAAG8Q,aAAa;EAChB;EACA,GAAGjR;AACJ,CAAC;AAED,iEAAeG,OAAO,E;;;;;;;;;;;;;;;;ACxQf,MAAMC,UAAU,GAAG,wBAAwB;;AAElD;AACO,MAAM0Q,cAAc,GAAG,gBAAgB;AACvC,MAAMC,cAAc,GAAG,gBAAgB;AACvC,MAAMC,YAAY,GAAG,cAAc;AACnC,MAAMQ,kBAAkB,GAAG,oBAAoB;;AAEtD;AACO,MAAMpY,oBAAoB,GAAG,sBAAsB;AACnD,MAAMC,qBAAqB,GAAG,uBAAuB;AAErD,MAAMjB,YAOZ,GAAG;EACH0Y,cAAc;EACdC,cAAc;EACdC,YAAY;EACZQ,kBAAkB;EAClBpY,oBAAoB;EACpBC;AACD,CAAC;AAEM,MAAMuH,YAAmB,GAAG;EAClC6Q,YAAY,EAAE,EAAE;EAChBC,aAAa,EAAE,EAAE;EACjB3Q,OAAO,EAAE,CAAC,CAAC;EACXI,eAAe,EAAE,CAAC;AACnB,CAAC,C;;;;;;;;;;;;;;;;AC9BmD;;;;;;;;;;;;;;;;ACJK;AAIzD,MAAM;EACL6P,YAAY;EACZF,cAAc;EACdC,cAAc;EACd3X,oBAAoB;EACpBC;AACD,CAAC,GAAGjB,oDAAY;;AAEhB;AACA;AACA;;AAyBA;AACA;AACA;;AAMA;AACA;AACA;;AAQA;AACA;AACA;;AASA;AACA;AACA;;AAwBA;AACA;AACA;;AAQO,MAAM+K,OAAO,GAAGA,CACtBC,KAAY,GAAGxC,oDAAY,EAC3BjF,MAAqB,KACV;EACX,QAASA,MAAM,CAACV,IAAI;IACnB,KAAK6V,cAAc;MAAE;QACpB,MAAM;UAAEK;QAAU,CAAC,GAAGxV,MAAM,CAACC,OAAO;QAEpC,OAAO;UACN,GAAGwH,KAAK;UACRqO,YAAY,EAAEN;QACf,CAAC;MACF;IAEA,KAAKJ,cAAc;MAAE;QACpB,MAAM;UAAEI,SAAS;UAAEzL;QAAQ,CAAC,GAAG/J,MAAM,CAACC,OAAO;QAE7C,IAAKwH,KAAK,CAACqO,YAAY,KAAKN,SAAS,EAAG;UACvC,OAAO;YACN,GAAG/N,KAAK;YACRsO,aAAa,EAAEhM;UAChB,CAAC;QACF;QACA,OAAOtC,KAAK;MACb;IAEA,KAAK4N,YAAY;MAAE;QAClB,MAAM;UAAEG,SAAS;UAAE5X;QAAM,CAAC,GAAGoC,MAAM,CAACC,OAAO;QAE3C,IAAKwH,KAAK,CAACqO,YAAY,KAAKN,SAAS,EAAG;UACvC,OAAO;YACN,GAAG/N,KAAK;YACR7J;UACD,CAAC;QACF;QACA,OAAO6J,KAAK;MACb;IAEA,KAAKhK,oBAAoB;MAAE;QAC1B,MAAM;UAAEyC,UAAU;UAAEC,MAAM;UAAEnB;QAAQ,CAAC,GAAGgB,MAAM;QAE9C,OAAO;UACN,GAAGyH,KAAK;UACRjC,eAAe,EAAE;YAChB,GAAGiC,KAAK,CAACjC,eAAe;YACxB,CAAEtF,UAAU,GAAI;cACfC,MAAM;cACNvC,KAAK,EAAEoB;YACR;UACD;QACD,CAAC;MACF;IAEA,KAAKtB,qBAAqB;MAAE;QAC3B,MAAM;UAAEe,EAAE;UAAEgL;QAAU,CAAC,GAAGzJ,MAAM,CAACC,OAAO;QAExC,OAAO;UACN,GAAGwH,KAAK;UACRjC,eAAe,EAAE;YAChB,GAAGiC,KAAK,CAACjC,eAAe;YACxB,CAAEiE,SAAS,GAAI;cACd,GAAGhC,KAAK,CAACjC,eAAe,GAAIiE,SAAS,CAAE;cACvC,CAAEhL,EAAE,GAAIsD;YACT;UACD;QACD,CAAC;MACF;IAEA;MACC,OAAO0F,KAAK;EACd;AACD,CAAC;AAED,iEAAeD,OAAO,E;;;;;;;;;;;;;;;;AClL2B;AAEH;AAK9C;AACA;AACA;AACA,MAAM0O,mBAAmB,GAAG;EAC3B;AACD;AACA;EACCC,cAAc,EAAE9L,+DAAc,CAC3B5C,KAAY,IAA4BA,KAAK,CAACsO,aAAa,IAAI,EAAE,EACjEtO,KAAY,IAAM,CAAEA,KAAK,CAACsO,aAAa,CAC1C;AACD,CAAC;;AAED;AACA;AACA;AACA,MAAMjK,mBAAmB,GAAG;EAC3B;AACD;AACA;EACCC,kBAAkB,EAAE1B,+DAAc,CACjC,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGiC,KAAK,CAACjC,eAAe,GAAI/G,EAAE,CAAE;;IAErD;IACA,IAAK,CAAE+G,eAAe,EAAG;MACxB,OAAO;QACNrF,MAAM,EAAExD,sDAAc,CAACqP;MACxB,CAAC;IACF;IAEA,OAAOxG,eAAe;EACvB,CAAC,EACD,CAAEkG,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;EAED;AACD;AACA;EACCwN,MAAM,EAAE5B,+DAAc,CACrB,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGsG,mBAAmB,CAACC,kBAAkB,CAC7DtE,KAAK,EACLhJ,EACD,CAAC;IACD,OAAO+G,eAAe,CAACrF,MAAM,KAAKxD,sDAAc,CAACqP,IAAI;EACtD,CAAC,EACD,CAAEN,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;EAED;AACD;AACA;EACCyN,WAAW,EAAE7B,+DAAc,CAC1B,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGsG,mBAAmB,CAACC,kBAAkB,CAC7DtE,KAAK,EACLhJ,EACD,CAAC;IACD,OAAO+G,eAAe,CAACrF,MAAM,KAAKxD,sDAAc,CAACyD,SAAS;EAC3D,CAAC,EACD,CAAEsL,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;EAED;AACD;AACA;EACC0N,WAAW,EAAE9B,+DAAc,CAC1B,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGsG,mBAAmB,CAACC,kBAAkB,CAC7DtE,KAAK,EACLhJ,EACD,CAAC;IACD,OAAO+G,eAAe,CAACrF,MAAM,KAAKxD,sDAAc,CAACgE,OAAO;EACzD,CAAC,EACD,CAAE+K,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;EAED;AACD;AACA;EACC2N,SAAS,EAAE/B,+DAAc,CACxB,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGsG,mBAAmB,CAACC,kBAAkB,CAC7DtE,KAAK,EACLhJ,EACD,CAAC;IACD,OAAO+G,eAAe,CAACrF,MAAM,KAAKxD,sDAAc,CAAC4D,KAAK;EACvD,CAAC,EACD,CAAEmL,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C,CAAC;EAED;AACD;AACA;EACC4N,kBAAkB,EAAEhC,+DAAc,CACjC,CAAE5C,KAAY,EAAEhJ,EAAmB,KAAM;IACxC,MAAM+G,eAAe,GAAGsG,mBAAmB,CAACC,kBAAkB,CAC7DtE,KAAK,EACLhJ,EACD,CAAC;IACD,OAAO+G,eAAe,CAAC5H,KAAK;EAC7B,CAAC,EACD,CAAE8N,MAAa,EAAEjN,EAAmB,KAAM,CAAEA,EAAE,CAC/C;AACD,CAAC;AAED,MAAM6N,SAAS,GAAG;EACjB;EACA,GAAG4J,mBAAmB;EACtB;EACA,GAAGpK;AACJ,CAAC;AAED,iEAAeQ,SAAS,E;;;;;;;;;;;;;;;;;;;;ACzH2B;AAEnB;AACA;AACI;AACmB;AAIvD;AACA;AACA;AACO,MAAME,WAAW,GAAGA,CAAA,MAAQ;EAClCvH,YAAY;EACZuC,OAAO;EACPhD,OAAO;EACP8H,SAASA,oDAAAA;AACV,CAAC,CAAE;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAMhQ,KAAK,GAAGiQ,iEAAgB,CAC7B9H,kDAAU,EACV+H,WAAW,CAAC,CACb,CAAC;AAED,iEAAelQ,KAAK,E;;;;;;;;;;;;;;;;;AC7BmB;AACoB;AASpD,MAAM+Z,WAAW,GAAGA,CAAEC,WAAuB,GAAG;EAAEC,MAAM,EAAE;AAAG,CAAC,KACpE7M,uDAAe,CAAE,cAAc,EAAE4M,WAAY,CAAC;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMpB,oBAAoB,GAAG,MAAAA,CACnCqB,MAAc,EACdd,aAA4B,GAAG,CAAC,CAAC,KACI;EACrC,MAAM;IACLe,oBAAoB,GAAG,KAAK;IAC5BlX,IAAI,GAAGyC,SAAS;IAChB0U,OAAO,GAAG1U,SAAS;IACnB2U,IAAI,GAAG3U,SAAS;IAChB4U,OAAO,GAAGH,oBAAoB,GAAG,CAAC,GAAG;EACtC,CAAC,GAAGf,aAAa;EAEjB,MAAMrQ,OAAuC,GAAG,EAAE;EAElD,MAAMwR,SAAS,GAAKC,CAAS,IAC5B,CAAEvX,IAAI,IACNA,IAAI,KAAKuX,CAAC,IACRrX,KAAK,CAACC,OAAO,CAAEH,IAAK,CAAC,IAAIA,IAAI,CAACgT,OAAO,CAAEuE,CAAE,CAAC,IAAI,CAAG;;EAEpD;EACA,MAAMC,YAAY,GAAG,MAAAA,CAAQC,SAAkB,EAAEC,IAAa,KAAM;IACnE,IAAI;MACH,MAAMjN,OAAO,GAAG,MAAMqM,sDAAc,CACnCC,WAAW,CAAE;QACZE,MAAM;QACNG,IAAI;QACJ5M,QAAQ,EAAE6M,OAAO;QACjBrX,IAAI,EAAEyX,SAAS;QACfN;MACD,CAAE,CAAC,EACH;QAAEQ,KAAK,EAAE;MAAW,CACrB,CAAC;MAED,OAAOlN,OAAO,CAAC5F,GAAG,CAAI3D,MAAM,KAAQ;QACnC,GAAGA,MAAM;QACTuG,IAAI,EAAE;UAAEiQ,IAAI,EAAEA,IAAI,IAAID,SAAS;UAAEN;QAAQ;MAC1C,CAAC,CAAG,CAAC;IACN,CAAC,CAAC,MAAM;MACP,OAAO,EAAE,CAAC,CAAC;IACZ;EACD,CAAC;;EAED;EACA,IAAKG,SAAS,CAAE,MAAO,CAAC,EAAG;IAC1BxR,OAAO,CAACkD,IAAI,CAAEwO,YAAY,CAAE,MAAM,EAAE,WAAY,CAAE,CAAC;EACpD;;EAEA;EACA,IAAKF,SAAS,CAAE,MAAO,CAAC,EAAG;IAC1BxR,OAAO,CAACkD,IAAI,CAAEwO,YAAY,CAAE,MAAM,EAAE,UAAW,CAAE,CAAC;EACnD;;EAEA;EACA,IAAKF,SAAS,CAAE,aAAc,CAAC,EAAG;IACjCxR,OAAO,CAACkD,IAAI,CAAEwO,YAAY,CAAE,aAAa,EAAE,UAAW,CAAE,CAAC;EAC1D;;EAEA;EACA,IAAKF,SAAS,CAAE,YAAa,CAAC,EAAG;IAChCxR,OAAO,CAACkD,IAAI,CAAEwO,YAAY,CAAE,YAAY,EAAE,OAAQ,CAAE,CAAC;EACtD;EAEA,MAAM/M,OAAO,GAAG,MAAMmN,OAAO,CAACC,GAAG,CAAE/R,OAAQ,CAAC;EAE5C,OAAO2E,OAAO,CACZqN,IAAI,CAAC,CAAC,CACN7Y,MAAM,CAAIiC,MAAM,IAAiC,CAAC,CAAEA,MAAM,CAAC/B,EAAG,CAAC,CAC/D0D,KAAK,CAAE,CAAC,EAAEwU,OAAQ,CAAC,CACnBxS,GAAG,CAAI3D,MAAM,IAAM;IAAA,IAAA6W,qBAAA;IACnB,MAAMC,OAAO,GAAG9W,MAAM,CAAClB,IAAI,KAAK,YAAY;IAC5C,MAAMuB,KAAK,GACV,OAAOL,MAAM,CAACK,KAAK,KAAK,QAAQ,IAAAwW,qBAAA,GAC7B7W,MAAM,CAACK,KAAK,CAACC,QAAQ,cAAAuW,qBAAA,cAAAA,qBAAA,GAAI7W,MAAM,CAACK,KAAK,CAAC+L,GAAG,GACzCpM,MAAM,CAACK,KAAK,IAAIzE,qDAAE,CAAE,YAAY,EAAE,aAAc,CAAC;IAErD,OAAO;MACNqC,EAAE,EAAE+B,MAAM,CAAC/B,EAAE;MACbuH,GAAG,EACFsR,OAAO,IAAI9W,MAAM,CAAC+W,UAAU,GACzB/W,MAAM,CAAC+W,UAAU,GACjB/W,MAAM,CAACwF,GAAG;MACdnF,KAAK;MACLvB,IAAI,EAAEkB,MAAM,EAAEiW,OAAO,IAAIjW,MAAM,CAAClB,IAAI;MACpC0X,IAAI,EAAExW,MAAM,EAAEuG,IAAI,EAAEiQ;IACrB,CAAC;EACF,CAAE,CAAC;AACL,CAAC,C;;;;;;;;;;;;;;;;;;;AC3GqE;AAE/D,MAAMS,QAAQ,GAAG,gBAAgB;AAEjC,MAAMC,UAAU,GAAG,GAAIC,aAAa,CAACC,IAAI,EAAG;AAC5C,MAAMC,OAAO,GAAG,GAAIF,aAAa,CAACC,IAAI,GAAKH,QAAQ,GAAI;AAyB9D;AACA;AACA;AACA,MAAMK,iBAAiB,GAAGA,CAAA,MAAkC;EAC3D,cAAc,EAAE,kBAAkB;EAClC,YAAY,EAAEH,aAAa,CAACI;AAC7B,CAAC,CAAE;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,GAAKC,IAAY,IAAc;EACnD,IAAKN,aAAa,CAACC,IAAI,CAAClQ,QAAQ,CAAE,GAAI,CAAC,EAAG;IACzC,OAAOuQ,IAAI,CAACC,OAAO,CAAE,GAAG,EAAE,GAAI,CAAC;EAChC;EACA,OAAOD,IAAI;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM7B,cAAc,GAAG,MAAAA,CAC7B6B,IAAY,EACZpU,OAAwB,GAAG,CAAC,CAAC,KACX;EAClB;EACA,MAAMsU,OAAiC,GAAG;IACzC,GAAGL,iBAAiB,CAAC,CAAC;IACtB,IAAOjU,OAAO,CAACsU,OAAO,IAAkC,CAAC,CAAC;EAC3D,CAAC;;EAED;EACA,MAAMC,YAAY,GAAGJ,eAAe,CAAEC,IAAK,CAAC;EAE5C,IAAI;IACH;IACA,OAAO,MAAMT,2DAAQ,CAAO;MAC3BxR,GAAG,EAAE,GAAI0R,UAAU,GAAKU,YAAY,EAAG;MACvC,GAAGvU,OAAO;MACVsU,OAAO;MACPE,WAAW,EAAE,aAAa;MAC1BC,KAAK,EAAE,IAAI,CAAE;IACd,CAAE,CAAC;EACJ,CAAC,CAAC,OAAQ1a,KAAK,EAAG;IACjB;IACA,IAAKA,KAAK,YAAY2C,KAAK,EAAG;MAC7B,MAAM3C,KAAK;IACZ;;IAEA;IACA,IAAK,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,EAAG;MAClD,MAAM2a,OAAO,GAAG3a,KAAgB;;MAEhC;MACA,IAAK2a,OAAO,CAACva,IAAI,KAAK,oBAAoB,EAAG;QAC5C,MAAMua,OAAO;MACd;;MAEA;MACA,MAAMvZ,OAAO,GAAGuZ,OAAO,CAACvZ,OAAO,IAAI,oBAAoB;MACvD,MAAM,IAAIuB,KAAK,CAAEvB,OAAQ,CAAC;IAC3B;;IAEA;IACA,MAAM,IAAIuB,KAAK,CAAE,wBAAyB,CAAC;EAC5C;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM3D,YAAY,GAAG,MAAAA,CAC3Bqb,IAAY,EACZpU,OAAwB,GAAG,CAAC,CAAC,KACX;EAClB,OAAOuS,cAAc,CAAO,GAAIqB,QAAQ,IAAMQ,IAAI,EAAG,EAAEpU,OAAQ,CAAC;AACjE,CAAC,C;;;;;;;;;;;;;;;;;;;;ACtJ0B;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM6F,eAAe,GAAGA,CAAE1D,GAAW,EAAE9H,MAAc,KAAc;EACzE,MAAMsa,cAAc,GAAG3Z,MAAM,CAAC4J,WAAW,CACxC5J,MAAM,CAACC,OAAO,CAAEZ,MAAO,CAAC,CAACK,MAAM,CAAE,CAAE,GAAImO,KAAK,CAAE,KAAM,CAAC,CAAEA,KAAM,CAC9D,CAAC;EAED,MAAM9E,KAAK,GAAG,IAAI6Q,eAAe,CAAE;IAClC,GAAGD;EACJ,CAAE,CAAC;EAEH,OAAO,GAAIxS,GAAG,IAAM4B,KAAK,EAAG;AAC7B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,MAAM/K,eAAe,GAAKe,KAAc,IAAc;EAC5D,IAAKA,KAAK,YAAY2C,KAAK,EAAG;IAC7B,OAAO3C,KAAK,CAACoB,OAAO;EACrB;;EAEA;EACA,IAAK,OAAOpB,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAI,SAAS,IAAIA,KAAK,EAAG;IACxE,OAAO8a,MAAM,CAAI9a,KAAK,CAA2BoB,OAAQ,CAAC;EAC3D;EAEA,OAAO0Z,MAAM,CAAE9a,KAAM,CAAC;AACvB,CAAC;;AAED,4E;;;;;;;;;;ACxCA,8C;;;;;;;;;;ACAA,0C;;;;;;;;;;ACAA,sC;;;;;;;;;;ACAA,yC;;;;;;;;;;ACAA,uC;;;;;;;;;;ACAA,8C;;;;;;;;;;ACAA,yC;;;;;;;;;;ACAA,kC;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA,E;;;;;WCPA,wF;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNkC;AACN;AACF;AACD;AACE;AACE;AAEL","sources":["webpack://popup-maker/core/./node_modules/fast-json-patch/index.mjs?","webpack://popup-maker/core/./node_modules/fast-json-patch/module/core.mjs?","webpack://popup-maker/core/./node_modules/fast-json-patch/module/duplex.mjs?","webpack://popup-maker/core/./node_modules/fast-json-patch/module/helpers.mjs?","webpack://popup-maker/core/./packages/core-data/src/call-to-actions/actions.ts?","webpack://popup-maker/core/./packages/core-data/src/call-to-actions/constants.ts?","webpack://popup-maker/core/./packages/core-data/src/call-to-actions/index.ts?","webpack://popup-maker/core/./packages/core-data/src/call-to-actions/reducer.ts?","webpack://popup-maker/core/./packages/core-data/src/call-to-actions/resolvers.ts?","webpack://popup-maker/core/./packages/core-data/src/call-to-actions/selectors.ts?","webpack://popup-maker/core/./packages/core-data/src/call-to-actions/store.ts?","webpack://popup-maker/core/./packages/core-data/src/call-to-actions/utils.ts?","webpack://popup-maker/core/./packages/core-data/src/call-to-actions/validation.ts?","webpack://popup-maker/core/./packages/core-data/src/constants.ts?","webpack://popup-maker/core/./packages/core-data/src/hooks/index.ts?","webpack://popup-maker/core/./packages/core-data/src/hooks/use-license.ts?","webpack://popup-maker/core/./packages/core-data/src/hooks/use-settings.ts?","webpack://popup-maker/core/./packages/core-data/src/license/actions.ts?","webpack://popup-maker/core/./packages/core-data/src/license/constants.ts?","webpack://popup-maker/core/./packages/core-data/src/license/index.ts?","webpack://popup-maker/core/./packages/core-data/src/license/reducer.ts?","webpack://popup-maker/core/./packages/core-data/src/license/resolvers.ts?","webpack://popup-maker/core/./packages/core-data/src/license/selectors.ts?","webpack://popup-maker/core/./packages/core-data/src/license/store.ts?","webpack://popup-maker/core/./packages/core-data/src/license/utils.ts?","webpack://popup-maker/core/./packages/core-data/src/popups/actions.ts?","webpack://popup-maker/core/./packages/core-data/src/popups/constants.ts?","webpack://popup-maker/core/./packages/core-data/src/popups/index.ts?","webpack://popup-maker/core/./packages/core-data/src/popups/reducer.ts?","webpack://popup-maker/core/./packages/core-data/src/popups/resolvers.ts?","webpack://popup-maker/core/./packages/core-data/src/popups/selectors.ts?","webpack://popup-maker/core/./packages/core-data/src/popups/store.ts?","webpack://popup-maker/core/./packages/core-data/src/popups/utils.ts?","webpack://popup-maker/core/./packages/core-data/src/popups/validation.ts?","webpack://popup-maker/core/./packages/core-data/src/settings/actions.ts?","webpack://popup-maker/core/./packages/core-data/src/settings/constants.ts?","webpack://popup-maker/core/./packages/core-data/src/settings/index.ts?","webpack://popup-maker/core/./packages/core-data/src/settings/reducer.ts?","webpack://popup-maker/core/./packages/core-data/src/settings/resolvers.ts?","webpack://popup-maker/core/./packages/core-data/src/settings/selectors.ts?","webpack://popup-maker/core/./packages/core-data/src/settings/store.ts?","webpack://popup-maker/core/./packages/core-data/src/settings/utils.ts?","webpack://popup-maker/core/./packages/core-data/src/url-search/actions.ts?","webpack://popup-maker/core/./packages/core-data/src/url-search/constants.ts?","webpack://popup-maker/core/./packages/core-data/src/url-search/index.ts?","webpack://popup-maker/core/./packages/core-data/src/url-search/reducer.ts?","webpack://popup-maker/core/./packages/core-data/src/url-search/selectors.ts?","webpack://popup-maker/core/./packages/core-data/src/url-search/store.ts?","webpack://popup-maker/core/./packages/core-data/src/url-search/utils.ts?","webpack://popup-maker/core/./packages/core-data/src/utils/controls.ts?","webpack://popup-maker/core/./packages/core-data/src/utils/index.ts?","webpack://popup-maker/core/external window [\"popupMaker\",\"i18n\"]?","webpack://popup-maker/core/external window [\"wp\",\"apiFetch\"]?","webpack://popup-maker/core/external window [\"wp\",\"data\"]?","webpack://popup-maker/core/external window [\"wp\",\"element\"]?","webpack://popup-maker/core/external window [\"wp\",\"hooks\"]?","webpack://popup-maker/core/external window [\"wp\",\"htmlEntities\"]?","webpack://popup-maker/core/external window [\"wp\",\"notices\"]?","webpack://popup-maker/core/external window \"lodash\"?","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/compat get default export?","webpack://popup-maker/core/webpack/runtime/define property getters?","webpack://popup-maker/core/webpack/runtime/hasOwnProperty shorthand?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/core-data/src/index.ts?"],"sourcesContent":["export * from './module/core.mjs';\nexport * from './module/duplex.mjs';\nexport {\n PatchError as JsonPatchError,\n _deepClone as deepClone,\n escapePathComponent,\n unescapePathComponent\n} from './module/helpers.mjs';\n\n\n/**\n * Default export for backwards compat\n */\n\nimport * as core from './module/core.mjs';\nimport * as duplex from './module/duplex.mjs';\nimport {\n PatchError as JsonPatchError,\n _deepClone as deepClone,\n escapePathComponent,\n unescapePathComponent\n} from './module/helpers.mjs';\n\nexport default Object.assign({}, core, duplex, {\n JsonPatchError,\n deepClone,\n escapePathComponent,\n unescapePathComponent\n});","import { PatchError, _deepClone, isInteger, unescapePathComponent, hasUndefined } from './helpers.mjs';\nexport var JsonPatchError = PatchError;\nexport var deepClone = _deepClone;\n/* We use a Javascript hash to store each\n function. Each hash entry (property) uses\n the operation identifiers specified in rfc6902.\n In this way, we can map each patch operation\n to its dedicated function in efficient way.\n */\n/* The operations applicable to an object */\nvar objOps = {\n add: function (obj, key, document) {\n obj[key] = this.value;\n return { newDocument: document };\n },\n remove: function (obj, key, document) {\n var removed = obj[key];\n delete obj[key];\n return { newDocument: document, removed: removed };\n },\n replace: function (obj, key, document) {\n var removed = obj[key];\n obj[key] = this.value;\n return { newDocument: document, removed: removed };\n },\n move: function (obj, key, document) {\n /* in case move target overwrites an existing value,\n return the removed value, this can be taxing performance-wise,\n and is potentially unneeded */\n var removed = getValueByPointer(document, this.path);\n if (removed) {\n removed = _deepClone(removed);\n }\n var originalValue = applyOperation(document, { op: \"remove\", path: this.from }).removed;\n applyOperation(document, { op: \"add\", path: this.path, value: originalValue });\n return { newDocument: document, removed: removed };\n },\n copy: function (obj, key, document) {\n var valueToCopy = getValueByPointer(document, this.from);\n // enforce copy by value so further operations don't affect source (see issue #177)\n applyOperation(document, { op: \"add\", path: this.path, value: _deepClone(valueToCopy) });\n return { newDocument: document };\n },\n test: function (obj, key, document) {\n return { newDocument: document, test: _areEquals(obj[key], this.value) };\n },\n _get: function (obj, key, document) {\n this.value = obj[key];\n return { newDocument: document };\n }\n};\n/* The operations applicable to an array. Many are the same as for the object */\nvar arrOps = {\n add: function (arr, i, document) {\n if (isInteger(i)) {\n arr.splice(i, 0, this.value);\n }\n else { // array props\n arr[i] = this.value;\n }\n // this may be needed when using '-' in an array\n return { newDocument: document, index: i };\n },\n remove: function (arr, i, document) {\n var removedList = arr.splice(i, 1);\n return { newDocument: document, removed: removedList[0] };\n },\n replace: function (arr, i, document) {\n var removed = arr[i];\n arr[i] = this.value;\n return { newDocument: document, removed: removed };\n },\n move: objOps.move,\n copy: objOps.copy,\n test: objOps.test,\n _get: objOps._get\n};\n/**\n * Retrieves a value from a JSON document by a JSON pointer.\n * Returns the value.\n *\n * @param document The document to get the value from\n * @param pointer an escaped JSON pointer\n * @return The retrieved value\n */\nexport function getValueByPointer(document, pointer) {\n if (pointer == '') {\n return document;\n }\n var getOriginalDestination = { op: \"_get\", path: pointer };\n applyOperation(document, getOriginalDestination);\n return getOriginalDestination.value;\n}\n/**\n * Apply a single JSON Patch Operation on a JSON document.\n * Returns the {newDocument, result} of the operation.\n * It modifies the `document` and `operation` objects - it gets the values by reference.\n * If you would like to avoid touching your values, clone them:\n * `jsonpatch.applyOperation(document, jsonpatch._deepClone(operation))`.\n *\n * @param document The document to patch\n * @param operation The operation to apply\n * @param validateOperation `false` is without validation, `true` to use default jsonpatch's validation, or you can pass a `validateOperation` callback to be used for validation.\n * @param mutateDocument Whether to mutate the original document or clone it before applying\n * @param banPrototypeModifications Whether to ban modifications to `__proto__`, defaults to `true`.\n * @return `{newDocument, result}` after the operation\n */\nexport function applyOperation(document, operation, validateOperation, mutateDocument, banPrototypeModifications, index) {\n if (validateOperation === void 0) { validateOperation = false; }\n if (mutateDocument === void 0) { mutateDocument = true; }\n if (banPrototypeModifications === void 0) { banPrototypeModifications = true; }\n if (index === void 0) { index = 0; }\n if (validateOperation) {\n if (typeof validateOperation == 'function') {\n validateOperation(operation, 0, document, operation.path);\n }\n else {\n validator(operation, 0);\n }\n }\n /* ROOT OPERATIONS */\n if (operation.path === \"\") {\n var returnValue = { newDocument: document };\n if (operation.op === 'add') {\n returnValue.newDocument = operation.value;\n return returnValue;\n }\n else if (operation.op === 'replace') {\n returnValue.newDocument = operation.value;\n returnValue.removed = document; //document we removed\n return returnValue;\n }\n else if (operation.op === 'move' || operation.op === 'copy') { // it's a move or copy to root\n returnValue.newDocument = getValueByPointer(document, operation.from); // get the value by json-pointer in `from` field\n if (operation.op === 'move') { // report removed item\n returnValue.removed = document;\n }\n return returnValue;\n }\n else if (operation.op === 'test') {\n returnValue.test = _areEquals(document, operation.value);\n if (returnValue.test === false) {\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n returnValue.newDocument = document;\n return returnValue;\n }\n else if (operation.op === 'remove') { // a remove on root\n returnValue.removed = document;\n returnValue.newDocument = null;\n return returnValue;\n }\n else if (operation.op === '_get') {\n operation.value = document;\n return returnValue;\n }\n else { /* bad operation */\n if (validateOperation) {\n throw new JsonPatchError('Operation `op` property is not one of operations defined in RFC-6902', 'OPERATION_OP_INVALID', index, operation, document);\n }\n else {\n return returnValue;\n }\n }\n } /* END ROOT OPERATIONS */\n else {\n if (!mutateDocument) {\n document = _deepClone(document);\n }\n var path = operation.path || \"\";\n var keys = path.split('/');\n var obj = document;\n var t = 1; //skip empty element - http://jsperf.com/to-shift-or-not-to-shift\n var len = keys.length;\n var existingPathFragment = undefined;\n var key = void 0;\n var validateFunction = void 0;\n if (typeof validateOperation == 'function') {\n validateFunction = validateOperation;\n }\n else {\n validateFunction = validator;\n }\n while (true) {\n key = keys[t];\n if (key && key.indexOf('~') != -1) {\n key = unescapePathComponent(key);\n }\n if (banPrototypeModifications &&\n (key == '__proto__' ||\n (key == 'prototype' && t > 0 && keys[t - 1] == 'constructor'))) {\n throw new TypeError('JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README');\n }\n if (validateOperation) {\n if (existingPathFragment === undefined) {\n if (obj[key] === undefined) {\n existingPathFragment = keys.slice(0, t).join('/');\n }\n else if (t == len - 1) {\n existingPathFragment = operation.path;\n }\n if (existingPathFragment !== undefined) {\n validateFunction(operation, 0, document, existingPathFragment);\n }\n }\n }\n t++;\n if (Array.isArray(obj)) {\n if (key === '-') {\n key = obj.length;\n }\n else {\n if (validateOperation && !isInteger(key)) {\n throw new JsonPatchError(\"Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index\", \"OPERATION_PATH_ILLEGAL_ARRAY_INDEX\", index, operation, document);\n } // only parse key when it's an integer for `arr.prop` to work\n else if (isInteger(key)) {\n key = ~~key;\n }\n }\n if (t >= len) {\n if (validateOperation && operation.op === \"add\" && key > obj.length) {\n throw new JsonPatchError(\"The specified index MUST NOT be greater than the number of elements in the array\", \"OPERATION_VALUE_OUT_OF_BOUNDS\", index, operation, document);\n }\n var returnValue = arrOps[operation.op].call(operation, obj, key, document); // Apply patch\n if (returnValue.test === false) {\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n return returnValue;\n }\n }\n else {\n if (t >= len) {\n var returnValue = objOps[operation.op].call(operation, obj, key, document); // Apply patch\n if (returnValue.test === false) {\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n return returnValue;\n }\n }\n obj = obj[key];\n // If we have more keys in the path, but the next value isn't a non-null object,\n // throw an OPERATION_PATH_UNRESOLVABLE error instead of iterating again.\n if (validateOperation && t < len && (!obj || typeof obj !== \"object\")) {\n throw new JsonPatchError('Cannot perform operation at the desired path', 'OPERATION_PATH_UNRESOLVABLE', index, operation, document);\n }\n }\n }\n}\n/**\n * Apply a full JSON Patch array on a JSON document.\n * Returns the {newDocument, result} of the patch.\n * It modifies the `document` object and `patch` - it gets the values by reference.\n * If you would like to avoid touching your values, clone them:\n * `jsonpatch.applyPatch(document, jsonpatch._deepClone(patch))`.\n *\n * @param document The document to patch\n * @param patch The patch to apply\n * @param validateOperation `false` is without validation, `true` to use default jsonpatch's validation, or you can pass a `validateOperation` callback to be used for validation.\n * @param mutateDocument Whether to mutate the original document or clone it before applying\n * @param banPrototypeModifications Whether to ban modifications to `__proto__`, defaults to `true`.\n * @return An array of `{newDocument, result}` after the patch\n */\nexport function applyPatch(document, patch, validateOperation, mutateDocument, banPrototypeModifications) {\n if (mutateDocument === void 0) { mutateDocument = true; }\n if (banPrototypeModifications === void 0) { banPrototypeModifications = true; }\n if (validateOperation) {\n if (!Array.isArray(patch)) {\n throw new JsonPatchError('Patch sequence must be an array', 'SEQUENCE_NOT_AN_ARRAY');\n }\n }\n if (!mutateDocument) {\n document = _deepClone(document);\n }\n var results = new Array(patch.length);\n for (var i = 0, length_1 = patch.length; i < length_1; i++) {\n // we don't need to pass mutateDocument argument because if it was true, we already deep cloned the object, we'll just pass `true`\n results[i] = applyOperation(document, patch[i], validateOperation, true, banPrototypeModifications, i);\n document = results[i].newDocument; // in case root was replaced\n }\n results.newDocument = document;\n return results;\n}\n/**\n * Apply a single JSON Patch Operation on a JSON document.\n * Returns the updated document.\n * Suitable as a reducer.\n *\n * @param document The document to patch\n * @param operation The operation to apply\n * @return The updated document\n */\nexport function applyReducer(document, operation, index) {\n var operationResult = applyOperation(document, operation);\n if (operationResult.test === false) { // failed test\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n return operationResult.newDocument;\n}\n/**\n * Validates a single operation. Called from `jsonpatch.validate`. Throws `JsonPatchError` in case of an error.\n * @param {object} operation - operation object (patch)\n * @param {number} index - index of operation in the sequence\n * @param {object} [document] - object where the operation is supposed to be applied\n * @param {string} [existingPathFragment] - comes along with `document`\n */\nexport function validator(operation, index, document, existingPathFragment) {\n if (typeof operation !== 'object' || operation === null || Array.isArray(operation)) {\n throw new JsonPatchError('Operation is not an object', 'OPERATION_NOT_AN_OBJECT', index, operation, document);\n }\n else if (!objOps[operation.op]) {\n throw new JsonPatchError('Operation `op` property is not one of operations defined in RFC-6902', 'OPERATION_OP_INVALID', index, operation, document);\n }\n else if (typeof operation.path !== 'string') {\n throw new JsonPatchError('Operation `path` property is not a string', 'OPERATION_PATH_INVALID', index, operation, document);\n }\n else if (operation.path.indexOf('/') !== 0 && operation.path.length > 0) {\n // paths that aren't empty string should start with \"/\"\n throw new JsonPatchError('Operation `path` property must start with \"/\"', 'OPERATION_PATH_INVALID', index, operation, document);\n }\n else if ((operation.op === 'move' || operation.op === 'copy') && typeof operation.from !== 'string') {\n throw new JsonPatchError('Operation `from` property is not present (applicable in `move` and `copy` operations)', 'OPERATION_FROM_REQUIRED', index, operation, document);\n }\n else if ((operation.op === 'add' || operation.op === 'replace' || operation.op === 'test') && operation.value === undefined) {\n throw new JsonPatchError('Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)', 'OPERATION_VALUE_REQUIRED', index, operation, document);\n }\n else if ((operation.op === 'add' || operation.op === 'replace' || operation.op === 'test') && hasUndefined(operation.value)) {\n throw new JsonPatchError('Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)', 'OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED', index, operation, document);\n }\n else if (document) {\n if (operation.op == \"add\") {\n var pathLen = operation.path.split(\"/\").length;\n var existingPathLen = existingPathFragment.split(\"/\").length;\n if (pathLen !== existingPathLen + 1 && pathLen !== existingPathLen) {\n throw new JsonPatchError('Cannot perform an `add` operation at the desired path', 'OPERATION_PATH_CANNOT_ADD', index, operation, document);\n }\n }\n else if (operation.op === 'replace' || operation.op === 'remove' || operation.op === '_get') {\n if (operation.path !== existingPathFragment) {\n throw new JsonPatchError('Cannot perform the operation at a path that does not exist', 'OPERATION_PATH_UNRESOLVABLE', index, operation, document);\n }\n }\n else if (operation.op === 'move' || operation.op === 'copy') {\n var existingValue = { op: \"_get\", path: operation.from, value: undefined };\n var error = validate([existingValue], document);\n if (error && error.name === 'OPERATION_PATH_UNRESOLVABLE') {\n throw new JsonPatchError('Cannot perform the operation from a path that does not exist', 'OPERATION_FROM_UNRESOLVABLE', index, operation, document);\n }\n }\n }\n}\n/**\n * Validates a sequence of operations. If `document` parameter is provided, the sequence is additionally validated against the object document.\n * If error is encountered, returns a JsonPatchError object\n * @param sequence\n * @param document\n * @returns {JsonPatchError|undefined}\n */\nexport function validate(sequence, document, externalValidator) {\n try {\n if (!Array.isArray(sequence)) {\n throw new JsonPatchError('Patch sequence must be an array', 'SEQUENCE_NOT_AN_ARRAY');\n }\n if (document) {\n //clone document and sequence so that we can safely try applying operations\n applyPatch(_deepClone(document), _deepClone(sequence), externalValidator || true);\n }\n else {\n externalValidator = externalValidator || validator;\n for (var i = 0; i < sequence.length; i++) {\n externalValidator(sequence[i], i, document, undefined);\n }\n }\n }\n catch (e) {\n if (e instanceof JsonPatchError) {\n return e;\n }\n else {\n throw e;\n }\n }\n}\n// based on https://github.com/epoberezkin/fast-deep-equal\n// MIT License\n// Copyright (c) 2017 Evgeny Poberezkin\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n// SOFTWARE.\nexport function _areEquals(a, b) {\n if (a === b)\n return true;\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = Array.isArray(a), arrB = Array.isArray(b), i, length, key;\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length)\n return false;\n for (i = length; i-- !== 0;)\n if (!_areEquals(a[i], b[i]))\n return false;\n return true;\n }\n if (arrA != arrB)\n return false;\n var keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length)\n return false;\n for (i = length; i-- !== 0;)\n if (!b.hasOwnProperty(keys[i]))\n return false;\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (!_areEquals(a[key], b[key]))\n return false;\n }\n return true;\n }\n return a !== a && b !== b;\n}\n;\n","/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2017-2021 Joachim Wester\n * MIT license\n */\nimport { _deepClone, _objectKeys, escapePathComponent, hasOwnProperty } from './helpers.mjs';\nimport { applyPatch } from './core.mjs';\nvar beforeDict = new WeakMap();\nvar Mirror = /** @class */ (function () {\n function Mirror(obj) {\n this.observers = new Map();\n this.obj = obj;\n }\n return Mirror;\n}());\nvar ObserverInfo = /** @class */ (function () {\n function ObserverInfo(callback, observer) {\n this.callback = callback;\n this.observer = observer;\n }\n return ObserverInfo;\n}());\nfunction getMirror(obj) {\n return beforeDict.get(obj);\n}\nfunction getObserverFromMirror(mirror, callback) {\n return mirror.observers.get(callback);\n}\nfunction removeObserverFromMirror(mirror, observer) {\n mirror.observers.delete(observer.callback);\n}\n/**\n * Detach an observer from an object\n */\nexport function unobserve(root, observer) {\n observer.unobserve();\n}\n/**\n * Observes changes made to an object, which can then be retrieved using generate\n */\nexport function observe(obj, callback) {\n var patches = [];\n var observer;\n var mirror = getMirror(obj);\n if (!mirror) {\n mirror = new Mirror(obj);\n beforeDict.set(obj, mirror);\n }\n else {\n var observerInfo = getObserverFromMirror(mirror, callback);\n observer = observerInfo && observerInfo.observer;\n }\n if (observer) {\n return observer;\n }\n observer = {};\n mirror.value = _deepClone(obj);\n if (callback) {\n observer.callback = callback;\n observer.next = null;\n var dirtyCheck = function () {\n generate(observer);\n };\n var fastCheck = function () {\n clearTimeout(observer.next);\n observer.next = setTimeout(dirtyCheck);\n };\n if (typeof window !== 'undefined') { //not Node\n window.addEventListener('mouseup', fastCheck);\n window.addEventListener('keyup', fastCheck);\n window.addEventListener('mousedown', fastCheck);\n window.addEventListener('keydown', fastCheck);\n window.addEventListener('change', fastCheck);\n }\n }\n observer.patches = patches;\n observer.object = obj;\n observer.unobserve = function () {\n generate(observer);\n clearTimeout(observer.next);\n removeObserverFromMirror(mirror, observer);\n if (typeof window !== 'undefined') {\n window.removeEventListener('mouseup', fastCheck);\n window.removeEventListener('keyup', fastCheck);\n window.removeEventListener('mousedown', fastCheck);\n window.removeEventListener('keydown', fastCheck);\n window.removeEventListener('change', fastCheck);\n }\n };\n mirror.observers.set(callback, new ObserverInfo(callback, observer));\n return observer;\n}\n/**\n * Generate an array of patches from an observer\n */\nexport function generate(observer, invertible) {\n if (invertible === void 0) { invertible = false; }\n var mirror = beforeDict.get(observer.object);\n _generate(mirror.value, observer.object, observer.patches, \"\", invertible);\n if (observer.patches.length) {\n applyPatch(mirror.value, observer.patches);\n }\n var temp = observer.patches;\n if (temp.length > 0) {\n observer.patches = [];\n if (observer.callback) {\n observer.callback(temp);\n }\n }\n return temp;\n}\n// Dirty check if obj is different from mirror, generate patches and update mirror\nfunction _generate(mirror, obj, patches, path, invertible) {\n if (obj === mirror) {\n return;\n }\n if (typeof obj.toJSON === \"function\") {\n obj = obj.toJSON();\n }\n var newKeys = _objectKeys(obj);\n var oldKeys = _objectKeys(mirror);\n var changed = false;\n var deleted = false;\n //if ever \"move\" operation is implemented here, make sure this test runs OK: \"should not generate the same patch twice (move)\"\n for (var t = oldKeys.length - 1; t >= 0; t--) {\n var key = oldKeys[t];\n var oldVal = mirror[key];\n if (hasOwnProperty(obj, key) && !(obj[key] === undefined && oldVal !== undefined && Array.isArray(obj) === false)) {\n var newVal = obj[key];\n if (typeof oldVal == \"object\" && oldVal != null && typeof newVal == \"object\" && newVal != null && Array.isArray(oldVal) === Array.isArray(newVal)) {\n _generate(oldVal, newVal, patches, path + \"/\" + escapePathComponent(key), invertible);\n }\n else {\n if (oldVal !== newVal) {\n changed = true;\n if (invertible) {\n patches.push({ op: \"test\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(oldVal) });\n }\n patches.push({ op: \"replace\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(newVal) });\n }\n }\n }\n else if (Array.isArray(mirror) === Array.isArray(obj)) {\n if (invertible) {\n patches.push({ op: \"test\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(oldVal) });\n }\n patches.push({ op: \"remove\", path: path + \"/\" + escapePathComponent(key) });\n deleted = true; // property has been deleted\n }\n else {\n if (invertible) {\n patches.push({ op: \"test\", path: path, value: mirror });\n }\n patches.push({ op: \"replace\", path: path, value: obj });\n changed = true;\n }\n }\n if (!deleted && newKeys.length == oldKeys.length) {\n return;\n }\n for (var t = 0; t < newKeys.length; t++) {\n var key = newKeys[t];\n if (!hasOwnProperty(mirror, key) && obj[key] !== undefined) {\n patches.push({ op: \"add\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(obj[key]) });\n }\n }\n}\n/**\n * Create an array of patches from the differences in two objects\n */\nexport function compare(tree1, tree2, invertible) {\n if (invertible === void 0) { invertible = false; }\n var patches = [];\n _generate(tree1, tree2, patches, '', invertible);\n return patches;\n}\n","/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2017-2022 Joachim Wester\n * MIT licensed\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function hasOwnProperty(obj, key) {\n return _hasOwnProperty.call(obj, key);\n}\nexport function _objectKeys(obj) {\n if (Array.isArray(obj)) {\n var keys_1 = new Array(obj.length);\n for (var k = 0; k < keys_1.length; k++) {\n keys_1[k] = \"\" + k;\n }\n return keys_1;\n }\n if (Object.keys) {\n return Object.keys(obj);\n }\n var keys = [];\n for (var i in obj) {\n if (hasOwnProperty(obj, i)) {\n keys.push(i);\n }\n }\n return keys;\n}\n;\n/**\n* Deeply clone the object.\n* https://jsperf.com/deep-copy-vs-json-stringify-json-parse/25 (recursiveDeepCopy)\n* @param {any} obj value to clone\n* @return {any} cloned obj\n*/\nexport function _deepClone(obj) {\n switch (typeof obj) {\n case \"object\":\n return JSON.parse(JSON.stringify(obj)); //Faster than ES5 clone - http://jsperf.com/deep-cloning-of-objects/5\n case \"undefined\":\n return null; //this is how JSON.stringify behaves for array items\n default:\n return obj; //no need to clone primitives\n }\n}\n//3x faster than cached /^\\d+$/.test(str)\nexport function isInteger(str) {\n var i = 0;\n var len = str.length;\n var charCode;\n while (i < len) {\n charCode = str.charCodeAt(i);\n if (charCode >= 48 && charCode <= 57) {\n i++;\n continue;\n }\n return false;\n }\n return true;\n}\n/**\n* Escapes a json pointer path\n* @param path The raw pointer\n* @return the Escaped path\n*/\nexport function escapePathComponent(path) {\n if (path.indexOf('/') === -1 && path.indexOf('~') === -1)\n return path;\n return path.replace(/~/g, '~0').replace(/\\//g, '~1');\n}\n/**\n * Unescapes a json pointer path\n * @param path The escaped pointer\n * @return The unescaped path\n */\nexport function unescapePathComponent(path) {\n return path.replace(/~1/g, '/').replace(/~0/g, '~');\n}\nexport function _getPathRecursive(root, obj) {\n var found;\n for (var key in root) {\n if (hasOwnProperty(root, key)) {\n if (root[key] === obj) {\n return escapePathComponent(key) + '/';\n }\n else if (typeof root[key] === 'object') {\n found = _getPathRecursive(root[key], obj);\n if (found != '') {\n return escapePathComponent(key) + '/' + found;\n }\n }\n }\n }\n return '';\n}\nexport function getPath(root, obj) {\n if (root === obj) {\n return '/';\n }\n var path = _getPathRecursive(root, obj);\n if (path === '') {\n throw new Error(\"Object not found in root\");\n }\n return \"/\" + path;\n}\n/**\n* Recursively checks whether an object has any undefined values inside.\n*/\nexport function hasUndefined(obj) {\n if (obj === undefined) {\n return true;\n }\n if (obj) {\n if (Array.isArray(obj)) {\n for (var i_1 = 0, len = obj.length; i_1 < len; i_1++) {\n if (hasUndefined(obj[i_1])) {\n return true;\n }\n }\n }\n else if (typeof obj === \"object\") {\n var objKeys = _objectKeys(obj);\n var objKeysLength = objKeys.length;\n for (var i = 0; i < objKeysLength; i++) {\n if (hasUndefined(obj[objKeys[i]])) {\n return true;\n }\n }\n }\n }\n return false;\n}\nfunction patchErrorMessageFormatter(message, args) {\n var messageParts = [message];\n for (var key in args) {\n var value = typeof args[key] === 'object' ? JSON.stringify(args[key], null, 2) : args[key]; // pretty print\n if (typeof value !== 'undefined') {\n messageParts.push(key + \": \" + value);\n }\n }\n return messageParts.join('\\n');\n}\nvar PatchError = /** @class */ (function (_super) {\n __extends(PatchError, _super);\n function PatchError(message, name, index, operation, tree) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, patchErrorMessageFormatter(message, { name: name, index: index, operation: operation, tree: tree })) || this;\n _this.name = name;\n _this.index = index;\n _this.operation = operation;\n _this.tree = tree;\n Object.setPrototypeOf(_this, _newTarget.prototype); // restore prototype chain, see https://stackoverflow.com/a/48342359\n _this.message = patchErrorMessageFormatter(message, { name: name, index: index, operation: operation, tree: tree });\n return _this;\n }\n return PatchError;\n}(Error));\nexport { PatchError };\n","import { cloneDeep, mergeWith } from 'lodash';\nimport { compare as jsonpatchCompare } from 'fast-json-patch';\n\nimport { __, sprintf } from '@popup-maker/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nimport { ACTION_TYPES, NOTICE_CONTEXT } from './constants';\n\nimport { DispatchStatus } from '../constants';\nimport { fetchFromApi, getErrorMessage } from '../utils';\nimport { validateCallToAction } from './validation';\nimport { editableEntity } from './utils';\nimport type { EditorId, Notice } from '../types';\nimport type {\n\tCallToAction,\n\tThunkAction,\n\tEditableCta,\n\tPartialEditableCta,\n} from './types';\nimport type { EditRecordAction } from './reducer';\n\nconst {\n\tRECEIVE_RECORD,\n\tPURGE_RECORD,\n\tEDITOR_CHANGE_ID,\n\tEDIT_RECORD,\n\tSTART_EDITING_RECORD,\n\tSAVE_EDITED_RECORD,\n\tUNDO_EDIT_RECORD,\n\tREDO_EDIT_RECORD,\n\tRESET_EDIT_RECORD,\n\tCHANGE_ACTION_STATUS,\n\tINVALIDATE_RESOLUTION,\n} = ACTION_TYPES;\n\n/**\n * Helper function to handle field-specific validation errors using WordPress notices\n *\n * @param {any} error The error object from the API\n * @param {number} ctaId The CTA ID for field error association\n * @param {Function} dispatch The dispatch function with createErrorNotice\n * @param {any} registry The registry for accessing stores\n */\nconst handleFieldValidationErrors = (\n\terror: any,\n\tctaId: number | undefined,\n\tdispatch: any,\n\tregistry: any\n) => {\n\t// Handle field-specific validation errors\n\tif ( error?.code === 'rest_invalid_param' && error?.data?.params ) {\n\t\t// Clear previous field errors for this CTA\n\t\tif ( ctaId ) {\n\t\t\tconst notices = registry\n\t\t\t\t.select( noticesStore )\n\t\t\t\t.getNotices( NOTICE_CONTEXT );\n\t\t\tconst fieldErrors = notices.filter(\n\t\t\t\t( n: Notice ) => n.id?.startsWith( `field-error-${ ctaId }-` )\n\t\t\t);\n\t\t\tfieldErrors.forEach( ( n: Notice ) =>\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.removeNotice( n.id, NOTICE_CONTEXT )\n\t\t\t);\n\t\t}\n\n\t\t// Create notices for each field error\n\t\tObject.entries( error.data.params ).forEach( ( [ field, message ] ) => {\n\t\t\t// Check if this is a nested field error with details\n\t\t\tif ( field === 'settings' && error.data.details?.settings ) {\n\t\t\t\tconst settingsError = error.data.details.settings;\n\n\t\t\t\t// Handle the primary error\n\t\t\t\tif ( settingsError.data?.field ) {\n\t\t\t\t\tdispatch.createErrorNotice( settingsError.message, {\n\t\t\t\t\t\tid: `field-error-${ ctaId || 'new' }-${\n\t\t\t\t\t\t\tsettingsError.data.field\n\t\t\t\t\t\t}`,\n\t\t\t\t\t\tisDismissible: false,\n\t\t\t\t\t\ttype: 'default', // Prevent auto-dismiss\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t// Handle additional errors\n\t\t\t\tif (\n\t\t\t\t\tsettingsError.additional_errors &&\n\t\t\t\t\tArray.isArray( settingsError.additional_errors )\n\t\t\t\t) {\n\t\t\t\t\tsettingsError.additional_errors.forEach(\n\t\t\t\t\t\t( additionalError: any ) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tadditionalError.data?.field &&\n\t\t\t\t\t\t\t\tadditionalError.message\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tdispatch.createErrorNotice(\n\t\t\t\t\t\t\t\t\tadditionalError.message,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: `field-error-${ ctaId || 'new' }-${\n\t\t\t\t\t\t\t\t\t\t\tadditionalError.data.field\n\t\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t\t\tisDismissible: false,\n\t\t\t\t\t\t\t\t\t\ttype: 'default', // Prevent auto-dismiss\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\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} else {\n\t\t\t\t// Regular field error\n\t\t\t\tdispatch.createErrorNotice( message as string, {\n\t\t\t\t\tid: `field-error-${ ctaId || 'new' }-${ field }`,\n\t\t\t\t\tisDismissible: false,\n\t\t\t\t\ttype: 'default', // Prevent auto-dismiss\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n/*****************************************************\n * SECTION: Entity actions\n *****************************************************/\nconst entityActions = {\n\t/**\n\t * Create a new entity record. Values sent to the server immediately.\n\t *\n\t * @param {Editable} callToAction The entity to create.\n\t * @param {boolean} validate An optional validation function.\n\t * @param {boolean} withNotices Whether to show notices.\n\t * @return {Promise<CallToAction< 'edit' > | false>} The created entity or false if validation fails.\n\t */\n\tcreateCallToAction:\n\t\t(\n\t\t\tcallToAction: Partial< EditableCta >,\n\t\t\tvalidate: boolean = true,\n\t\t\twithNotices: boolean = true\n\t\t): ThunkAction< CallToAction< 'edit' > | false > =>\n\t\tasync ( { dispatch, registry } ) => {\n\t\t\tconst action = 'createCallToAction';\n\n\t\t\ttry {\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\tstatus: DispatchStatus.Resolving,\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\tconst { id, ...newCta } = callToAction;\n\n\t\t\t\tif ( validate ) {\n\t\t\t\t\tconst validation = validateCallToAction( newCta );\n\n\t\t\t\t\tif ( true !== validation ) {\n\t\t\t\t\t\tdispatch( {\n\t\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\t\t\tmessage: validation.message,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tif ( withNotices ) {\n\t\t\t\t\t\t\tawait dispatch.createErrorNotice(\n\t\t\t\t\t\t\t\tvalidation.message,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: 'call-to-action-validation-error',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst result = await fetchFromApi< CallToAction< 'edit' > >(\n\t\t\t\t\t`ctas?context=edit`,\n\t\t\t\t\t{\n\t\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\t\tdata: newCta,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif ( result ) {\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tdispatch( {\n\t\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\t\tstatus: DispatchStatus.Success,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tif ( withNotices ) {\n\t\t\t\t\t\t\tdispatch.createSuccessNotice(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: call to action title.\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'Call to action \"%s\" saved successfully.',\n\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tdecodeEntities( result?.title.rendered )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: 'call-to-action-saved',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdispatch( {\n\t\t\t\t\t\t\ttype: RECEIVE_RECORD,\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\trecord: result,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t\t'An error occurred, call to action was not saved.',\n\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} catch ( error ) {\n\t\t\t\tconst errorMessage = getErrorMessage( error );\n\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\tmessage: errorMessage,\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\tif ( withNotices ) {\n\t\t\t\t\t// Handle field-specific validation errors or generic error\n\t\t\t\t\tconst hasFieldErrors = handleFieldValidationErrors(\n\t\t\t\t\t\terror,\n\t\t\t\t\t\tcallToAction?.id,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tregistry\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! hasFieldErrors ) {\n\t\t\t\t\t\t// Generic error notice\n\t\t\t\t\t\tdispatch.createErrorNotice( errorMessage, {\n\t\t\t\t\t\t\tid: 'call-to-action-save-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\n\t/**\n\t * Update an existing entity record. Values sent to the server immediately.\n\t *\n\t * @param {PartialEditableCta} callToAction The entity to update.\n\t * @param {boolean} validate An optional validation function.\n\t * @param {boolean} withNotices Whether to show notices.\n\t * @return {Promise<T | boolean>} The updated entity or false if validation fails.\n\t */\n\tupdateCallToAction:\n\t\t(\n\t\t\tcallToAction: PartialEditableCta,\n\t\t\tvalidate: boolean = true,\n\t\t\twithNotices: boolean = true\n\t\t): ThunkAction< CallToAction< 'edit' > | false > =>\n\t\tasync ( { select, dispatch, registry } ) => {\n\t\t\tconst action = 'updateCallToAction';\n\n\t\t\ttry {\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\tstatus: DispatchStatus.Resolving,\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\tif ( validate ) {\n\t\t\t\t\tconst validation = validateCallToAction( callToAction );\n\n\t\t\t\t\tif ( true !== validation ) {\n\t\t\t\t\t\tdispatch( {\n\t\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\t\t\tmessage: validation.message,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tif ( withNotices ) {\n\t\t\t\t\t\t\tawait dispatch.createErrorNotice(\n\t\t\t\t\t\t\t\tvalidation.message,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: 'call-to-action-validation-error',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst canonicalCallToAction = await select.getCallToAction(\n\t\t\t\t\tcallToAction.id\n\t\t\t\t);\n\n\t\t\t\tif ( ! canonicalCallToAction ) {\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t\t\t'Call to action not found',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\t// Also store the error by CTA ID for the editor to access\n\t\t\t\t\tif ( callToAction.id ) {\n\t\t\t\t\t\tdispatch( {\n\t\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tactionName: callToAction.id.toString(),\n\t\t\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t\t\t\t'Call to action not found',\n\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst result = await fetchFromApi< CallToAction< 'edit' > >(\n\t\t\t\t\t`ctas/${ canonicalCallToAction.id }`,\n\t\t\t\t\t{\n\t\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\t\tdata: callToAction,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif ( result ) {\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t// dispatch.finishResolution( action, operation );\n\t\t\t\t\t\tdispatch( {\n\t\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\t\tstatus: DispatchStatus.Success,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tif ( withNotices ) {\n\t\t\t\t\t\t\tdispatch.createSuccessNotice(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: call to action title.\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'Call to action \"%s\" updated successfully.',\n\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tdecodeEntities( result?.title.rendered )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: 'call-to-action-saved',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdispatch( {\n\t\t\t\t\t\t\ttype: RECEIVE_RECORD,\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\trecord: result,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t\t'An error occurred, call to action was not saved.',\n\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} catch ( error ) {\n\t\t\t\tconst errorMessage = getErrorMessage( error );\n\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\tmessage: errorMessage,\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\tif ( withNotices ) {\n\t\t\t\t\t// Handle field-specific validation errors or generic error\n\t\t\t\t\tconst hasFieldErrors = handleFieldValidationErrors(\n\t\t\t\t\t\terror,\n\t\t\t\t\t\tcallToAction?.id,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tregistry\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! hasFieldErrors ) {\n\t\t\t\t\t\t// Generic error notice\n\t\t\t\t\t\tdispatch.createErrorNotice( errorMessage, {\n\t\t\t\t\t\t\tid: 'call-to-action-save-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\n\t/**\n\t * Delete an existing entity record.\n\t *\n\t * @param {number} id The entity ID.\n\t * @param {boolean} forceDelete Whether to force the deletion.\n\t * @param {boolean} withNotices Whether to show notices.\n\t * @return {Promise<boolean>} Whether the deletion was successful.\n\t */\n\tdeleteCallToAction:\n\t\t(\n\t\t\tid: number,\n\t\t\tforceDelete: boolean = false,\n\t\t\twithNotices: boolean = true\n\t\t): ThunkAction< boolean > =>\n\t\tasync ( { dispatch, registry } ) => {\n\t\t\tconst action = 'deleteCallToAction';\n\n\t\t\ttry {\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\tstatus: DispatchStatus.Resolving,\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\t// Get the canonical directly from server to verify it exists.\n\t\t\t\tconst canonicalCallToAction = await fetchFromApi<\n\t\t\t\t\tCallToAction< 'edit' >\n\t\t\t\t>( `ctas/${ id }?context=edit` );\n\n\t\t\t\tif ( ! canonicalCallToAction ) {\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t\t\t'Call to action not found',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst force = forceDelete ? '?force=true' : '';\n\n\t\t\t\tconst result = await fetchFromApi< boolean >(\n\t\t\t\t\t`ctas/${ id }${ force }`,\n\t\t\t\t\t{\n\t\t\t\t\t\tmethod: 'DELETE',\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif ( result ) {\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tdispatch( {\n\t\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\t\tstatus: DispatchStatus.Success,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tif ( withNotices ) {\n\t\t\t\t\t\t\tdispatch.createSuccessNotice(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: call to action title.\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'Call to action \"%s\" deleted successfully.',\n\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tdecodeEntities(\n\t\t\t\t\t\t\t\t\t\tcanonicalCallToAction?.title.rendered\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: 'call-to-action-deleted',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( forceDelete ) {\n\t\t\t\t\t\t\tdispatch( {\n\t\t\t\t\t\t\t\ttype: PURGE_RECORD,\n\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdispatch( {\n\t\t\t\t\t\t\t\ttype: RECEIVE_RECORD,\n\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\trecord: {\n\t\t\t\t\t\t\t\t\t\t...canonicalCallToAction,\n\t\t\t\t\t\t\t\t\t\tstatus: 'trash',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\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\n\t\t\t\treturn result;\n\t\t\t} catch ( error ) {\n\t\t\t\t// await dispatch.failResolution( action, operation );\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\tmessage: __( 'Failed to delete entity', 'popup-maker' ),\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\tif ( withNotices ) {\n\t\t\t\t\tawait dispatch.createErrorNotice(\n\t\t\t\t\t\terror instanceof Error\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: __( 'Failed to delete entity', 'popup-maker' )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t},\n};\n\n/*****************************************************\n * SECTION: Editor actions\n *****************************************************/\nconst editorActions = {\n\t/**\n\t * Edit an existing entity record. Values are not sent to the server until save.\n\t *\n\t * @param {number} id The entity ID.\n\t * @param {Partial<EditableCta>} edits The edits to apply.\n\t * @return {Promise<boolean>} Whether the edit was successful.\n\t */\n\teditRecord:\n\t\t( id: number, edits: Partial< EditableCta > ): ThunkAction =>\n\t\tasync ( { select, dispatch, registry } ) => {\n\t\t\ttry {\n\t\t\t\tlet canonicalCallToAction: EditableCta | undefined;\n\t\t\t\tconst hasEditedEntity = select.hasEditedEntity( id );\n\n\t\t\t\tif ( hasEditedEntity ) {\n\t\t\t\t\tcanonicalCallToAction = select.getEditedCallToAction(\n\t\t\t\t\t\tid\n\t\t\t\t\t) as EditableCta;\n\t\t\t\t} else {\n\t\t\t\t\tcanonicalCallToAction = await fetchFromApi<\n\t\t\t\t\t\tCallToAction< 'edit' > & { _links: any }\n\t\t\t\t\t>( `ctas/${ id }?context=edit` ).then( ( result ) =>\n\t\t\t\t\t\t// Convert to editable entity if found.\n\t\t\t\t\t\tresult\n\t\t\t\t\t\t\t? editableEntity< CallToAction< 'edit' > >( result )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t);\n\t\t\t\t\tif ( ! canonicalCallToAction ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tregistry.batch( async () => {\n\t\t\t\t\tif ( ! hasEditedEntity ) {\n\t\t\t\t\t\tawait dispatch( {\n\t\t\t\t\t\t\ttype: START_EDITING_RECORD,\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\teditableEntity: canonicalCallToAction,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Create a new object with the edits deeply merged into the canonical entity\n\t\t\t\t\t// First clone the canonical entity, then deep merge the edits\n\t\t\t\t\tconst editedEntity = mergeWith(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tcloneDeep( canonicalCallToAction ),\n\t\t\t\t\t\tedits,\n\t\t\t\t\t\t( _objValue, srcValue ) => {\n\t\t\t\t\t\t\tif ( Array.isArray( srcValue ) ) {\n\t\t\t\t\t\t\t\t// Always replace arrays completely, even if empty\n\t\t\t\t\t\t\t\treturn srcValue.slice();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\n\t\t\t\t\t// Force patches for empty arrays to ensure they are saved\n\t\t\t\t\tconst diff = jsonpatchCompare(\n\t\t\t\t\t\tcanonicalCallToAction ?? {},\n\t\t\t\t\t\teditedEntity\n\t\t\t\t\t);\n\n\t\t\t\t\tawait dispatch( {\n\t\t\t\t\t\ttype: EDIT_RECORD,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tedits: diff,\n\t\t\t\t\t\t},\n\t\t\t\t\t} as EditRecordAction );\n\t\t\t\t} );\n\t\t\t} catch ( error ) {\n\t\t\t\tconst errorMessage = getErrorMessage( error );\n\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error( 'Edit failed:', error );\n\n\t\t\t\tawait dispatch.createErrorNotice( errorMessage, {\n\t\t\t\t\tid: 'call-to-action-edit-error',\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t/**\n\t * Save an edited entity record.\n\t *\n\t * @param {number} id The entity ID.\n\t * @param {boolean} validate An optional validation function.\n\t * @param {boolean} withNotices Whether to show notices.\n\t * @return {Promise<boolean>} Whether the save was successful.\n\t */\n\tsaveEditedRecord:\n\t\t(\n\t\t\tid: number,\n\t\t\tvalidate: boolean = true,\n\t\t\twithNotices: boolean = true\n\t\t): ThunkAction< boolean > =>\n\t\tasync ( { select, dispatch, registry } ) => {\n\t\t\tconst action = 'saveRecord';\n\n\t\t\ttry {\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\tstatus: DispatchStatus.Resolving,\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\tif ( ! select.hasEdits( id ) ) {\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\t\tmessage: __( 'No edits to save', 'popup-maker' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst historyIndex = select.getCurrentEditHistoryIndex( id );\n\t\t\t\tconst editedCallToAction = select.getEditedCallToAction( id );\n\n\t\t\t\tif ( ! editedCallToAction ) {\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\t\tmessage: __( 'No edits to save', 'popup-maker' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif ( editedCallToAction && validate ) {\n\t\t\t\t\tconst validation =\n\t\t\t\t\t\tvalidateCallToAction( editedCallToAction );\n\n\t\t\t\t\tif ( true !== validation ) {\n\t\t\t\t\t\tregistry.batch( async () => {\n\t\t\t\t\t\t\tdispatch( {\n\t\t\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\t\t\t\tmessage: validation.message,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\tif ( withNotices ) {\n\t\t\t\t\t\t\t\tawait dispatch.createErrorNotice(\n\t\t\t\t\t\t\t\t\tvalidation.message,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: 'call-to-action-validation-error',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst result = await dispatch.updateCallToAction(\n\t\t\t\t\teditedCallToAction,\n\t\t\t\t\tfalse,\n\t\t\t\t\twithNotices\n\t\t\t\t);\n\n\t\t\t\tif ( result ) {\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tdispatch( {\n\t\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\t\tstatus: DispatchStatus.Success,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tif ( withNotices ) {\n\t\t\t\t\t\t\tdispatch.createSuccessNotice(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: call to action title.\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'Call to action \"%s\" saved successfully.',\n\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tdecodeEntities( result?.title.rendered )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: 'call-to-action-saved',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdispatch( {\n\t\t\t\t\t\t\ttype: SAVE_EDITED_RECORD,\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\thistoryIndex,\n\t\t\t\t\t\t\t\teditedEntity: editableEntity( result ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t} catch ( error ) {\n\t\t\t\tconst errorMessage = getErrorMessage( error );\n\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error( 'Save failed:', error );\n\n\t\t\t\tregistry.batch( async () => {\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\t\tmessage: errorMessage,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\tif ( withNotices ) {\n\t\t\t\t\t\t// Handle field-specific validation errors or generic error\n\t\t\t\t\t\tconst hasFieldErrors = handleFieldValidationErrors(\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tregistry\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif ( ! hasFieldErrors ) {\n\t\t\t\t\t\t\t// Generic error notice\n\t\t\t\t\t\t\tawait dispatch.createErrorNotice( errorMessage, {\n\t\t\t\t\t\t\t\tid: 'call-to-action-save-error',\n\t\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\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\n\t/**\n\t * Undo the last action.\n\t *\n\t * @param {number} id The entity ID.\n\t * @param {number} steps The number of steps to undo.\n\t * @return {Promise<void>}\n\t */\n\tundo:\n\t\t( id: number, steps: number = 1 ): ThunkAction =>\n\t\tasync ( { select, dispatch } ) => {\n\t\t\tconst ctaId = id > 0 ? id : select.getEditorId();\n\n\t\t\tif ( typeof ctaId === 'undefined' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tawait dispatch( {\n\t\t\t\ttype: UNDO_EDIT_RECORD,\n\t\t\t\tpayload: {\n\t\t\t\t\tid: ctaId,\n\t\t\t\t\tsteps,\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t/**\n\t * Redo the last action.\n\t *\n\t * @param {number} id The entity ID.\n\t * @param {number} steps The number of steps to redo.\n\t * @return {Promise<void>}\n\t */\n\tredo:\n\t\t( id: number, steps: number = 1 ): ThunkAction =>\n\t\tasync ( { select, dispatch } ) => {\n\t\t\tconst ctaId = id > 0 ? id : select.getEditorId();\n\n\t\t\tif ( typeof ctaId === 'undefined' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tawait dispatch( {\n\t\t\t\ttype: REDO_EDIT_RECORD,\n\t\t\t\tpayload: {\n\t\t\t\t\tid: ctaId,\n\t\t\t\t\tsteps,\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t/**\n\t * Reset the edits for an entity record.\n\t *\n\t * @param {number} id The entity ID.\n\t * @return {Promise<void>}\n\t */\n\tresetRecordEdits:\n\t\t( id: number ): ThunkAction =>\n\t\tasync ( { select, dispatch } ) => {\n\t\t\tconst ctaId = id > 0 ? id : select.getEditorId();\n\n\t\t\tif ( typeof ctaId === 'undefined' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdispatch( {\n\t\t\t\ttype: RESET_EDIT_RECORD,\n\t\t\t\tpayload: {\n\t\t\t\t\tid: ctaId,\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t/**\n\t * Update the editor values.\n\t *\n\t * @param {Partial<EditableCta>} values The values to update.\n\t * @return {Promise<void>}\n\t */\n\tupdateEditorValues:\n\t\t( values: PartialEditableCta ): ThunkAction< void > =>\n\t\tasync ( { dispatch, select } ) => {\n\t\t\tconst editorId = select.getEditorId();\n\n\t\t\tif ( typeof editorId === 'undefined' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdispatch.editRecord( editorId, values );\n\t\t},\n\n\t/**\n\t * Save the editor values.\n\t *\n\t * @return {Promise<boolean>} Whether the save was successful.\n\t */\n\tsaveEditorValues:\n\t\t(): ThunkAction< boolean > =>\n\t\tasync ( { dispatch, select } ) => {\n\t\t\tconst editorId = select.getEditorId();\n\t\t\tconst editorValues = select.getCurrentEditorValues();\n\n\t\t\tif ( ! editorId || ! editorValues ) {\n\t\t\t\tdispatch.createErrorNotice(\n\t\t\t\t\t__( 'No editor values to save', 'popup-maker' )\n\t\t\t\t);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn dispatch.saveEditedRecord( editorId );\n\t\t},\n\n\t/**\n\t * Reset the editor values.\n\t *\n\t * @return {Promise<void>}\n\t */\n\tresetEditorValues:\n\t\t(): ThunkAction< void > =>\n\t\tasync ( { dispatch, select } ) => {\n\t\t\tconst editorId = select.getEditorId();\n\n\t\t\tif ( typeof editorId === 'undefined' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdispatch.resetRecordEdits( editorId );\n\t\t},\n\n\t/**\n\t * Change the editor ID.\n\t *\n\t * @param {EditorId} editorId The editor ID.\n\t * @return {Promise<void>}\n\t */\n\tchangeEditorId:\n\t\t( editorId: EditorId ): ThunkAction< void > =>\n\t\tasync ( { select, dispatch } ) => {\n\t\t\ttry {\n\t\t\t\tif ( typeof editorId === 'undefined' ) {\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: EDITOR_CHANGE_ID,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\teditorId: undefined,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( ! select.hasEditedEntity( editorId ) ) {\n\t\t\t\t\tconst entity = await fetchFromApi< CallToAction< 'edit' > >(\n\t\t\t\t\t\t`ctas/${ editorId }?context=edit`\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! entity ) {\n\t\t\t\t\t\tdispatch.createErrorNotice(\n\t\t\t\t\t\t\t__( 'Call to action not found', 'popup-maker' )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: START_EDITING_RECORD,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tid: editorId,\n\t\t\t\t\t\t\teditableEntity: editableEntity( entity ),\n\t\t\t\t\t\t\tsetEditorId: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: EDITOR_CHANGE_ID,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\teditorId,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} catch ( error ) {\n\t\t\t\tconst errorMessage = getErrorMessage( error );\n\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error( 'Failed to change editor ID:', error );\n\n\t\t\t\tdispatch.createErrorNotice( errorMessage, {\n\t\t\t\t\tid: 'call-to-action-editor-error',\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n};\n\n/*****************************************************\n * SECTION: Notice actions\n *****************************************************/\nconst noticeActions = {\n\t/**\n\t * Create a notice.\n\t *\n\t * @param {Notice[ 'status' ]} status The notice status.\n\t * @param {Notice[ 'content' ]} content The notice content.\n\t * @param {Notice} options The notice options.\n\t * @return {Promise<void>}\n\t */\n\tcreateNotice:\n\t\t(\n\t\t\t/**\n\t\t\t * Notice status.\n\t\t\t */\n\t\t\tstatus: Notice[ 'status' ] = 'info',\n\t\t\t/**\n\t\t\t * Notice content.\n\t\t\t */\n\t\t\tcontent: Notice[ 'content' ] = '',\n\t\t\t/**\n\t\t\t * Notice options.\n\t\t\t */\n\t\t\toptions?: Notice\n\t\t): ThunkAction =>\n\t\tasync ( { registry } ) => {\n\t\t\tregistry.dispatch( noticesStore ).createNotice( status, content, {\n\t\t\t\t...options,\n\t\t\t\tcontext: NOTICE_CONTEXT,\n\t\t\t} );\n\t\t},\n\n\t/**\n\t * Create an error notice.\n\t *\n\t * @param {string} content The notice content.\n\t * @param {Omit<Notice, 'status' | 'content'>} options The notice options.\n\t * @return {Promise<void>}\n\t */\n\tcreateErrorNotice:\n\t\t(\n\t\t\t/**\n\t\t\t * Notice content.\n\t\t\t */\n\t\t\tcontent: string,\n\t\t\t/**\n\t\t\t * Notice options.\n\t\t\t */\n\t\t\toptions?: Omit< Notice, 'status' | 'content' >\n\t\t): ThunkAction =>\n\t\tasync ( { registry } ) => {\n\t\t\tregistry.dispatch( noticesStore ).createNotice( 'error', content, {\n\t\t\t\t...options,\n\t\t\t\tcontext: NOTICE_CONTEXT,\n\t\t\t} );\n\t\t},\n\n\t/**\n\t * Create a success notice.\n\t *\n\t * @param {string} content The notice content.\n\t * @param {Omit<Notice, 'status' | 'content'>} options The notice options.\n\t * @return {Promise<void>}\n\t */\n\tcreateSuccessNotice:\n\t\t(\n\t\t\t/**\n\t\t\t * Notice content.\n\t\t\t */\n\t\t\tcontent: string,\n\t\t\t/**\n\t\t\t * Notice options.\n\t\t\t */\n\t\t\toptions?: Omit< Notice, 'status' | 'content' >\n\t\t): ThunkAction =>\n\t\tasync ( { registry } ) => {\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createNotice( 'success', content, {\n\t\t\t\t\t...options,\n\t\t\t\t\tcontext: NOTICE_CONTEXT,\n\t\t\t\t} );\n\t\t},\n\n\t/**\n\t * Remove a notice for a given context.\n\t *\n\t * @param {string} id The notice ID.\n\t * @return {Promise<void>}\n\t */\n\tremoveNotice:\n\t\t( id: string ): ThunkAction =>\n\t\tasync ( { registry } ) => {\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.removeNotice( id, NOTICE_CONTEXT );\n\t\t},\n\n\t/**\n\t * Remove all notices for a given context.\n\t *\n\t * @param {string[]} ids The notice IDs.\n\t * @return {Promise<void>}\n\t */\n\tremoveAllNotices:\n\t\t( ids?: string[] ): ThunkAction =>\n\t\tasync ( { registry } ) => {\n\t\t\tif ( ids ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.removeNotices( ids, NOTICE_CONTEXT );\n\t\t\t} else {\n\t\t\t\tconst notices = registry\n\t\t\t\t\t.select( noticesStore )\n\t\t\t\t\t.getNotices( NOTICE_CONTEXT );\n\t\t\t\tconst noticeIds = notices.map( ( notice ) => notice.id );\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.removeNotices( noticeIds, NOTICE_CONTEXT );\n\t\t\t}\n\t\t},\n};\n\n/*****************************************************\n * SECTION: Resolution actions\n *****************************************************/\nconst resolutionActions = {\n\t/**\n\t * Change status of a dispatch action request.\n\t *\n\t * @param {CallToActionsStore[ 'ActionNames' ]} actionName Action name to change status of.\n\t * @param {Statuses} status New status.\n\t * @param {string|undefined} message Optional error message.\n\t * @return {Object} Action object.\n\t */\n\tchangeActionStatus:\n\t\t(\n\t\t\tactionName: string,\n\t\t\tstatus: DispatchStatus,\n\t\t\tmessage?: string | { message: string; [ key: string ]: any }\n\t\t): ThunkAction =>\n\t\t( { dispatch } ) => {\n\t\t\tdispatch( {\n\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\tpayload: {\n\t\t\t\t\tactionName,\n\t\t\t\t\tstatus,\n\t\t\t\t\tmessage,\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t/**\n\t * Start resolution for an entity.\n\t */\n\t// startResolution:\n\t// \t( id: number | string, operation: string = 'fetch' ) =>\n\t// \t( { dispatch } ) => {\n\t// \t\tconsole.log( 'startResolution', id, operation );\n\t// \t\tdispatch( {\n\t// \t\t\ttype: START_RESOLUTION,\n\t// \t\t\tpayload: {\n\t// \t\t\t\tid,\n\t// \t\t\t\toperation,\n\t// \t\t\t},\n\t// \t\t} );\n\t// \t},\n\n\t/**\n\t * Finish resolution for an entity.\n\t */\n\t// finishResolution:\n\t// \t( id: number | string, operation: string = 'fetch' ) =>\n\t// \t( { dispatch } ) => {\n\t// \t\tdispatch( {\n\t// \t\t\ttype: FINISH_RESOLUTION,\n\t// \t\t\tpayload: {\n\t// \t\t\t\tid,\n\t// \t\t\t\toperation,\n\t// \t\t\t},\n\t// \t\t} );\n\t// \t},\n\n\t/**\n\t * Fail resolution for an entity.\n\t */\n\t// failResolution:\n\t// \t(\n\t// \t\tid: number | string,\n\t// \t\terror: string,\n\t// \t\toperation: string = 'fetch',\n\t// \t\textra?: Record< string, any >\n\t// \t): ThunkAction =>\n\t// \t( { dispatch } ) => {\n\t// \t\tdispatch( {\n\t// \t\t\ttype: FAIL_RESOLUTION,\n\t// \t\t\tpayload: {\n\t// \t\t\t\tid,\n\t// \t\t\t\terror,\n\t// \t\t\t\toperation,\n\t// \t\t\t\textra,\n\t// \t\t\t},\n\t// \t\t} );\n\t// \t},\n\n\t/**\n\t * Invalidate resolution for an entity.\n\t *\n\t * @param {number | string} id The entity ID.\n\t * @return {Promise<void>}\n\t */\n\tinvalidateResolution:\n\t\t( id: number | string ): ThunkAction =>\n\t\t( { dispatch } ) => {\n\t\t\tdispatch( {\n\t\t\t\ttype: INVALIDATE_RESOLUTION,\n\t\t\t\tpayload: {\n\t\t\t\t\tid,\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n};\n\nconst actions = {\n\t// Entity actions\n\t...entityActions,\n\t// Notice actions\n\t...noticeActions,\n\t// Editor actions\n\t...editorActions,\n\t// Resolution state actions\n\t...resolutionActions,\n};\n\nexport default actions;\n","import type { State } from './reducer';\nimport type { EditableCta } from './types';\n\nexport const STORE_NAME = 'popup-maker/call-to-actions';\nexport const NOTICE_CONTEXT = 'pum-cta-editor';\n\n// Entity actions.\nexport const RECEIVE_RECORD = 'RECEIVE_RECORD';\nexport const RECEIVE_RECORDS = 'RECEIVE_RECORDS';\nexport const RECEIVE_QUERY_RECORDS = 'RECEIVE_QUERY_RECORDS';\nexport const RECEIVE_ERROR = 'RECEIVE_ERROR';\nexport const PURGE_RECORD = 'PURGE_RECORD';\nexport const PURGE_RECORDS = 'PURGE_RECORDS';\n\n// Editor actions.\nexport const EDITOR_CHANGE_ID = 'EDITOR_CHANGE_ID';\nexport const EDIT_RECORD = 'EDIT_RECORD';\nexport const START_EDITING_RECORD = 'START_EDITING_RECORD';\nexport const SAVE_EDITED_RECORD = 'SAVE_EDITED_RECORD';\nexport const UNDO_EDIT_RECORD = 'UNDO_EDIT_RECORD';\nexport const REDO_EDIT_RECORD = 'REDO_EDIT_RECORD';\nexport const RESET_EDIT_RECORD = 'RESET_EDIT_RECORD';\n\n// Resolution actions.\nexport const CHANGE_ACTION_STATUS = 'CHANGE_ACTION_STATUS';\n// Resolution actions.\nexport const START_RESOLUTION = 'START_RESOLUTION';\nexport const FINISH_RESOLUTION = 'FINISH_RESOLUTION';\nexport const FAIL_RESOLUTION = 'FAIL_RESOLUTION';\nexport const INVALIDATE_RESOLUTION = 'INVALIDATE_RESOLUTION';\n\nexport const ACTION_TYPES: {\n\t// Entity actions\n\tRECEIVE_RECORD: typeof RECEIVE_RECORD;\n\tRECEIVE_RECORDS: typeof RECEIVE_RECORDS;\n\tRECEIVE_QUERY_RECORDS: typeof RECEIVE_QUERY_RECORDS;\n\tRECEIVE_ERROR: typeof RECEIVE_ERROR;\n\tPURGE_RECORD: typeof PURGE_RECORD;\n\tPURGE_RECORDS: typeof PURGE_RECORDS;\n\n\t// Editor actions\n\tEDITOR_CHANGE_ID: typeof EDITOR_CHANGE_ID;\n\tEDIT_RECORD: typeof EDIT_RECORD;\n\tSTART_EDITING_RECORD: typeof START_EDITING_RECORD;\n\tSAVE_EDITED_RECORD: typeof SAVE_EDITED_RECORD;\n\tUNDO_EDIT_RECORD: typeof UNDO_EDIT_RECORD;\n\tREDO_EDIT_RECORD: typeof REDO_EDIT_RECORD;\n\tRESET_EDIT_RECORD: typeof RESET_EDIT_RECORD;\n\t// Resolution actions\n\tCHANGE_ACTION_STATUS: typeof CHANGE_ACTION_STATUS;\n\tSTART_RESOLUTION: typeof START_RESOLUTION;\n\tFINISH_RESOLUTION: typeof FINISH_RESOLUTION;\n\tFAIL_RESOLUTION: typeof FAIL_RESOLUTION;\n\tINVALIDATE_RESOLUTION: typeof INVALIDATE_RESOLUTION;\n} = {\n\tRECEIVE_RECORD,\n\tRECEIVE_RECORDS,\n\tRECEIVE_QUERY_RECORDS,\n\tRECEIVE_ERROR,\n\tPURGE_RECORD,\n\tPURGE_RECORDS,\n\tEDITOR_CHANGE_ID,\n\tEDIT_RECORD,\n\tSTART_EDITING_RECORD,\n\tSAVE_EDITED_RECORD,\n\tUNDO_EDIT_RECORD,\n\tREDO_EDIT_RECORD,\n\tRESET_EDIT_RECORD,\n\tCHANGE_ACTION_STATUS,\n\tSTART_RESOLUTION,\n\tFINISH_RESOLUTION,\n\tFAIL_RESOLUTION,\n\tINVALIDATE_RESOLUTION,\n};\n\n/**\n * Initial state for the call to actions store.\n */\nexport const initialState: State = {\n\tbyId: {},\n\tallIds: [],\n\tqueries: {},\n\teditorId: undefined,\n\teditedEntities: {},\n\teditHistory: {},\n\teditHistoryIndex: {},\n\tresolutionState: {},\n\tnotices: {},\n\terrors: {\n\t\tglobal: null,\n\t\tbyId: {},\n\t},\n};\n\n/**\n * Default values for a new notice.\n */\nexport const noticeDefaults = {\n\tid: '',\n\tmessage: '',\n\ttype: 'info',\n\tisDismissible: true,\n};\n\n/**\n * Default values for a new call to action.\n *\n * This should be kept in sync with the settings in the PHP code.\n *\n * @see /classes/Models/CallToAction.php\n * @see /includes/namespaced/default-values.php\n */\nexport const defaultValues: EditableCta = {\n\tid: 0,\n\tuuid: '',\n\tslug: '',\n\ttitle: '',\n\tcontent: '',\n\texcerpt: '',\n\tstatus: 'draft',\n\tsettings: {\n\t\ttype: 'link',\n\t\turl: '',\n\t},\n\t// Required Post fields\n\tdate: null,\n\tdate_gmt: null,\n\tguid: '',\n\tlink: '',\n\tmodified: '',\n\tmodified_gmt: '',\n\ttype: 'pum_cta',\n\tauthor: 0,\n\tgenerated_slug: '',\n\tpermalink_template: '',\n\tpassword: '',\n\tfeatured_media: 0,\n\tcomment_status: 'open',\n\tping_status: 'open',\n\tformat: 'standard',\n\tmeta: {},\n\tsticky: false,\n\ttemplate: '',\n\tcategories: [],\n\ttags: [],\n};\n","import type {\n\tCurriedSelectorsOf,\n\tDispatchReturn,\n} from '@wordpress/data/src/types';\n\nexport { default as callToActionStore } from './store';\nexport * from './validation';\n\nexport {\n\tdefaultValues as defaultCtaValues,\n\tSTORE_NAME as CALL_TO_ACTION_STORE,\n\tNOTICE_CONTEXT,\n} from './constants';\n\nexport type * from './types/posttype';\n\nimport type { StoreDescriptor, StoreState } from './types/store';\n\ntype Selectors = CurriedSelectorsOf< StoreDescriptor >;\ntype Actions = DispatchReturn< StoreDescriptor >;\n\nexport type {\n\tStoreDescriptor as CallToActionStore,\n\tStoreState as CallToActionStoreState,\n\tSelectors as CallToActionStoreSelectors,\n\tActions as CallToActionStoreActions,\n};\n","import { ACTION_TYPES, initialState } from './constants';\n\nimport type { DispatchStatuses, ResolutionState } from '../constants';\nimport type { EditorId, Notice, GetRecordsHttpQuery } from '../types';\nimport type { CallToAction, EditableCta } from './types';\nimport type { Operation } from 'fast-json-patch';\n\nconst {\n\tRECEIVE_RECORD,\n\tRECEIVE_RECORDS,\n\tRECEIVE_QUERY_RECORDS,\n\tRECEIVE_ERROR,\n\tPURGE_RECORD,\n\tPURGE_RECORDS,\n\tEDITOR_CHANGE_ID,\n\tEDIT_RECORD,\n\tSTART_EDITING_RECORD,\n\tSAVE_EDITED_RECORD,\n\tUNDO_EDIT_RECORD,\n\tREDO_EDIT_RECORD,\n\tRESET_EDIT_RECORD,\n\tCHANGE_ACTION_STATUS,\n\tINVALIDATE_RESOLUTION,\n} = ACTION_TYPES;\n\n/**\n * The shape of the state for the call to actions store.\n */\nexport type State = {\n\t/**\n\t * The call to actions by ID.\n\t */\n\tbyId: Record< number, CallToAction< 'edit' > >;\n\n\t/**\n\t * The IDs of all the call to actions.\n\t */\n\tallIds: number[];\n\n\t/**\n\t * The queries for the call to actions.\n\t */\n\tqueries?: Record< string, number[] >;\n\n\t/**\n\t * The ID of the editor.\n\t */\n\teditorId: number | undefined;\n\n\t/**\n\t * The edited entities.\n\t */\n\teditedEntities: Record< number, EditableCta >;\n\n\t/**\n\t * The edit history for each call to action.\n\t *\n\t * Each edit is an object with the same shape as the editable entity, but without the `id` property.\n\t */\n\teditHistory: Record< number, Operation[][] >;\n\n\t/**\n\t * The index of the current edit for each call to action.\n\t */\n\teditHistoryIndex: Record< number, number >;\n\n\t/**\n\t * The resolution state for each operation.\n\t */\n\tresolutionState: Record< string | number, ResolutionState >;\n\n\t/**\n\t * The notices for the call to actions.\n\t */\n\tnotices: Record< string, Notice >;\n\n\t/**\n\t * The errors for the call to actions.\n\t */\n\terrors: {\n\t\tglobal: string | null;\n\t\tbyId: { [ id: number ]: string };\n\t};\n};\n\ntype BaseAction = {\n\ttype: keyof typeof ACTION_TYPES;\n\tpayload?: Record< string, any >;\n};\n\nexport type ReceiveRecordAction = BaseAction & {\n\ttype: typeof RECEIVE_RECORD;\n\tpayload: {\n\t\trecord: CallToAction< 'edit' >;\n\t};\n};\n\nexport type ReceiveRecordsAction = BaseAction & {\n\ttype: typeof RECEIVE_RECORDS;\n\tpayload: {\n\t\trecords: CallToAction< 'edit' >[];\n\t};\n};\n\nexport type ReceiveErrorAction = BaseAction & {\n\ttype: typeof RECEIVE_ERROR;\n\tpayload: {\n\t\tid?: number;\n\t\terror: string;\n\t};\n};\n\nexport type ReceiveQueryRecordsAction = BaseAction & {\n\ttype: typeof RECEIVE_QUERY_RECORDS;\n\tpayload: {\n\t\tquery: GetRecordsHttpQuery;\n\t\trecords: CallToAction< 'edit' >[];\n\t};\n};\n\nexport type PurgeRecordAction = BaseAction & {\n\ttype: typeof PURGE_RECORD;\n\tpayload: {\n\t\tid: CallToAction[ 'id' ];\n\t};\n};\n\nexport type PurgeRecordsAction = BaseAction & {\n\ttype: typeof PURGE_RECORDS;\n\tpayload: {\n\t\tids: CallToAction[ 'id' ][];\n\t};\n};\n\nexport type ChangeEditorAction = BaseAction & {\n\ttype: typeof EDITOR_CHANGE_ID;\n\tpayload: {\n\t\teditorId: EditorId;\n\t};\n};\n\nexport type StartEditingRecordAction = BaseAction & {\n\ttype: typeof START_EDITING_RECORD;\n\tpayload: {\n\t\tid: number;\n\t\teditableEntity: EditableCta;\n\t\tsetEditorId: boolean;\n\t};\n};\n\nexport type EditRecordAction = BaseAction & {\n\ttype: typeof EDIT_RECORD;\n\tpayload: {\n\t\tid: number;\n\t\tedits: Operation[];\n\t};\n};\n\nexport type UndoEditRecordAction = BaseAction & {\n\ttype: typeof UNDO_EDIT_RECORD;\n\tpayload: {\n\t\tid: number;\n\t\tsteps: number;\n\t};\n};\n\nexport type RedoEditRecordAction = BaseAction & {\n\ttype: typeof REDO_EDIT_RECORD;\n\tpayload: {\n\t\tid: number;\n\t\tsteps: number;\n\t};\n};\n\nexport type ResetEditRecordAction = BaseAction & {\n\ttype: typeof RESET_EDIT_RECORD;\n\tpayload: {\n\t\tid: number;\n\t};\n};\n\nexport type SaveEditedRecordAction = BaseAction & {\n\ttype: typeof SAVE_EDITED_RECORD;\n\tpayload: {\n\t\tid: number;\n\t\thistoryIndex: number;\n\t\teditedEntity: EditableCta;\n\t};\n};\n\nexport type ChangeActionStatusAction = BaseAction & {\n\ttype: typeof CHANGE_ACTION_STATUS;\n\tpayload: {\n\t\tactionName: string;\n\t\tstatus: DispatchStatuses;\n\t\tmessage?: string;\n\t};\n};\n\n// export type StartResolutionAction = BaseAction & {\n// \ttype: typeof START_RESOLUTION;\n// \tpayload: {\n// \t\tid: number | string;\n// \t\toperation: string;\n// \t};\n// };\n\n// export type FinishResolutionAction = BaseAction & {\n// \ttype: typeof FINISH_RESOLUTION;\n// \tpayload: {\n// \t\tid: number | string;\n// \t\toperation: string;\n// \t};\n// };\n\n// export type FailResolutionAction = BaseAction & {\n// \ttype: typeof FAIL_RESOLUTION;\n// \tpayload: {\n// \t\tid: number | string;\n// \t\toperation: string;\n// \t\terror: string;\n// \t\textra?: Record< string, any >;\n// \t};\n// };\n\nexport type InvalidateResolutionAction = BaseAction & {\n\ttype: typeof INVALIDATE_RESOLUTION;\n\tpayload: {\n\t\tid: number | string;\n\t\toperation: string;\n\t};\n};\n\nexport type ReducerAction =\n\t| ReceiveRecordAction\n\t| ReceiveRecordsAction\n\t| ReceiveQueryRecordsAction\n\t| ReceiveErrorAction\n\t| PurgeRecordAction\n\t| PurgeRecordsAction\n\t| ChangeEditorAction\n\t| StartEditingRecordAction\n\t| EditRecordAction\n\t| UndoEditRecordAction\n\t| RedoEditRecordAction\n\t| ResetEditRecordAction\n\t| SaveEditedRecordAction\n\t| ChangeActionStatusAction\n\t| InvalidateResolutionAction;\n\nexport const reducer = (\n\tstate = initialState,\n\taction: ReducerAction\n): State => {\n\tswitch ( action.type ) {\n\t\tcase RECEIVE_RECORD: {\n\t\t\tconst { record } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tbyId: {\n\t\t\t\t\t...state.byId,\n\t\t\t\t\t[ record.id ]: record,\n\t\t\t\t},\n\t\t\t\tallIds: state.allIds.includes( record.id )\n\t\t\t\t\t? state.allIds\n\t\t\t\t\t: [ ...state.allIds, record.id ],\n\t\t\t};\n\t\t}\n\n\t\tcase RECEIVE_RECORDS:\n\t\tcase RECEIVE_QUERY_RECORDS: {\n\t\t\tconst { records, query = false } = action.payload;\n\n\t\t\t// Add the new records to the byId object.\n\t\t\tconst byId = records.reduce<\n\t\t\t\tRecord< number, CallToAction< 'edit' > >\n\t\t\t>(\n\t\t\t\t( acc, record ) => ( {\n\t\t\t\t\t...acc,\n\t\t\t\t\t[ record.id ]: record,\n\t\t\t\t} ),\n\t\t\t\tstate.byId\n\t\t\t);\n\n\t\t\t// Add the new records to the allIds array.\n\t\t\tconst allIds = Array.from(\n\t\t\t\tnew Set( [ ...state.allIds, ...records.map( ( r ) => r.id ) ] )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tallIds,\n\t\t\t\tbyId,\n\t\t\t\tqueries: query\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t...state.queries,\n\t\t\t\t\t\t\t[ JSON.stringify( query ) ]: records.map(\n\t\t\t\t\t\t\t\t( r ) => r.id\n\t\t\t\t\t\t\t),\n\t\t\t\t\t }\n\t\t\t\t\t: state.queries,\n\t\t\t};\n\t\t}\n\n\t\tcase RECEIVE_ERROR: {\n\t\t\tconst { error, id = false } = action.payload;\n\t\t\t// Ensure existing errors state or initialize if undefined\n\t\t\tconst prevErrors = state.errors || { global: null, byId: {} };\n\t\t\tconst newById = { ...prevErrors.byId };\n\t\t\tif ( id ) {\n\t\t\t\tnewById[ id ] = error;\n\t\t\t} else {\n\t\t\t\t// No id provided, set the global error\n\t\t\t\tprevErrors.global = error;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\terrors: {\n\t\t\t\t\tglobal: id ? prevErrors.global : error,\n\t\t\t\t\tbyId: newById,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tcase PURGE_RECORDS:\n\t\tcase PURGE_RECORD: {\n\t\t\tconst { ids = [], id = null } = action.payload;\n\n\t\t\tif ( id && id > 0 ) {\n\t\t\t\tids.push( id );\n\t\t\t}\n\n\t\t\tif ( ids.length === 0 ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\t// Remove the entity from the allIds array.\n\t\t\tconst allIds = state.allIds.filter(\n\t\t\t\t( _id ) => ! ids.includes( _id )\n\t\t\t);\n\n\t\t\t// Remove the entity from the byId object.\n\t\t\tconst byId = Object.fromEntries(\n\t\t\t\tObject.entries( state.byId ).filter(\n\t\t\t\t\t( [ _id ] ) => ! ids.includes( _id )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\t// Remove the entity from the editedEntities object.\n\t\t\tconst editedEntities = Object.fromEntries(\n\t\t\t\tObject.entries( state.editedEntities ).filter(\n\t\t\t\t\t( [ _id ] ) => ! ids.includes( _id )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\t// Remove the entity from the editHistory object.\n\t\t\tconst editHistory = Object.fromEntries(\n\t\t\t\tObject.entries( state.editHistory ).filter(\n\t\t\t\t\t( [ _id ] ) => ! ids.includes( _id )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\t// Remove the entity from the editHistoryIndex object.\n\t\t\tconst editHistoryIndex = Object.fromEntries(\n\t\t\t\tObject.entries( state.editHistoryIndex ).filter(\n\t\t\t\t\t( [ _id ] ) => ! ids.includes( _id )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tbyId,\n\t\t\t\tallIds,\n\t\t\t\teditedEntities,\n\t\t\t\teditHistory,\n\t\t\t\teditHistoryIndex,\n\t\t\t};\n\t\t}\n\n\t\tcase EDITOR_CHANGE_ID: {\n\t\t\tconst { editorId } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\teditorId,\n\t\t\t};\n\t\t}\n\n\t\tcase START_EDITING_RECORD: {\n\t\t\tconst { id, editableEntity, setEditorId } = action.payload;\n\n\t\t\tconst newState = {\n\t\t\t\t...state,\n\t\t\t\teditedEntities: {\n\t\t\t\t\t...state.editedEntities,\n\t\t\t\t\t[ id ]: editableEntity,\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tif ( ! setEditorId ) {\n\t\t\t\treturn newState;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...newState,\n\t\t\t\teditorId: id,\n\t\t\t};\n\t\t}\n\n\t\tcase EDIT_RECORD: {\n\t\t\tconst { id, edits } = action.payload;\n\n\t\t\tconst editHistory = state.editHistory[ id ] ?? [];\n\t\t\tconst currentIndex = state.editHistoryIndex[ id ] ?? -1;\n\n\t\t\t// If we're not at the end of history, we need to clear future edits\n\t\t\tconst newEditHistory =\n\t\t\t\tcurrentIndex < editHistory.length - 1\n\t\t\t\t\t? editHistory.slice( 0, currentIndex + 1 )\n\t\t\t\t\t: editHistory;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\teditHistory: {\n\t\t\t\t\t...state.editHistory,\n\t\t\t\t\t[ id ]: [ ...newEditHistory, edits ],\n\t\t\t\t},\n\t\t\t\teditHistoryIndex: {\n\t\t\t\t\t...state.editHistoryIndex,\n\t\t\t\t\t[ id ]: newEditHistory.length, // Points to the new edit\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tcase UNDO_EDIT_RECORD: {\n\t\t\tconst { id, steps = 1 } = action.payload;\n\n\t\t\tconst currentIndex = state.editHistoryIndex[ id ] ?? -1;\n\t\t\tconst newIndex = Math.max( -1, currentIndex - steps );\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\teditHistoryIndex: {\n\t\t\t\t\t...state.editHistoryIndex,\n\t\t\t\t\t[ id ]: newIndex,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tcase REDO_EDIT_RECORD: {\n\t\t\tconst { id, steps } = action.payload;\n\n\t\t\tconst currentIndex = state.editHistoryIndex[ id ] ?? -1;\n\t\t\t// Check if we have a history and if there are edits to redo\n\t\t\tconst maxIndex = ( state.editHistory[ id ]?.length ?? 0 ) - 1;\n\t\t\tconst newIndex =\n\t\t\t\tmaxIndex >= 0\n\t\t\t\t\t? Math.min( maxIndex, currentIndex + steps )\n\t\t\t\t\t: currentIndex;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\teditHistoryIndex: {\n\t\t\t\t\t...state.editHistoryIndex,\n\t\t\t\t\t[ id ]: newIndex,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tcase SAVE_EDITED_RECORD: {\n\t\t\tconst { id, historyIndex, editedEntity } = action.payload;\n\n\t\t\t// Get all edits up to current index\n\t\t\tconst remainingEdits = state.editHistory[ id ].slice(\n\t\t\t\thistoryIndex + 1\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\teditedEntities: {\n\t\t\t\t\t...state.editedEntities,\n\t\t\t\t\t[ id ]: editedEntity,\n\t\t\t\t},\n\t\t\t\teditHistory: {\n\t\t\t\t\t...state.editHistory,\n\t\t\t\t\t[ id ]: remainingEdits,\n\t\t\t\t},\n\t\t\t\teditHistoryIndex: {\n\t\t\t\t\t...state.editHistoryIndex,\n\t\t\t\t\t[ id ]: -1,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tcase RESET_EDIT_RECORD: {\n\t\t\tconst { id } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t// Remove all edit history for this record.\n\t\t\t\teditedEntities: Object.fromEntries(\n\t\t\t\t\tObject.entries( state.editedEntities ).filter(\n\t\t\t\t\t\t( [ _id ] ) => Number( _id ) !== id\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\teditHistory: Object.fromEntries(\n\t\t\t\t\tObject.entries( state.editHistory ).filter(\n\t\t\t\t\t\t( [ _id ] ) => Number( _id ) !== id\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\teditHistoryIndex: Object.fromEntries(\n\t\t\t\t\tObject.entries( state.editHistoryIndex ).filter(\n\t\t\t\t\t\t( [ _id ] ) => Number( _id ) !== id\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\n\t\tcase CHANGE_ACTION_STATUS: {\n\t\t\tconst { actionName, status, message } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tresolutionState: {\n\t\t\t\t\t...state.resolutionState,\n\t\t\t\t\t[ actionName ]: {\n\t\t\t\t\t\tstatus,\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\t// case START_RESOLUTION: {\n\t\t// \tconst { id, operation } = action.payload;\n\n\t\t// \treturn {\n\t\t// \t\t...state,\n\t\t// \t\tresolutionState: {\n\t\t// \t\t\t...state.resolutionState,\n\t\t// \t\t\t[ operation ]: {\n\t\t// \t\t\t\t...state.resolutionState?.[ operation ],\n\t\t// \t\t\t\t[ id ]: {\n\t\t// \t\t\t\t\tstatus: DispatchStatus.Resolving,\n\t\t// \t\t\t\t\ttimestamp: Date.now(),\n\t\t// \t\t\t\t},\n\t\t// \t\t\t},\n\t\t// \t\t},\n\t\t// \t};\n\t\t// }\n\n\t\t// case FINISH_RESOLUTION: {\n\t\t// \tconst { id, operation } = action.payload;\n\n\t\t// \treturn {\n\t\t// \t\t...state,\n\t\t// \t\tresolutionState: {\n\t\t// \t\t\t...state.resolutionState,\n\t\t// \t\t\t[ operation ]: {\n\t\t// \t\t\t\t...state.resolutionState?.[ operation ],\n\t\t// \t\t\t\t[ id ]: {\n\t\t// \t\t\t\t\tstatus: DispatchStatus.Success,\n\t\t// \t\t\t\t\ttimestamp: Date.now(),\n\t\t// \t\t\t\t},\n\t\t// \t\t\t},\n\t\t// \t\t},\n\t\t// \t};\n\t\t// }\n\n\t\t// case FAIL_RESOLUTION: {\n\t\t// \tconst { id, operation, error, extra } = action.payload;\n\n\t\t// \treturn {\n\t\t// \t\t...state,\n\t\t// \t\tresolutionState: {\n\t\t// \t\t\t...state.resolutionState,\n\t\t// \t\t\t[ operation ]: {\n\t\t// \t\t\t\t...state.resolutionState?.[ operation ],\n\t\t// \t\t\t\t[ id ]: {\n\t\t// \t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t// \t\t\t\t\terror: error,\n\t\t// \t\t\t\t\textra: extra,\n\t\t// \t\t\t\t\ttimestamp: Date.now(),\n\t\t// \t\t\t\t},\n\t\t// \t\t\t},\n\t\t// \t\t},\n\t\t// \t};\n\t\t// }\n\n\t\tcase INVALIDATE_RESOLUTION: {\n\t\t\tconst { id, operation } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tresolutionState: {\n\t\t\t\t\t...state.resolutionState,\n\t\t\t\t\t[ operation ]: {\n\t\t\t\t\t\t...state.resolutionState?.[ operation ],\n\t\t\t\t\t\t[ id ]: undefined,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default reducer;\n","import { appendUrlParams, fetchFromApi } from '../utils';\nimport { RECEIVE_RECORDS, RECEIVE_RECORD, RECEIVE_ERROR } from './constants';\nimport type { ReducerAction } from './reducer';\n\nimport type { CallToAction, ThunkAction } from './types';\n\nconst entityResolvers = {\n\tgetCallToActions:\n\t\t(): ThunkAction =>\n\t\tasync ( { dispatch } ) => {\n\t\t\ttry {\n\t\t\t\tconst urlParams = {\n\t\t\t\t\tstatus: [ 'any', 'trash', 'auto-draft' ],\n\t\t\t\t\tper_page: 100,\n\t\t\t\t\tcontext: 'edit',\n\t\t\t\t};\n\n\t\t\t\tconst url = appendUrlParams( 'ctas', urlParams );\n\n\t\t\t\tconst results = await fetchFromApi<\n\t\t\t\t\t( CallToAction< 'edit' > & { _links: any } )[]\n\t\t\t\t>( url, {\n\t\t\t\t\tmethod: 'GET',\n\t\t\t\t} );\n\n\t\t\t\tif ( results.length ) {\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: RECEIVE_RECORDS,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\trecords: results.map(\n\t\t\t\t\t\t\t\t// Remove _links from the API record.\n\t\t\t\t\t\t\t\t( { _links, ...record } ) => record\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t} as ReducerAction );\n\t\t\t\t}\n\t\t\t} catch ( error: any ) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error( error );\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: RECEIVE_ERROR,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\terror: error.message,\n\t\t\t\t\t},\n\t\t\t\t} as ReducerAction );\n\t\t\t}\n\t\t},\n\n\tgetCallToAction:\n\t\t( id: number ): ThunkAction =>\n\t\tasync ( { dispatch } ) => {\n\t\t\ttry {\n\t\t\t\tconst url = appendUrlParams( `ctas/${ id }`, {\n\t\t\t\t\tcontext: 'edit',\n\t\t\t\t} );\n\n\t\t\t\tconst { _links, ...record } = await fetchFromApi<\n\t\t\t\t\tCallToAction< 'edit' > & { _links: any }\n\t\t\t\t>( url, {\n\t\t\t\t\tmethod: 'GET',\n\t\t\t\t} );\n\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: RECEIVE_RECORD,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\trecord,\n\t\t\t\t\t},\n\t\t\t\t} as ReducerAction );\n\t\t\t} catch ( error: any ) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error( error );\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: RECEIVE_ERROR,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\terror: error.message,\n\t\t\t\t\t\tid,\n\t\t\t\t\t},\n\t\t\t\t} as ReducerAction );\n\t\t\t}\n\t\t},\n};\n\nconst resolvers = {\n\t...entityResolvers,\n};\n\nexport default resolvers;\n","import { applyPatch } from 'fast-json-patch';\n\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { createRegistrySelector, createSelector } from '@wordpress/data';\n\nimport { DispatchStatus } from '../constants';\nimport { defaultValues, NOTICE_CONTEXT } from './constants';\n\nimport type { Updatable } from '@wordpress/core-data';\nimport type { Notice } from '../types';\nimport type { State } from './reducer';\nimport type { CallToAction } from './types';\n\n/*****************************************************\n * SECTION: Entity selectors\n *****************************************************/\nconst entitySelectors = {\n\t/**\n\t * Get all entities.\n\t *\n\t * @return {CallToAction[]} All entities.\n\t */\n\tgetCallToActions: createSelector(\n\t\t( state: State ) => state.allIds.map( ( id ) => state.byId[ id ] ),\n\t\t( state: State ) => [ state.allIds, Object.keys( state.byId ) ]\n\t),\n\n\t/**\n\t * Get a single entity.\n\t *\n\t * @param {number} id - The ID of the entity to get.\n\t *\n\t * @return {CallToAction} The entity.\n\t */\n\tgetCallToAction: createSelector(\n\t\t( state: State, id: number ) => {\n\t\t\tconst record = state?.byId?.[ id ];\n\t\t\treturn record;\n\t\t},\n\t\t( state: State, id: number ) => [ state, id ]\n\t),\n\n\t/**\n\t * Get the error for a specific entity.\n\t */\n\tgetFetchError: createSelector(\n\t\t( state: State, id?: number ) => {\n\t\t\tif ( typeof id === 'number' ) {\n\t\t\t\treturn state.errors.byId[ id ];\n\t\t\t}\n\t\t\treturn state.errors.global;\n\t\t},\n\t\t( state: State, id: number | string ) => [ state.errors, id ]\n\t),\n\n\t/**\n\t * Get filtered entities.\n\t *\n\t * @param {State} state The state.\n\t * @param {Function} predicate The predicate to filter the entities.\n\t * @param {boolean} maintainOrder Whether to maintain the order of the entities.\n\t *\n\t * @return {CallToAction< 'edit' >[]} The filtered entities.\n\t */\n\tgetFiltered: (\n\t\tstate: State,\n\t\tpredicate: ( item: CallToAction< 'edit' > ) => boolean,\n\t\tmaintainOrder: boolean = false\n\t) => {\n\t\tif ( ! maintainOrder ) {\n\t\t\treturn state.allIds\n\t\t\t\t.map( ( id ) => state.byId[ id ] )\n\t\t\t\t.filter( predicate );\n\t\t}\n\n\t\treturn entitySelectors\n\t\t\t.getFilteredIds( state, predicate )\n\t\t\t.map( ( id ) => state.byId[ id ] );\n\t},\n\n\t/**\n\t * Get filtered entity IDs.\n\t *\n\t * @param {State} state The state.\n\t * @param {Function} predicate The predicate to filter the entities.\n\t *\n\t * @return {number[]} The filtered entity IDs.\n\t */\n\tgetFilteredIds: (\n\t\tstate: State,\n\t\tpredicate: ( item: CallToAction< 'edit' > ) => boolean\n\t) => state.allIds.filter( ( id ) => predicate( state.byId[ id ] ) ),\n};\n\n/*****************************************************\n * SECTION: Editor selectors\n *****************************************************/\nconst editorSelectors = {\n\t/**\n\t * Get the editor ID.\n\t *\n\t * @return {number | undefined} The editor ID.\n\t */\n\tgetEditorId: createSelector(\n\t\t( state: State ) => state?.editorId,\n\t\t( state: State ) => [ state.editorId ]\n\t),\n\n\t/**\n\t * Check if the editor is active.\n\t *\n\t * @return {boolean} Whether the editor is active.\n\t */\n\tisEditorActive: createSelector(\n\t\t( state: State ): boolean => {\n\t\t\tconst editorId = state?.editorId;\n\n\t\t\t// TODO Support non-presaved new entities.\n\t\t\tif ( typeof editorId === 'string' && editorId === 'new' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn typeof editorId === 'number' && editorId > 0;\n\t\t},\n\t\t( state: State ) => [ state.editorId ]\n\t),\n\n\t/**\n\t * Get the current editor values.\n\t *\n\t * @return {EditableCta} The current editor values.\n\t */\n\tgetCurrentEditorValues: createSelector(\n\t\t( state: State ) => {\n\t\t\tconst editorId = state?.editorId;\n\n\t\t\tif ( typeof editorId === 'undefined' ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\treturn editorSelectors.getEditedCallToAction( state, editorId );\n\t\t},\n\t\t( state: State ) => [\n\t\t\tstate.editedEntities?.[ state.editorId || 0 ],\n\t\t\tstate.editHistoryIndex?.[ state.editorId || 0 ],\n\t\t\tstate.editHistory?.[ state.editorId || 0 ],\n\t\t\tstate.editorId,\n\t\t]\n\t),\n\n\t/**\n\t * Check if the entity has been edited.\n\t *\n\t * @param {number} id - The ID of the entity to check.\n\t *\n\t * @return {boolean} Whether the entity has been edited.\n\t */\n\thasEditedEntity: createSelector(\n\t\t( state: State, id: number ) => {\n\t\t\treturn !! state?.editedEntities?.[ id ];\n\t\t},\n\t\t( state: State, id: number ) => [ state.editedEntities?.[ id ], id ]\n\t),\n\n\t/**\n\t * Get the edited entity.\n\t *\n\t * @param {number} id - The ID of the entity to get.\n\t *\n\t * @return {EditableCta} The edited entity.\n\t */\n\tgetEditedEntity: createSelector(\n\t\t( state: State, id: number ) => {\n\t\t\treturn state?.editedEntities?.[ id ];\n\t\t},\n\t\t( state: State, id: number ) => [ state.editedEntities?.[ id ], id ]\n\t),\n\n\t/**\n\t * Get the edit history for an entity.\n\t *\n\t * @param {number} id - The ID of the entity to get.\n\t *\n\t * @return {Partial<EditableCta>[]} The edit history.\n\t */\n\tgetEntityEditHistory: createSelector(\n\t\t( state: State, id: number ) => {\n\t\t\treturn state?.editHistory?.[ id ];\n\t\t},\n\t\t( state: State, id: number ) => [ state.editHistory?.[ id ], id ]\n\t),\n\n\t/**\n\t * Get the current edit history index.\n\t *\n\t * @param {number} id - The ID of the entity to get.\n\t *\n\t * @return {number} The current edit history index.\n\t */\n\tgetCurrentEditHistoryIndex: createSelector(\n\t\t( state: State, id: number ) => {\n\t\t\treturn state.editHistoryIndex?.[ id ];\n\t\t},\n\t\t( state: State, id: number ) => [ state.editHistoryIndex?.[ id ], id ]\n\t),\n\n\t/**\n\t * Check if the entity has edits.\n\t *\n\t * @param {number} id - The ID of the entity to check.\n\t *\n\t * @return {boolean} Whether the entity has edits.\n\t */\n\thasEdits: createSelector(\n\t\t( state: State, id: number ) => {\n\t\t\treturn state.editHistory?.[ id ]?.length > 0;\n\t\t},\n\t\t( state: State, id: number ) => [ state.editHistory?.[ id ], id ]\n\t),\n\n\t/**\n\t * Check if the entity can be undone.\n\t *\n\t * @param {number} id - The ID of the entity to check.\n\t *\n\t * @return {boolean} Whether the entity can be undone.\n\t */\n\thasUndo: createSelector(\n\t\t( state: State, id: number ) => {\n\t\t\tif (\n\t\t\t\ttypeof state.editHistoryIndex?.[ id ] !== 'number' ||\n\t\t\t\ttypeof state.editHistory?.[ id ] !== 'object'\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn state.editHistoryIndex?.[ id ] >= 0;\n\t\t},\n\t\t( state: State, id: number ) => [ state.editHistoryIndex?.[ id ], id ]\n\t),\n\n\t/**\n\t * Check if the entity can be redone.\n\t *\n\t * @param {number} id - The ID of the entity to check.\n\t *\n\t * @return {boolean} Whether the entity can be redone.\n\t */\n\thasRedo: createSelector(\n\t\t( state: State, id: number ) => {\n\t\t\tif (\n\t\t\t\ttypeof state.editHistoryIndex?.[ id ] !== 'number' ||\n\t\t\t\ttypeof state.editHistory?.[ id ] !== 'object'\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tstate.editHistoryIndex?.[ id ] <\n\t\t\t\tstate.editHistory?.[ id ]?.length - 1\n\t\t\t);\n\t\t},\n\t\t( state: State, id: number ) => [ state.editHistoryIndex?.[ id ], id ]\n\t),\n\n\t/**\n\t * Get the edited call to action.\n\t *\n\t * This applies all edits to the entity up to the current edit history index.\n\t *\n\t * @param {number} id - The ID of the entity to get.\n\t *\n\t * @return {EditableCta} The current entity values.\n\t */\n\tgetEditedCallToAction: createSelector(\n\t\t( state: State, id: number ) => {\n\t\t\tconst baseEntity = state.editedEntities?.[ id ];\n\t\t\tconst editHistory = state.editHistory?.[ id ];\n\t\t\tconst editHistoryIndex = state.editHistoryIndex?.[ id ] ?? -1;\n\n\t\t\tif ( ! baseEntity ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\t// If index is -1, return base entity without edits\n\t\t\tif ( editHistoryIndex === -1 ) {\n\t\t\t\treturn baseEntity;\n\t\t\t}\n\n\t\t\tif ( ! editHistory?.length ) {\n\t\t\t\treturn baseEntity;\n\t\t\t}\n\n\t\t\t// Get the edits up to the current index\n\t\t\tconst editsToApply = editHistory.slice( 0, editHistoryIndex + 1 );\n\n\t\t\t// Apply each patch set in sequence\n\t\t\tconst editedEntity = editsToApply.reduce( ( entity, patchSet ) => {\n\t\t\t\tconst patchArray = Array.isArray( patchSet )\n\t\t\t\t\t? patchSet\n\t\t\t\t\t: [ patchSet ];\n\n\t\t\t\tconst patched = applyPatch( entity, patchArray, true, false );\n\t\t\t\treturn patched.newDocument;\n\t\t\t}, baseEntity );\n\n\t\t\treturn editedEntity;\n\t\t},\n\t\t( state: State, id: number ) => [\n\t\t\tstate.editedEntities?.[ id ],\n\t\t\tstate.editHistoryIndex?.[ id ],\n\t\t\tstate.editHistory?.[ id ],\n\t\t\tid,\n\t\t]\n\t),\n\n\t/**\n\t * Get default entity values.\n\t */\n\tgetDefaultValues: createSelector(\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t( _state: State ) => {\n\t\t\treturn applyFilters(\n\t\t\t\t'popupMaker.callToAction.defaultValues',\n\t\t\t\tdefaultValues\n\t\t\t) as Updatable< CallToAction< 'edit' > >;\n\t\t},\n\t\t( _state: State ) => [ _state.editorId ]\n\t),\n};\n\n/*****************************************************\n * SECTION: Notice selectors\n *****************************************************/\nconst noticeSelectors = {\n\t/**\n\t * Get notices.\n\t */\n\tgetNotices: createRegistrySelector( ( select ) => () => {\n\t\tconst notices = select( noticesStore ).getNotices( NOTICE_CONTEXT );\n\t\treturn ( notices || [] ) as Notice[];\n\t} ),\n\n\t/**\n\t * Get notice by id.\n\t */\n\tgetNoticeById: createRegistrySelector(\n\t\t( select ) =>\n\t\t\t( id: string ): Notice | undefined => {\n\t\t\t\tconst notices =\n\t\t\t\t\tselect( noticesStore ).getNotices( NOTICE_CONTEXT );\n\t\t\t\treturn notices?.find( ( n ) => n.id === id ) as\n\t\t\t\t\t| Notice\n\t\t\t\t\t| undefined;\n\t\t\t}\n\t),\n};\n\n/*****************************************************\n * SECTION: Resolution state selectors\n *****************************************************/\nconst resolutionSelectors = {\n\t/**\n\t * Get resolution state for a specific entity.\n\t */\n\tgetResolutionState: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = state.resolutionState?.[ id ];\n\n\t\t\t// If no resolution state exists, return idle\n\t\t\tif ( ! resolutionState ) {\n\t\t\t\treturn {\n\t\t\t\t\tstatus: DispatchStatus.Idle,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn resolutionState;\n\t\t},\n\t\t( state: State, id: number | string ) => [ state.resolutionState, id ]\n\t),\n\n\t/**\n\t * Check if a resolution is idle.\n\t */\n\tisIdle: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = resolutionSelectors.getResolutionState(\n\t\t\t\tstate,\n\t\t\t\tid\n\t\t\t);\n\t\t\treturn resolutionState.status === DispatchStatus.Idle;\n\t\t},\n\t\t( _state: State, id: number | string ) => [ id ]\n\t),\n\n\t/**\n\t * Check if an entity is currently being resolved.\n\t */\n\tisResolving: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = resolutionSelectors.getResolutionState(\n\t\t\t\tstate,\n\t\t\t\tid\n\t\t\t);\n\t\t\treturn resolutionState.status === DispatchStatus.Resolving;\n\t\t},\n\t\t( _state: State, id: number | string ) => [ id ]\n\t),\n\n\t/**\n\t * Check if an entity resolution has completed successfully.\n\t */\n\thasResolved: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = resolutionSelectors.getResolutionState(\n\t\t\t\tstate,\n\t\t\t\tid\n\t\t\t);\n\t\t\treturn resolutionState.status === DispatchStatus.Success;\n\t\t},\n\t\t( _state: State, id: number | string ) => [ id ]\n\t),\n\n\t/**\n\t * Check if an entity resolution has failed.\n\t */\n\thasFailed: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = resolutionSelectors.getResolutionState(\n\t\t\t\tstate,\n\t\t\t\tid\n\t\t\t);\n\t\t\treturn resolutionState.status === DispatchStatus.Error;\n\t\t},\n\t\t( _state: State, id: number | string ) => [ id ]\n\t),\n\n\t/**\n\t * Get the error for a failed resolution.\n\t */\n\tgetResolutionError: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = resolutionSelectors.getResolutionState(\n\t\t\t\tstate,\n\t\t\t\tid\n\t\t\t);\n\t\t\treturn resolutionState.error;\n\t\t},\n\t\t( state: State, id: number | string ) => [ state.resolutionState, id ]\n\t),\n};\n\nconst selectors = {\n\t// Entity selectors\n\t...entitySelectors,\n\t// Editor selectors\n\t...editorSelectors,\n\t// Notice selectors\n\t...noticeSelectors,\n\t// Resolution state selectors\n\t...resolutionSelectors,\n};\n\nexport default selectors;\n","import { createReduxStore } from '@wordpress/data';\n\nimport reducer from './reducer';\nimport actions from './actions';\nimport selectors from './selectors';\nimport resolvers from './resolvers';\nimport { STORE_NAME, initialState } from './constants';\n\nimport type { StoreState, StoreActions, StoreSelectors } from './types';\n\n/**\n * Generate store config.\n */\nexport const storeConfig = () => ( {\n\tinitialState,\n\treducer,\n\tactions,\n\tselectors,\n\tresolvers,\n} );\n\n/**\n * Store definition for the code data namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n */\nconst store = createReduxStore< StoreState, StoreActions, StoreSelectors >(\n\tSTORE_NAME,\n\tstoreConfig()\n);\n\nexport default store;\n","import type { Updatable } from '@wordpress/core-data';\nimport type { BaseEntity } from '../types';\n\n// Simple type guard for RenderedText fields\nexport function isRenderedText(\n\tvalue: any\n): value is { raw: string; rendered: string } {\n\treturn value && typeof value === 'object' && 'raw' in value;\n}\n\n/**\n * Convert an entity to an editable entity.\n *\n * @param {T} entity The entity to convert.\n * @return {Updatable<T>} The editable entity.\n */\nexport function editableEntity< T extends BaseEntity< 'edit' > >( {\n\t_links,\n\t...entity\n}: T & { _links?: any } ): Updatable< T > {\n\treturn Object.fromEntries(\n\t\tObject.entries( entity ).map( ( [ key, value ] ) => [\n\t\t\tkey,\n\t\t\tisRenderedText( value ) ? value.raw : value,\n\t\t] )\n\t) as Updatable< T >;\n}\n","import { __ } from '@popup-maker/i18n';\n\nimport type { CallToAction } from './types';\nimport type { Updatable } from '@wordpress/core-data';\n\n/**\n * Checks of the set values are valid.\n *\n * @param {CallToAction} callToAction CallToAction to validate.\n *\n * @return {boolean} True when set values are valid.\n */\nexport const validateCallToAction = (\n\tcallToAction: Partial< Updatable< CallToAction< 'edit' > > >\n):\n\t| true\n\t| {\n\t\t\tmessage: string;\n\t\t\ttabName?: string;\n\t\t\tfield?: string;\n\t\t\t[ key: string ]: any;\n\t } => {\n\tif ( ! callToAction ) {\n\t\treturn {\n\t\t\tmessage: __( 'Call to action not found', 'popup-maker' ),\n\t\t};\n\t}\n\n\tif ( callToAction.title && ! callToAction.title?.length ) {\n\t\treturn {\n\t\t\tmessage: __(\n\t\t\t\t'Please provide a name for this call to action.',\n\t\t\t\t'popup-maker'\n\t\t\t),\n\t\t\ttabName: 'general',\n\t\t\tfield: 'title',\n\t\t};\n\t}\n\n\treturn true;\n};\n","export enum DispatchStatus {\n\tIdle = 'IDLE',\n\tResolving = 'RESOLVING',\n\tError = 'ERROR',\n\tSuccess = 'SUCCESS',\n}\n\nexport type DispatchStatuses =\n\t( typeof DispatchStatus )[ keyof typeof DispatchStatus ];\n\nexport type ResolutionState = {\n\tstatus: DispatchStatuses;\n\terror?: string;\n\ttimestamp?: number;\n};\n","export { default as useLicense } from './use-license';\nexport { default as useSettings } from './use-settings';\n","import { useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\nimport { licenseStore } from '../license';\n\nconst useLicense = () => {\n\t// Fetch needed data from the @popup-maker/core-data & @wordpress/data stores.\n\tconst {\n\t\tconnectInfo,\n\t\tlicenseKey,\n\t\tlicenseStatus,\n\t\tisSaving,\n\t\tproWasActivated,\n\t\tisActivatingPro,\n\t} = useSelect( ( select ) => {\n\t\tconst storeSelect = select( licenseStore );\n\t\treturn {\n\t\t\tconnectInfo: storeSelect.getConnectInfo(),\n\t\t\tlicenseKey: storeSelect.getLicenseKey(),\n\t\t\tlicenseStatus: storeSelect.getLicenseStatus(),\n\t\t\tisSaving:\n\t\t\t\tstoreSelect.isDispatching( 'activateLicense' ) ||\n\t\t\t\tstoreSelect.isDispatching( 'deactivateLicense' ) ||\n\t\t\t\tstoreSelect.isDispatching( 'checkLicenseStatus' ) ||\n\t\t\t\tstoreSelect.isDispatching( 'updateLicenseKey' ) ||\n\t\t\t\tstoreSelect.isDispatching( 'removeLicense' ),\n\t\t\tisActivatingPro: storeSelect.isDispatching( 'activatePro' ),\n\t\t\tproWasActivated: storeSelect.hasDispatched( 'activatePro' ),\n\t\t};\n\t}, [] );\n\n\t// Grab needed action dispatchers.\n\tconst {\n\t\tactivateLicense,\n\t\tdeactivateLicense,\n\t\tcheckLicenseStatus,\n\t\tupdateLicenseKey,\n\t\tremoveLicense,\n\t\tactivatePro,\n\t} = useDispatch( licenseStore );\n\n\t// Create some helper variables.\n\n\t// Check if the license is active.\n\tconst isLicenseActive = 'valid' === licenseStatus?.license;\n\n\t// Check if the license is deactivated.\n\tconst isLicenseDeactivated = [\n\t\t'deactivated',\n\t\t'site_inactive',\n\t\t'inactive',\n\t].includes( licenseStatus?.license ?? '' );\n\n\t// Check if the license is invalid.\n\tconst isLicenseInvalid = [ 'invalid', 'failed' ].includes(\n\t\tlicenseStatus?.license\n\t);\n\n\t// Check if the license is missing (default state).\n\tconst isLicenseMissing =\n\t\tisLicenseInvalid &&\n\t\t[ '', 'missing' ].includes( licenseStatus?.error ?? '' );\n\n\t// Check if the license is expired.\n\tconst isLicenseExpired =\n\t\t'expired' === licenseStatus?.license ||\n\t\t( [ 'invalid', 'failed' ].includes( licenseStatus?.license ?? '' ) &&\n\t\t\t'expired' === licenseStatus?.error );\n\n\t// Check if the license is disabled.\n\tconst isLicenseDisabled =\n\t\t'disabled' === licenseStatus?.license ||\n\t\t( isLicenseInvalid && 'disabled' === licenseStatus?.error );\n\n\tconst isLicenseOverQuota = 'no_activations_left' === licenseStatus?.error;\n\n\t// Check if there is an error.\n\tconst hasError = !! licenseStatus?.error;\n\n\t// Check if there is a general error.\n\tconst isGeneralError =\n\t\tisLicenseInvalid &&\n\t\thasError &&\n\t\t! [ 'missing', 'expired', 'disabled' ].includes(\n\t\t\tlicenseStatus?.error ?? ''\n\t\t);\n\n\tconst isLicenseKeyValid = useMemo(\n\t\t() =>\n\t\t\tisLicenseActive ||\n\t\t\tisLicenseDeactivated ||\n\t\t\tisLicenseExpired ||\n\t\t\tisLicenseDisabled ||\n\t\t\tisLicenseOverQuota,\n\t\t[\n\t\t\tisLicenseActive,\n\t\t\tisLicenseDeactivated,\n\t\t\tisLicenseExpired,\n\t\t\tisLicenseDisabled,\n\t\t\tisLicenseOverQuota,\n\t\t]\n\t);\n\n\t// Create a helper function to get the current license status.\n\tconst getLicenseStatusName = useMemo( () => {\n\t\tif ( isLicenseActive ) {\n\t\t\treturn 'active';\n\t\t} else if ( isLicenseExpired ) {\n\t\t\treturn 'expired';\n\t\t} else if ( isLicenseMissing ) {\n\t\t\treturn 'missing';\n\t\t} else if ( isLicenseDeactivated ) {\n\t\t\treturn 'deactivated';\n\t\t} else if ( isLicenseDisabled ) {\n\t\t\treturn 'disabled';\n\t\t} else if ( isGeneralError ) {\n\t\t\treturn 'error';\n\t\t}\n\t\treturn 'unknown';\n\t}, [\n\t\tisLicenseActive,\n\t\tisLicenseExpired,\n\t\tisLicenseMissing,\n\t\tisLicenseDeactivated,\n\t\tisLicenseDisabled,\n\t\tisGeneralError,\n\t] );\n\n\tconst licenseLevel = useMemo( () => {\n\t\t// Price ID as an int\n\t\tlet priceId = licenseStatus?.price_id ?? null;\n\n\t\tif ( null === priceId ) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tif ( 'string' === typeof priceId ) {\n\t\t\tpriceId = parseInt( priceId, 10 );\n\t\t}\n\n\t\tswitch ( priceId ) {\n\t\t\tdefault:\n\t\t\t\treturn -1;\n\n\t\t\tcase false:\n\t\t\tcase 0:\n\t\t\t\treturn 0;\n\n\t\t\tcase 1:\n\t\t\tcase 2:\n\t\t\tcase 3:\n\t\t\tcase 4:\n\t\t\t\treturn priceId;\n\t\t}\n\t}, [ licenseStatus?.price_id ] );\n\n\treturn {\n\t\tconnectInfo,\n\t\tlicenseKey,\n\t\tlicenseStatus,\n\t\tlicenseLevel,\n\t\tactivateLicense,\n\t\tdeactivateLicense,\n\t\tcheckLicenseStatus,\n\t\tupdateLicenseKey,\n\t\tremoveLicense,\n\t\tactivatePro,\n\t\tgetLicenseStatusName,\n\t\tisSaving,\n\t\tisActivatingPro,\n\t\tproWasActivated,\n\t\tisLicenseKeyValid,\n\t\tisLicenseActive,\n\t\tisLicenseDeactivated,\n\t\tisLicenseMissing,\n\t\tisLicenseExpired,\n\t\tisLicenseInvalid,\n\t\tisLicenseDisabled,\n\t\tisLicenseOverQuota,\n\t\tisGeneralError,\n\t\thasError,\n\t};\n};\n\nexport default useLicense;\n","import { useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\nimport { settingsStore } from '../settings';\n\nimport type { Settings } from '../settings/types';\n\nconst useSettings = () => {\n\t// Fetch needed data from the @popup-maker/core-data & @wordpress/data stores.\n\tconst { currentSettings, unsavedChanges, hasUnsavedChanges, isSaving } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst storeSelect = select( settingsStore );\n\t\t\t\treturn {\n\t\t\t\t\tunsavedChanges: storeSelect.getUnsavedChanges(),\n\t\t\t\t\thasUnsavedChanges: storeSelect.hasUnsavedChanges(),\n\t\t\t\t\tcurrentSettings: storeSelect.getSettings(),\n\t\t\t\t\tisSaving:\n\t\t\t\t\t\tstoreSelect.isResolving( 'updateSettings' ) ||\n\t\t\t\t\t\tstoreSelect.isResolving( 'saveSettings' ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t// TODO REVIEW: Should this have any dependencies to refresh the data?\n\t\t\t[]\n\t\t);\n\n\t// Grab needed action dispatchers.\n\tconst { updateSettings, saveSettings, stageUnsavedChanges } =\n\t\tuseDispatch( settingsStore );\n\n\t// Merge current & unsaved changes.\n\tconst settings = useMemo< Settings >(\n\t\t() => ( { ...currentSettings, ...unsavedChanges } ),\n\t\t[ currentSettings, unsavedChanges ]\n\t);\n\n\t/**\n\t * Get setting by name.\n\t *\n\t * @param {string} name Setting to get.\n\t * @param {any} defaultValue Default value if not already set.\n\t * @return {any} Current value of given setting.\n\t */\n\tconst getSetting = <\n\t\tK extends keyof Settings,\n\t\tD extends Settings[ K ] | undefined | false,\n\t>(\n\t\tname: K,\n\t\tdefaultValue: D\n\t): Settings[ K ] | D => {\n\t\treturn settings[ name ] ?? defaultValue;\n\t};\n\n\treturn {\n\t\tcurrentSettings,\n\t\tsettings,\n\t\tgetSetting,\n\t\tupdateSettings,\n\t\tsaveSettings,\n\t\tisSaving,\n\t\thasUnsavedChanges,\n\t\tstageUnsavedChanges,\n\t\tunsavedChanges,\n\t};\n};\n\nexport default useSettings;\n","import { __ } from '@popup-maker/i18n';\n\nimport { DispatchStatus } from '../constants';\nimport { getErrorMessage, fetchFromApi } from '../utils';\n\nimport { ACTION_TYPES } from './constants';\nimport { apiPath } from './utils';\n\nimport type {\n\tLicense,\n\tLicenseActivationResponse,\n\tLicenseKey,\n\tLicenseStatusResponse,\n\tStoreActionNames,\n\tThunkAction,\n} from './types';\n\nconst {\n\tACTIVATE_LICENSE,\n\tCONNECT_SITE,\n\tDEACTIVATE_LICENSE,\n\tUPDATE_LICENSE_KEY,\n\tREMOVE_LICENSE,\n\tCHECK_LICENSE_STATUS,\n\tHYDRATE_LICENSE_DATA,\n\tCHANGE_ACTION_STATUS,\n} = ACTION_TYPES;\n\n/**\n * Change status of a dispatch action request.\n *\n * @param {StoreActionNames} actionName Action name.\n * @param {DispatchStatus} status Status.\n * @param {string} message Message.\n */\nexport const changeActionStatus = (\n\tactionName: StoreActionNames,\n\tstatus: DispatchStatus,\n\tmessage?: string | undefined\n): {\n\ttype: string;\n\tactionName: StoreActionNames;\n\tstatus: DispatchStatus;\n\tmessage?: string;\n} => {\n\tif ( message ) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log( actionName, message );\n\t}\n\n\treturn {\n\t\ttype: CHANGE_ACTION_STATUS,\n\t\tactionName,\n\t\tstatus,\n\t\tmessage,\n\t};\n};\n\n/**\n * Activate license.\n *\n * @param {LicenseKey} licenseKey License key.\n */\nexport const activateLicense =\n\t( licenseKey?: LicenseKey ): ThunkAction =>\n\tasync ( { dispatch } ) => {\n\t\tconst actionName = 'activateLicense';\n\n\t\ttry {\n\t\t\tdispatch.changeActionStatus( actionName, DispatchStatus.Resolving );\n\n\t\t\tconst result = await fetchFromApi< LicenseActivationResponse >(\n\t\t\t\tapiPath( 'activate' ),\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tdata: { licenseKey },\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( result ) {\n\t\t\t\tconst { status, connectInfo } = result;\n\n\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\tactionName,\n\t\t\t\t\tDispatchStatus.Success\n\t\t\t\t);\n\n\t\t\t\tif ( connectInfo !== undefined ) {\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: CONNECT_SITE,\n\t\t\t\t\t\tlicenseStatus: status,\n\t\t\t\t\t\tconnectInfo,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: ACTIVATE_LICENSE,\n\t\t\t\t\tlicenseStatus: status,\n\t\t\t\t} );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// if execution arrives here, then thing didn't update in the state so return\n\t\t\t// action object that will add an error to the state about this.\n\t\t\t// returning an action object that will save the update error to the state.\n\t\t\tdispatch.changeActionStatus(\n\t\t\t\tactionName,\n\t\t\t\tDispatchStatus.Error,\n\t\t\t\t__(\n\t\t\t\t\t'An error occurred, license were not saved.',\n\t\t\t\t\t'popup-maker'\n\t\t\t\t)\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\t// returning an action object that will save the update error to the state.\n\t\t\tdispatch.changeActionStatus(\n\t\t\t\tactionName,\n\t\t\t\tDispatchStatus.Error,\n\t\t\t\tgetErrorMessage( error )\n\t\t\t);\n\t\t}\n\t};\n\n/**\n * Deactivate license.\n */\nexport const deactivateLicense =\n\t(): ThunkAction =>\n\tasync ( { dispatch } ) => {\n\t\tconst actionName = 'deactivateLicense';\n\n\t\ttry {\n\t\t\tdispatch.changeActionStatus( actionName, DispatchStatus.Resolving );\n\n\t\t\tconst result = await fetchFromApi< LicenseStatusResponse >(\n\t\t\t\tapiPath( 'deactivate' ),\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( result ) {\n\t\t\t\t// thing was successfully updated so return the action object that will\n\t\t\t\t// update the saved thing in the state.\n\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\tactionName,\n\t\t\t\t\tDispatchStatus.Success\n\t\t\t\t);\n\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: DEACTIVATE_LICENSE,\n\t\t\t\t\tlicenseStatus: result.status,\n\t\t\t\t} );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// if execution arrives here, then thing didn't update in the state so return\n\t\t\t// action object that will add an error to the state about this.\n\t\t\t// returning an action object that will save the update error to the state.\n\t\t\tdispatch.changeActionStatus(\n\t\t\t\tactionName,\n\t\t\t\tDispatchStatus.Error,\n\t\t\t\t__(\n\t\t\t\t\t'An error occurred, license were not saved.',\n\t\t\t\t\t'popup-maker'\n\t\t\t\t)\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\t// returning an action object that will save the update error to the state.\n\t\t\tdispatch.changeActionStatus(\n\t\t\t\tactionName,\n\t\t\t\tDispatchStatus.Error,\n\t\t\t\tgetErrorMessage( error )\n\t\t\t);\n\t\t}\n\t};\n\n/**\n * Check license status.\n */\nexport const checkLicenseStatus =\n\t(): ThunkAction =>\n\tasync ( { dispatch } ) => {\n\t\tconst actionName = 'checkLicenseStatus';\n\n\t\ttry {\n\t\t\tdispatch.changeActionStatus( actionName, DispatchStatus.Resolving );\n\n\t\t\tconst result = await fetchFromApi< LicenseStatusResponse >(\n\t\t\t\tapiPath( 'status' ),\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( result ) {\n\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\tactionName,\n\t\t\t\t\tDispatchStatus.Success\n\t\t\t\t);\n\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: CHECK_LICENSE_STATUS,\n\t\t\t\t\tlicenseStatus: result.status,\n\t\t\t\t} );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdispatch.changeActionStatus(\n\t\t\t\tactionName,\n\t\t\t\tDispatchStatus.Error,\n\t\t\t\t__(\n\t\t\t\t\t'An error occurred, license were not saved.',\n\t\t\t\t\t'popup-maker'\n\t\t\t\t)\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\t// returning an action object that will save the update error to the state.\n\t\t\tdispatch.changeActionStatus(\n\t\t\t\tactionName,\n\t\t\t\tDispatchStatus.Error,\n\t\t\t\tgetErrorMessage( error )\n\t\t\t);\n\t\t}\n\t};\n\n/**\n * Change license key.\n *\n * @param {LicenseKey} licenseKey License key.\n */\nexport const updateLicenseKey =\n\t( licenseKey: LicenseKey ): ThunkAction =>\n\tasync ( { select, dispatch } ) => {\n\t\tconst actionName = 'updateLicenseKey';\n\n\t\tconst currentKey = select.getLicenseKey();\n\n\t\tif ( currentKey === licenseKey ) {\n\t\t\tdispatch.changeActionStatus(\n\t\t\t\tactionName,\n\t\t\t\tDispatchStatus.Error,\n\t\t\t\t__(\n\t\t\t\t\t'The license key is the same as the current one.',\n\t\t\t\t\t'popup-maker'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tdispatch.changeActionStatus( actionName, DispatchStatus.Resolving );\n\n\t\t\tconst result = await fetchFromApi< LicenseStatusResponse >(\n\t\t\t\tapiPath(),\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tdata: { licenseKey },\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( result ) {\n\t\t\t\t// thing was successfully updated so return the action object that will\n\t\t\t\t// update the saved thing in the state.\n\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\tactionName,\n\t\t\t\t\tDispatchStatus.Success\n\t\t\t\t);\n\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: UPDATE_LICENSE_KEY,\n\t\t\t\t\tlicenseKey,\n\t\t\t\t\tlicenseStatus: result.status,\n\t\t\t\t} );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// if execution arrives here, then thing didn't update in the state so return\n\t\t\t// action object that will add an error to the state about this.\n\t\t\t// returning an action object that will save the update error to the state.\n\t\t\tdispatch.changeActionStatus(\n\t\t\t\tactionName,\n\t\t\t\tDispatchStatus.Error,\n\t\t\t\t__(\n\t\t\t\t\t'An error occurred, license were not saved.',\n\t\t\t\t\t'popup-maker'\n\t\t\t\t)\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\t// returning an action object that will save the update error to the state.\n\t\t\tdispatch.changeActionStatus(\n\t\t\t\tactionName,\n\t\t\t\tDispatchStatus.Error,\n\t\t\t\tgetErrorMessage( error )\n\t\t\t);\n\t\t}\n\t};\n\n/**\n * Remove license.\n */\nexport const removeLicense =\n\t(): ThunkAction =>\n\tasync ( { dispatch } ) => {\n\t\tconst actionName = 'removeLicense';\n\n\t\ttry {\n\t\t\tdispatch.changeActionStatus( actionName, DispatchStatus.Resolving );\n\n\t\t\tconst result = await fetchFromApi< boolean >( apiPath(), {\n\t\t\t\tmethod: 'DELETE',\n\t\t\t} );\n\n\t\t\tif ( result ) {\n\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\tactionName,\n\t\t\t\t\tDispatchStatus.Success\n\t\t\t\t);\n\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: REMOVE_LICENSE,\n\t\t\t\t} );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdispatch.changeActionStatus(\n\t\t\t\tactionName,\n\t\t\t\tDispatchStatus.Error,\n\t\t\t\t__(\n\t\t\t\t\t'An error occurred, license were not saved.',\n\t\t\t\t\t'popup-maker'\n\t\t\t\t)\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\t// returning an action object that will save the update error to the state.\n\t\t\tdispatch.changeActionStatus(\n\t\t\t\tactionName,\n\t\t\t\tDispatchStatus.Error,\n\t\t\t\tgetErrorMessage( error )\n\t\t\t);\n\t\t}\n\t};\n\n/**\n * Activate pro version if installed.\n */\nexport const activatePro =\n\t(): ThunkAction =>\n\tasync ( { dispatch } ) => {\n\t\tconst actionName = 'activatePro';\n\n\t\ttry {\n\t\t\tdispatch.changeActionStatus( actionName, DispatchStatus.Resolving );\n\n\t\t\tconst result = await fetchFromApi< boolean >(\n\t\t\t\tapiPath( 'activate-pro' ),\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( result ) {\n\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\tactionName,\n\t\t\t\t\tDispatchStatus.Success\n\t\t\t\t);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdispatch.changeActionStatus(\n\t\t\t\tactionName,\n\t\t\t\tDispatchStatus.Error,\n\t\t\t\t__(\n\t\t\t\t\t'An error occurred, license were not saved.',\n\t\t\t\t\t'popup-maker'\n\t\t\t\t)\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\t// returning an action object that will save the update error to the state.\n\t\t\tdispatch.changeActionStatus(\n\t\t\t\tactionName,\n\t\t\t\tDispatchStatus.Error,\n\t\t\t\tgetErrorMessage( error )\n\t\t\t);\n\t\t}\n\t};\n\n/**\n * Hydrate license data.\n *\n * @param {License} license License.\n */\nexport const hydrate = (\n\tlicense: License\n): { type: string; license: License } => {\n\treturn {\n\t\ttype: HYDRATE_LICENSE_DATA,\n\t\tlicense,\n\t};\n};\n","import type { State } from './reducer';\nimport type { License, LicenseStatus } from './types';\n\nexport const STORE_NAME = 'popup-maker/license';\n\nexport const ACTIVATE_LICENSE = 'ACTIVATE_LICENSE';\nexport const CONNECT_SITE = 'CONNECT_SITE';\nexport const DEACTIVATE_LICENSE = 'DEACTIVATE_LICENSE';\nexport const REMOVE_LICENSE = 'REMOVE_LICENSE';\nexport const UPDATE_LICENSE_KEY = 'UPDATE_LICENSE_KEY';\nexport const CHECK_LICENSE_STATUS = 'CHECK_LICENSE_STATUS';\nexport const CHANGE_ACTION_STATUS = 'CHANGE_ACTION_STATUS';\nexport const HYDRATE_LICENSE_DATA = 'HYDRATE_LICENSE_DATA';\nexport const LICENSE_FETCH_ERROR = 'LICENSE_FETCH_ERROR';\n\nexport const ACTION_TYPES: {\n\tACTIVATE_LICENSE: typeof ACTIVATE_LICENSE;\n\tCONNECT_SITE: typeof CONNECT_SITE;\n\tDEACTIVATE_LICENSE: typeof DEACTIVATE_LICENSE;\n\tREMOVE_LICENSE: typeof REMOVE_LICENSE;\n\tUPDATE_LICENSE_KEY: typeof UPDATE_LICENSE_KEY;\n\tCHECK_LICENSE_STATUS: typeof CHECK_LICENSE_STATUS;\n\tCHANGE_ACTION_STATUS: typeof CHANGE_ACTION_STATUS;\n\tHYDRATE_LICENSE_DATA: typeof HYDRATE_LICENSE_DATA;\n\tLICENSE_FETCH_ERROR: typeof LICENSE_FETCH_ERROR;\n} = {\n\tACTIVATE_LICENSE,\n\tCONNECT_SITE,\n\tDEACTIVATE_LICENSE,\n\tREMOVE_LICENSE,\n\tUPDATE_LICENSE_KEY,\n\tCHECK_LICENSE_STATUS,\n\tCHANGE_ACTION_STATUS,\n\tHYDRATE_LICENSE_DATA,\n\tLICENSE_FETCH_ERROR,\n};\n\n/**\n * Default license status.\n */\nexport const licenseStatusDefaults: LicenseStatus = {\n\tsuccess: false,\n\tlicense: 'invalid',\n\tlicense_limit: 1,\n\tsite_count: 0,\n\texpires: '',\n\tactivations_left: 0,\n\tprice_id: 0,\n\terror: undefined,\n\terror_message: undefined,\n};\n\n/**\n * Default license state.\n */\nexport const defaultValues: License = {\n\tkey: '',\n\tstatus: licenseStatusDefaults,\n};\n\n/**\n * Default initial state.\n */\nexport const initialState: State = {\n\tlicense: defaultValues,\n};\n","import type {\n\tCurriedSelectorsOf,\n\tDispatchReturn,\n} from '@wordpress/data/src/types';\n\nexport { default as licenseStore } from './store';\n\nexport {\n\tdefaultValues as defaultLicenseValues,\n\tSTORE_NAME as LICENSE_STORE,\n} from './constants';\n\nexport type * from './types/licenses';\n\nimport type { StoreDescriptor, StoreState } from './types/store';\n\ntype Selectors = CurriedSelectorsOf< StoreDescriptor >;\ntype Actions = DispatchReturn< StoreDescriptor >;\n\nexport type {\n\tStoreDescriptor as LicenseStore,\n\tStoreState as LicenseStoreState,\n\tSelectors as LicenseStoreSelectors,\n\tActions as LicenseStoreActions,\n};\n","import { ACTION_TYPES, initialState } from './constants';\n\nimport type { DispatchStatuses } from '../constants';\nimport type {\n\tLicense,\n\tLicenseConnect,\n\tLicenseStatus,\n\tStoreActionNames,\n} from './types';\n\nconst {\n\tACTIVATE_LICENSE,\n\tCONNECT_SITE,\n\tDEACTIVATE_LICENSE,\n\tREMOVE_LICENSE,\n\tUPDATE_LICENSE_KEY,\n\tCHECK_LICENSE_STATUS,\n\tHYDRATE_LICENSE_DATA,\n\tCHANGE_ACTION_STATUS,\n\tLICENSE_FETCH_ERROR,\n} = ACTION_TYPES;\n\nexport type State = {\n\tlicense: License;\n\tconnectInfo?: LicenseConnect;\n\t// Boilerplate\n\tdispatchStatus?: {\n\t\t[ Property in StoreActionNames ]?: {\n\t\t\tstatus: string;\n\t\t\terror: string;\n\t\t};\n\t};\n\terror?: string;\n};\n\ntype BaseAction = {\n\ttype: keyof typeof ACTION_TYPES;\n};\n\ntype LicenseStatusAction = BaseAction & {\n\ttype:\n\t\t| typeof ACTIVATE_LICENSE\n\t\t| typeof DEACTIVATE_LICENSE\n\t\t| typeof CHECK_LICENSE_STATUS;\n\tlicenseStatus: LicenseStatus;\n};\n\ntype ConnectSiteAction = BaseAction & {\n\ttype: typeof CONNECT_SITE;\n\tlicenseStatus: LicenseStatus;\n\tconnectInfo: LicenseConnect;\n};\n\ntype UpdateLicenseKeyAction = BaseAction & {\n\ttype: typeof UPDATE_LICENSE_KEY;\n\tlicenseKey: string;\n\tlicenseStatus: LicenseStatus;\n};\n\ntype RemoveLicenseAction = BaseAction & {\n\ttype: typeof REMOVE_LICENSE;\n};\n\ntype HydrateLicenseDataAction = BaseAction & {\n\ttype: typeof HYDRATE_LICENSE_DATA;\n\tlicense: License;\n};\n\ntype LicenseFetchErrorAction = BaseAction & {\n\ttype: typeof LICENSE_FETCH_ERROR;\n\tmessage: string;\n};\n\ntype ChangeActionStatusAction = BaseAction & {\n\ttype: typeof CHANGE_ACTION_STATUS;\n\tactionName: StoreActionNames;\n\tstatus: DispatchStatuses;\n\tmessage: string;\n};\n\nexport type ReducerAction =\n\t| LicenseStatusAction\n\t| ConnectSiteAction\n\t| UpdateLicenseKeyAction\n\t| RemoveLicenseAction\n\t| HydrateLicenseDataAction\n\t| LicenseFetchErrorAction\n\t| ChangeActionStatusAction;\n\nconst reducer = ( state: State = initialState, action: ReducerAction ) => {\n\tswitch ( action.type ) {\n\t\tcase ACTIVATE_LICENSE:\n\t\tcase DEACTIVATE_LICENSE:\n\t\tcase CHECK_LICENSE_STATUS:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tlicense: {\n\t\t\t\t\t...state.license,\n\t\t\t\t\tstatus: action.licenseStatus,\n\t\t\t\t},\n\t\t\t};\n\t\t\treturn state;\n\n\t\tcase CONNECT_SITE:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tlicense: {\n\t\t\t\t\t...state.license,\n\t\t\t\t\tstatus: action.licenseStatus,\n\t\t\t\t},\n\t\t\t\tconnectInfo: action.connectInfo,\n\t\t\t};\n\n\t\tcase UPDATE_LICENSE_KEY:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tlicense: {\n\t\t\t\t\t...state.license,\n\t\t\t\t\tkey: action.licenseKey,\n\t\t\t\t\tstatus: action.licenseStatus,\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase REMOVE_LICENSE:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tlicense: {\n\t\t\t\t\tkey: '',\n\t\t\t\t\tstatus: {},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase HYDRATE_LICENSE_DATA:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tlicense: action.license,\n\t\t\t};\n\n\t\tcase LICENSE_FETCH_ERROR:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\terror: action.message,\n\t\t\t};\n\n\t\tcase CHANGE_ACTION_STATUS:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tdispatchStatus: {\n\t\t\t\t\t...state.dispatchStatus,\n\t\t\t\t\t[ action.actionName ]: {\n\t\t\t\t\t\t...state?.dispatchStatus?.[ action.actionName ],\n\t\t\t\t\t\tstatus: action.status,\n\t\t\t\t\t\terror: action.message,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default reducer;\n","import { __ } from '@popup-maker/i18n';\n\nimport { getErrorMessage, fetchFromApi } from '../utils';\nimport { LICENSE_FETCH_ERROR } from './constants';\nimport { apiPath } from './utils';\n\nimport type { License, LicenseKey, LicenseStatus, ThunkAction } from './types';\n\nexport const getLicenseData =\n\t(): ThunkAction =>\n\tasync ( { dispatch } ) => {\n\t\ttry {\n\t\t\tconst results = await fetchFromApi< License >( apiPath(), {\n\t\t\t\tmethod: 'GET',\n\t\t\t} );\n\n\t\t\tif ( results ) {\n\t\t\t\tdispatch.hydrate( results );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdispatch( {\n\t\t\t\ttype: LICENSE_FETCH_ERROR,\n\t\t\t\tmessage: __(\n\t\t\t\t\t'An error occurred, license data was not loaded.',\n\t\t\t\t\t'popup-maker'\n\t\t\t\t),\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tdispatch( {\n\t\t\t\ttype: LICENSE_FETCH_ERROR,\n\t\t\t\tmessage: getErrorMessage( error ),\n\t\t\t} );\n\t\t}\n\t};\n\nexport const getLicenseKey =\n\t(): ThunkAction< LicenseKey > =>\n\tasync ( { resolveSelect } ) => {\n\t\tconst { key = '' } = ( await resolveSelect.getLicenseData() ) ?? {};\n\n\t\treturn key;\n\t};\n\nexport const getLicenseStatus =\n\t(): ThunkAction< LicenseStatus > =>\n\tasync ( { resolveSelect } ) => {\n\t\tconst { status } = ( await resolveSelect.getLicenseData() ) ?? {};\n\n\t\treturn status;\n\t};\n","import { createSelector } from '@wordpress/data';\n\nimport { DispatchStatus } from '../constants';\nimport { licenseStatusDefaults } from './constants';\n\nimport type { State } from './reducer';\nimport type {\n\tLicense,\n\tLicenseKey,\n\tLicenseStatus,\n\tLicenseConnect,\n\tStoreActionNames,\n} from './types';\n\n/**\n * Get license\n *\n * @param {State} state State.\n *\n * @return {License} License.\n */\nexport const getLicenseData = ( state: State ): License => state.license;\n\n/**\n * Get license key.\n *\n * @param {State} state State.\n *\n * @return {LicenseKey} License key.\n */\nexport const getLicenseKey = ( state: State ): LicenseKey => {\n\tconst { key } = getLicenseData( state );\n\treturn key;\n};\n\n/**\n * Get license status.\n *\n * @param {State} state State.\n *\n * @return {LicenseStatus} License status.\n */\nexport const getLicenseStatus = createSelector(\n\t( state: State ): LicenseStatus => {\n\t\tconst { status } = getLicenseData( state );\n\n\t\treturn {\n\t\t\t...licenseStatusDefaults,\n\t\t\t...status,\n\t\t};\n\t},\n\t( state: State ) => [ state.license.status ]\n);\n\n/**\n * Get connect info for pro upgrade.\n *\n * @param {State} state State.\n *\n * @return {LicenseConnect | undefined} Connect info.\n */\nexport const getConnectInfo = ( state: State ): LicenseConnect | undefined =>\n\tstate.connectInfo;\n\n/**\n * Get current status for dispatched action.\n *\n * @param {State} state State.\n * @param {StoreActionNames} actionName Action name.\n *\n * @return {string | undefined} Status.\n */\nexport const getDispatchStatus = (\n\tstate: State,\n\tactionName: StoreActionNames\n): string | undefined => state?.dispatchStatus?.[ actionName ]?.status;\n\n/**\n * Check if action is dispatching.\n *\n * @param {State} state State.\n * @param {StoreActionNames | StoreActionNames[]} actionNames Action name or array of action names.\n *\n * @return {boolean} True if action is dispatching, false otherwise.\n */\nexport const isDispatching = createSelector(\n\t(\n\t\tstate: State,\n\t\tactionNames: StoreActionNames | StoreActionNames[]\n\t): boolean => {\n\t\tif ( ! Array.isArray( actionNames ) ) {\n\t\t\treturn (\n\t\t\t\tgetDispatchStatus( state, actionNames ) ===\n\t\t\t\tDispatchStatus.Resolving\n\t\t\t);\n\t\t}\n\n\t\tlet dispatching = false;\n\n\t\tfor ( let i = 0; actionNames.length > i; i++ ) {\n\t\t\tdispatching =\n\t\t\t\tgetDispatchStatus( state, actionNames[ i ] ) ===\n\t\t\t\tDispatchStatus.Resolving;\n\n\t\t\tif ( dispatching ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn dispatching;\n\t},\n\t( state: State, actionNames: StoreActionNames | StoreActionNames[] ) => [\n\t\tstate.dispatchStatus,\n\t\tactionNames,\n\t]\n);\n\n/**\n * Check if action has finished dispatching.\n *\n * @param {State} state State.\n * @param {StoreActionNames} actionName Action name.\n *\n * @return {boolean} True if action has finished dispatching, false otherwise.\n */\nexport const hasDispatched = createSelector(\n\t( state: State, actionName: StoreActionNames ): boolean => {\n\t\tconst status = getDispatchStatus( state, actionName );\n\n\t\treturn !! (\n\t\t\tstatus &&\n\t\t\t(\n\t\t\t\t[ DispatchStatus.Success, DispatchStatus.Error ] as string[]\n\t\t\t ).indexOf( status ) >= 0\n\t\t);\n\t},\n\t( state: State, actionName: StoreActionNames ) => [\n\t\tstate.dispatchStatus,\n\t\tactionName,\n\t]\n);\n\n/**\n * Get dispatch action error if esists.\n *\n * @param {State} state State.\n * @param {StoreActionNames} actionName Action name.\n *\n * @return {string | undefined} Error.\n */\nexport const getDispatchError = (\n\tstate: State,\n\tactionName: StoreActionNames\n): string | undefined => state?.dispatchStatus?.[ actionName ]?.error;\n","import { createReduxStore } from '@wordpress/data';\n\nimport reducer from './reducer';\nimport * as actions from './actions';\nimport * as resolvers from './resolvers';\nimport * as selectors from './selectors';\nimport { initialState, STORE_NAME } from './constants';\n\nimport type { StoreActions, StoreSelectors, StoreState } from './types';\n\nconst storeConfig = () => ( {\n\tinitialState,\n\treducer,\n\tactions,\n\tselectors,\n\tresolvers,\n} );\n\n/**\n * Store definition for the License data namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n */\nconst store = createReduxStore< StoreState, StoreActions, StoreSelectors >(\n\tSTORE_NAME,\n\tstoreConfig()\n);\n\nexport default store;\n","export const apiPath = ( subpath = '' ) => {\n\tif ( subpath ) {\n\t\tsubpath = `/${ subpath }`;\n\t}\n\n\treturn `popup-maker/v2/license${ subpath }`;\n};\n","import { cloneDeep, mergeWith } from 'lodash';\nimport { compare as jsonpatchCompare } from 'fast-json-patch';\n\nimport { __, sprintf } from '@popup-maker/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nimport { ACTION_TYPES, NOTICE_CONTEXT } from './constants';\n\nimport { DispatchStatus } from '../constants';\nimport { fetchFromApi, getErrorMessage } from '../utils';\nimport { validatePopup } from './validation';\nimport { editableEntity } from './utils';\n\nimport type { EditorId, Notice } from '../types';\nimport type {\n\tPopup,\n\tThunkAction,\n\tEditablePopup,\n\tPartialEditablePopup,\n} from './types';\nimport { EditRecordAction } from './reducer';\n\n// import type { EditRecordAction } from './reducer';\n\nconst {\n\tRECEIVE_RECORD,\n\tPURGE_RECORD,\n\tEDITOR_CHANGE_ID,\n\tEDIT_RECORD,\n\tSTART_EDITING_RECORD,\n\tSAVE_EDITED_RECORD,\n\tUNDO_EDIT_RECORD,\n\tREDO_EDIT_RECORD,\n\tRESET_EDIT_RECORD,\n\tCHANGE_ACTION_STATUS,\n\tINVALIDATE_RESOLUTION,\n} = ACTION_TYPES;\n\n/*****************************************************\n * SECTION: Entity actions\n *****************************************************/\n\n/**\n * Create a new entity record. Values sent to the server immediately.\n *\n * @param {Editable} popup The entity to create.\n * @param {boolean} validate An optional validation function.\n * @param {boolean} withNotices Whether to show notices.\n * @return {Promise<Popup< 'edit' > | false>} The created entity or false if validation fails.\n */\nexport const createPopup =\n\t(\n\t\tpopup: Partial< EditablePopup >,\n\t\tvalidate: boolean = true,\n\t\twithNotices: boolean = true\n\t): ThunkAction< Popup< 'edit' > | false > =>\n\tasync ( { dispatch, registry } ) => {\n\t\tconst action = 'createPopup';\n\n\t\ttry {\n\t\t\tdispatch( {\n\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\tpayload: {\n\t\t\t\t\tactionName: action,\n\t\t\t\t\tstatus: DispatchStatus.Resolving,\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tconst { id, ...newPopup } = popup;\n\n\t\t\tif ( validate ) {\n\t\t\t\tconst validation = validatePopup( newPopup );\n\n\t\t\t\tif ( true !== validation ) {\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\t\tmessage: validation.message,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\tif ( withNotices ) {\n\t\t\t\t\t\tawait dispatch.createErrorNotice( validation.message, {\n\t\t\t\t\t\t\tid: 'popup-validation-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst result = await fetchFromApi< Popup< 'edit' > >(\n\t\t\t\t`popups?context=edit`,\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tdata: newPopup,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( result ) {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\tstatus: DispatchStatus.Success,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\tif ( withNotices ) {\n\t\t\t\t\t\tdispatch.createSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: popup title.\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Popup \"%s\" saved successfully.',\n\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tdecodeEntities( result?.title.rendered )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'popup-saved',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: RECEIVE_RECORD,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\trecord: result,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t} );\n\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tdispatch( {\n\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\tpayload: {\n\t\t\t\t\tactionName: action,\n\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'An error occurred, popup was not saved.',\n\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage = getErrorMessage( error );\n\n\t\t\tdispatch( {\n\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\tpayload: {\n\t\t\t\t\tactionName: action,\n\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\tmessage: errorMessage,\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tif ( withNotices ) {\n\t\t\t\t// Generate a generic error notice.\n\t\t\t\tdispatch.createErrorNotice( errorMessage );\n\t\t\t}\n\n\t\t\tthrow error;\n\t\t}\n\n\t\treturn false;\n\t};\n\n/**\n * Update an existing entity record. Values sent to the server immediately.\n *\n * @param {PartialEditablePopup} popup The entity to update.\n * @param {boolean} validate An optional validation function.\n * @param {boolean} withNotices Whether to show notices.\n * @return {Promise<T | boolean>} The updated entity or false if validation fails.\n */\nexport const updatePopup =\n\t(\n\t\tpopup: PartialEditablePopup,\n\t\tvalidate: boolean = true,\n\t\twithNotices: boolean = true\n\t): ThunkAction< Popup< 'edit' > | false > =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tconst action = 'updatePopup';\n\n\t\ttry {\n\t\t\tdispatch( {\n\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\tpayload: {\n\t\t\t\t\tactionName: action,\n\t\t\t\t\tstatus: DispatchStatus.Resolving,\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tif ( validate ) {\n\t\t\t\tconst validation = validatePopup( popup );\n\n\t\t\t\tif ( true !== validation ) {\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\t\tmessage: validation.message,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\tif ( withNotices ) {\n\t\t\t\t\t\tawait dispatch.createErrorNotice( validation.message, {\n\t\t\t\t\t\t\tid: 'popup-validation-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst canonicalPopup = await select.getPopup( popup.id );\n\n\t\t\tif ( ! canonicalPopup ) {\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\tmessage: __( 'Popup not found', 'popup-maker' ),\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst result = await fetchFromApi< Popup< 'edit' > >(\n\t\t\t\t`popups/${ canonicalPopup.id }`,\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tdata: popup,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( result ) {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\tstatus: DispatchStatus.Success,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t} );\n\n\t\t\t\tif ( withNotices ) {\n\t\t\t\t\tdispatch.createSuccessNotice(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t// translators: %s: popup title.\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Popup \"%s\" updated successfully.',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tdecodeEntities( result?.title.rendered )\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'popup-saved',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: RECEIVE_RECORD,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\trecord: result,\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tdispatch( {\n\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\tpayload: {\n\t\t\t\t\tactionName: action,\n\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'An error occurred, popup was not saved.',\n\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage = getErrorMessage( error );\n\n\t\t\tdispatch( {\n\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\tpayload: {\n\t\t\t\t\tactionName: action,\n\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\tmessage: errorMessage,\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tif ( withNotices ) {\n\t\t\t\t// Generate a generic error notice.\n\t\t\t\tdispatch.createErrorNotice( errorMessage );\n\t\t\t}\n\n\t\t\tthrow error;\n\t\t}\n\n\t\treturn false;\n\t};\n\n/**\n * Delete an existing entity record.\n *\n * @param {number} id The entity ID.\n * @param {boolean} forceDelete Whether to force the deletion.\n * @param {boolean} withNotices Whether to show notices.\n * @return {Promise<boolean>} Whether the deletion was successful.\n */\nexport const deletePopup =\n\t(\n\t\tid: number,\n\t\tforceDelete: boolean = false,\n\t\twithNotices: boolean = true\n\t): ThunkAction< boolean > =>\n\tasync ( { dispatch, registry } ) => {\n\t\tconst action = 'deletePopup';\n\n\t\ttry {\n\t\t\tdispatch( {\n\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\tpayload: {\n\t\t\t\t\tactionName: action,\n\t\t\t\t\tstatus: DispatchStatus.Resolving,\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// Get the canonical directly from server to verify it exists.\n\t\t\tconst canonicalPopup = await fetchFromApi< Popup< 'edit' > >(\n\t\t\t\t`popups/${ id }?context=edit`\n\t\t\t);\n\n\t\t\tif ( ! canonicalPopup ) {\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\tmessage: __( 'Popup not found', 'popup-maker' ),\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst force = forceDelete ? '?force=true' : '';\n\n\t\t\tconst result = await fetchFromApi< boolean >(\n\t\t\t\t`popups/${ id }${ force }`,\n\t\t\t\t{\n\t\t\t\t\tmethod: 'DELETE',\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( result ) {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\tstatus: DispatchStatus.Success,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\tif ( withNotices ) {\n\t\t\t\t\t\tdispatch.createSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: popup title.\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Popup \"%s\" deleted successfully.',\n\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tdecodeEntities( canonicalPopup?.title.rendered )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'popup-deleted',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( forceDelete ) {\n\t\t\t\t\t\tdispatch( {\n\t\t\t\t\t\t\ttype: PURGE_RECORD,\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatch( {\n\t\t\t\t\t\t\ttype: RECEIVE_RECORD,\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\trecord: {\n\t\t\t\t\t\t\t\t\t...canonicalPopup,\n\t\t\t\t\t\t\t\t\tstatus: 'trash',\n\t\t\t\t\t\t\t\t},\n\t\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}\n\n\t\t\treturn result;\n\t\t} catch ( error ) {\n\t\t\t// await dispatch.failResolution( action, operation );\n\t\t\tdispatch( {\n\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\tpayload: {\n\t\t\t\t\tactionName: action,\n\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\tmessage: __( 'Popup not found', 'popup-maker' ),\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tif ( withNotices ) {\n\t\t\t\tawait dispatch.createErrorNotice(\n\t\t\t\t\terror instanceof Error\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: __( 'Failed to delete entity', 'popup-maker' )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthrow error;\n\t\t}\n\t};\n\n/*****************************************************\n * SECTION: Editor actions\n * REVIEW: ALL OF THESE ACTIONS NEED TO BE REFACTORED TO USE THE NEW THUNK ACTIONS.\n *****************************************************/\n\n/**\n * Edit an existing entity record. Values are not sent to the server until save.\n *\n * @param {number} id The entity ID.\n * @param {Partial<EditablePopup>} edits The edits to apply.\n * @return {Promise<boolean>} Whether the edit was successful.\n */\nexport const editRecord =\n\t( id: number, edits: Partial< EditablePopup > ): ThunkAction =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\ttry {\n\t\t\tlet canonicalPopup: EditablePopup | undefined;\n\t\t\tconst hasEditedEntity = select.hasEditedEntity( id );\n\n\t\t\tif ( hasEditedEntity ) {\n\t\t\t\tcanonicalPopup = select.getEditedPopup( id ) as EditablePopup;\n\t\t\t} else {\n\t\t\t\tcanonicalPopup = await fetchFromApi<\n\t\t\t\t\tPopup< 'edit' > & { _links: any }\n\t\t\t\t>( `popups/${ id }?context=edit` ).then( ( result ) =>\n\t\t\t\t\t// Convert to editable entity if found.\n\t\t\t\t\tresult\n\t\t\t\t\t\t? editableEntity< Popup< 'edit' > >( result )\n\t\t\t\t\t\t: undefined\n\t\t\t\t);\n\t\t\t\tif ( ! canonicalPopup ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tregistry.batch( async () => {\n\t\t\t\tif ( ! hasEditedEntity ) {\n\t\t\t\t\tawait dispatch( {\n\t\t\t\t\t\ttype: START_EDITING_RECORD,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\teditableEntity: canonicalPopup,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t// Create a new object with the edits deeply merged into the canonical entity\n\t\t\t\t// First clone the canonical entity, then deep merge the edits\n\t\t\t\tconst editedEntity = mergeWith(\n\t\t\t\t\t{},\n\t\t\t\t\tcloneDeep( canonicalPopup ),\n\t\t\t\t\tedits,\n\t\t\t\t\t( _objValue, srcValue ) => {\n\t\t\t\t\t\tif ( Array.isArray( srcValue ) ) {\n\t\t\t\t\t\t\t// Always replace arrays completely, even if empty\n\t\t\t\t\t\t\treturn srcValue.slice();\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\t// Force patches for empty arrays to ensure they are saved\n\t\t\t\tconst diff = jsonpatchCompare(\n\t\t\t\t\tcanonicalPopup ?? {},\n\t\t\t\t\teditedEntity\n\t\t\t\t);\n\n\t\t\t\tawait dispatch( {\n\t\t\t\t\ttype: EDIT_RECORD,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tedits: diff,\n\t\t\t\t\t},\n\t\t\t\t} as EditRecordAction );\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage = getErrorMessage( error );\n\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( 'Edit failed:', error );\n\n\t\t\tawait dispatch.createErrorNotice( errorMessage );\n\t\t}\n\t};\n\n/**\n * Save an edited entity record.\n *\n * @param {number} id The entity ID.\n * @param {boolean} validate An optional validation function.\n * @param {boolean} withNotices Whether to show notices.\n * @return {Promise<boolean>} Whether the save was successful.\n */\nexport const saveEditedRecord =\n\t(\n\t\tid: number,\n\t\tvalidate: boolean = true,\n\t\twithNotices: boolean = true\n\t): ThunkAction< boolean > =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tconst action = 'saveRecord';\n\n\t\ttry {\n\t\t\tdispatch( {\n\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\tpayload: {\n\t\t\t\t\tactionName: action,\n\t\t\t\t\tstatus: DispatchStatus.Resolving,\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tif ( ! select.hasEdits( id ) ) {\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\tmessage: __( 'No edits to save', 'popup-maker' ),\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst historyIndex = select.getCurrentEditHistoryIndex( id );\n\t\t\tconst editedPopup = select.getEditedPopup( id );\n\n\t\t\tif ( ! editedPopup ) {\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\tmessage: __( 'No edits to save', 'popup-maker' ),\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( editedPopup && validate ) {\n\t\t\t\tconst validation = validatePopup( editedPopup );\n\n\t\t\t\tif ( true !== validation ) {\n\t\t\t\t\tregistry.batch( async () => {\n\t\t\t\t\t\tdispatch( {\n\t\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\t\t\tmessage: validation.message,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tif ( withNotices ) {\n\t\t\t\t\t\t\tawait dispatch.createErrorNotice(\n\t\t\t\t\t\t\t\tvalidation.message,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: 'popup-validation-error',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst result = await dispatch.updatePopup(\n\t\t\t\teditedPopup,\n\t\t\t\tfalse,\n\t\t\t\tfalse\n\t\t\t);\n\n\t\t\tif ( result ) {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\t\tstatus: DispatchStatus.Success,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\tif ( withNotices ) {\n\t\t\t\t\t\tdispatch.createSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: popup title.\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Popup \"%s\" saved successfully.',\n\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tdecodeEntities( result?.title.rendered )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'popup-saved',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: SAVE_EDITED_RECORD,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\thistoryIndex,\n\t\t\t\t\t\t\teditedEntity: editableEntity( result ),\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t} );\n\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage = getErrorMessage( error );\n\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( 'Save failed:', error );\n\n\t\t\tregistry.batch( async () => {\n\t\t\t\tif ( withNotices ) {\n\t\t\t\t\tawait dispatch.createErrorNotice( errorMessage );\n\t\t\t\t}\n\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tactionName: action,\n\t\t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t\t\t\t\tmessage: errorMessage,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\tthrow error;\n\t\t}\n\t};\n\n/**\n * Undo the last action.\n *\n * @param {number} id The entity ID.\n * @param {number} steps The number of steps to undo.\n * @return {Promise<void>}\n */\nexport const undo =\n\t( id: number, steps: number = 1 ): ThunkAction =>\n\tasync ( { select, dispatch } ) => {\n\t\tconst popupId = id > 0 ? id : select.getEditorId();\n\n\t\tif ( typeof popupId === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait dispatch( {\n\t\t\ttype: UNDO_EDIT_RECORD,\n\t\t\tpayload: {\n\t\t\t\tid: popupId,\n\t\t\t\tsteps,\n\t\t\t},\n\t\t} );\n\t};\n\n/**\n * Redo the last action.\n *\n * @param {number} id The entity ID.\n * @param {number} steps The number of steps to redo.\n * @return {Promise<void>}\n */\nexport const redo =\n\t( id: number, steps: number = 1 ): ThunkAction =>\n\tasync ( { select, dispatch } ) => {\n\t\tconst popupId = id > 0 ? id : select.getEditorId();\n\n\t\tif ( typeof popupId === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait dispatch( {\n\t\t\ttype: REDO_EDIT_RECORD,\n\t\t\tpayload: {\n\t\t\t\tid: popupId,\n\t\t\t\tsteps,\n\t\t\t},\n\t\t} );\n\t};\n\n/**\n * Reset the edits for an entity record.\n *\n * @param {number} id The entity ID.\n * @return {Promise<void>}\n */\nexport const resetRecordEdits =\n\t( id: number ): ThunkAction =>\n\tasync ( { select, dispatch } ) => {\n\t\tconst popupId = id > 0 ? id : select.getEditorId();\n\n\t\tif ( typeof popupId === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: RESET_EDIT_RECORD,\n\t\t\tpayload: {\n\t\t\t\tid: popupId,\n\t\t\t},\n\t\t} );\n\t};\n\n/**\n * Update the editor values.\n *\n * @param {Partial<EditablePopup>} values The editor values.\n * @return {Promise<void>}\n */\nexport const updateEditorValues =\n\t( values: PartialEditablePopup ): ThunkAction< void > =>\n\tasync ( { dispatch, select } ) => {\n\t\tconst editorId = select.getEditorId();\n\n\t\tif ( typeof editorId === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdispatch.editRecord( editorId, values );\n\t};\n\n/**\n * Save the editor values.\n *\n * @return {Promise<boolean>} Whether the save was successful.\n */\nexport const saveEditorValues =\n\t(): ThunkAction< boolean > =>\n\tasync ( { dispatch, select } ) => {\n\t\tconst editorId = select.getEditorId();\n\t\tconst editorValues = select.getCurrentEditorValues();\n\n\t\tif ( ! editorId || ! editorValues ) {\n\t\t\tdispatch.createErrorNotice(\n\t\t\t\t__( 'No editor values to save', 'popup-maker' )\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\n\t\treturn dispatch.saveEditedRecord( editorId );\n\t};\n\n/**\n * Reset the editor values.\n *\n * @return {Promise<void>}\n */\nexport const resetEditorValues =\n\t(): ThunkAction< void > =>\n\tasync ( { dispatch, select } ) => {\n\t\tconst editorId = select.getEditorId();\n\n\t\tif ( typeof editorId === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdispatch.resetRecordEdits( editorId );\n\t};\n\n/**\n * Change the editor ID.\n *\n * @param {EditorId} editorId The editor ID.\n * @return {Promise<void>}\n */\nexport const changeEditorId =\n\t( editorId: EditorId ): ThunkAction< void > =>\n\tasync ( { select, dispatch } ) => {\n\t\ttry {\n\t\t\tif ( typeof editorId === 'undefined' ) {\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: EDITOR_CHANGE_ID,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\teditorId: undefined,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( ! select.hasEditedEntity( editorId ) ) {\n\t\t\t\tconst entity = await fetchFromApi< Popup< 'edit' > >(\n\t\t\t\t\t`popups/${ editorId }?context=edit`\n\t\t\t\t);\n\n\t\t\t\tif ( ! entity ) {\n\t\t\t\t\tdispatch.createErrorNotice(\n\t\t\t\t\t\t__( 'Popup not found', 'popup-maker' )\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: START_EDITING_RECORD,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tid: editorId,\n\t\t\t\t\t\teditableEntity: editableEntity( entity ),\n\t\t\t\t\t\tsetEditorId: true,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tdispatch( {\n\t\t\t\ttype: EDITOR_CHANGE_ID,\n\t\t\t\tpayload: {\n\t\t\t\t\teditorId,\n\t\t\t\t},\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage = getErrorMessage( error );\n\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( 'Failed to change editor ID:', error );\n\n\t\t\tdispatch.createErrorNotice( errorMessage );\n\t\t}\n\t};\n\n/*****************************************************\n * SECTION: Notice actions\n *****************************************************/\n\n/**\n * Create a notice.\n *\n * @param {Notice[ 'status' ]} status The notice status.\n * @param {Notice[ 'content' ]} content The notice content.\n * @param {Notice} options The notice options.\n * @return {Promise<void>}\n */\nexport const createNotice =\n\t(\n\t\t/**\n\t\t * Notice status.\n\t\t */\n\t\tstatus: Notice[ 'status' ] = 'info',\n\t\t/**\n\t\t * Notice content.\n\t\t */\n\t\tcontent: Notice[ 'content' ] = '',\n\t\t/**\n\t\t * Notice options.\n\t\t */\n\t\toptions?: Notice\n\t): ThunkAction =>\n\tasync ( { registry } ) => {\n\t\tregistry.dispatch( noticesStore ).createNotice( status, content, {\n\t\t\t...options,\n\t\t\tcontext: NOTICE_CONTEXT,\n\t\t} );\n\t};\n\n/**\n * Create an error notice.\n *\n * @param {string} content The notice content.\n * @param {Omit<Notice, 'status' | 'content'>} options The notice options.\n * @return {Promise<void>}\n */\nexport const createErrorNotice =\n\t(\n\t\t/**\n\t\t * Notice content.\n\t\t */\n\t\tcontent: string,\n\t\t/**\n\t\t * Notice options.\n\t\t */\n\t\toptions?: Omit< Notice, 'status' | 'content' >\n\t): ThunkAction =>\n\tasync ( { registry } ) => {\n\t\tregistry.dispatch( noticesStore ).createNotice( 'error', content, {\n\t\t\t...options,\n\t\t\tcontext: NOTICE_CONTEXT,\n\t\t} );\n\t};\n\n/**\n * Create a success notice.\n *\n * @param {string} content The notice content.\n * @param {Omit<Notice, 'status' | 'content'>} options The notice options.\n * @return {Promise<void>}\n */\nexport const createSuccessNotice =\n\t(\n\t\t/**\n\t\t * Notice content.\n\t\t */\n\t\tcontent: string,\n\t\t/**\n\t\t * Notice options.\n\t\t */\n\t\toptions?: Omit< Notice, 'status' | 'content' >\n\t): ThunkAction =>\n\tasync ( { registry } ) => {\n\t\tregistry.dispatch( noticesStore ).createNotice( 'success', content, {\n\t\t\t...options,\n\t\t\tcontext: NOTICE_CONTEXT,\n\t\t} );\n\t};\n\n/**\n * Remove a notice for a given context.\n *\n * @param {string} id The notice ID.\n * @return {Promise<void>}\n */\nexport const removeNotice =\n\t( id: string ): ThunkAction =>\n\tasync ( { registry } ) => {\n\t\tregistry.dispatch( noticesStore ).removeNotice( id, NOTICE_CONTEXT );\n\t};\n\n/**\n * Remove all notices for a given context.\n *\n * @param {string[]} ids The notice IDs.\n * @return {Promise<void>}\n */\nexport const removeAllNotices =\n\t( ids?: string[] ): ThunkAction =>\n\tasync ( { registry } ) => {\n\t\tif ( ids ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.removeNotices( ids, NOTICE_CONTEXT );\n\t\t} else {\n\t\t\tconst notices = registry\n\t\t\t\t.select( noticesStore )\n\t\t\t\t.getNotices( NOTICE_CONTEXT );\n\t\t\tconst noticeIds = notices.map( ( notice ) => notice.id );\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.removeNotices( noticeIds, NOTICE_CONTEXT );\n\t\t}\n\t};\n\n/*****************************************************\n * SECTION: Resolution actions\n *****************************************************/\n\n/**\n * Change status of a dispatch action request.\n *\n * @param {PopupsStore[ 'ActionNames' ]} actionName Action name to change status of.\n * @param {Statuses} status New status.\n * @param {string|undefined} message Optional error message.\n * @return {Object} Action object.\n */\nexport const changeActionStatus =\n\t(\n\t\tactionName: string,\n\t\tstatus: DispatchStatus,\n\t\tmessage?: string | { message: string; [ key: string ]: any }\n\t): ThunkAction =>\n\t( { dispatch } ) => {\n\t\tif ( message ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log( actionName, message );\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\tpayload: {\n\t\t\t\tactionName,\n\t\t\t\tstatus,\n\t\t\t\tmessage,\n\t\t\t},\n\t\t} );\n\t};\n\n/**\n * Invalidate resolution for an entity.\n *\n * @param {number | string} id The entity ID.\n * @return {Promise<void>}\n */\nexport const invalidateResolution =\n\t( id: number | string ): ThunkAction =>\n\t( { dispatch } ) => {\n\t\tdispatch( {\n\t\t\ttype: INVALIDATE_RESOLUTION,\n\t\t\tpayload: {\n\t\t\t\tid,\n\t\t\t},\n\t\t} );\n\t};\n\nexport default {\n\t/*****************************************************\n\t * SECTION: Entity actions\n\t *****************************************************/\n\tcreatePopup,\n\tupdatePopup,\n\tdeletePopup,\n\n\t/*****************************************************\n\t * SECTION: Editor actions\n\t *****************************************************/\n\teditRecord,\n\tsaveEditedRecord,\n\tundo,\n\tredo,\n\tresetRecordEdits,\n\tupdateEditorValues,\n\tsaveEditorValues,\n\tresetEditorValues,\n\tchangeEditorId,\n\n\t/*****************************************************\n\t * SECTION: Notice actions\n\t *****************************************************/\n\tcreateNotice,\n\tcreateErrorNotice,\n\tcreateSuccessNotice,\n\tremoveNotice,\n\tremoveAllNotices,\n\n\t/*****************************************************\n\t * SECTION: Resolution actions\n\t *****************************************************/\n\tchangeActionStatus,\n\tinvalidateResolution,\n};\n","import type { State } from './reducer';\nimport type { EditablePopup } from './types';\n\nexport const STORE_NAME = 'popup-maker/popups';\nexport const NOTICE_CONTEXT = 'pum-popup-editor';\n\n// Entity actions.\nexport const RECEIVE_RECORD = 'RECEIVE_RECORD';\nexport const RECEIVE_RECORDS = 'RECEIVE_RECORDS';\nexport const RECEIVE_QUERY_RECORDS = 'RECEIVE_QUERY_RECORDS';\nexport const RECEIVE_ERROR = 'RECEIVE_ERROR';\nexport const PURGE_RECORD = 'PURGE_RECORD';\nexport const PURGE_RECORDS = 'PURGE_RECORDS';\n\n// Editor actions.\nexport const EDITOR_CHANGE_ID = 'EDITOR_CHANGE_ID';\nexport const EDIT_RECORD = 'EDIT_RECORD';\nexport const START_EDITING_RECORD = 'START_EDITING_RECORD';\nexport const SAVE_EDITED_RECORD = 'SAVE_EDITED_RECORD';\nexport const UNDO_EDIT_RECORD = 'UNDO_EDIT_RECORD';\nexport const REDO_EDIT_RECORD = 'REDO_EDIT_RECORD';\nexport const RESET_EDIT_RECORD = 'RESET_EDIT_RECORD';\n\n// Resolution actions.\nexport const CHANGE_ACTION_STATUS = 'CHANGE_ACTION_STATUS';\nexport const START_RESOLUTION = 'START_RESOLUTION';\nexport const FINISH_RESOLUTION = 'FINISH_RESOLUTION';\nexport const FAIL_RESOLUTION = 'FAIL_RESOLUTION';\nexport const INVALIDATE_RESOLUTION = 'INVALIDATE_RESOLUTION';\n\nexport const ACTION_TYPES: {\n\t// Entity actions\n\tRECEIVE_RECORD: typeof RECEIVE_RECORD;\n\tRECEIVE_RECORDS: typeof RECEIVE_RECORDS;\n\tRECEIVE_QUERY_RECORDS: typeof RECEIVE_QUERY_RECORDS;\n\tRECEIVE_ERROR: typeof RECEIVE_ERROR;\n\tPURGE_RECORD: typeof PURGE_RECORD;\n\tPURGE_RECORDS: typeof PURGE_RECORDS;\n\n\t// Editor actions\n\tEDITOR_CHANGE_ID: typeof EDITOR_CHANGE_ID;\n\tEDIT_RECORD: typeof EDIT_RECORD;\n\tSTART_EDITING_RECORD: typeof START_EDITING_RECORD;\n\tSAVE_EDITED_RECORD: typeof SAVE_EDITED_RECORD;\n\tUNDO_EDIT_RECORD: typeof UNDO_EDIT_RECORD;\n\tREDO_EDIT_RECORD: typeof REDO_EDIT_RECORD;\n\tRESET_EDIT_RECORD: typeof RESET_EDIT_RECORD;\n\t// Resolution actions\n\tCHANGE_ACTION_STATUS: typeof CHANGE_ACTION_STATUS;\n\tSTART_RESOLUTION: typeof START_RESOLUTION;\n\tFINISH_RESOLUTION: typeof FINISH_RESOLUTION;\n\tFAIL_RESOLUTION: typeof FAIL_RESOLUTION;\n\tINVALIDATE_RESOLUTION: typeof INVALIDATE_RESOLUTION;\n} = {\n\tRECEIVE_RECORD,\n\tRECEIVE_RECORDS,\n\tRECEIVE_QUERY_RECORDS,\n\tRECEIVE_ERROR,\n\tPURGE_RECORDS,\n\tPURGE_RECORD,\n\tEDITOR_CHANGE_ID,\n\tEDIT_RECORD,\n\tSTART_EDITING_RECORD,\n\tSAVE_EDITED_RECORD,\n\tUNDO_EDIT_RECORD,\n\tREDO_EDIT_RECORD,\n\tRESET_EDIT_RECORD,\n\tCHANGE_ACTION_STATUS,\n\tSTART_RESOLUTION,\n\tFINISH_RESOLUTION,\n\tFAIL_RESOLUTION,\n\tINVALIDATE_RESOLUTION,\n};\n\n/**\n * Initial state for the popups store.\n */\nexport const initialState: State = {\n\tbyId: {},\n\tallIds: [],\n\tqueries: {},\n\teditorId: undefined,\n\teditedEntities: {},\n\teditHistory: {},\n\teditHistoryIndex: {},\n\tresolutionState: {},\n\tnotices: {},\n\terrors: {\n\t\tglobal: null,\n\t\tbyId: {},\n\t},\n};\n\n/**\n * Default values for a new notice.\n */\nexport const noticeDefaults = {\n\tid: '',\n\tmessage: '',\n\ttype: 'info',\n\tisDismissible: true,\n};\n\n/**\n * Default values for a new popup.\n *\n * This should be kept in sync with the settings in the PHP code.\n *\n * @see /classes/Models/Popup.php\n * @see /includes/namespaced/default-values.php\n * @see /classes/Model/Popup.php\n * @see /includes/functions/install.php:get_default_popup_settings()\n */\nexport const defaultValues: EditablePopup = {\n\tid: 0,\n\tuuid: '',\n\tslug: '',\n\ttitle: '',\n\tcontent: '',\n\texcerpt: '',\n\tstatus: 'draft',\n\tenabled: false,\n\tsettings: {\n\t\tconditions: {\n\t\t\tlogicalOperator: 'or',\n\t\t\titems: [],\n\t\t},\n\t},\n\t// Required Post fields\n\tdate: null,\n\tdate_gmt: null,\n\tguid: '',\n\tlink: '',\n\tmodified: '',\n\tmodified_gmt: '',\n\ttype: 'popup',\n\tauthor: 0,\n\tgenerated_slug: '',\n\tpermalink_template: '',\n\tpassword: '',\n\tfeatured_media: 0,\n\tcomment_status: 'open',\n\tping_status: 'open',\n\tformat: 'standard',\n\tmeta: {},\n\tsticky: false,\n\ttemplate: '',\n\tcategories: [],\n\ttags: [],\n};\n","import type {\n\tCurriedSelectorsOf,\n\tDispatchReturn,\n} from '@wordpress/data/src/types';\n\nexport { default as popupStore } from './store';\nexport * from './validation';\n\nexport {\n\tdefaultValues as defaultPopupValues,\n\tSTORE_NAME as POPUP_STORE,\n} from './constants';\n\nexport type * from './types/posttype';\n\nimport type { StoreDescriptor, StoreState } from './types/store';\n\ntype Selectors = CurriedSelectorsOf< StoreDescriptor >;\ntype Actions = DispatchReturn< StoreDescriptor >;\n\nexport type {\n\tStoreDescriptor as PopupStore,\n\tStoreState as PopupStoreState,\n\tSelectors as PopupStoreSelectors,\n\tActions as PopupStoreActions,\n};\n","import { ACTION_TYPES, initialState } from './constants';\n\nimport type { DispatchStatuses, ResolutionState } from '../constants';\nimport type { EditorId, Notice, GetRecordsHttpQuery } from '../types';\nimport type { Popup, EditablePopup } from './types';\nimport type { Operation } from 'fast-json-patch';\n\nconst {\n\tRECEIVE_RECORD,\n\tRECEIVE_RECORDS,\n\tRECEIVE_QUERY_RECORDS,\n\tRECEIVE_ERROR,\n\tPURGE_RECORD,\n\tPURGE_RECORDS,\n\tEDITOR_CHANGE_ID,\n\tEDIT_RECORD,\n\tSTART_EDITING_RECORD,\n\tSAVE_EDITED_RECORD,\n\tUNDO_EDIT_RECORD,\n\tREDO_EDIT_RECORD,\n\tRESET_EDIT_RECORD,\n\tINVALIDATE_RESOLUTION,\n\tCHANGE_ACTION_STATUS,\n} = ACTION_TYPES;\n\n/**\n * The shape of the state for the popups store.\n */\nexport type State = {\n\t/**\n\t * The popups by ID.\n\t */\n\tbyId: Record< number, Popup< 'edit' > >;\n\n\t/**\n\t * The IDs of all the popups.\n\t */\n\tallIds: number[];\n\n\t/**\n\t * The queries for the popups.\n\t */\n\tqueries?: Record< string, number[] >;\n\n\t/**\n\t * The ID of the editor.\n\t */\n\teditorId: number | undefined;\n\n\t/**\n\t * The edited entities.\n\t */\n\teditedEntities: Record< number, EditablePopup >;\n\n\t/**\n\t * The edit history for each popup.\n\t *\n\t * Each edit is an object with the same shape as the editable entity, but without the `id` property.\n\t */\n\teditHistory: Record< number, Operation[][] >;\n\n\t/**\n\t * The index of the current edit for each popup.\n\t */\n\teditHistoryIndex: Record< number, number >;\n\n\t/**\n\t * The resolution state for each operation.\n\t */\n\tresolutionState: Record< string | number, ResolutionState >;\n\n\t/**\n\t * The notices for the popups.\n\t */\n\tnotices: Record< string, Notice >;\n\n\t/**\n\t * The errors for the call to actions.\n\t */\n\terrors: {\n\t\tglobal: string | null;\n\t\tbyId: { [ id: number ]: string };\n\t};\n};\n\ntype BaseAction = {\n\ttype: keyof typeof ACTION_TYPES;\n\tpayload?: Record< string, any >;\n};\n\nexport type ReceiveRecordAction = BaseAction & {\n\ttype: typeof RECEIVE_RECORD;\n\tpayload: {\n\t\trecord: Popup< 'edit' >;\n\t};\n};\n\nexport type ReceiveRecordsAction = BaseAction & {\n\ttype: typeof RECEIVE_RECORDS;\n\tpayload: {\n\t\trecords: Popup< 'edit' >[];\n\t};\n};\n\nexport type ReceiveErrorAction = BaseAction & {\n\ttype: typeof RECEIVE_ERROR;\n\tpayload: {\n\t\tid?: number;\n\t\terror: string;\n\t};\n};\n\nexport type ReceiveQueryRecordsAction = BaseAction & {\n\ttype: typeof RECEIVE_QUERY_RECORDS;\n\tpayload: {\n\t\tquery: GetRecordsHttpQuery;\n\t\trecords: Popup< 'edit' >[];\n\t};\n};\n\nexport type PurgeRecordAction = BaseAction & {\n\ttype: typeof PURGE_RECORD;\n\tpayload: {\n\t\tid: Popup[ 'id' ];\n\t};\n};\n\nexport type PurgeRecordsAction = BaseAction & {\n\ttype: typeof PURGE_RECORDS;\n\tpayload: {\n\t\tids: Popup[ 'id' ][];\n\t};\n};\n\nexport type ChangeEditorAction = BaseAction & {\n\ttype: typeof EDITOR_CHANGE_ID;\n\tpayload: {\n\t\teditorId: EditorId;\n\t};\n};\n\nexport type StartEditingRecordAction = BaseAction & {\n\ttype: typeof START_EDITING_RECORD;\n\tpayload: {\n\t\tid: number;\n\t\teditableEntity: EditablePopup;\n\t\tsetEditorId: boolean;\n\t};\n};\n\nexport type EditRecordAction = BaseAction & {\n\ttype: typeof EDIT_RECORD;\n\tpayload: {\n\t\tid: number;\n\t\tedits: Operation[];\n\t};\n};\n\nexport type UndoEditRecordAction = BaseAction & {\n\ttype: typeof UNDO_EDIT_RECORD;\n\tpayload: {\n\t\tid: number;\n\t\tsteps: number;\n\t};\n};\n\nexport type RedoEditRecordAction = BaseAction & {\n\ttype: typeof REDO_EDIT_RECORD;\n\tpayload: {\n\t\tid: number;\n\t\tsteps: number;\n\t};\n};\n\nexport type ResetEditRecordAction = BaseAction & {\n\ttype: typeof RESET_EDIT_RECORD;\n\tpayload: {\n\t\tid: number;\n\t};\n};\n\nexport type SaveEditedRecordAction = BaseAction & {\n\ttype: typeof SAVE_EDITED_RECORD;\n\tpayload: {\n\t\tid: number;\n\t\thistoryIndex: number;\n\t\teditedEntity: EditablePopup;\n\t};\n};\n\nexport type ChangeActionStatusAction = BaseAction & {\n\ttype: typeof CHANGE_ACTION_STATUS;\n\tpayload: {\n\t\tactionName: string;\n\t\tstatus: DispatchStatuses;\n\t\tmessage?: string;\n\t};\n};\n\n// export type StartResolutionAction = BaseAction & {\n// \ttype: typeof START_RESOLUTION;\n// \tpayload: {\n// \t\tid: number | string;\n// \t\toperation: string;\n// \t};\n// };\n\n// export type FinishResolutionAction = BaseAction & {\n// \ttype: typeof FINISH_RESOLUTION;\n// \tpayload: {\n// \t\tid: number | string;\n// \t\toperation: string;\n// \t};\n// };\n\n// export type FailResolutionAction = BaseAction & {\n// \ttype: typeof FAIL_RESOLUTION;\n// \tpayload: {\n// \t\tid: number | string;\n// \t\toperation: string;\n// \t\terror: string;\n// \t\textra?: Record< string, any >;\n// \t};\n// };\n\nexport type InvalidateResolutionAction = BaseAction & {\n\ttype: typeof INVALIDATE_RESOLUTION;\n\tpayload: {\n\t\tid: number | string;\n\t\toperation: string;\n\t};\n};\n\nexport type ReducerAction =\n\t| ReceiveRecordAction\n\t| ReceiveRecordsAction\n\t| ReceiveQueryRecordsAction\n\t| ReceiveErrorAction\n\t| PurgeRecordAction\n\t| PurgeRecordsAction\n\t| ChangeEditorAction\n\t| StartEditingRecordAction\n\t| EditRecordAction\n\t| UndoEditRecordAction\n\t| RedoEditRecordAction\n\t| ResetEditRecordAction\n\t| SaveEditedRecordAction\n\t| ChangeActionStatusAction\n\t| InvalidateResolutionAction;\n\nexport const reducer = (\n\tstate: State = initialState,\n\taction: ReducerAction\n): State => {\n\tswitch ( action.type ) {\n\t\tcase RECEIVE_RECORD: {\n\t\t\tconst { record } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tbyId: {\n\t\t\t\t\t...state.byId,\n\t\t\t\t\t[ record.id ]: record,\n\t\t\t\t},\n\t\t\t\tallIds: state.allIds.includes( record.id )\n\t\t\t\t\t? state.allIds\n\t\t\t\t\t: [ ...state.allIds, record.id ],\n\t\t\t};\n\t\t}\n\n\t\tcase RECEIVE_RECORDS:\n\t\tcase RECEIVE_QUERY_RECORDS: {\n\t\t\tconst { records, query = false } = action.payload;\n\n\t\t\t// Add the new records to the byId object.\n\t\t\tconst byId = records.reduce< Record< number, Popup< 'edit' > > >(\n\t\t\t\t( acc, record ) => ( {\n\t\t\t\t\t...acc,\n\t\t\t\t\t[ record.id ]: record,\n\t\t\t\t} ),\n\t\t\t\tstate.byId\n\t\t\t);\n\n\t\t\t// Add the new records to the allIds array.\n\t\t\tconst allIds = Array.from(\n\t\t\t\tnew Set( [ ...state.allIds, ...records.map( ( r ) => r.id ) ] )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tallIds,\n\t\t\t\tbyId,\n\t\t\t\tqueries: query\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t...state.queries,\n\t\t\t\t\t\t\t[ JSON.stringify( query ) ]: records.map(\n\t\t\t\t\t\t\t\t( r ) => r.id\n\t\t\t\t\t\t\t),\n\t\t\t\t\t }\n\t\t\t\t\t: state.queries,\n\t\t\t};\n\t\t}\n\n\t\tcase RECEIVE_ERROR: {\n\t\t\tconst { error, id = false } = action.payload;\n\t\t\t// Ensure existing errors state or initialize if undefined\n\t\t\tconst prevErrors = state.errors || { global: null, byId: {} };\n\t\t\tconst newById = { ...prevErrors.byId };\n\t\t\tif ( id ) {\n\t\t\t\tnewById[ id ] = error;\n\t\t\t} else {\n\t\t\t\t// No id provided, set the global error\n\t\t\t\tprevErrors.global = error;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\terrors: {\n\t\t\t\t\tglobal: id ? prevErrors.global : error,\n\t\t\t\t\tbyId: newById,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tcase PURGE_RECORDS:\n\t\tcase PURGE_RECORD: {\n\t\t\tconst { ids = [], id = null } = action.payload;\n\n\t\t\tif ( id && id > 0 ) {\n\t\t\t\tids.push( id );\n\t\t\t}\n\n\t\t\tif ( ids.length === 0 ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\t// Remove the entity from the allIds array.\n\t\t\tconst allIds = state.allIds.filter(\n\t\t\t\t( _id ) => ! ids.includes( _id )\n\t\t\t);\n\n\t\t\t// Remove the entity from the byId object.\n\t\t\tconst byId = Object.fromEntries(\n\t\t\t\tObject.entries( state.byId ).filter(\n\t\t\t\t\t( [ _id ] ) => ! ids.includes( _id )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\t// Remove the entity from the editedEntities object.\n\t\t\tconst editedEntities = Object.fromEntries(\n\t\t\t\tObject.entries( state.editedEntities ).filter(\n\t\t\t\t\t( [ _id ] ) => ! ids.includes( _id )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\t// Remove the entity from the editHistory object.\n\t\t\tconst editHistory = Object.fromEntries(\n\t\t\t\tObject.entries( state.editHistory ).filter(\n\t\t\t\t\t( [ _id ] ) => ! ids.includes( _id )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\t// Remove the entity from the editHistoryIndex object.\n\t\t\tconst editHistoryIndex = Object.fromEntries(\n\t\t\t\tObject.entries( state.editHistoryIndex ).filter(\n\t\t\t\t\t( [ _id ] ) => ! ids.includes( _id )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tbyId,\n\t\t\t\tallIds,\n\t\t\t\teditedEntities,\n\t\t\t\teditHistory,\n\t\t\t\teditHistoryIndex,\n\t\t\t};\n\t\t}\n\n\t\tcase EDITOR_CHANGE_ID: {\n\t\t\tconst { editorId } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\teditorId,\n\t\t\t};\n\t\t}\n\n\t\tcase START_EDITING_RECORD: {\n\t\t\tconst { id, editableEntity, setEditorId } = action.payload;\n\n\t\t\tconst newState = {\n\t\t\t\t...state,\n\t\t\t\teditedEntities: {\n\t\t\t\t\t...state.editedEntities,\n\t\t\t\t\t[ id ]: editableEntity,\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tif ( ! setEditorId ) {\n\t\t\t\treturn newState;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...newState,\n\t\t\t\teditorId: id,\n\t\t\t};\n\t\t}\n\n\t\tcase EDIT_RECORD: {\n\t\t\tconst { id, edits } = action.payload;\n\n\t\t\tconst editHistory = state.editHistory[ id ] ?? [];\n\t\t\tconst currentIndex = state.editHistoryIndex[ id ] ?? -1;\n\n\t\t\t// If we're not at the end of history, we need to clear future edits\n\t\t\tconst newEditHistory =\n\t\t\t\tcurrentIndex < editHistory.length - 1\n\t\t\t\t\t? editHistory.slice( 0, currentIndex + 1 )\n\t\t\t\t\t: editHistory;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\teditHistory: {\n\t\t\t\t\t...state.editHistory,\n\t\t\t\t\t[ id ]: [ ...newEditHistory, edits ],\n\t\t\t\t},\n\t\t\t\teditHistoryIndex: {\n\t\t\t\t\t...state.editHistoryIndex,\n\t\t\t\t\t[ id ]: newEditHistory.length, // Points to the new edit\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tcase UNDO_EDIT_RECORD: {\n\t\t\tconst { id, steps = 1 } = action.payload;\n\n\t\t\tconst currentIndex = state.editHistoryIndex[ id ] ?? -1;\n\t\t\tconst newIndex = Math.max( -1, currentIndex - steps );\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\teditHistoryIndex: {\n\t\t\t\t\t...state.editHistoryIndex,\n\t\t\t\t\t[ id ]: newIndex,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tcase REDO_EDIT_RECORD: {\n\t\t\tconst { id, steps } = action.payload;\n\n\t\t\tconst currentIndex = state.editHistoryIndex[ id ] ?? -1;\n\t\t\t// Check if we have a history and if there are edits to redo\n\t\t\tconst maxIndex = ( state.editHistory[ id ]?.length ?? 0 ) - 1;\n\t\t\tconst newIndex =\n\t\t\t\tmaxIndex >= 0\n\t\t\t\t\t? Math.min( maxIndex, currentIndex + steps )\n\t\t\t\t\t: currentIndex;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\teditHistoryIndex: {\n\t\t\t\t\t...state.editHistoryIndex,\n\t\t\t\t\t[ id ]: newIndex,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tcase SAVE_EDITED_RECORD: {\n\t\t\tconst { id, historyIndex, editedEntity } = action.payload;\n\n\t\t\t// Get all edits up to current index\n\t\t\tconst remainingEdits = state.editHistory[ id ].slice(\n\t\t\t\thistoryIndex + 1\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\teditedEntities: {\n\t\t\t\t\t...state.editedEntities,\n\t\t\t\t\t[ id ]: editedEntity,\n\t\t\t\t},\n\t\t\t\teditHistory: {\n\t\t\t\t\t...state.editHistory,\n\t\t\t\t\t[ id ]: remainingEdits,\n\t\t\t\t},\n\t\t\t\teditHistoryIndex: {\n\t\t\t\t\t...state.editHistoryIndex,\n\t\t\t\t\t[ id ]: -1,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tcase RESET_EDIT_RECORD: {\n\t\t\tconst { id } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t// Remove all edit history for this record.\n\t\t\t\teditedEntities: Object.fromEntries(\n\t\t\t\t\tObject.entries( state.editedEntities ).filter(\n\t\t\t\t\t\t( [ _id ] ) => Number( _id ) !== id\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\teditHistory: Object.fromEntries(\n\t\t\t\t\tObject.entries( state.editHistory ).filter(\n\t\t\t\t\t\t( [ _id ] ) => Number( _id ) !== id\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\teditHistoryIndex: Object.fromEntries(\n\t\t\t\t\tObject.entries( state.editHistoryIndex ).filter(\n\t\t\t\t\t\t( [ _id ] ) => Number( _id ) !== id\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\n\t\tcase CHANGE_ACTION_STATUS: {\n\t\t\tconst { actionName, status, message } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tresolutionState: {\n\t\t\t\t\t...state.resolutionState,\n\t\t\t\t\t[ actionName ]: {\n\t\t\t\t\t\tstatus,\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\t// case START_RESOLUTION: {\n\t\t// \tconst { id, operation } = action.payload;\n\n\t\t// \treturn {\n\t\t// \t\t...state,\n\t\t// \t\tresolutionState: {\n\t\t// \t\t\t...state.resolutionState,\n\t\t// \t\t\t[ operation ]: {\n\t\t// \t\t\t\t...state.resolutionState?.[ operation ],\n\t\t// \t\t\t\t[ id ]: {\n\t\t// \t\t\t\t\tstatus: DispatchStatus.Resolving,\n\t\t// \t\t\t\t\ttimestamp: Date.now(),\n\t\t// \t\t\t\t},\n\t\t// \t\t\t},\n\t\t// \t\t},\n\t\t// \t};\n\t\t// }\n\n\t\t// case FINISH_RESOLUTION: {\n\t\t// \tconst { id, operation } = action.payload;\n\n\t\t// \treturn {\n\t\t// \t\t...state,\n\t\t// \t\tresolutionState: {\n\t\t// \t\t\t...state.resolutionState,\n\t\t// \t\t\t[ operation ]: {\n\t\t// \t\t\t\t...state.resolutionState?.[ operation ],\n\t\t// \t\t\t\t[ id ]: {\n\t\t// \t\t\t\t\tstatus: DispatchStatus.Success,\n\t\t// \t\t\t\t\ttimestamp: Date.now(),\n\t\t// \t\t\t\t},\n\t\t// \t\t\t},\n\t\t// \t\t},\n\t\t// \t};\n\t\t// }\n\n\t\t// case FAIL_RESOLUTION: {\n\t\t// \tconst { id, operation, error, extra } = action.payload;\n\n\t\t// \treturn {\n\t\t// \t\t...state,\n\t\t// \t\tresolutionState: {\n\t\t// \t\t\t...state.resolutionState,\n\t\t// \t\t\t[ operation ]: {\n\t\t// \t\t\t\t...state.resolutionState?.[ operation ],\n\t\t// \t\t\t\t[ id ]: {\n\t\t// \t\t\t\t\tstatus: DispatchStatus.Error,\n\t\t// \t\t\t\t\terror: error,\n\t\t// \t\t\t\t\textra: extra,\n\t\t// \t\t\t\t\ttimestamp: Date.now(),\n\t\t// \t\t\t\t},\n\t\t// \t\t\t},\n\t\t// \t\t},\n\t\t// \t};\n\t\t// }\n\n\t\tcase INVALIDATE_RESOLUTION: {\n\t\t\tconst { id, operation } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tresolutionState: {\n\t\t\t\t\t...state.resolutionState,\n\t\t\t\t\t[ operation ]: {\n\t\t\t\t\t\t...state.resolutionState?.[ operation ],\n\t\t\t\t\t\t[ id ]: undefined,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default reducer;\n","import {\n\tappendUrlParams,\n\tfetchFromApi,\n\t//getErrorMessage\n} from '../utils';\nimport { RECEIVE_RECORDS, RECEIVE_RECORD } from './constants';\nimport type { ReducerAction } from './reducer';\n\nimport type { Popup, ThunkAction } from './types';\n\nexport const getPopups =\n\t(): ThunkAction =>\n\tasync ( { dispatch } ) => {\n\t\t// const action = 'getAll';\n\n\t\ttry {\n\t\t\t// dispatch.startResolution( action );\n\n\t\t\tconst urlParams = {\n\t\t\t\tstatus: [ 'any', 'trash', 'auto-draft' ],\n\t\t\t\tper_page: 100,\n\t\t\t\tcontext: 'edit',\n\t\t\t};\n\n\t\t\tconst url = appendUrlParams( 'popups', urlParams );\n\n\t\t\tconst results = await fetchFromApi< Popup< 'edit' >[] >( url, {\n\t\t\t\tmethod: 'GET',\n\t\t\t} );\n\n\t\t\tif ( results.length ) {\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: RECEIVE_RECORDS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\trecords: results,\n\t\t\t\t\t},\n\t\t\t\t} as ReducerAction );\n\t\t\t\t// dispatch.finishResolution( action );\n\t\t\t}\n\n\t\t\t// dispatch.failResolution( action, 'No call to actions found' );\n\t\t} catch ( error: any ) {\n\t\t\t// const errorMessage = getErrorMessage( error );\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( error );\n\t\t\t// dispatch.failResolution( action, errorMessage );\n\t\t}\n\t};\n\nexport const getPopup =\n\t( id: number ): ThunkAction =>\n\tasync ( { dispatch } ) => {\n\t\t// const action = 'getById';\n\t\ttry {\n\t\t\t// dispatch.startResolution( action );\n\n\t\t\tconst url = appendUrlParams( `popups/${ id }`, {\n\t\t\t\tcontext: 'edit',\n\t\t\t} );\n\n\t\t\tconst record = await fetchFromApi< Popup< 'edit' > >( url, {\n\t\t\t\tmethod: 'GET',\n\t\t\t} );\n\n\t\t\tdispatch( {\n\t\t\t\ttype: RECEIVE_RECORD,\n\t\t\t\tpayload: {\n\t\t\t\t\trecord,\n\t\t\t\t},\n\t\t\t} as ReducerAction );\n\n\t\t\t// dispatch.finishResolution( action );\n\t\t} catch ( error: any ) {\n\t\t\t// const errorMessage = getErrorMessage( error );\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( error );\n\t\t\t// dispatch.failResolution( action, errorMessage );\n\t\t}\n\t};\n\nexport default {\n\tgetPopups,\n\tgetPopup,\n};\n","import { applyPatch } from 'fast-json-patch';\n\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { createRegistrySelector, createSelector } from '@wordpress/data';\n\nimport { DispatchStatus } from '../constants';\nimport { defaultValues, NOTICE_CONTEXT } from './constants';\n\nimport type { Notice } from '../types';\nimport type { State } from './reducer';\nimport type { Popup, EditablePopup } from './types';\n\n/*****************************************************\n * SECTION: Entity selectors\n *****************************************************/\n\n/**\n * Get all entities.\n *\n * @return {Popup[]} All entities.\n */\nexport const getPopups = createSelector(\n\t( state: State ) => state.allIds.map( ( id ) => state.byId[ id ] ),\n\t( state: State ) => [ state.allIds, state.byId ]\n);\n\n/**\n * Get a single entity.\n *\n * @param {number} id - The ID of the entity to get.\n *\n * @return {Popup} The entity.\n */\nexport const getPopup = createSelector(\n\t( state: State, id: number ) => {\n\t\tconst record = state?.byId?.[ id ];\n\t\treturn record;\n\t},\n\t( state: State, id: number ) => [ state, id ]\n);\n\n/**\n * Get the error for a specific entity.\n */\nexport const getFetchError = createSelector(\n\t( state: State, id?: number ) => {\n\t\tif ( typeof id === 'number' ) {\n\t\t\treturn state.errors.byId[ id ];\n\t\t}\n\t\treturn state.errors.global;\n\t},\n\t( state: State, id: number | string ) => [ state.errors, id ]\n);\n\n/**\n * Get filtered entities.\n *\n * TODO Should this be a createSelector?\n *\n * @param {State} state The state.\n * @param {Function} predicate - The predicate to filter the entities.\n * @param {boolean} maintainOrder - Whether to maintain the order of the entities.\n *\n * @return {Popup< 'edit' >[]} The filtered entities.\n */\nexport const getFiltered = (\n\tstate: State,\n\tpredicate: ( item: Popup< 'edit' > ) => boolean,\n\tmaintainOrder: boolean = false\n) => {\n\tif ( ! maintainOrder ) {\n\t\treturn state.allIds\n\t\t\t.map( ( id ) => state.byId[ id ] )\n\t\t\t.filter( predicate );\n\t}\n\n\treturn getFilteredIds( state, predicate ).map( ( id ) => state.byId[ id ] );\n};\n\n/**\n * Get filtered entity IDs.\n *\n * TODO Should this be a createSelector?\n *\n * @param {State} state The state.\n * @param {Function} predicate The predicate to filter the entities.\n *\n * @return {number[]} The filtered entity IDs.\n */\nexport const getFilteredIds = (\n\tstate: State,\n\tpredicate: ( item: Popup< 'edit' > ) => boolean\n) => state.allIds.filter( ( id ) => predicate( state.byId[ id ] ) );\n\n/*****************************************************\n * SECTION: Editor selectors\n *****************************************************/\n\n/**\n * Get the editor ID.\n *\n * @return {number | string} The editor ID.\n */\nexport const getEditorId = createSelector(\n\t( state: State ) => state?.editorId,\n\t( state: State ) => [ state.editorId ]\n);\n\n/**\n * Check if the editor is active.\n *\n * @return {boolean} Whether the editor is active.\n */\nexport const isEditorActive = createSelector(\n\t( state: State ): boolean => {\n\t\tconst editorId = state?.editorId;\n\n\t\t// TODO Support non-presaved new entities.\n\t\tif ( typeof editorId === 'string' && editorId === 'new' ) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn typeof editorId === 'number' && editorId > 0;\n\t},\n\t( state: State ) => [ state.editorId ]\n);\n\n/**\n * Get the current editor values.\n *\n * @return {EditablePopup | undefined} The current editor values.\n */\nexport const getCurrentEditorValues = createSelector(\n\t( state: State ) => {\n\t\tconst editorId = state?.editorId;\n\n\t\tif ( typeof editorId === 'undefined' ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn getEditedPopup( state, editorId );\n\t},\n\t( state: State ) => [\n\t\tstate.editedEntities?.[ state.editorId || 0 ],\n\t\tstate.editHistoryIndex?.[ state.editorId || 0 ],\n\t\tstate.editHistory?.[ state.editorId || 0 ],\n\t\tstate.editorId,\n\t]\n);\n\n/**\n * Check if the entity has been edited.\n *\n * @param {number} id - The ID of the entity to check.\n *\n * @return {boolean} Whether the entity has been edited.\n */\nexport const hasEditedEntity = createSelector(\n\t( state: State, id: number ) => {\n\t\treturn !! state?.editedEntities?.[ id ];\n\t},\n\t( state: State, id: number ) => [ state.editedEntities?.[ id ], id ]\n);\n\n/**\n * Get the edited entity.\n *\n * @param {number} id - The ID of the entity to get.\n *\n * @return {EditablePopup} The edited entity.\n */\nexport const getEditedEntity = createSelector(\n\t( state: State, id: number ) => {\n\t\treturn state?.editedEntities?.[ id ];\n\t},\n\t( state: State, id: number ) => [ state.editedEntities?.[ id ], id ]\n);\n\n/**\n * Get the edit history for an entity.\n *\n * @param {number} id - The ID of the entity to get.\n *\n * @return {Operation[][]} The edit history operations.\n */\nexport const getEntityEditHistory = createSelector(\n\t( state: State, id: number ) => {\n\t\treturn state?.editHistory?.[ id ];\n\t},\n\t( state: State, id: number ) => [ state.editHistory?.[ id ], id ]\n);\n\n/**\n * Get the current edit history index.\n *\n * @param {number} id - The ID of the entity to get.\n *\n * @return {number} The current edit history index.\n */\nexport const getCurrentEditHistoryIndex = createSelector(\n\t( state: State, id: number ) => {\n\t\treturn state.editHistoryIndex?.[ id ];\n\t},\n\t( state: State, id: number ) => [ state.editHistoryIndex?.[ id ], id ]\n);\n\n/**\n * Check if the entity has edits.\n *\n * @param {number} id - The ID of the entity to check.\n *\n * @return {boolean} Whether the entity has edits.\n */\nexport const hasEdits = createSelector(\n\t( state: State, id: number ) => {\n\t\treturn state.editHistory?.[ id ]?.length > 0;\n\t},\n\t( state: State, id: number ) => [ state.editHistory?.[ id ], id ]\n);\n\n/**\n * Check if the entity can be undone.\n *\n * @param {number} id - The ID of the entity to check.\n *\n * @return {boolean} Whether the entity can be undone.\n */\nexport const hasUndo = createSelector(\n\t( state: State, id: number ) => {\n\t\tif (\n\t\t\ttypeof state.editHistoryIndex?.[ id ] !== 'number' ||\n\t\t\ttypeof state.editHistory?.[ id ] !== 'object'\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn state.editHistoryIndex?.[ id ] >= 0;\n\t},\n\t( state: State, id: number ) => [ state.editHistoryIndex?.[ id ], id ]\n);\n\n/**\n * Check if the entity can be redone.\n *\n * @param {number} id - The ID of the entity to check.\n *\n * @return {boolean} Whether the entity can be redone.\n */\nexport const hasRedo = createSelector(\n\t( state: State, id: number ) => {\n\t\tif (\n\t\t\ttypeof state.editHistoryIndex?.[ id ] !== 'number' ||\n\t\t\ttypeof state.editHistory?.[ id ] !== 'object'\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn (\n\t\t\tstate.editHistoryIndex?.[ id ] <\n\t\t\tstate.editHistory?.[ id ]?.length - 1\n\t\t);\n\t},\n\t( state: State, id: number ) => [ state.editHistoryIndex?.[ id ], id ]\n);\n\n/**\n * Get the edited popup.\n *\n * This applies all edits to the entity up to the current edit history index.\n *\n * @param {number} id - The ID of the entity to get.\n *\n * @return {EditablePopup} The current entity values.\n */\nexport const getEditedPopup = createSelector(\n\t( state: State, id: number ) => {\n\t\tconst baseEntity = state.editedEntities?.[ id ];\n\t\tconst editHistory = state.editHistory?.[ id ];\n\t\tconst editHistoryIndex = state.editHistoryIndex?.[ id ];\n\n\t\tif ( ! baseEntity ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// If index is -1, return base entity without edits\n\t\tif ( editHistoryIndex === -1 ) {\n\t\t\treturn baseEntity;\n\t\t}\n\n\t\tif ( ! editHistory?.length ) {\n\t\t\treturn baseEntity;\n\t\t}\n\n\t\t// Get the edits up to the current index\n\t\tconst editsToApply = editHistory.slice( 0, editHistoryIndex + 1 );\n\n\t\t// Apply each patch set in sequence\n\t\tconst editedEntity = editsToApply.reduce( ( entity, patchSet ) => {\n\t\t\tconst patchArray = Array.isArray( patchSet )\n\t\t\t\t? patchSet\n\t\t\t\t: [ patchSet ];\n\n\t\t\tconst patched = applyPatch( entity, patchArray, true, false );\n\t\t\treturn patched.newDocument;\n\t\t}, baseEntity );\n\n\t\treturn editedEntity;\n\t},\n\t( state: State, id: number ) => [\n\t\tstate.editedEntities?.[ id ],\n\t\tstate.editHistoryIndex?.[ id ],\n\t\tstate.editHistory?.[ id ],\n\t\tid,\n\t]\n);\n\n/**\n * Get default entity values.\n */\nexport const getDefaultValues = createSelector(\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t( _state: State ) => {\n\t\treturn applyFilters(\n\t\t\t'popupMaker.popup.defaultValues',\n\t\t\tdefaultValues\n\t\t) as EditablePopup;\n\t},\n\t( _state: State ) => [ _state.editorId ]\n);\n\n/*****************************************************\n * SECTION: Notice selectors\n *****************************************************/\n\n/**\n * Get notices.\n */\nexport const getNotices = createRegistrySelector( ( select ) => () => {\n\tconst notices = select( noticesStore ).getNotices( NOTICE_CONTEXT );\n\treturn ( notices || [] ) as Notice[];\n} );\n\n/**\n * Get notice by id.\n */\nexport const getNoticeById = createRegistrySelector(\n\t( select ) =>\n\t\t( id: string ): Notice | undefined => {\n\t\t\tconst notices = select( noticesStore ).getNotices( NOTICE_CONTEXT );\n\t\t\treturn notices?.find( ( n ) => n.id === id ) as Notice | undefined;\n\t\t}\n);\n\n/*****************************************************\n * SECTION: Resolution state selectors\n *****************************************************/\n\n/**\n * Get resolution state for a specific entity.\n */\nexport const getResolutionState = createSelector(\n\t( state: State, id: number | string ) => {\n\t\tconst resolutionState = state.resolutionState?.[ id ];\n\n\t\t// If no resolution state exists, return idle\n\t\tif ( ! resolutionState ) {\n\t\t\treturn {\n\t\t\t\tstatus: DispatchStatus.Idle,\n\t\t\t};\n\t\t}\n\n\t\treturn resolutionState;\n\t},\n\t( state: State, id: number | string ) => [ state.resolutionState, id ]\n);\n\n/**\n * Check if a resolution is idle.\n */\nexport const isIdle = createSelector(\n\t( state: State, id: number | string ) => {\n\t\tconst resolutionState = getResolutionState( state, id );\n\t\treturn resolutionState.status === DispatchStatus.Idle;\n\t},\n\t( _state: State, id: number | string ) => [ id ]\n);\n\n/**\n * Check if an entity is currently being resolved.\n */\nexport const isResolving = createSelector(\n\t( state: State, id: number | string ) => {\n\t\tconst resolutionState = getResolutionState( state, id );\n\t\treturn resolutionState.status === DispatchStatus.Resolving;\n\t},\n\t( _state: State, id: number | string ) => [ id ]\n);\n\n/**\n * Check if an entity resolution has completed successfully.\n */\nexport const hasResolved = createSelector(\n\t( state: State, id: number | string ) => {\n\t\tconst resolutionState = getResolutionState( state, id );\n\t\treturn resolutionState.status === DispatchStatus.Success;\n\t},\n\t( _state: State, id: number | string ) => [ id ]\n);\n\n/**\n * Check if an entity resolution has failed.\n */\nexport const hasFailed = createSelector(\n\t( state: State, id: number | string ) => {\n\t\tconst resolutionState = getResolutionState( state, id );\n\t\treturn resolutionState.status === DispatchStatus.Error;\n\t},\n\t( _state: State, id: number | string ) => [ id ]\n);\n\n/**\n * Get the error for a failed resolution.\n */\nexport const getResolutionError = createSelector(\n\t( state: State, id: number | string ) => {\n\t\tconst resolutionState = getResolutionState( state, id );\n\t\treturn resolutionState.error;\n\t},\n\t( state: State, id: number | string ) => [ state.resolutionState, id ]\n);\n\nexport default {\n\t/*****************************************************\n\t * SECTION: Entity selectors\n\t *****************************************************/\n\tgetPopups,\n\tgetPopup,\n\tgetFetchError,\n\tgetFiltered,\n\tgetFilteredIds,\n\n\t/*****************************************************\n\t * SECTION: Editor selectors\n\t *****************************************************/\n\tgetEditorId,\n\tisEditorActive,\n\tgetCurrentEditorValues,\n\thasEditedEntity,\n\tgetEditedEntity,\n\tgetEntityEditHistory,\n\tgetCurrentEditHistoryIndex,\n\thasEdits,\n\thasUndo,\n\thasRedo,\n\tgetEditedPopup,\n\tgetDefaultValues,\n\n\t/*****************************************************\n\t * SECTION: Notice selectors\n\t *****************************************************/\n\tgetNotices,\n\tgetNoticeById,\n\n\t/*****************************************************\n\t * SECTION: Resolution state selectors\n\t *****************************************************/\n\tgetResolutionState,\n\tisIdle,\n\tisResolving,\n\thasResolved,\n\thasFailed,\n\tgetResolutionError,\n};\n","import { createReduxStore } from '@wordpress/data';\n\nimport reducer from './reducer';\nimport actions from './actions';\nimport selectors from './selectors';\nimport resolvers from './resolvers';\nimport { STORE_NAME, initialState } from './constants';\n\nimport type { StoreState, StoreActions, StoreSelectors } from './types';\n\n/**\n * Generate store config.\n */\nexport const storeConfig = () => ( {\n\tinitialState,\n\treducer,\n\tactions,\n\tselectors,\n\tresolvers,\n} );\n\n/**\n * Store definition for the code data namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n */\nconst store = createReduxStore< StoreState, StoreActions, StoreSelectors >(\n\tSTORE_NAME,\n\tstoreConfig()\n);\n\nexport default store;\n","import type { Updatable } from '@wordpress/core-data';\nimport type { BaseEntity } from '../types';\n\n// Simple type guard for RenderedText fields\nexport function isRenderedText(\n\tvalue: any\n): value is { raw: string; rendered: string } {\n\treturn value && typeof value === 'object' && 'raw' in value;\n}\n\n/**\n * Convert an entity to an editable entity.\n *\n * @param {T} entity The entity to convert.\n * @return {Updatable<T>} The editable entity.\n */\nexport function editableEntity< T extends BaseEntity< 'edit' > >(\n\tentity: T\n): Updatable< T > {\n\treturn Object.fromEntries(\n\t\tObject.entries( entity ).map( ( [ key, value ] ) => [\n\t\t\tkey,\n\t\t\tisRenderedText( value ) ? value.raw : value,\n\t\t] )\n\t) as Updatable< T >;\n}\n","import { __ } from '@popup-maker/i18n';\n\nimport type { Popup } from './types';\nimport type { Updatable } from '@wordpress/core-data';\n\n/**\n * Checks of the set values are valid.\n *\n * @param {Popup} popup Popup to validate.\n *\n * @return {boolean} True when set values are valid.\n */\nexport const validatePopup = (\n\tpopup: Partial< Updatable< Popup< 'edit' > > >\n):\n\t| true\n\t| {\n\t\t\tmessage: string;\n\t\t\ttabName?: string;\n\t\t\tfield?: string;\n\t\t\t[ key: string ]: any;\n\t } => {\n\tif ( ! popup ) {\n\t\treturn {\n\t\t\tmessage: __( 'Popup not found', 'popup-maker' ),\n\t\t};\n\t}\n\n\tif ( popup.title && ! popup.title?.length ) {\n\t\treturn {\n\t\t\tmessage: __(\n\t\t\t\t'Please provide a name for this popup.',\n\t\t\t\t'popup-maker'\n\t\t\t),\n\t\t\ttabName: 'general',\n\t\t\tfield: 'title',\n\t\t};\n\t}\n\n\tif (\n\t\t! popup.settings?.conditions?.items?.length &&\n\t\tpopup.status === 'publish'\n\t) {\n\t\treturn {\n\t\t\tmessage: __(\n\t\t\t\t'Please provide at least one condition for this popup before enabling it.',\n\t\t\t\t'popup-maker'\n\t\t\t),\n\t\t\ttabName: 'content',\n\t\t};\n\t}\n\n\treturn true;\n};\n","import { __ } from '@popup-maker/i18n';\n\nimport { DispatchStatus } from '../constants';\nimport { getErrorMessage, fetchFromApi } from '../utils';\n\nimport { ACTION_TYPES } from './constants';\nimport { apiPath } from './utils';\n\nimport type { ReducerAction } from './reducer';\nimport type { Settings, ThunkAction } from './types';\n\nconst {\n\tUPDATE,\n\tSAVE_CHANGES,\n\tSTAGE_CHANGES,\n\tHYDRATE,\n\tCHANGE_ACTION_STATUS,\n\tINVALIDATE_RESOLUTION,\n} = ACTION_TYPES;\n\n/*****************************************************\n * SECTION: Settings actions\n *****************************************************/\nconst settingsActions = {\n\t/**\n\t * Update settings.\n\t *\n\t * @param {Partial<Settings>} settings Settings to update.\n\t *\n\t * @return {ThunkAction} The action.\n\t */\n\tupdateSettings:\n\t\t(\n\t\t\t/**\n\t\t\t * Settings to update.\n\t\t\t */\n\t\t\tsettings: Partial< Settings >\n\t\t): ThunkAction =>\n\t\tasync ( { dispatch, resolveSelect } ) => {\n\t\t\tconst actionName = 'updateSettings';\n\n\t\t\ttry {\n\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\tactionName,\n\t\t\t\t\tDispatchStatus.Resolving\n\t\t\t\t);\n\n\t\t\t\tconst currentSettings = await resolveSelect.getSettings();\n\n\t\t\t\tconst result = await fetchFromApi< Settings >( apiPath(), {\n\t\t\t\t\tmethod: 'PUT',\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tsettings: { ...currentSettings, ...settings },\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\tif ( result ) {\n\t\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\t\tactionName,\n\t\t\t\t\t\tDispatchStatus.Success\n\t\t\t\t\t);\n\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: UPDATE,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tsettings: result,\n\t\t\t\t\t\t},\n\t\t\t\t\t} as ReducerAction );\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\tactionName,\n\t\t\t\t\tDispatchStatus.Error,\n\t\t\t\t\t__(\n\t\t\t\t\t\t'An error occurred, settings were not saved.',\n\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\tactionName,\n\t\t\t\t\tDispatchStatus.Error,\n\t\t\t\t\tgetErrorMessage( error )\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t/**\n\t * Save staged/unsaved changes.\n\t *\n\t * @param {Partial<Settings>} settings Settings to save.\n\t *\n\t * @return {ThunkAction} The action.\n\t */\n\tsaveSettings:\n\t\t(\n\t\t\t/**\n\t\t\t * Settings to save.\n\t\t\t */\n\t\t\tsettings?: Partial< Settings >\n\t\t): ThunkAction =>\n\t\tasync ( { dispatch, resolveSelect } ) => {\n\t\t\tconst actionName = 'saveSettings';\n\n\t\t\ttry {\n\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\tactionName,\n\t\t\t\t\tDispatchStatus.Resolving\n\t\t\t\t);\n\n\t\t\t\tconst currentSettings = await resolveSelect.getSettings();\n\n\t\t\t\tconst unsavedChanges = await resolveSelect.getUnsavedChanges();\n\n\t\t\t\tconst result = await fetchFromApi< Settings >( apiPath(), {\n\t\t\t\t\tmethod: 'PUT',\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tsettings: {\n\t\t\t\t\t\t\t...currentSettings,\n\t\t\t\t\t\t\t...unsavedChanges,\n\t\t\t\t\t\t\t...settings,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\tif ( result ) {\n\t\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\t\tactionName,\n\t\t\t\t\t\tDispatchStatus.Success\n\t\t\t\t\t);\n\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: SAVE_CHANGES,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tsettings: result,\n\t\t\t\t\t\t},\n\t\t\t\t\t} as ReducerAction );\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\tactionName,\n\t\t\t\t\tDispatchStatus.Error,\n\t\t\t\t\t__(\n\t\t\t\t\t\t'An error occurred, settings were not saved.',\n\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\tactionName,\n\t\t\t\t\tDispatchStatus.Error,\n\t\t\t\t\tgetErrorMessage( error )\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t/**\n\t * Stage unsaved changes.\n\t *\n\t * @param {Partial<Settings>} settings Settings to stage.\n\t *\n\t * @return {ReducerAction} The action.\n\t */\n\tstageUnsavedChanges: (\n\t\t/**\n\t\t * Settings to stage.\n\t\t */\n\t\tsettings: Partial< Settings >\n\t): ReducerAction => {\n\t\treturn {\n\t\t\ttype: STAGE_CHANGES,\n\t\t\tpayload: {\n\t\t\t\tsettings,\n\t\t\t},\n\t\t} as ReducerAction;\n\t},\n\n\t/**\n\t * Hydrate settings.\n\t *\n\t * @param {Settings} settings Settings to hydrate.\n\t *\n\t * @return {ReducerAction} The action.\n\t */\n\thydrate: (\n\t\t/**\n\t\t * Settings to hydrate.\n\t\t */\n\t\tsettings: Settings\n\t): ReducerAction => {\n\t\treturn {\n\t\t\ttype: HYDRATE,\n\t\t\tpayload: {\n\t\t\t\tsettings,\n\t\t\t},\n\t\t} as ReducerAction;\n\t},\n};\n\n/*****************************************************\n * SECTION: Resolution actions\n *****************************************************/\nconst resolutionActions = {\n\t/**\n\t * Change status of a dispatch action request.\n\t *\n\t * @param {CallToActionsStore[ 'ActionNames' ]} actionName Action name to change status of.\n\t * @param {Statuses} status New status.\n\t * @param {string|undefined} message Optional error message.\n\t * @return {Object} Action object.\n\t */\n\tchangeActionStatus:\n\t\t(\n\t\t\tactionName: string,\n\t\t\tstatus: DispatchStatus,\n\t\t\tmessage?: string | { message: string; [ key: string ]: any }\n\t\t): ThunkAction =>\n\t\t( { dispatch } ) => {\n\t\t\tif ( message ) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log( actionName, message );\n\t\t\t}\n\n\t\t\tdispatch( {\n\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\tactionName,\n\t\t\t\tstatus,\n\t\t\t\tmessage,\n\t\t\t} );\n\t\t},\n\n\t/**\n\t * Start resolution for an entity.\n\t */\n\t// startResolution:\n\t// \t( id: number | string, operation: string = 'fetch' ) =>\n\t// \t( { dispatch } ) => {\n\t// \t\tconsole.log( 'startResolution', id, operation );\n\t// \t\tdispatch( {\n\t// \t\t\ttype: START_RESOLUTION,\n\t// \t\t\tpayload: {\n\t// \t\t\t\tid,\n\t// \t\t\t\toperation,\n\t// \t\t\t},\n\t// \t\t} );\n\t// \t},\n\n\t/**\n\t * Finish resolution for an entity.\n\t */\n\t// finishResolution:\n\t// \t( id: number | string, operation: string = 'fetch' ) =>\n\t// \t( { dispatch } ) => {\n\t// \t\tdispatch( {\n\t// \t\t\ttype: FINISH_RESOLUTION,\n\t// \t\t\tpayload: {\n\t// \t\t\t\tid,\n\t// \t\t\t\toperation,\n\t// \t\t\t},\n\t// \t\t} );\n\t// \t},\n\n\t/**\n\t * Fail resolution for an entity.\n\t */\n\t// failResolution:\n\t// \t(\n\t// \t\tid: number | string,\n\t// \t\terror: string,\n\t// \t\toperation: string = 'fetch',\n\t// \t\textra?: Record< string, any >\n\t// \t): ThunkAction =>\n\t// \t( { dispatch } ) => {\n\t// \t\tdispatch( {\n\t// \t\t\ttype: FAIL_RESOLUTION,\n\t// \t\t\tpayload: {\n\t// \t\t\t\tid,\n\t// \t\t\t\terror,\n\t// \t\t\t\toperation,\n\t// \t\t\t\textra,\n\t// \t\t\t},\n\t// \t\t} );\n\t// \t},\n\n\t/**\n\t * Invalidate resolution for an entity.\n\t *\n\t * @param {number | string} id The entity ID.\n\t * @return {Promise<void>}\n\t */\n\tinvalidateResolution:\n\t\t( id: number | string ): ThunkAction =>\n\t\t( { dispatch } ) => {\n\t\t\tdispatch( {\n\t\t\t\ttype: INVALIDATE_RESOLUTION,\n\t\t\t\tpayload: {\n\t\t\t\t\tid,\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n};\n\nconst actions = {\n\t// Settings actions\n\t...settingsActions,\n\t// Resolution state actions\n\t...resolutionActions,\n};\n\nexport default actions;\n","import { applyFilters } from '@wordpress/hooks';\n\nimport type { State } from './reducer';\nimport type { Settings } from './types';\n\nexport const STORE_NAME = 'popup-maker/settings';\n\nexport const UPDATE = 'UPDATE';\nexport const STAGE_CHANGES = 'STAGE_CHANGES';\nexport const SAVE_CHANGES = 'SAVE_CHANGES';\nexport const HYDRATE = 'HYDRATE';\nexport const CHANGE_ACTION_STATUS = 'CHANGE_ACTION_STATUS';\nexport const INVALIDATE_RESOLUTION = 'INVALIDATE_RESOLUTION';\nexport const SETTINGS_FETCH_ERROR = 'SETTINGS_FETCH_ERROR';\n\nexport const ACTION_TYPES: {\n\tUPDATE: typeof UPDATE;\n\tSTAGE_CHANGES: typeof STAGE_CHANGES;\n\tSAVE_CHANGES: typeof SAVE_CHANGES;\n\tHYDRATE: typeof HYDRATE;\n\tCHANGE_ACTION_STATUS: typeof CHANGE_ACTION_STATUS;\n\tINVALIDATE_RESOLUTION: typeof INVALIDATE_RESOLUTION;\n\tSETTINGS_FETCH_ERROR: typeof SETTINGS_FETCH_ERROR;\n} = {\n\tUPDATE,\n\tSTAGE_CHANGES,\n\tSAVE_CHANGES,\n\tHYDRATE,\n\tCHANGE_ACTION_STATUS,\n\tINVALIDATE_RESOLUTION,\n\tSETTINGS_FETCH_ERROR,\n};\n\n/**\n * Default settings.\n *\n * NOTE: These should match the defaults in PHP.\n * Update get_default_settings function.\n */\nexport const defaultValues: Settings =\n\t/**\n\t * Filter the default settings.\n\t *\n\t * @param {Settings} settings Default settings.\n\t *\n\t * @return {Settings} Default settings.\n\t */\n\tapplyFilters( 'popupMaker.defaultSettings', {\n\t\tpermissions: {\n\t\t\t// Block Controls\n\t\t\tview_block_controls: 'edit_posts',\n\t\t\tedit_block_controls: 'edit_posts',\n\t\t\t// Restrictions\n\t\t\tedit_restrictions: 'manage_options',\n\t\t\t// Settings\n\t\t\tmanage_settings: 'manage_options',\n\t\t},\n\t} ) as Settings;\n\n/**\n * Prefill settings from window global varis if set.\n */\nconst { currentSettings = defaultValues } = popupMakerCoreData ?? {};\n\nexport const initialState: State = {\n\tsettings: currentSettings,\n\tunsavedChanges: {},\n\tresolutionState: {},\n};\n","import type {\n\tCurriedSelectorsOf,\n\tDispatchReturn,\n} from '@wordpress/data/src/types';\n\nexport { default as settingsStore } from './store';\n\nexport {\n\tdefaultValues as defaultSettings,\n\tSTORE_NAME as SETTINGS_STORE,\n} from './constants';\n\nimport type { StoreDescriptor, StoreState } from './types';\n\ntype Selectors = CurriedSelectorsOf< StoreDescriptor >;\ntype Actions = DispatchReturn< StoreDescriptor >;\n\nexport type {\n\tStoreDescriptor as SettingsStore,\n\tStoreState as SettingsStoreState,\n\tSelectors as SettingsStoreSelectors,\n\tActions as SettingsStoreActions,\n};\n","import { ACTION_TYPES, initialState } from './constants';\n\nimport type { DispatchStatuses, ResolutionState } from '../constants';\nimport type { Settings } from './types';\n\nconst {\n\tUPDATE,\n\tSTAGE_CHANGES,\n\tSAVE_CHANGES,\n\tHYDRATE,\n\tCHANGE_ACTION_STATUS,\n\tSETTINGS_FETCH_ERROR,\n\tINVALIDATE_RESOLUTION,\n} = ACTION_TYPES;\n\nexport type State = {\n\t/**\n\t * The settings.\n\t */\n\tsettings: Settings;\n\n\t/**\n\t * The unsaved changes.\n\t */\n\tunsavedChanges?: Partial< Settings >;\n\n\t/**\n\t * The resolution state for each operation.\n\t */\n\tresolutionState: Record< string | number, ResolutionState >;\n};\n\nexport type BaseAction = {\n\ttype: keyof typeof ACTION_TYPES;\n};\n\nexport type HydrateAction = BaseAction & {\n\ttype: typeof HYDRATE;\n\tpayload: {\n\t\tsettings: Settings;\n\t};\n};\n\nexport type UpdateSettingsAction = BaseAction & {\n\ttype: typeof UPDATE;\n\tpayload: {\n\t\tsettings: Settings;\n\t};\n};\n\nexport type StageChangesAction = BaseAction & {\n\ttype: typeof STAGE_CHANGES;\n\tpayload: {\n\t\tsettings: Settings;\n\t};\n};\n\nexport type SaveChangesAction = BaseAction & {\n\ttype: typeof SAVE_CHANGES;\n\tpayload: {\n\t\tsettings: Settings;\n\t};\n};\n\nexport type FetchSettingsErrorAction = BaseAction & {\n\ttype: typeof SETTINGS_FETCH_ERROR;\n\tpayload: {\n\t\tmessage: string;\n\t};\n};\n\nexport type ChangeActionStatusAction = BaseAction & {\n\ttype: typeof CHANGE_ACTION_STATUS;\n\tpayload: {\n\t\tactionName: string;\n\t\tstatus: DispatchStatuses;\n\t\tmessage?: string;\n\t};\n};\n\nexport type InvalidateResolutionAction = BaseAction & {\n\ttype: typeof INVALIDATE_RESOLUTION;\n\tpayload: {\n\t\tid: number | string;\n\t\toperation: string;\n\t};\n};\n\nexport type ReducerAction =\n\t| HydrateAction\n\t| UpdateSettingsAction\n\t| FetchSettingsErrorAction\n\t| StageChangesAction\n\t| SaveChangesAction\n\t| ChangeActionStatusAction\n\t| InvalidateResolutionAction;\n\nconst reducer = ( state: State = initialState, action: ReducerAction ) => {\n\tswitch ( action.type ) {\n\t\tcase HYDRATE: {\n\t\t\tconst { settings } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tsettings,\n\t\t\t};\n\t\t}\n\n\t\tcase SETTINGS_FETCH_ERROR: {\n\t\t\tconst { message } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\terror: message,\n\t\t\t};\n\t\t}\n\n\t\tcase STAGE_CHANGES: {\n\t\t\tconst { settings } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tunsavedChanges: {\n\t\t\t\t\t...( state.unsavedChanges ?? {} ),\n\t\t\t\t\t...settings,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tcase SAVE_CHANGES: {\n\t\t\tconst { settings } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tsettings: {\n\t\t\t\t\t...state.settings,\n\t\t\t\t\t...settings,\n\t\t\t\t},\n\t\t\t\tunsavedChanges: {},\n\t\t\t};\n\t\t}\n\n\t\tcase UPDATE: {\n\t\t\tconst { settings } = action.payload;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tsettings: {\n\t\t\t\t\t...state.settings,\n\t\t\t\t\t...settings,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tcase CHANGE_ACTION_STATUS: {\n\t\t\tconst { actionName, status, message } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tresolutionState: {\n\t\t\t\t\t...state.resolutionState,\n\t\t\t\t\t[ actionName ]: {\n\t\t\t\t\t\tstatus,\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tcase INVALIDATE_RESOLUTION: {\n\t\t\tconst { id, operation } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tresolutionState: {\n\t\t\t\t\t...state.resolutionState,\n\t\t\t\t\t[ operation ]: {\n\t\t\t\t\t\t...state.resolutionState?.[ operation ],\n\t\t\t\t\t\t[ id ]: undefined,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default reducer;\n","import { __ } from '@popup-maker/i18n';\n\nimport { fetchFromApi, getErrorMessage } from '../utils';\nimport { SETTINGS_FETCH_ERROR } from './constants';\nimport { apiPath } from './utils';\n\nimport type { Settings, ThunkAction } from './types';\n\nconst settingsResolvers = {\n\tgetSettings:\n\t\t(): ThunkAction =>\n\t\tasync ( { dispatch, registry } ) => {\n\t\t\ttry {\n\t\t\t\tconst settings = await fetchFromApi< Settings >( apiPath(), {\n\t\t\t\t\tmethod: 'GET',\n\t\t\t\t} );\n\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tif ( settings ) {\n\t\t\t\t\t\tdispatch.hydrate( settings );\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatch( {\n\t\t\t\t\t\ttype: SETTINGS_FETCH_ERROR,\n\t\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t\t'An error occurred, settings were not loaded.',\n\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t),\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t} catch ( error ) {\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: SETTINGS_FETCH_ERROR,\n\t\t\t\t\tmessage: getErrorMessage( error ),\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n};\n\nexport default settingsResolvers;\n","import { createSelector } from '@wordpress/data';\n\nimport { DispatchStatus } from '../constants';\nimport { defaultValues } from './constants';\n\nimport type { State } from './reducer';\nimport type { Settings } from './types';\n\nconst settingsSelectors = {\n\t/**\n\t * Get setting by name.\n\t *\n\t * @param {State} state The state.\n\t *\n\t * @return {Settings} The settings.\n\t */\n\tgetSettings: createSelector(\n\t\t( state: State ) => state.settings,\n\t\t( state: State ) => [ state.settings ]\n\t),\n\n\t/**\n\t * Get setting by name.\n\t *\n\t * @param {State} state The state.\n\t * @param {K} name The setting name.\n\t * @param {D} defaultValue The default value.\n\t *\n\t * @return {Settings[K] | D} The setting value.\n\t */\n\tgetSetting: createSelector(\n\t\t<\n\t\t\tK extends keyof Settings,\n\t\t\tD extends Settings[ K ] | undefined | false,\n\t\t>(\n\t\t\tstate: State,\n\t\t\tname: K,\n\t\t\tdefaultValue: D\n\t\t) => {\n\t\t\tconst settings = settingsSelectors.getSettings( state );\n\n\t\t\treturn settings[ name ] ?? defaultValue;\n\t\t},\n\t\t<\n\t\t\tK extends keyof Settings,\n\t\t\tD extends Settings[ K ] | undefined | false,\n\t\t>(\n\t\t\tstate: State,\n\t\t\tname: K,\n\t\t\tdefaultValue: D\n\t\t) => [ state.settings, name, defaultValue ]\n\t),\n\n\t/**\n\t * Gets object of unsaved settings changes.\n\t *\n\t * @param {State} state The state.\n\t *\n\t * @return {State[ 'unsavedChanges' ]} The unsaved changes.\n\t */\n\tgetUnsavedChanges: createSelector(\n\t\t( state: State ) => state.unsavedChanges,\n\t\t( state: State ) => [ state.unsavedChanges ]\n\t),\n\n\t/**\n\t * Check if there are any unsaved changes.\n\t */\n\thasUnsavedChanges: createSelector(\n\t\t( state: State ): boolean => {\n\t\t\treturn Object.keys( state?.unsavedChanges ?? {} ).length > 0;\n\t\t},\n\t\t( state: State ) => [ state.unsavedChanges ]\n\t),\n\n\t/**\n\t * Get required cap/permission for given capability.\n\t */\n\tgetReqPermission: createSelector(\n\t\t< T extends keyof Settings[ 'permissions' ] >(\n\t\t\tstate: State,\n\t\t\t/**\n\t\t\t * Capability to check for.\n\t\t\t */\n\t\t\tcap: T\n\t\t): string => {\n\t\t\tconst permissions = settingsSelectors.getSetting(\n\t\t\t\tstate,\n\t\t\t\t'permissions',\n\t\t\t\tdefaultValues.permissions\n\t\t\t);\n\n\t\t\tconst defaultPermission = 'manage_options';\n\n\t\t\tconst permission = permissions[ cap ];\n\n\t\t\treturn typeof permission === 'string'\n\t\t\t\t? permission\n\t\t\t\t: defaultPermission;\n\t\t},\n\t\t( state: State, cap: keyof Settings[ 'permissions' ] ) => [\n\t\t\tstate.settings.permissions,\n\t\t\tcap,\n\t\t]\n\t),\n};\n\n/*****************************************************\n * SECTION: Resolution state selectors\n *****************************************************/\nconst resolutionSelectors = {\n\t/**\n\t * Get resolution state for a specific entity.\n\t */\n\tgetResolutionState: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = state.resolutionState?.[ id ];\n\n\t\t\t// If no resolution state exists, return idle\n\t\t\tif ( ! resolutionState ) {\n\t\t\t\treturn {\n\t\t\t\t\tstatus: DispatchStatus.Idle,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn resolutionState;\n\t\t},\n\t\t( _state: State, id: number | string ) => [ id ]\n\t),\n\n\t/**\n\t * Check if a resolution is idle.\n\t */\n\tisIdle: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = resolutionSelectors.getResolutionState(\n\t\t\t\tstate,\n\t\t\t\tid\n\t\t\t);\n\t\t\treturn resolutionState.status === DispatchStatus.Idle;\n\t\t},\n\t\t( _state: State, id: number | string ) => [ id ]\n\t),\n\n\t/**\n\t * Check if an entity is currently being resolved.\n\t */\n\tisResolving: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = resolutionSelectors.getResolutionState(\n\t\t\t\tstate,\n\t\t\t\tid\n\t\t\t);\n\t\t\treturn resolutionState.status === DispatchStatus.Resolving;\n\t\t},\n\t\t( _state: State, id: number | string ) => [ id ]\n\t),\n\n\t/**\n\t * Check if an entity resolution has completed successfully.\n\t */\n\thasResolved: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = resolutionSelectors.getResolutionState(\n\t\t\t\tstate,\n\t\t\t\tid\n\t\t\t);\n\t\t\treturn resolutionState.status === DispatchStatus.Success;\n\t\t},\n\t\t( _state: State, id: number | string ) => [ id ]\n\t),\n\n\t/**\n\t * Check if an entity resolution has failed.\n\t */\n\thasFailed: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = resolutionSelectors.getResolutionState(\n\t\t\t\tstate,\n\t\t\t\tid\n\t\t\t);\n\t\t\treturn resolutionState.status === DispatchStatus.Error;\n\t\t},\n\t\t( _state: State, id: number | string ) => [ id ]\n\t),\n\n\t/**\n\t * Get the error for a failed resolution.\n\t */\n\tgetResolutionError: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = resolutionSelectors.getResolutionState(\n\t\t\t\tstate,\n\t\t\t\tid\n\t\t\t);\n\t\t\treturn resolutionState.error;\n\t\t},\n\t\t( _state: State, id: number | string ) => [ id ]\n\t),\n};\n\nconst selectors = {\n\t// Settings selectors\n\t...settingsSelectors,\n\t// Resolution state selectors\n\t...resolutionSelectors,\n};\n\nexport default selectors;\n","import { createReduxStore } from '@wordpress/data';\n\nimport reducer from './reducer';\nimport actions from './actions';\nimport resolvers from './resolvers';\nimport selectors from './selectors';\nimport { initialState, STORE_NAME } from './constants';\n\nimport type { StoreActions, StoreSelectors, StoreState } from './types';\n\nconst storeConfig = () => ( {\n\tinitialState,\n\treducer,\n\tactions,\n\tselectors,\n\tresolvers,\n} );\n\n/**\n * Store definition for the License data namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n */\nconst store = createReduxStore< StoreState, StoreActions, StoreSelectors >(\n\tSTORE_NAME,\n\tstoreConfig()\n);\n\nexport default store;\n","export const apiPath = () => 'popup-maker/v2/settings';\n","import { __ } from '@popup-maker/i18n';\n\nimport { DispatchStatus } from '../constants';\nimport { getErrorMessage } from '../utils';\n\nimport { ACTION_TYPES } from './constants';\nimport { fetchLinkSuggestions } from './utils';\n\nimport type { ReducerAction } from './reducer';\nimport type { SearchOptions, ThunkAction, WPLinkSearchResult } from './types';\n\nconst {\n\tSEARCH_REQUEST,\n\tSEARCH_SUCCESS,\n\tSEARCH_ERROR,\n\tCHANGE_ACTION_STATUS,\n\tINVALIDATE_RESOLUTION,\n} = ACTION_TYPES;\n\nconst searchActions = {\n\t/**\n\t * Set query search text.\n\t * @param {string} queryText Query text.\n\t * @param {SearchOptions} searchOptions Search options.\n\t */\n\tupdateSuggestions:\n\t\t(\n\t\t\t/**\n\t\t\t * Query text.\n\t\t\t */\n\t\t\tqueryText: string,\n\t\t\t/**\n\t\t\t * Search options.\n\t\t\t */\n\t\t\tsearchOptions?: SearchOptions\n\t\t): ThunkAction =>\n\t\tasync ( { dispatch, registry } ) => {\n\t\t\tconst actionName = 'updateSuggestions';\n\n\t\t\ttry {\n\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\tactionName,\n\t\t\t\t\tDispatchStatus.Resolving\n\t\t\t\t);\n\n\t\t\t\tawait registry.batch( async () => {\n\t\t\t\t\tdispatch.searchRequest( queryText );\n\n\t\t\t\t\tconst results = await fetchLinkSuggestions(\n\t\t\t\t\t\tqueryText,\n\t\t\t\t\t\tsearchOptions\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( results ) {\n\t\t\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\t\t\tactionName,\n\t\t\t\t\t\t\tDispatchStatus.Success\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tdispatch.searchSuccess( queryText, results );\n\t\t\t\t\t}\n\n\t\t\t\t\tconst errorMessage = __(\n\t\t\t\t\t\t'No results returned',\n\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t);\n\n\t\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\t\tactionName,\n\t\t\t\t\t\tDispatchStatus.Error,\n\t\t\t\t\t\terrorMessage\n\t\t\t\t\t);\n\n\t\t\t\t\tdispatch.searchError( queryText, errorMessage );\n\t\t\t\t} );\n\t\t\t} catch ( error ) {\n\t\t\t\tconst errorMessage = getErrorMessage( error );\n\n\t\t\t\tdispatch.changeActionStatus(\n\t\t\t\t\tactionName,\n\t\t\t\t\tDispatchStatus.Error,\n\t\t\t\t\terrorMessage\n\t\t\t\t);\n\t\t\t\tdispatch.searchError( queryText, errorMessage );\n\t\t\t}\n\t\t},\n\n\t/**\n\t * Populate search results.\n\t *\n\t * @param {string} queryText Query text.\n\t */\n\tsearchRequest: (\n\t\t/**\n\t\t * Query text.\n\t\t */\n\t\tqueryText: string\n\t): ReducerAction =>\n\t\t( {\n\t\t\ttype: SEARCH_REQUEST,\n\t\t\tpayload: {\n\t\t\t\tqueryText,\n\t\t\t},\n\t\t} ) as ReducerAction,\n\n\t/**\n\t * Populate search results.\n\t *\n\t * @param {string} queryText Query text.\n\t * @param {WPLinkSearchResult[]} results Search results.\n\t */\n\tsearchSuccess: (\n\t\t/**\n\t\t * Query text.\n\t\t */\n\t\tqueryText: string,\n\t\t/**\n\t\t * Search results.\n\t\t */\n\t\tresults: WPLinkSearchResult[]\n\t): ReducerAction => {\n\t\treturn {\n\t\t\ttype: SEARCH_SUCCESS,\n\t\t\tpayload: {\n\t\t\t\tqueryText,\n\t\t\t\tresults,\n\t\t\t},\n\t\t} as ReducerAction;\n\t},\n\n\t/**\n\t * Generate a search error action.\n\t *\n\t * @param {string} queryText Query text.\n\t * @param {string} error Error message.\n\t */\n\tsearchError: (\n\t\t/**\n\t\t * Query text.\n\t\t */\n\t\tqueryText: string,\n\t\t/**\n\t\t * Error message.\n\t\t */\n\t\terror: string\n\t): ReducerAction => {\n\t\treturn {\n\t\t\ttype: SEARCH_ERROR,\n\t\t\tpayload: {\n\t\t\t\tqueryText,\n\t\t\t\terror,\n\t\t\t},\n\t\t};\n\t},\n};\n\n/*****************************************************\n * SECTION: Resolution actions\n *****************************************************/\nconst resolutionActions = {\n\t/**\n\t * Change status of a dispatch action request.\n\t *\n\t * @param {CallToActionsStore[ 'ActionNames' ]} actionName Action name to change status of.\n\t * @param {Statuses} status New status.\n\t * @param {string|undefined} message Optional error message.\n\t * @return {Object} Action object.\n\t */\n\tchangeActionStatus:\n\t\t(\n\t\t\tactionName: string,\n\t\t\tstatus: DispatchStatus,\n\t\t\tmessage?: string | { message: string; [ key: string ]: any }\n\t\t): ThunkAction =>\n\t\t( { dispatch } ) => {\n\t\t\tif ( message ) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log( actionName, message );\n\t\t\t}\n\n\t\t\tdispatch( {\n\t\t\t\ttype: CHANGE_ACTION_STATUS,\n\t\t\t\tactionName,\n\t\t\t\tstatus,\n\t\t\t\tmessage,\n\t\t\t} );\n\t\t},\n\n\t/**\n\t * Start resolution for an entity.\n\t */\n\t// startResolution:\n\t// \t( id: number | string, operation: string = 'fetch' ) =>\n\t// \t( { dispatch } ) => {\n\t// \t\tconsole.log( 'startResolution', id, operation );\n\t// \t\tdispatch( {\n\t// \t\t\ttype: START_RESOLUTION,\n\t// \t\t\tpayload: {\n\t// \t\t\t\tid,\n\t// \t\t\t\toperation,\n\t// \t\t\t},\n\t// \t\t} );\n\t// \t},\n\n\t/**\n\t * Finish resolution for an entity.\n\t */\n\t// finishResolution:\n\t// \t( id: number | string, operation: string = 'fetch' ) =>\n\t// \t( { dispatch } ) => {\n\t// \t\tdispatch( {\n\t// \t\t\ttype: FINISH_RESOLUTION,\n\t// \t\t\tpayload: {\n\t// \t\t\t\tid,\n\t// \t\t\t\toperation,\n\t// \t\t\t},\n\t// \t\t} );\n\t// \t},\n\n\t/**\n\t * Fail resolution for an entity.\n\t */\n\t// failResolution:\n\t// \t(\n\t// \t\tid: number | string,\n\t// \t\terror: string,\n\t// \t\toperation: string = 'fetch',\n\t// \t\textra?: Record< string, any >\n\t// \t): ThunkAction =>\n\t// \t( { dispatch } ) => {\n\t// \t\tdispatch( {\n\t// \t\t\ttype: FAIL_RESOLUTION,\n\t// \t\t\tpayload: {\n\t// \t\t\t\tid,\n\t// \t\t\t\terror,\n\t// \t\t\t\toperation,\n\t// \t\t\t\textra,\n\t// \t\t\t},\n\t// \t\t} );\n\t// \t},\n\n\t/**\n\t * Invalidate resolution for an entity.\n\t *\n\t * @param {number | string} id The entity ID.\n\t * @return {Promise<void>}\n\t */\n\tinvalidateResolution:\n\t\t( id: number | string ): ThunkAction =>\n\t\t( { dispatch } ) => {\n\t\t\tdispatch( {\n\t\t\t\ttype: INVALIDATE_RESOLUTION,\n\t\t\t\tpayload: {\n\t\t\t\t\tid,\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n};\n\nconst actions = {\n\t// Search actions\n\t...searchActions,\n\t// Resolution actions\n\t...resolutionActions,\n};\n\nexport default actions;\n","import type { State } from './reducer';\n\nexport const STORE_NAME = 'popup-maker/url-search';\n\n// Search actions.\nexport const SEARCH_REQUEST = 'SEARCH_REQUEST';\nexport const SEARCH_SUCCESS = 'SEARCH_SUCCESS';\nexport const SEARCH_ERROR = 'SEARCH_ERROR';\nexport const UPDATE_SUGGESTIONS = 'UPDATE_SUGGESTIONS';\n\n// Resolution actions.\nexport const CHANGE_ACTION_STATUS = 'CHANGE_ACTION_STATUS';\nexport const INVALIDATE_RESOLUTION = 'INVALIDATE_RESOLUTION';\n\nexport const ACTION_TYPES: {\n\tSEARCH_REQUEST: typeof SEARCH_REQUEST;\n\tSEARCH_SUCCESS: typeof SEARCH_SUCCESS;\n\tSEARCH_ERROR: typeof SEARCH_ERROR;\n\tUPDATE_SUGGESTIONS: typeof UPDATE_SUGGESTIONS;\n\tCHANGE_ACTION_STATUS: typeof CHANGE_ACTION_STATUS;\n\tINVALIDATE_RESOLUTION: typeof INVALIDATE_RESOLUTION;\n} = {\n\tSEARCH_REQUEST,\n\tSEARCH_SUCCESS,\n\tSEARCH_ERROR,\n\tUPDATE_SUGGESTIONS,\n\tCHANGE_ACTION_STATUS,\n\tINVALIDATE_RESOLUTION,\n};\n\nexport const initialState: State = {\n\tcurrentQuery: '',\n\tsearchResults: [],\n\tqueries: {},\n\tresolutionState: {},\n};\n","import type {\n\tCurriedSelectorsOf,\n\tDispatchReturn,\n} from '@wordpress/data/src/types';\n\nexport { default as urlSearchStore } from './store';\n\nexport { STORE_NAME as URL_SEARCH_STORE } from './constants';\n\nexport type * from './types/url-search';\n\nimport type { StoreDescriptor, StoreState } from './types/store';\n\ntype Selectors = CurriedSelectorsOf< StoreDescriptor >;\ntype Actions = DispatchReturn< StoreDescriptor >;\n\nexport type {\n\tStoreDescriptor as UrlSearchStore,\n\tStoreState as UrlSearchStoreState,\n\tSelectors as UrlSearchStoreSelectors,\n\tActions as UrlSearchStoreActions,\n};\n","import type { DispatchStatuses, ResolutionState } from '../constants';\nimport { ACTION_TYPES, initialState } from './constants';\n\nimport type { WPLinkSearchResult, URLSearchQuery } from './types';\n\nconst {\n\tSEARCH_ERROR,\n\tSEARCH_REQUEST,\n\tSEARCH_SUCCESS,\n\tCHANGE_ACTION_STATUS,\n\tINVALIDATE_RESOLUTION,\n} = ACTION_TYPES;\n\n/**\n * The state of the URL search store.\n */\nexport type State = {\n\t/**\n\t * The current query.\n\t */\n\tcurrentQuery?: string;\n\t/**\n\t * The search results.\n\t */\n\tsearchResults?: WPLinkSearchResult[];\n\t/**\n\t * The queries.\n\t */\n\tqueries: Record< URLSearchQuery[ 'text' ], URLSearchQuery >;\n\t/**\n\t * The error.\n\t */\n\terror?: string;\n\n\t/**\n\t * The resolution state for each operation.\n\t */\n\tresolutionState: Record< string | number, ResolutionState >;\n};\n\n/**\n * The base action for the URL search store.\n */\nexport type BaseAction = {\n\ttype: keyof typeof ACTION_TYPES;\n\tpayload?: Record< string, any >;\n};\n\n/**\n * The action for the URL search store.\n */\nexport type SearchRequestAction = BaseAction & {\n\ttype: typeof SEARCH_REQUEST;\n\tpayload: {\n\t\tqueryText: string;\n\t};\n};\n\n/**\n * The action for the URL search store.\n */\nexport type SearchSuccessAction = BaseAction & {\n\ttype: typeof SEARCH_SUCCESS;\n\tpayload: {\n\t\tqueryText: string;\n\t\tresults: WPLinkSearchResult[];\n\t};\n};\n\n/**\n * The action for the URL search store.\n */\nexport type SearchErrorAction = BaseAction & {\n\ttype: typeof SEARCH_ERROR;\n\tpayload: {\n\t\tqueryText: string;\n\t\terror: string;\n\t};\n};\n\nexport type ChangeActionStatusAction = BaseAction & {\n\ttype: typeof CHANGE_ACTION_STATUS;\n\tactionName: string;\n\tstatus: DispatchStatuses;\n\tmessage?: string;\n};\n\nexport type InvalidateResolutionAction = BaseAction & {\n\ttype: typeof INVALIDATE_RESOLUTION;\n\tpayload: {\n\t\tid: number | string;\n\t\toperation: string;\n\t};\n};\n\n/**\n * The action for the URL search store.\n */\nexport type ReducerAction =\n\t| SearchRequestAction\n\t| SearchSuccessAction\n\t| SearchErrorAction\n\t| ChangeActionStatusAction\n\t| InvalidateResolutionAction;\n\nexport const reducer = (\n\tstate: State = initialState,\n\taction: ReducerAction\n): State => {\n\tswitch ( action.type ) {\n\t\tcase SEARCH_REQUEST: {\n\t\t\tconst { queryText } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tcurrentQuery: queryText,\n\t\t\t};\n\t\t}\n\n\t\tcase SEARCH_SUCCESS: {\n\t\t\tconst { queryText, results } = action.payload;\n\n\t\t\tif ( state.currentQuery === queryText ) {\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsearchResults: results,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn state;\n\t\t}\n\n\t\tcase SEARCH_ERROR: {\n\t\t\tconst { queryText, error } = action.payload;\n\n\t\t\tif ( state.currentQuery === queryText ) {\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\terror,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn state;\n\t\t}\n\n\t\tcase CHANGE_ACTION_STATUS: {\n\t\t\tconst { actionName, status, message } = action;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tresolutionState: {\n\t\t\t\t\t...state.resolutionState,\n\t\t\t\t\t[ actionName ]: {\n\t\t\t\t\t\tstatus,\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tcase INVALIDATE_RESOLUTION: {\n\t\t\tconst { id, operation } = action.payload;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tresolutionState: {\n\t\t\t\t\t...state.resolutionState,\n\t\t\t\t\t[ operation ]: {\n\t\t\t\t\t\t...state.resolutionState?.[ operation ],\n\t\t\t\t\t\t[ id ]: undefined,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default reducer;\n","import { createSelector } from '@wordpress/data';\n\nimport { DispatchStatus } from '../constants';\n\nimport type { State } from './reducer';\nimport type { WPLinkSearchResult } from './types';\n\n/*****************************************************\n * SECTION: Suggestion selectors\n *****************************************************/\nconst suggestionSelectors = {\n\t/**\n\t * Get search results for link suggestions.\n\t */\n\tgetSuggestions: createSelector(\n\t\t( state: State ): WPLinkSearchResult[] => state.searchResults || [],\n\t\t( state: State ) => [ state.searchResults ]\n\t),\n};\n\n/*****************************************************\n * SECTION: Resolution state selectors\n *****************************************************/\nconst resolutionSelectors = {\n\t/**\n\t * Get resolution state for a specific entity.\n\t */\n\tgetResolutionState: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = state.resolutionState?.[ id ];\n\n\t\t\t// If no resolution state exists, return idle\n\t\t\tif ( ! resolutionState ) {\n\t\t\t\treturn {\n\t\t\t\t\tstatus: DispatchStatus.Idle,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn resolutionState;\n\t\t},\n\t\t( _state: State, id: number | string ) => [ id ]\n\t),\n\n\t/**\n\t * Check if a resolution is idle.\n\t */\n\tisIdle: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = resolutionSelectors.getResolutionState(\n\t\t\t\tstate,\n\t\t\t\tid\n\t\t\t);\n\t\t\treturn resolutionState.status === DispatchStatus.Idle;\n\t\t},\n\t\t( _state: State, id: number | string ) => [ id ]\n\t),\n\n\t/**\n\t * Check if an entity is currently being resolved.\n\t */\n\tisResolving: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = resolutionSelectors.getResolutionState(\n\t\t\t\tstate,\n\t\t\t\tid\n\t\t\t);\n\t\t\treturn resolutionState.status === DispatchStatus.Resolving;\n\t\t},\n\t\t( _state: State, id: number | string ) => [ id ]\n\t),\n\n\t/**\n\t * Check if an entity resolution has completed successfully.\n\t */\n\thasResolved: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = resolutionSelectors.getResolutionState(\n\t\t\t\tstate,\n\t\t\t\tid\n\t\t\t);\n\t\t\treturn resolutionState.status === DispatchStatus.Success;\n\t\t},\n\t\t( _state: State, id: number | string ) => [ id ]\n\t),\n\n\t/**\n\t * Check if an entity resolution has failed.\n\t */\n\thasFailed: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = resolutionSelectors.getResolutionState(\n\t\t\t\tstate,\n\t\t\t\tid\n\t\t\t);\n\t\t\treturn resolutionState.status === DispatchStatus.Error;\n\t\t},\n\t\t( _state: State, id: number | string ) => [ id ]\n\t),\n\n\t/**\n\t * Get the error for a failed resolution.\n\t */\n\tgetResolutionError: createSelector(\n\t\t( state: State, id: number | string ) => {\n\t\t\tconst resolutionState = resolutionSelectors.getResolutionState(\n\t\t\t\tstate,\n\t\t\t\tid\n\t\t\t);\n\t\t\treturn resolutionState.error;\n\t\t},\n\t\t( _state: State, id: number | string ) => [ id ]\n\t),\n};\n\nconst selectors = {\n\t// Suggestion selectors\n\t...suggestionSelectors,\n\t// Resolution state selectors\n\t...resolutionSelectors,\n};\n\nexport default selectors;\n","import { createReduxStore } from '@wordpress/data';\n\nimport reducer from './reducer';\nimport actions from './actions';\nimport selectors from './selectors';\nimport { initialState, STORE_NAME } from './constants';\n\nimport type { StoreActions, StoreSelectors, StoreState } from './types';\n\n/**\n * Generate store config.\n */\nexport const storeConfig = () => ( {\n\tinitialState,\n\treducer,\n\tactions,\n\tselectors,\n} );\n\n/**\n * Store definition for the License data namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n */\nconst store = createReduxStore< StoreState, StoreActions, StoreSelectors >(\n\tSTORE_NAME,\n\tstoreConfig()\n);\n\nexport default store;\n","import { __ } from '@popup-maker/i18n';\nimport { appendUrlParams, fetchFromWPApi } from '../utils';\n\nimport type {\n\tSearchArgs,\n\tSearchOptions,\n\tWPLinkAPIResult,\n\tWPLinkSearchResult,\n} from './types';\n\nexport const apiQueryUrl = ( queryParams: SearchArgs = { search: '' } ) =>\n\tappendUrlParams( 'wp/v2/search', queryParams );\n\n/**\n * Fetch link suggestions from the WordPress API\n *\n * @param {string} search The search term.\n * @param {SearchOptions} searchOptions The search options.\n *\n * @return {Promise<WPLinkSearchResult[]>} The link suggestions.\n */\nexport const fetchLinkSuggestions = async (\n\tsearch: string,\n\tsearchOptions: SearchOptions = {}\n): Promise< WPLinkSearchResult[] > => {\n\tconst {\n\t\tisInitialSuggestions = false,\n\t\ttype = undefined,\n\t\tsubtype = undefined,\n\t\tpage = undefined,\n\t\tperPage = isInitialSuggestions ? 3 : 20,\n\t} = searchOptions;\n\n\tconst queries: Promise< WPLinkAPIResult[] >[] = [];\n\n\tconst typeCheck = ( t: string ) =>\n\t\t! type ||\n\t\ttype === t ||\n\t\t( Array.isArray( type ) && type.indexOf( t ) >= 0 );\n\n\t// Helper function to fetch and transform results\n\tconst fetchResults = async ( queryType?: string, kind?: string ) => {\n\t\ttry {\n\t\t\tconst results = await fetchFromWPApi< WPLinkAPIResult[] >(\n\t\t\t\tapiQueryUrl( {\n\t\t\t\t\tsearch,\n\t\t\t\t\tpage,\n\t\t\t\t\tper_page: perPage,\n\t\t\t\t\ttype: queryType,\n\t\t\t\t\tsubtype,\n\t\t\t\t} ),\n\t\t\t\t{ cache: 'no-cache' }\n\t\t\t);\n\n\t\t\treturn results.map( ( result ) => ( {\n\t\t\t\t...result,\n\t\t\t\tmeta: { kind: kind || queryType, subtype },\n\t\t\t} ) );\n\t\t} catch {\n\t\t\treturn []; // Fail by returning no results\n\t\t}\n\t};\n\n\t// Fetch posts\n\tif ( typeCheck( 'post' ) ) {\n\t\tqueries.push( fetchResults( 'post', 'post-type' ) );\n\t}\n\n\t// Fetch terms\n\tif ( typeCheck( 'term' ) ) {\n\t\tqueries.push( fetchResults( 'term', 'taxonomy' ) );\n\t}\n\n\t// Fetch post formats\n\tif ( typeCheck( 'post-format' ) ) {\n\t\tqueries.push( fetchResults( 'post-format', 'taxonomy' ) );\n\t}\n\n\t// Fetch attachments\n\tif ( typeCheck( 'attachment' ) ) {\n\t\tqueries.push( fetchResults( 'attachment', 'media' ) );\n\t}\n\n\tconst results = await Promise.all( queries );\n\n\treturn results\n\t\t.flat()\n\t\t.filter( ( result ): result is WPLinkAPIResult => !! result.id )\n\t\t.slice( 0, perPage )\n\t\t.map( ( result ) => {\n\t\t\tconst isMedia = result.type === 'attachment';\n\t\t\tconst title =\n\t\t\t\ttypeof result.title === 'object'\n\t\t\t\t\t? result.title.rendered ?? result.title.raw\n\t\t\t\t\t: result.title || __( '(no title)', 'popup-maker' );\n\n\t\t\treturn {\n\t\t\t\tid: result.id,\n\t\t\t\turl:\n\t\t\t\t\tisMedia && result.source_url\n\t\t\t\t\t\t? result.source_url\n\t\t\t\t\t\t: result.url,\n\t\t\t\ttitle,\n\t\t\t\ttype: result?.subtype || result.type,\n\t\t\t\tkind: result?.meta?.kind,\n\t\t\t} as WPLinkSearchResult;\n\t\t} );\n};\n","import apiFetch, { type APIFetchOptions } from '@wordpress/api-fetch';\n\nexport const restBase = 'popup-maker/v2';\n\nexport const restApiUrl = `${ wpApiSettings.root }`;\nexport const restUrl = `${ wpApiSettings.root }${ restBase }/`;\n\ntype WPError = {\n\tcode?: string;\n\tmessage?: string;\n\tdata?: {\n\t\tstatus?: number;\n\t\tparams?: Record< string, string >;\n\t\tdetails?: {\n\t\t\tsettings: {\n\t\t\t\tcode: string;\n\t\t\t\tmessage: string;\n\t\t\t\tdata?: {\n\t\t\t\t\tfield: string;\n\t\t\t\t};\n\t\t\t};\n\t\t\t[ key: string ]: {\n\t\t\t\tcode: string;\n\t\t\t\tmessage: string;\n\t\t\t\tdata?: any;\n\t\t\t};\n\t\t};\n\t};\n};\n\n/**\n * Creates default headers with authentication and content type\n */\nconst getDefaultHeaders = (): Record< string, string > => ( {\n\t'Content-Type': 'application/json',\n\t'X-WP-Nonce': wpApiSettings.nonce,\n} );\n\n/**\n * Handles path modification for WordPress API URLs with existing query parameters\n * @param {string} path The API path to modify if needed\n * @return {string} Modified path\n */\nconst getModifiedPath = ( path: string ): string => {\n\tif ( wpApiSettings.root.includes( '?' ) ) {\n\t\treturn path.replace( '?', '&' );\n\t}\n\treturn path;\n};\n\n/**\n * Base function to fetch data from any WordPress API endpoint with proper authentication and error handling\n *\n * @param {string} path - The full API endpoint path\n * @param {APIFetchOptions} [options={}] - API Fetch options\n * @return {Promise<T>} Promise that resolves with the JSON response\n * @throws {Error} If the fetch fails or returns an error status\n *\n * Example usage:\n * const saveRecord = (id: string, record: any) => async (dispatch: any) => {\n * try {\n * dispatch({ type: 'BEFORE_SAVE', id, record });\n * const results = await fetchFromApi(`/records/${id}`, {\n * method: 'POST',\n * body: record,\n * });\n * dispatch({ type: 'AFTER_SAVE', id, results });\n * return results;\n * } catch (error) {\n * dispatch({ type: 'SAVE_ERROR', id, error });\n * throw error;\n * }\n * };\n */\nexport const fetchFromWPApi = async < T extends any = any >(\n\tpath: string,\n\toptions: APIFetchOptions = {}\n): Promise< T > => {\n\t// Combine default and custom headers\n\tconst headers: Record< string, string > = {\n\t\t...getDefaultHeaders(),\n\t\t...( ( options.headers as Record< string, string > ) || {} ),\n\t};\n\n\t// Modify path if needed\n\tconst modifiedPath = getModifiedPath( path );\n\n\ttry {\n\t\t// Use apiFetch instead of window.fetch\n\t\treturn await apiFetch< T >( {\n\t\t\turl: `${ restApiUrl }${ modifiedPath }`,\n\t\t\t...options,\n\t\t\theaders,\n\t\t\tcredentials: 'same-origin',\n\t\t\tparse: true, // Let apiFetch handle JSON parsing\n\t\t} );\n\t} catch ( error ) {\n\t\t// If it's already an Error instance, just throw it\n\t\tif ( error instanceof Error ) {\n\t\t\tthrow error;\n\t\t}\n\n\t\t// Handle WordPress API error format\n\t\tif ( typeof error === 'object' && error !== null ) {\n\t\t\tconst wpError = error as WPError;\n\n\t\t\t// Pass through the original error with validation params\n\t\t\tif ( wpError.code === 'rest_invalid_param' ) {\n\t\t\t\tthrow wpError;\n\t\t\t}\n\n\t\t\t// For other errors, throw generic error\n\t\t\tconst message = wpError.message || 'API request failed';\n\t\t\tthrow new Error( message );\n\t\t}\n\n\t\t// Fallback error\n\t\tthrow new Error( 'Unknown error occurred' );\n\t}\n};\n\n/**\n * Fetches data specifically from the Popup Maker API endpoints\n *\n * @param {string} path - The API endpoint path\n * @param {APIFetchOptions} [options={}] - API Fetch options\n * @return {Promise<T>} Promise that resolves with the JSON response\n * @throws {Error} If the fetch fails or returns an error status\n *\n * Example usage:\n * const saveRecord = (id: string, record: any) => async (dispatch: any) => {\n * try {\n * dispatch({ type: 'BEFORE_SAVE', id, record });\n * const results = await fetchFromApi(`/records/${id}`, {\n * method: 'POST',\n * body: record,\n * });\n * dispatch({ type: 'AFTER_SAVE', id, results });\n * return results;\n * } catch (error) {\n * dispatch({ type: 'SAVE_ERROR', id, error });\n * throw error;\n * }\n * };\n */\nexport const fetchFromApi = async < T extends any = any >(\n\tpath: string,\n\toptions: APIFetchOptions = {}\n): Promise< T > => {\n\treturn fetchFromWPApi< T >( `${ restBase }/${ path }`, options );\n};\n","export * from './controls';\n\n/**\n * Append params to url.\n *\n * @param {string} url Url to append params to.\n * @param {Object} params Object of url parameters.\n * @return {string} Resulting resource path.\n */\nexport const appendUrlParams = ( url: string, params: object ): string => {\n\tconst filteredParams = Object.fromEntries(\n\t\tObject.entries( params ).filter( ( [ , value ] ) => !! value )\n\t);\n\n\tconst query = new URLSearchParams( {\n\t\t...filteredParams,\n\t} );\n\n\treturn `${ url }?${ query }`;\n};\n\n/**\n * Gets error message from unknonw error type.\n *\n * @param {unknown} error Error typeed variable or string.\n * @return {string} String error message.\n */\nexport const getErrorMessage = ( error: unknown ): string => {\n\tif ( error instanceof Error ) {\n\t\treturn error.message;\n\t}\n\n\t// Handle objects with a message property (like validation errors)\n\tif ( typeof error === 'object' && error !== null && 'message' in error ) {\n\t\treturn String( ( error as { message: unknown } ).message );\n\t}\n\n\treturn String( error );\n};\n\n// mapRestValidationError removed - using WordPress notices for field errors\n","module.exports = window[\"popupMaker\"][\"i18n\"];","module.exports = window[\"wp\"][\"apiFetch\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"hooks\"];","module.exports = window[\"wp\"][\"htmlEntities\"];","module.exports = window[\"wp\"][\"notices\"];","module.exports = window[\"lodash\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export * from './call-to-actions';\nexport * from './constants';\nexport * from './license';\nexport * from './popups';\nexport * from './settings';\nexport * from './url-search';\n\nexport * from './hooks';\nexport * from './utils';\n\nexport type * from './types';\n"],"names":["cloneDeep","mergeWith","compare","jsonpatchCompare","__","sprintf","store","noticesStore","decodeEntities","ACTION_TYPES","NOTICE_CONTEXT","DispatchStatus","fetchFromApi","getErrorMessage","validateCallToAction","editableEntity","RECEIVE_RECORD","PURGE_RECORD","EDITOR_CHANGE_ID","EDIT_RECORD","START_EDITING_RECORD","SAVE_EDITED_RECORD","UNDO_EDIT_RECORD","REDO_EDIT_RECORD","RESET_EDIT_RECORD","CHANGE_ACTION_STATUS","INVALIDATE_RESOLUTION","handleFieldValidationErrors","error","ctaId","dispatch","registry","code","data","params","notices","select","getNotices","fieldErrors","filter","n","id","startsWith","forEach","removeNotice","Object","entries","field","message","details","settings","settingsError","createErrorNotice","isDismissible","type","additional_errors","Array","isArray","additionalError","entityActions","createCallToAction","callToAction","validate","withNotices","action","payload","actionName","status","Resolving","newCta","validation","Error","result","method","batch","Success","createSuccessNotice","title","rendered","record","errorMessage","hasFieldErrors","updateCallToAction","canonicalCallToAction","getCallToAction","toString","deleteCallToAction","forceDelete","force","editorActions","editRecord","edits","hasEditedEntity","getEditedCallToAction","then","undefined","editedEntity","_objValue","srcValue","slice","diff","console","saveEditedRecord","hasEdits","historyIndex","getCurrentEditHistoryIndex","editedCallToAction","undo","steps","getEditorId","redo","resetRecordEdits","updateEditorValues","values","editorId","saveEditorValues","editorValues","getCurrentEditorValues","resetEditorValues","changeEditorId","entity","setEditorId","noticeActions","createNotice","content","options","context","removeAllNotices","ids","removeNotices","noticeIds","map","notice","resolutionActions","changeActionStatus","invalidateResolution","actions","STORE_NAME","RECEIVE_RECORDS","RECEIVE_QUERY_RECORDS","RECEIVE_ERROR","PURGE_RECORDS","START_RESOLUTION","FINISH_RESOLUTION","FAIL_RESOLUTION","initialState","byId","allIds","queries","editedEntities","editHistory","editHistoryIndex","resolutionState","errors","global","noticeDefaults","defaultValues","uuid","slug","excerpt","url","date","date_gmt","guid","link","modified","modified_gmt","author","generated_slug","permalink_template","password","featured_media","comment_status","ping_status","format","meta","sticky","template","categories","tags","default","callToActionStore","defaultCtaValues","CALL_TO_ACTION_STORE","reducer","state","includes","records","query","reduce","acc","from","Set","r","JSON","stringify","prevErrors","newById","push","length","_id","fromEntries","newState","_state$editHistory$id","_state$editHistoryInd","currentIndex","newEditHistory","_state$editHistoryInd2","newIndex","Math","max","_state$editHistoryInd3","_state$editHistory$id2","maxIndex","min","remainingEdits","Number","operation","appendUrlParams","entityResolvers","getCallToActions","urlParams","per_page","results","_links","resolvers","applyPatch","applyFilters","createRegistrySelector","createSelector","entitySelectors","keys","getFetchError","getFiltered","predicate","maintainOrder","getFilteredIds","editorSelectors","isEditorActive","getEditedEntity","getEntityEditHistory","hasUndo","hasRedo","baseEntity","editsToApply","patchSet","patchArray","patched","newDocument","getDefaultValues","_state","noticeSelectors","getNoticeById","find","resolutionSelectors","getResolutionState","Idle","isIdle","isResolving","hasResolved","hasFailed","getResolutionError","selectors","createReduxStore","storeConfig","isRenderedText","value","key","raw","tabName","useLicense","useSettings","useMemo","useDispatch","useSelect","licenseStore","_licenseStatus$licens","_licenseStatus$error","_licenseStatus$licens2","_licenseStatus$error2","connectInfo","licenseKey","licenseStatus","isSaving","proWasActivated","isActivatingPro","storeSelect","getConnectInfo","getLicenseKey","getLicenseStatus","isDispatching","hasDispatched","activateLicense","deactivateLicense","checkLicenseStatus","updateLicenseKey","removeLicense","activatePro","isLicenseActive","license","isLicenseDeactivated","isLicenseInvalid","isLicenseMissing","isLicenseExpired","isLicenseDisabled","isLicenseOverQuota","hasError","isGeneralError","isLicenseKeyValid","getLicenseStatusName","licenseLevel","_licenseStatus$price_","priceId","price_id","parseInt","settingsStore","currentSettings","unsavedChanges","hasUnsavedChanges","getUnsavedChanges","getSettings","updateSettings","saveSettings","stageUnsavedChanges","getSetting","name","defaultValue","_settings$name","apiPath","ACTIVATE_LICENSE","CONNECT_SITE","DEACTIVATE_LICENSE","UPDATE_LICENSE_KEY","REMOVE_LICENSE","CHECK_LICENSE_STATUS","HYDRATE_LICENSE_DATA","log","currentKey","hydrate","LICENSE_FETCH_ERROR","licenseStatusDefaults","success","license_limit","site_count","expires","activations_left","error_message","defaultLicenseValues","LICENSE_STORE","dispatchStatus","getLicenseData","resolveSelect","_await$resolveSelect$","_await$resolveSelect$2","getDispatchStatus","actionNames","dispatching","i","indexOf","getDispatchError","subpath","validatePopup","createPopup","popup","newPopup","updatePopup","canonicalPopup","getPopup","deletePopup","getEditedPopup","editedPopup","popupId","enabled","conditions","logicalOperator","items","popupStore","defaultPopupValues","POPUP_STORE","getPopups","UPDATE","SAVE_CHANGES","STAGE_CHANGES","HYDRATE","settingsActions","SETTINGS_FETCH_ERROR","permissions","view_block_controls","edit_block_controls","edit_restrictions","manage_settings","_popupMakerCoreData","popupMakerCoreData","defaultSettings","SETTINGS_STORE","_state$unsavedChanges","settingsResolvers","settingsSelectors","getReqPermission","cap","defaultPermission","permission","fetchLinkSuggestions","SEARCH_REQUEST","SEARCH_SUCCESS","SEARCH_ERROR","searchActions","updateSuggestions","queryText","searchOptions","searchRequest","searchSuccess","searchError","UPDATE_SUGGESTIONS","currentQuery","searchResults","urlSearchStore","URL_SEARCH_STORE","suggestionSelectors","getSuggestions","fetchFromWPApi","apiQueryUrl","queryParams","search","isInitialSuggestions","subtype","page","perPage","typeCheck","t","fetchResults","queryType","kind","cache","Promise","all","flat","_result$title$rendere","isMedia","source_url","apiFetch","restBase","restApiUrl","wpApiSettings","root","restUrl","getDefaultHeaders","nonce","getModifiedPath","path","replace","headers","modifiedPath","credentials","parse","wpError","filteredParams","URLSearchParams","String"],"sourceRoot":""} dist/packages/components-rtl.css 0000644 00000053520 15174671772 0013011 0 ustar 00 .component-smart-token-control{width:100%}.component-smart-token-control .component-smart-token-control__input{border:1px solid #8c8f94;border-radius:4px;box-shadow:0 0 0 #0000;display:flex;flex-wrap:wrap;gap:5px;justify-content:space-between;margin:0 1px;padding:5px}.component-smart-token-control .component-smart-token-control__input .component-smart-token-control__tokens{align-items:center;display:flex;flex-grow:1;flex-wrap:wrap;gap:5px;text-overflow:ellipsis;white-space:nowrap;width:100%}.component-smart-token-control .component-smart-token-control__input .component-smart-token-control__tokens .component-smart-token-control__token{background-color:#eee;border:1px solid #8c8f94;border-radius:4px;display:inline-block;padding:0 4px;text-wrap:balance;width:fit-content}.component-smart-token-control .component-smart-token-control__input .component-smart-token-control__tokens .component-smart-token-control__token .component-smart-token-control__token-label{display:inline-block;vertical-align:middle}.component-smart-token-control .component-smart-token-control__input .component-smart-token-control__tokens .component-smart-token-control__token button.component-smart-token-control__token-remove{display:inline-block;height:auto;margin-right:2px;min-width:auto}.component-smart-token-control .component-smart-token-control__input .component-smart-token-control__tokens .component-smart-token-control__token button.component-smart-token-control__token-remove svg{height:1em;vertical-align:middle;width:1em}.component-smart-token-control .component-smart-token-control__input input[type=text]{background:#0000;border:none;box-shadow:none;cursor:pointer;flex-grow:1;line-height:1.2;margin:0;min-height:auto;padding:0;width:100%}.component-smart-token-control .component-smart-token-control__input.input-disabled input[type=text]{display:none}.component-smart-token-control .component-smart-token-control__input .component-smart-token-control__toggle{height:auto;margin:0;min-width:auto;padding:0}.component-smart-token-control__suggestion{cursor:pointer;display:block;line-height:1;min-width:100%;padding:8px 10px;width:max-content}.component-smart-token-control__suggestion.is-currently-highlighted,.component-smart-token-control__suggestion:focus,.component-smart-token-control__suggestion:hover{background-color:var(--wp-admin-theme-color);color:#fff}.component-smart-token-control__suggestion.is-selected{background-color:#ccc;cursor:pointer;pointer-events:none} .pum__component-device-toggle{display:flex;justify-content:space-between}.pum__component-device-toggle .pum__component-device-toggle__control,.pum__component-device-toggle .pum__component-device-toggle__label{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.pum__component-device-toggle .pum__component-device-toggle__label svg{margin-left:8px}.pum__component-device-toggle .pum__component-device-toggle__control .components-base-control,.pum__component-device-toggle .pum__component-device-toggle__control .components-toggle-control .components-base-control__field{margin-bottom:0}.pum__component-device-toggle .pum__component-device-toggle__control .components-base-control .components-form-toggle,.pum__component-device-toggle .pum__component-device-toggle__control .components-toggle-control .components-base-control__field .components-form-toggle{margin-right:8px;margin-left:0}.pum__component-device-toggle .pum__component-device-toggle__control label{display:none!important} .components-field-panel{margin:0 0 30px}.components-field-panel .components-panel__body{position:relative;z-index:0} .components-field-row{display:grid;grid-template-columns:3fr 2.5fr;margin:0;padding:15px 0}.components-field-row.full-width>.components-base-control,.components-field-row.full-width>.components-base-control__field{width:100%}.components-field-row .components-base-control__help{color:#757575;font-size:12px;font-style:normal;margin-bottom:revert;margin-top:8px}.components-field-row+.components-field-row{border-top:1px solid #ddd;padding-top:30px} .component-freeform-edit-control .mce-content-body{border:1px solid #ddd;z-index:1}.wp-block-freeform.block-library-rich-text__tinymce{height:auto}.wp-block-freeform.block-library-rich-text__tinymce li,.wp-block-freeform.block-library-rich-text__tinymce p{line-height:1.8}.wp-block-freeform.block-library-rich-text__tinymce ol,.wp-block-freeform.block-library-rich-text__tinymce ul{margin-right:0;padding-right:2.5em}.wp-block-freeform.block-library-rich-text__tinymce blockquote{border-right:4px solid #000;box-shadow:inset 0 0 0 0 #ddd;margin:0;padding-right:1em}.wp-block-freeform.block-library-rich-text__tinymce pre{color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;white-space:pre-wrap}.wp-block-freeform.block-library-rich-text__tinymce>:first-child{margin-top:0}.wp-block-freeform.block-library-rich-text__tinymce>:last-child{margin-bottom:0}.wp-block-freeform.block-library-rich-text__tinymce.mce-edit-focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce a{color:var(--wp-admin-theme-color)}.wp-block-freeform.block-library-rich-text__tinymce:focus a[data-mce-selected]{background:#e5f5fa;border-radius:2px;box-shadow:0 0 0 1px #e5f5fa;margin:0 -2px;padding:0 2px}.wp-block-freeform.block-library-rich-text__tinymce code{background:#f0f0f0;border-radius:2px;color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:14px;padding:2px}.wp-block-freeform.block-library-rich-text__tinymce:focus code[data-mce-selected]{background:#ddd}.wp-block-freeform.block-library-rich-text__tinymce .alignright{float:left;margin:.5em 1em .5em 0}.wp-block-freeform.block-library-rich-text__tinymce .alignleft{float:right;margin:.5em 0 .5em 1em}.wp-block-freeform.block-library-rich-text__tinymce .aligncenter{display:block;margin-right:auto;margin-left:auto}.wp-block-freeform.block-library-rich-text__tinymce .wp-more-tag{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAADtgAAAAoBAMAAAA86gLBAAAAJFBMVEVMaXG7u7vBwcHDw8POzs68vLzGxsbMzMy+vr7AwMDQ0NDGxsYKLGzpAAAADHRSTlMA///zWf+/f///TMxNVGuqAAABwklEQVR4Ae3dMXLaQBTH4bfj8UCpx8hq0vgKvgFNemhT6Qo6gg6R+0ZahM2QLmyBJ99XWP9V5+o3jIUcLQEAAAAAAAAAAAAAAAAAAAAAAABQ8j0WL9lfTtlt18uNXAUA8O/KVtfa1tdcrOdSh9gCQAMlh1hMNbZZ1bsrsQWABsrhLRbz7z5in/32UbfUMUbkMQCAh5RfGYv82UdMdZ6HS2wjT2ILAI8r3XmM2B3WvM59vfO2xXYW2yYAENuPU8S+X/N67mKxzy225yaxBQCxLV392UdcvwV0jPVUj98ntkBWT7C7+9u2/V/vGtvXIWJ6/4rtbottWa6Ri0NUT/u72LYttrb97LHdvUXMxxrb8TO2W2TF1rYbbLG1bbGNjMi4+2Sbi1FsbbvNFlvbFtt5fDnE3d9sP1/XeIyV2Nr2U2/guZUuptNrH/dPI9eLB6SaAEBs6wPJf3/PNk9tYgsAYrv/8TFuzx/fvkFqGtrEFgDEdpcZUb7ejXy6ntrEFgDENvL6gsas4vbdyKt4DACI7TxElJv/Z7udpqFNbAFAbKduy2uU2trttM/x28UWAAAAAAAAAAAAAAAAAAAAAAAAAADgDyPwGmGTCZp7AAAAAElFTkSuQmCC);background-position:50%;background-repeat:no-repeat;background-size:1900px 20px;cursor:default;display:block;height:20px;margin:15px auto;outline:0;width:96%}.wp-block-freeform.block-library-rich-text__tinymce img::selection{background-color:#0000}.wp-block-freeform.block-library-rich-text__tinymce div.mceTemp{-webkit-user-select:element;user-select:element}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption{margin:0;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption a,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption img{display:block}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption *{-webkit-user-drag:none}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption .wp-caption-dd{margin:0;padding-top:.5em}.wp-block-freeform.block-library-rich-text__tinymce .wpview{border:1px solid #0000;clear:both;margin-bottom:16px;position:relative;width:99.99%}.wp-block-freeform.block-library-rich-text__tinymce .wpview iframe{background:#0000;display:block;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce .wpview .mce-shim{bottom:0;right:0;position:absolute;left:0;top:0}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected="2"] .mce-shim{display:none}.wp-block-freeform.block-library-rich-text__tinymce .wpview .loading-placeholder{border:1px dashed #ddd;padding:10px}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error{border:1px solid #ddd;margin:0;padding:1em 0;word-wrap:break-word}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error p{margin:0;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .loading-placeholder,.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .wpview-error{border-color:#0000}.wp-block-freeform.block-library-rich-text__tinymce .wpview .dashicons{display:block;font-size:32px;height:32px;margin:0 auto;width:32px}.wp-block-freeform.block-library-rich-text__tinymce .wpview.wpview-type-gallery:after{clear:both;content:"";display:table}.wp-block-freeform.block-library-rich-text__tinymce .gallery img[data-mce-selected]:focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce .gallery a{cursor:default}.wp-block-freeform.block-library-rich-text__tinymce .gallery{line-height:1;margin:auto -6px;overflow-x:hidden;padding:6px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-item{box-sizing:border-box;float:right;margin:0;padding:6px;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption,.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-icon{margin:0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption{font-size:13px;margin:4px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-1 .gallery-item{width:100%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-2 .gallery-item{width:50%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-3 .gallery-item{width:33.3333333333%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-4 .gallery-item{width:25%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-5 .gallery-item{width:20%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-6 .gallery-item{width:16.6666666667%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-7 .gallery-item{width:14.2857142857%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-8 .gallery-item{width:12.5%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-9 .gallery-item{width:11.1111111111%}.wp-block-freeform.block-library-rich-text__tinymce .gallery img{border:none;height:auto;max-width:100%;padding:0}.mce-toolbar-grp{z-index:9999}.mce-toolbar-grp .mce-btn.mce-active button,.mce-toolbar-grp .mce-btn.mce-active i,.mce-toolbar-grp .mce-btn.mce-active:hover button,.mce-toolbar-grp .mce-btn.mce-active:hover i{color:#1e1e1e}.mce-toolbar-grp .mce-rtl .mce-flow-layout-item.mce-last{margin-right:8px;margin-left:0}.mce-toolbar-grp .mce-btn i{font-style:normal}.block-library-classic__toolbar{border:1px solid #ddd;border-bottom:none;border-radius:2px;margin:0;padding:0;position:sticky;top:0;width:auto;z-index:2}.block-library-classic__toolbar .mce-tinymce{box-shadow:none}@media(min-width:600px){.block-library-classic__toolbar{padding:0}}.block-library-classic__toolbar:empty{background:#f5f5f5;border-bottom:1px solid #e2e4e7;display:block}.block-library-classic__toolbar:empty:before{color:#555d66;content:attr(data-placeholder);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:37px;padding:14px}.block-library-classic__toolbar div.mce-toolbar-grp{border-bottom:1px solid #1e1e1e}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar .mce-menubar>div,.block-library-classic__toolbar .mce-tinymce-inline,.block-library-classic__toolbar .mce-tinymce-inline>div,.block-library-classic__toolbar div.mce-toolbar-grp,.block-library-classic__toolbar div.mce-toolbar-grp>div{height:auto!important;width:100%!important}.block-library-classic__toolbar .mce-container-body.mce-abs-layout{overflow:visible}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar div.mce-toolbar-grp{position:static}.block-library-classic__toolbar .mce-toolbar-grp>div{padding:1px 3px}.block-library-classic__toolbar .mce-toolbar-grp .mce-toolbar:not(:first-child){display:none}.block-library-classic__toolbar.has-advanced-toolbar .mce-toolbar-grp .mce-toolbar{display:block}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{height:50vh!important}@media(min-width:960px){.block-editor-freeform-modal .block-editor-freeform-modal__content:not(.is-full-screen){height:9999rem}.block-editor-freeform-modal .block-editor-freeform-modal__content .components-modal__header+div{height:100%}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-tinymce{height:calc(100% - 52px)}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-container-body{display:flex;flex-direction:column;height:100%;min-width:50vw}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area{display:flex;flex-direction:column;flex-grow:1}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{flex-grow:1;height:10px!important}}.block-editor-freeform-modal__actions{margin-top:16px} .component-list-table{background:#f9fafb;border:1px solid #ddd;border-spacing:0;box-shadow:0 1px 1px #0000000a;width:100%}.component-list-table *{word-wrap:break-word}.component-list-table td,.component-list-table th{color:#50575e;padding:10px}.component-list-table td{font-size:13px;line-height:1.5em;vertical-align:top}.component-list-table tfoot td,.component-list-table th,.component-list-table thead td{font-size:14px;text-align:right}.component-list-table tfoot,.component-list-table thead{background-color:#fff}.component-list-table tbody tr td,.component-list-table tbody tr th{border-bottom:1px solid #ddd}.component-list-table tbody tr .item-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;right:-9999px;position:relative}.component-list-table tbody tr .item-actions .components-button.is-link.is-destructive,.component-list-table tbody tr .item-actions .components-button.is-link.is-destructive:focus:not(:disabled){color:#cc1818}.component-list-table tbody tr .item-actions .components-button.is-link.is-destructive:hover{border:none;box-shadow:none!important;color:#710d0d}.component-list-table tbody tr:focus .item-actions,.component-list-table tbody tr:focus-within .item-actions,.component-list-table tbody tr:hover .item-actions{right:0}.component-list-table tbody tr:last-child td,.component-list-table tbody tr:last-child th{border-bottom:none!important;box-shadow:none}.component-list-table tfoot td,.component-list-table tfoot th,.component-list-table thead td,.component-list-table thead th{border-bottom:none;border-top:1px solid #c3c4c7;color:#2c3338;font-weight:400;line-height:1.4em}.component-list-table tfoot td.sortable,.component-list-table tfoot th.sortable,.component-list-table thead td.sortable,.component-list-table thead th.sortable{padding:0}.component-list-table tfoot td.check-column,.component-list-table tfoot th.check-column,.component-list-table thead td.check-column,.component-list-table thead th.check-column{vertical-align:middle;width:2.2em}.component-list-table thead td,.component-list-table thead th{border-bottom:1px solid #c3c4c7}.component-list-table tfoot td,.component-list-table tfoot th{border-bottom:none;border-top:1px solid #c3c4c7}.component-list-table .check-column .components-checkbox-control__input[type=checkbox]{border-color:#c3c4c7;z-index:1}.component-list-table .check-column svg{z-index:2}.component-list-table .check-column .components-base-control__field{margin-bottom:0!important}.component-list-table .check-column .components-checkbox-control__input,.component-list-table .check-column .components-checkbox-control__input-container{margin-left:0!important}.component-list-table a,.component-list-table button.button,.component-list-table button.is-link{text-decoration:none}.component-list-table tbody a,.component-list-table tbody button.button,.component-list-table tbody button.is-link{font-weight:500}.component-list-table th.sortable a,.component-list-table th.sortable button{align-items:center;display:flex;font-size:14px;height:36px;overflow:hidden;padding:10px;width:100%}.component-list-table th.sortable a span,.component-list-table th.sortable button span{line-height:1}.component-list-table th.sortable a svg,.component-list-table th.sortable button svg{margin-right:3px;fill:#000}.component-list-table.striped>tbody>:nth-child(odd){background-color:#f6f7f7} .components-radio-button-control .options{display:flex}.components-radio-button-control .options .components-button{justify-content:center;padding:12px}.components-radio-button-control .options .components-button .components-icon,.components-radio-button-control .options .components-button svg{margin-left:10px;stroke:currentColor}.components-radio-button-control .options .components-button .components-icon.pum-icon,.components-radio-button-control .options .components-button svg.pum-icon{fill:#0000}.components-radio-button-control.vertical .options{flex-direction:column}.components-radio-button-control.equal-width .options .components-button{flex:1 0 0%} .component-searchable-multicheck-control{position:relative}.component-searchable-multicheck-control .select-actions{display:flex;gap:16px;position:absolute;left:0;top:0}.component-searchable-multicheck-control .select-actions .components-button{font-size:12px;font-weight:500;line-height:1.4;text-decoration:none}.component-searchable-multicheck-control .icon-input{align-items:center;display:flex;position:relative;vertical-align:middle}.component-searchable-multicheck-control .icon-input svg{position:absolute;left:1em}.component-searchable-multicheck-control table{background:#fff;border-spacing:0;padding:8px;width:100%}.component-searchable-multicheck-control table *{word-wrap:break-word}.component-searchable-multicheck-control table .label-column{text-align:right}.component-searchable-multicheck-control table .label-column .components-button{right:-4px;position:relative}.component-searchable-multicheck-control table thead td,.component-searchable-multicheck-control table thead th{border-bottom:1px solid #ccc}.component-searchable-multicheck-control table thead:after{content:"";display:block;line-height:.5em}.component-searchable-multicheck-control table tbody tr td,.component-searchable-multicheck-control table tbody tr th{color:#50575e;padding:4px 0}.component-searchable-multicheck-control table tbody tr td:first-child{font-weight:700;text-align:right}.component-searchable-multicheck-control table tbody tr td:first-child>span{cursor:pointer}.component-searchable-multicheck-control table tbody tr th:last-child{text-align:center}.component-searchable-multicheck-control table .cb-column{text-align:center;width:80px}.component-searchable-multicheck-control table .cb-column *,.component-searchable-multicheck-control table .cb-column .components-checkbox-control{margin:0} .components-url-control .components-base-control__label{display:block}.components-url-control .url-control-wrapper .url-control{position:relative}.components-url-control .url-control-wrapper .url-control .url-control__input-icon{color:#1e1e1e;right:9px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.components-url-control .url-control-wrapper .url-control .url-control__input{display:block;font-size:1.2em;min-height:50px;padding-right:36px;width:100%}.components-url-control .url-control-wrapper .url-control .url-control__actions{position:absolute;left:9px;top:9px}.components-url-control .url-control-wrapper .url-control .url-control__actions .components-button,.components-url-control .url-control-wrapper .url-control .url-control__actions .components-spinner{margin:0 5px 0 0;padding:0}.components-url-control .url-control-wrapper .url-control .url-control__actions .components-button{height:auto;min-width:auto}.components-url-control .url-control-wrapper .url-control .url-control__actions .components-spinner{height:24px;width:24px}.components-url-control .chosen-suggestion{align-items:top;background-color:#f0f0f0;border-radius:2px;display:flex;font-size:13px;gap:8px;padding:12px 16px}.components-url-control .chosen-suggestion .suggestion-item-header{display:flex;flex-direction:column;gap:0}.components-url-control .chosen-suggestion .suggestion-item-title{font-weight:500}.components-url-control .chosen-suggestion .suggestion-item-info{color:#757575}.suggestions-popover>.components-popover__content{width:fit-content}.suggestions-popover>.components-popover__content .suggestion{align-items:flex-start;background:#fff;border:none;border-radius:2px;cursor:pointer;display:flex;font-size:13px;height:auto;padding:12px 16px;position:relative;text-align:right;width:100%}.suggestions-popover>.components-popover__content .suggestion.is-selected,.suggestions-popover>.components-popover__content .suggestion:hover{background-color:#f0f0f0}.suggestions-popover>.components-popover__content .suggestion-item-info,.suggestions-popover>.components-popover__content .suggestion-item-title{overflow:hidden;text-overflow:ellipsis}.suggestions-popover>.components-popover__content .suggestion-item-header{align-items:flex-start;display:block;flex-direction:row;margin-left:8px;overflow-wrap:break-word;text-align:right;white-space:pre-wrap;word-break:break-all}.suggestions-popover>.components-popover__content .suggestion-item-icon{display:flex;flex-shrink:0;justify-content:center;margin-left:8px;max-height:24px;position:relative;top:.2em;width:24px}.suggestions-popover>.components-popover__content .suggestion-item-title{display:block;font-weight:500;margin-bottom:.2em;position:relative}.suggestions-popover>.components-popover__content .suggestion-item-info{color:#757575;display:block;font-size:.9em;line-height:1.3;word-break:break-all}.suggestions-popover>.components-popover__content .suggestion-item-type{background-color:#f0f0f0;border-radius:2px;display:block;font-size:.9em;margin-right:auto;padding:3px 6px;white-space:nowrap} dist/packages/block-library.css 0000644 00000020507 15174671772 0012560 0 ustar 00 .wp-block[data-align=center]>.wp-block-popup-maker-cta-button{margin-left:auto;margin-right:auto;text-align:center}.wp-block[data-align=right]>.wp-block-popup-maker-cta-button{text-align:right}.wp-block-popup-maker-cta-button{cursor:text;position:relative}.wp-block-popup-maker-cta-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color);outline:2px solid #0000;outline-offset:-2px}.wp-block-popup-maker-cta-button[data-rich-text-placeholder]:after{opacity:.8}div[data-type="popup-maker/cta-button"]{display:table}.pum-cta-error-notice{margin-bottom:10px} .wp-block-popup-maker-cta-button__link{align-content:center;box-sizing:border-box;cursor:pointer;display:inline-block;height:100%;text-align:center;width:100%;word-break:break-word}.wp-block-popup-maker-cta-button__link.aligncenter,.wp-block-popup-maker-cta-button__link.has-text-align-center{text-align:center}.wp-block-popup-maker-cta-button__link.alignright,.wp-block-popup-maker-cta-button__link.has-text-align-right{text-align:right}.wp-block-popup-maker-cta-button__link.alignleft,.wp-block-popup-maker-cta-button__link.has-text-align-left{text-align:left}:where(.wp-block-popup-maker-cta-button__link){border-radius:9999px;box-shadow:none;padding:1rem 2.25rem;text-decoration:none}.wp-block-popup-maker-cta-button[style*=text-decoration] .wp-block-popup-maker-cta-button__link{text-decoration:inherit}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.has-custom-width{max-width:none}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.has-custom-width .wp-block-popup-maker-cta-button__link{width:100%}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.has-custom-font-size .wp-block-popup-maker-cta-button__link{font-size:inherit}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-100{flex-basis:100%;width:100%}.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-25{width:25%}.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-50{width:50%}.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-75{width:75%}.wp-block-popup-maker-cta-button.is-style-squared,.wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button.is-style-squared{border-radius:0}.wp-block-popup-maker-cta-button.no-border-radius,.wp-block-popup-maker-cta-button__link.no-border-radius{border-radius:0!important}:root :where(.wp-block-popup-maker-cta-button){font-family:inherit;font-size:var(--wp--preset--font-size--medium);font-style:normal;line-height:inherit}:root :where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline){background-color:var(--wp--preset--color--contrast);border-color:var(--wp--preset--color--contrast);color:var(--wp--preset--color--base)}:root :where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline):hover{background-color:color-mix(in srgb,var(--wp--preset--color--contrast) 85%,#0000);border-color:#0000;color:var(--wp--preset--color--base)}:root :where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline),:root :where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link){border:1px solid;padding:calc(1rem - 1px) calc(2.25rem - 1px)}:root :where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline:not(.has-text-color)),:root :where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link:not(.has-text-color)){color:currentColor}:root :where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline:not(.has-background)),:root :where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link:not(.has-background)){background-color:#0000;background-image:none}:root :where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button__link:not(.has-background):hover){background-color:color-mix(in srgb,var(--wp--preset--color--contrast) 5%,#0000)}.wp-block-popup-maker-cta-button__link:hover.has-background:not(.is-style-outline):hover,.wp-block-popup-maker-cta-button__link:hover[style*=background-color]:not(.is-style-outline){filter:brightness(.85)}.wp-block-popup-maker-cta-button__link:hover.is-style-outline:hover{filter:brightness(1.05)}@supports not (background-color:color-mix(in srgb,red 50%,blue)){:where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline):hover{filter:brightness(.85)}:where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button__link:not(.has-background):hover){filter:brightness(1.05)}}.wp-block-popup-maker-cta-button{cursor:text;position:relative} .wp-block-popup-maker-cta-buttons>.wp-block{margin:0}.wp-block-popup-maker-cta-buttons>.block-list-appender{align-items:center;display:inline-flex}.wp-block-popup-maker-cta-buttons.is-vertical>.block-list-appender .block-list-appender__toggle{justify-content:flex-start}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button:focus{box-shadow:none}.wp-block-popup-maker-cta-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center]{margin-left:auto;margin-right:auto;margin-top:0;width:100%}.wp-block-popup-maker-cta-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center] .wp-block-popup-maker-cta-button{margin-bottom:0}.wp-block[data-align=center]>.wp-block-popup-maker-cta-buttons{align-items:center;justify-content:center}.wp-block[data-align=right]>.wp-block-popup-maker-cta-buttons{justify-content:flex-end} .wp-block-popup-maker-cta-buttons{box-sizing:border-box}.wp-block-popup-maker-cta-buttons.is-vertical{flex-direction:column}.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button:last-child{margin-bottom:0}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button{display:inline-block;margin:0}.wp-block-popup-maker-cta-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-popup-maker-cta-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-popup-maker-cta-buttons.is-content-justification-center{justify-content:center}.wp-block-popup-maker-cta-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-popup-maker-cta-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-popup-maker-cta-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-popup-maker-cta-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-popup-maker-cta-buttons.aligncenter{text-align:center}.wp-block-popup-maker-cta-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-popup-maker-cta-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-popup-maker-cta-buttons[style*=text-decoration] .wp-block-popup-maker-cta-button,.wp-block-popup-maker-cta-buttons[style*=text-decoration] .wp-block-popup-maker-cta-button__link{text-decoration:inherit}.wp-block-popup-maker-cta-buttons.has-custom-font-size .wp-block-popup-maker-cta-button__link{font-size:inherit}.wp-block-popup-maker-cta-button.aligncenter{text-align:center}:root .wp-block-popup-maker-cta-buttons.is-layout-flex:not([class*=wp-container-popup-maker-cta-buttons-is-layout-]){gap:16px} dist/packages/popup-admin.js.map 0000644 00000003101 15174671772 0012644 0 ustar 00 {"version":3,"file":"popup-admin.js","mappings":";;;;;;;;;;AAAA;;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E","sources":["webpack://popup-maker/core/./packages/popup-admin/src/index.scss?c63c","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/popup-admin/src/index.ts?"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport {};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './index.scss';\n"],"names":[],"sourceRoot":""} dist/packages/fields.js 0000644 00000036733 15174671772 0011126 0 ustar 00 (()=>{var e={942:(e,t)=>{var n;!function(){"use strict";var s={}.hasOwnProperty;function o(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=l(e,r(n)))}return e}function r(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return o.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var n in e)s.call(e,n)&&e[n]&&(t=l(t,n));return t}function l(e,t){return t?e?e+" "+t:e+t:e}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()}},t={};function n(s){var o=t[s];if(void 0!==o)return o.exports;var r=t[s]={exports:{}};return e[s](r,r.exports,n),r.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};(()=>{"use strict";n.r(s),n.d(s,{CheckboxField:()=>o,ColorField:()=>r,CustomSelectField:()=>d,DateField:()=>m,Field:()=>j,FieldContextProvider:()=>R,Fields:()=>b,FieldsContext:()=>B,HtmlField:()=>_,MeasureField:()=>C,MulticheckField:()=>w,NumberField:()=>S,ObjectSelectField:()=>T,RadioField:()=>M,RangeSliderField:()=>N,SelectField:()=>H,TextAreaField:()=>E,TextField:()=>I,TokenSelectField:()=>P,useFields:()=>z});const e=window.wp.components,t=window.ReactJSXRuntime,o=({value:n,onChange:s,label:o,...r})=>(0,t.jsx)(e.CheckboxControl,{...r,label:o,checked:n,onChange:s,__nextHasNoMarginBottom:!0}),r=({value:n="",onChange:s,...o})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.ColorIndicator,{colorValue:n}),(0,t.jsx)(e.ColorPicker,{...o,color:n,onChangeComplete:e=>{var t;return s(null!==(t=e?.hex)&&void 0!==t?t:e)}}),(0,t.jsx)(e.ColorPalette,{value:n,onChange:e=>{s(null!=e?e:"")},colors:[{name:"red",color:"#f00"},{name:"white",color:"#fff"},{name:"blue",color:"#00f"}],clearable:!0})]}),l=window.wp.element,a=window.popupMaker.i18n,i=window.wp.compose,c=window.wp.htmlEntities,u=window.popupMaker.components,p=window.popupMaker.coreData,d=({label:e,value:n,onChange:s,entityType:o,multiple:r=!1,apiEndpoint:d="popup-maker/v2/object-search"})=>{const[m,g]=(0,l.useState)(""),[y,v]=(0,l.useState)({prefill:[],suggestions:[]}),[x,h]=(0,l.useState)(!1),f=(0,i.useDebounce)(e=>{g(e)},300);(0,l.useEffect)(()=>{(async()=>{h(!0);try{let e=`${d}?object_type=custom_entity&entity_type=${o}`;n&&(e+=`&include=${(Array.isArray(n)?n:[n]).join(",")}`),m&&(e+=`&s=${m}`);const t=(await(0,p.fetchFromWPApi)(e)).items.map(e=>({id:e.id,text:e.text}));let s=[];if(n){const e=Array.isArray(n)?n:[n];s=t.filter(t=>e.includes(t.id))}v({prefill:s,suggestions:t})}catch(e){v({prefill:[],suggestions:[]})}finally{h(!1)}})()},[n,m,o,d]);const j=e=>{const t=t=>t.find(t=>t.id===e);return t(y.suggestions)||t(y.prefill)},b=n?"string"==typeof n?[n]:n:[],_=e=>"object"==typeof e?e.value:e;return(0,t.jsx)("div",{className:"pum-custom-entity-select-field",children:(0,t.jsx)(u.SmartTokenControl,{label:e||(0,a.sprintf)( // translators: %s: entity type. // translators: %s: entity type. (0,a.__)("%s(s)","popup-maker"),o.replace(/_/g," ").charAt(0).toUpperCase()+o.replace(/_/g," ").slice(1)),hideLabelFromVision:!0,multiple:r,placeholder:(0,a.sprintf)( // translators: %s: entity type. // translators: %s: entity type. (0,a.__)("Select %s(s)","popup-maker"),o.replace(/_/g," ").toLowerCase()),tokenOnComma:!0,value:b,onInputChange:f,onChange:e=>{const t=e.map(e=>_(e)).filter(e=>null!==e&&""!==e);s(r?t:t[0]||"")},renderToken:e=>{const t=j(_(e));return t?(0,c.decodeEntities)(t.text):_(e)},renderSuggestion:e=>{const n=j(e);return n?(0,t.jsx)(t.Fragment,{children:(0,c.decodeEntities)(n.text)}):e},suggestions:y.suggestions.map(e=>e.id),messages:x?{noSuggestions:(0,a.__)("Searching…","popup-maker")}:void 0})})},m=({value:n,onChange:s,...o})=>(0,t.jsx)(t.Fragment,{children:(0,t.jsx)(e.BaseControl,{...o,hideLabelFromVision:!0,__nextHasNoMarginBottom:!0,children:(0,t.jsx)("input",{type:"date",value:n,onChange:e=>s(e.target.value)})})});var g=n(942),y=n.n(g);const v=window.popupMaker.utils,x=e=>"string"==typeof e?e.split(",").map(e=>({label:e,value:e})):Array.isArray(e)||"object"!=typeof e?e.map(e=>"string"==typeof e?{label:e,value:e}:e):Object.entries(e).map(([e,t])=>({label:t,value:e})),h=e=>{var n,s,o,r,l,a,i,c;let u;switch(u=function(e){const t={...e};return!(!t||void 0===t?.std&&void 0===t?.user_roles&&(void 0===t?.type||"userselect"!==t?.type)&&void 0===t?.taxonomy&&void 0===t?.post_type)}(e)?(e=>{var n,s,o,r,l,a,i,c;const u={type:"select2"!==e.type?e.type:"select",default:e.std,id:null!==(n=null!==(s=e.id)&&void 0!==s?s:e.name)&&void 0!==n?n:"",...(0,v.pick)(e,"id","name","label","value","required","dependencies")},p=[];switch(void 0!==e.classes&&("string"==typeof e.classes?p.push(...e.classes.split(" ")):Array.isArray(e.classes)&&p.push(...e.classes)),void 0!==e.class&&p.push(e.class),u.className=y()(p),e.dynamic_desc?u.help=(0,t.jsx)(t.Fragment,{children:e.dynamic_desc}):e.desc&&(u.help=e.desc),u.type){case"checkbox":case"hidden":case"html":case"license_key":return u;case"color":return{...u,default:null!==(o=e.value)&&void 0!==o?o:""};case"customselect":return{...u,entityType:null!==(r=u.entityType)&&void 0!==r?r:"custom"};case"text":case"email":case"tel":case"password":default:return{...u,...u.type===e.type&&{size:e?.size,placeholder:e?.placeholder}};case"radio":case"multicheck":return{...u,options:[],...u.type===e.type&&{options:null!==(l=e.options)&&void 0!==l?l:[]}};case"select":case"multiselect":var d;return u.type!==e.type&&"select2"!==e.type||(u.options=x(null!==(d=e.options)&&void 0!==d?d:[]),u.searchable="select2"===e.type,u.multiple="multiselect"===u.type||e.multiple),{options:[],...u};case"tokenselect":return{value:[],options:{},...u};case"number":case"rangeslider":return{...u,...u.type===e.type&&{size:e?.size,placeholder:e?.placeholder,min:e?.min,max:e?.max,step:e?.step}};case"measure":return{...u,units:{},...u.type===e.type&&{size:e?.size,placeholder:e?.placeholder,min:e?.min,max:e?.max,step:e?.step,units:null!==(a=e?.units)&&void 0!==a?a:{}}};case"objectselect":case"postselect":case"taxonomyselect":case"userselect":var m,g;return u.type="objectselect",u.multiple=null!==(i=e?.multiple)&&void 0!==i&&i,u.placeholder=null!==(c=e?.placeholder)&&void 0!==c?c:"","postselect"===e.type?{...u,entityKind:"postType",entityType:null!==(m=e?.post_type)&&void 0!==m?m:"post"}:"taxonomyselect"===e.type?{...u,entityKind:"taxonomy",entityType:null!==(g=e?.taxonomy)&&void 0!==g?g:"category"}:"userselect"===e.type?{...u,entityKind:"user",entityType:"user"}:{...u,entityKind:"postType",entityType:"post"};case"textarea":return{...u,...u.type===e.type&&{allowHtml:e?.allow_html}}}})(e):e,u.type){case"html":return{...u,content:null!==(n=u.content)&&void 0!==n?n:""};case"checkbox":case"color":case"radio":case"rangeslider":case"number":default:case"email":case"tel":case"hidden":case"text":case"password":case"license_key":case"measure":case"textarea":return{...u};case"customselect":return{...u,entityType:null!==(s=u.entityType)&&void 0!==s?s:"custom"};case"multicheck":return{...u,options:null!==(o=u.options)&&void 0!==o?o:[]};case"select":return{...u,options:null!==(r=u.options)&&void 0!==r?r:[]};case"multiselect":return{...u,options:null!==(l=u.options)&&void 0!==l?l:[],multiple:!0};case"objectselect":case"postselect":case"taxonomyselect":case"userselect":return{...u,entityKind:null!==(a=u.entityKind)&&void 0!==a?a:""};case"tokenselect":return{...u,value:null!==(i=u.value)&&void 0!==i?i:[],options:null!==(c=u.options)&&void 0!==c?c:[]}}},f=e=>{const{type:n}=e;switch(n){case"checkbox":return(0,t.jsx)(o,{...e});case"color":return(0,t.jsx)(r,{...e});case"customselect":return(0,t.jsx)(d,{...e});case"date":return(0,t.jsx)(m,{...e});case"measure":return(0,t.jsx)(C,{...e});case"multicheck":return(0,t.jsx)(w,{...e});case"select":case"multiselect":return(0,t.jsx)(H,{...e});case"objectselect":case"postselect":case"taxonomyselect":case"userselect":return(0,t.jsx)(T,{...e});case"radio":return(0,t.jsx)(M,{...e});case"rangeslider":return(0,t.jsx)(N,{...e});case"number":return(0,t.jsx)(S,{...e});case"email":case"tel":case"hidden":case"text":case"password":return(0,t.jsx)(I,{...e});case"textarea":return(0,t.jsx)(E,{...e});case"tokenselect":return(0,t.jsx)(P,{...e});case"html":return(0,t.jsx)(_,{...e})}return(0,t.jsx)(t.Fragment,{children:(0,a.sprintf)(/* translators: 1. type of field not found. */ /* translators: 1. type of field not found. */ (0,a.__)("Field type `%s` not found","popup-maker"),n)})},j=e=>{const{type:n,className:s,onChange:o}=e;return(0,t.jsx)("div",{className:y()(["pum-field",`pum-field--${n}`,s]),children:(0,t.jsx)(f,{onChange:o,...h(e)})})},b=e=>{const{fields:n}=e;return(0,t.jsx)(t.Fragment,{children:n.map((e,n)=>(0,t.jsx)(j,{...e},n))})},_=({content:e})=>(0,t.jsx)("div",{dangerouslySetInnerHTML:{__html:null!=e?e:""}}),C=({value:n,onChange:s,units:o,...r})=>{var a;const i=n?parseInt(n):"",[c,u]=(0,l.useState)({number:i,unit:null!==(a=n?.replace(`${i}`,""))&&void 0!==a?a:""});(0,l.useEffect)(()=>{s(`${c.number}${c.unit}`)},[c,s]);const p=Object.entries(o).map(([e,t])=>({value:e,label:t}));return(0,t.jsx)(e.__experimentalUnitControl,{...r,value:n,onChange:(e="0")=>u({...c,number:e}),disableUnits:0===p.length,units:p,onUnitChange:(e="")=>u({...c,unit:e}),__nextHasNoMarginBottom:!0})},w=({value:n,onChange:s,...o})=>{const r=null!=n?n:[],l=x(o.options),a=null!=n?n:[],i=()=>(0,t.jsx)(t.Fragment,{children:l.map(({label:n,value:o})=>{const l=r.indexOf(o)>=0;return(0,t.jsx)(e.CheckboxControl,{label:n,checked:l,onChange:()=>s(l?a.filter(e=>o!==e):[...a,o]),__nextHasNoMarginBottom:!0},o)})});return(0,t.jsx)(i,{})},S=({value:n,onChange:s,...o})=>(0,t.jsx)(e.__experimentalNumberControl,{...o,value:n,onChange:(e="0")=>s(parseInt(e,10)),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),k=window.wp.data,F=window.wp.coreData,T=({label:e,value:n,onChange:s,entityKind:o="postType",entityType:r="post",multiple:d=!1})=>{const[m,g]=(0,l.useState)(""),[y,v]=(0,l.useState)(!1),[x,h]=(0,l.useState)({prefill:[],suggestions:[]}),f=(0,i.useDebounce)(e=>{g(e)},300),j=(0,k.useSelect)(e=>{if(y)return x.prefill;if(!n)return[];const t=e(F.store).getEntityRecords(o,r,{context:"view",include:n,per_page:-1});return null!==t||y||"postType"!==o||v(!0),t||[]},[n,o,r,y,x.prefill]),b=(0,k.useSelect)(e=>{if(y)return x.suggestions;if("user"===o)return e(F.store).getUsers({context:"view",search:m,per_page:-1});const t=e(F.store).getEntityRecords(o,r,{context:"view",search:m,per_page:-1});return null!==t||y||"postType"!==o||v(!0),t},[m,o,r,y,x.suggestions]),_=(0,k.useSelect)(e=>!y&&("user"===o?e("core/data").isResolving("core","getUsers",[o,r,{context:"view",search:m,per_page:-1}]):e("core/data").isResolving("core","getEntityRecords",[o,r,{context:"view",search:m,per_page:-1}])),[m,o,r,y,x.suggestions]);(0,l.useEffect)(()=>{y&&(async()=>{try{let e=`popup-maker/v2/object-search?object_type=post_type&object_key=${r}`;n&&(e+=`&include=${(Array.isArray(n)?n:[n]).join(",")}`),m&&(e+=`&s=${m}`);const t=await(0,p.fetchFromWPApi)(e),s=t.items.map(e=>({id:e.id,title:{rendered:e.text}}));let o=[];if(n){const e=Array.isArray(n)?n:[n];o=s.filter(t=>e.includes(t.id))}h({prefill:o,suggestions:s})}catch(e){h({prefill:[],suggestions:[]})}})()},[y,n,m,r]);const C=e=>{const t=t=>t?t.find(t=>t.id.toString()===e.toString()):null;return t(b)||t(j)},w=n?"number"==typeof n||"string"==typeof n?[n]:n:[],S=e=>"object"==typeof e?e.value:e;return(0,t.jsx)("div",{className:"pum-object-search-field",children:(0,t.jsx)(u.SmartTokenControl,{label:e||(0,a.sprintf)( // translators: %s: entity type. // translators: %s: entity type. (0,a.__)("%s(s)","popup-maker"),r.replace(/_/g," ").charAt(0).toUpperCase()+r.replace(/_/g," ").slice(1)),hideLabelFromVision:!0,multiple:d,placeholder:(0,a.sprintf)( // translators: %s: entity type. // translators: %s: entity type. (0,a.__)("Select %s(s)","popup-maker"),r.replace(/_/g," ").toLowerCase()),tokenOnComma:!0,value:w.map(e=>e.toString()),onInputChange:f,onChange:e=>{s(e.map(e=>parseInt(S(e),10)).filter(e=>!isNaN(e)))},renderToken:e=>{const t=C(S(e));return t?"postType"===o?(0,c.decodeEntities)(t.title?.rendered||""):t.name||"":S(e)},renderSuggestion:e=>{var n;const s=C(e);return s?(0,t.jsx)(t.Fragment,{children:"postType"===o?(0,c.decodeEntities)((null!==(n=s.title?.rendered)&&void 0!==n?n:s.title?.raw)||""):s.name||""}):e},suggestions:b?b.map(e=>{var t;return null!==(t=e?.id.toString())&&void 0!==t&&t}):[],messages:_?{noSuggestions:(0,a.__)("Searching…","popup-maker")}:void 0})})},M=({value:n,onChange:s,...o})=>{const r=o.options;return(0,t.jsx)(e.RadioControl,{...o,selected:n?.toString(),options:r,onChange:s,__nextHasNoMarginBottom:!0})},N=({value:n,onChange:s,initialPosition:o=0,...r})=>{const{step:l}=r;return(0,t.jsx)(e.RangeControl,{value:null!=n?n:o,onChange:(e=0)=>s(e),withInputField:!0,__nextHasNoMarginBottom:!0,type:l?"stepper":void 0})},A=e=>Object.entries(e).reduce((e,[t,n])=>!0===e?e:"string"==typeof t&&!(parseInt(t)>=0)&&"object"==typeof n,!1),O=({options:e})=>(0,t.jsx)(t.Fragment,{children:x(e).map(({label:e,value:n})=>(0,t.jsx)("option",{value:n,children:e},n))}),$=({optGroups:e})=>(0,t.jsx)(t.Fragment,{children:Object.entries(e).map(([e,n])=>(0,t.jsx)("optgroup",{label:e,children:(0,t.jsx)(O,{options:n})},e))}),H=({value:n,onChange:s,...o})=>{var r;const{multiple:l=!1}=o,a=null!==(r=o.options)&&void 0!==r?r:{};return(0,t.jsx)(e.SelectControl,{...o,multiple:l,value:l&&"string"==typeof n?n.split(","):n,onChange:s,__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0,children:A(a)?(0,t.jsx)($,{optGroups:a}):(0,t.jsx)(O,{options:a})})},E=({value:n,onChange:s,rows:o=5,...r})=>(0,t.jsx)(e.TextareaControl,{...r,value:null!=n?n:"",onChange:s,rows:o,__nextHasNoMarginBottom:!0}),I=({type:n,value:s,onChange:o,...r})=>(0,t.jsx)(e.TextControl,{...r,type:"hidden"!==n?n:void 0,value:null!=s?s:"",onChange:o,__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),P=({label:e,value:n,onChange:s,multiple:o=!1,placeholder:r=(0,a.__)("Search","popup-maker"),options:i={}})=>{const[c,p]=(0,l.useState)(""),d=n?"number"==typeof n||"string"==typeof n?[n]:n:[],m=Object.keys(i).filter(e=>!c||"string"==typeof i[e]&&i[e].toLowerCase().includes(c.toLowerCase())),g=e=>{var t;const n="object"==typeof e?e.value:e;return(null!==(t=i[n])&&void 0!==t?t:null)||n};return(0,t.jsx)("div",{className:"pum-token-select-field",children:(0,t.jsx)(u.SmartTokenControl,{label:e,hideLabelFromVision:!0,multiple:o,placeholder:r,value:d.map(e=>e.toString()),onInputChange:p,onChange:e=>s(e),renderToken:g,renderSuggestion:g,suggestions:m})})},V=window.wp.hooks,B=(0,l.createContext)({context:"",fields:[],values:{},setValues:()=>{}}),R=({context:e,fields:n,values:s,setValues:o,children:r})=>(0,t.jsx)(B.Provider,{value:{context:e,fields:n,values:s,setValues:o},children:r}),z=()=>{const{context:e,fields:t=[],values:n,setValues:s}=(0,l.useContext)(B),o=t=>{const s=(0,V.applyFilters)(`${e}.fieldIsVisible`,void 0,t,n);return void 0===s||s};return{context:e,fields:t,values:n,setValues:s,getFields:(n={visible:!0})=>{const s=(null!=t?t:[]).filter(e=>!(n?.tab&&e.tab!==n.tab||n?.section&&e.section!==n.section||n?.panel&&e.panel!==n.panel||n?.visible&&!o(e.id))).sort((e,t)=>e.priority-t.priority).map(t=>{const n=(0,V.applyFilters)(`${e}.renderField`,t.component,t.id,t);return{...t,component:n}});return(0,V.applyFilters)(`${e}.getFields`,s,n)},updateField:(e,t)=>{s({...n,[e]:t})},fieldIsVisible:o}}})(),(window.popupMaker=window.popupMaker||{}).fields=s})(); dist/packages/use-query-params.js.map 0000644 00000145455 15174671772 0013656 0 ustar 00 {"version":3,"file":"use-query-params.js","mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AAGE;AACF;;;;;;;;;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AAIE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClB4C;AA2BvB;AAiBH;AAKQ;AAC8B;AACA;AACM;AACA;AAkD5D;AACF;;;;;;;;;;;;;;;ACxGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AAGE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrByC;AACzC;AACA,UAAU,oDAAsB;AAChC,UAAU,oDAAsB;AAChC;AACA;AACA,UAAU,oDAAsB;AAChC,qBAAqB,kDAAoB;AACzC,CAAC;AACD;AACA,oBAAoB,mDAAqB;AACzC,qBAAqB,uDAAyB;AAC9C,CAAC;AACD;AACA,oBAAoB,4DAA8B;AAClD;AACA;AACA;AACA,qBAAqB,gEAAkC;AACvD,CAAC;AACD;AACA,UAAU,oDAAsB;AAChC,UAAU,oDAAsB;AAChC;AACA;AACA,UAAU,oDAAsB;AAChC,UAAU,oDAAsB;AAChC;AACA;AACA,UAAU,mDAAqB;AAC/B,UAAU,mDAAqB;AAC/B;AACA;AACA,UAAU,0DAA4B;AACtC,UAAU,0DAA4B;AACtC;AACA;AACA,UAAU,kDAAoB;AAC9B,UAAU,kDAAoB;AAC9B;AACA;AACA,UAAU,kDAAoB;AAC9B,UAAU,kDAAoB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,sDAAwB;AAClC,UAAU,sDAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,qDAAuB;AACjC,UAAU,qDAAuB;AACjC;AACA;AACA,UAAU,2DAA6B;AACvC,UAAU,2DAA6B;AACvC;AACA;AACA,UAAU,4DAA8B;AACxC,UAAU,4DAA8B;AACxC;AACA;AACA,UAAU,mEAAqC;AAC/C,UAAU,mEAAqC;AAC/C;AAiBE;AACF;;;;;;;;;;;;;;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AAGE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK,GAAG,iBAAiB,MAAM,UAAU,GAAG,eAAe,IAAI,QAAQ;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,IAAI,EAAE,gBAAgB,EAAE,SAAS;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA6BE;AACF;;;;;;;;;;;;;;;;;;;AC/P8D;AACrB;AACzC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW,EAAE,aAAa,EAAE,OAAO;AACnD,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,uEAAoB;AAC7F;AACA,kDAAkD,oBAAoB;AACtE;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,uFAAuF,uEAAoB,2BAA2B,mDAAoB;AAC1J;AACA;AACA;AACA;AACA;AACA;AACA;AAKE;AACF;;;;;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AAIE;AACF;;;;;;;;;;;;;;;;;;;;ACtB+B;AAIZ;AACnB;AACA,aAAa;AACb,WAAW,oDAAc;AACzB;AACA,0BAA0B,gDAAmB;AAC7C;AACA;AACA;AACA,gBAAgB,6CAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,UAAU,iDAAiD,EAAE,6CAAgB;AAC7E,gBAAgB,0CAAa;AAC7B;AACA;AACA,eAAe,sDAAY;AAC3B;AACA;AACA;AACA;AACA,GAAG;AACH,yBAAyB,gDAAmB;AAC5C;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mCAAmC,gDAAmB,8CAA8C,gDAAmB;AACvH;AACA;AACA,GAAG,+BAA+B,gDAAmB;AACrD;AACA,GAAG;AACH;AACA;AAME;AACF;;;;;;;;;;;;;;;;;AC1D8C;AAC9C;AACA;AACA;AACA,CAAC;AACD,4BAA4B,2DAAc;AAC1C,oBAAoB,iBAAiB;AACrC;AACA;AAIE;AACF;;;;;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvDuC;AACf;AACwB;AACE;AACyB;AAC/B;AACc;AAQxD;AACF;;;;;;;;;;;;;;;;;ACbgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iGAAiG,+DAAW;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIE;AACF;;;;;;;;;;;;;;;;;AC/C0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yDAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AAIE;AACF;;;;;;;;;;;;;;;;;ACtD0C;AACQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,+DAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,yDAAY;AACpB;AACA;AACA;AACA;AACA;AACA;AAGE;AACF;;;;;;;;;;;;;;;;;AC7BgC;AAChC;AACA,sBAAsB;AACtB,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,sBAAsB;AACtB;AACA;AACA;AAIE;AACF;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGE;AACF;;;;;;;;;;;;;;;AChBA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AAGE;AACF;;;;;;;;;;;AChCA;;;;;;;;;;;;;;;;;;;;;;;ACEgC;AACwB;AACK;AACL;AACc;AACpB;AACR;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,UAAU,6CAA6C;AACvD;AACA;AACA;AACA,uBAAuB,mFAAwB;AAC/C;AACA;AACA;AACA,yBAAyB,0EAAwB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,qEAAsB;AAC/C;AACA;AACA,MAAM,iEAAiB;AACvB;AACA;AACA,IAAI;AACJ;AACA;AACA,mBAAmB,yEAAiB;AACpC;AACA,IAAI,+DAAc;AAClB;AACA,mBAAmB,uDAAa;AAChC;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,YAAY,IAAI;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,oBAAoB;AAC1C,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AAKE;AACF;;;;;;;;;;;;;;;;;AC/GA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ,IAAI,UAAU;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AAKE;AACF;;;;;;;;;;;;;;;;;;ACtC6C;AACC;AAC9C;AACA,yBAAyB,8CAAO;AAChC,aAAa,uDAAuD;AACpE;AACA;AACA,4BAA4B,2DAAc;AAC1C;AACA,mBAAmB,kDAAW;AAC9B;AACA;AACA;AACA;AACA,mBAAmB;AACnB,SAAS;AACT;AACA,wBAAwB,kBAAkB;AAC1C,KAAK;AACL;AACA;AACA;AACA;AAGE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1B6D;AAG7B;AACwB;AAI7B;AACuC;AACI;AAC7B;AACmB;AACP;AACL;AAChD;AACA,UAAU,mCAAmC,EAAE,yEAAoB;AACnE,4BAA4B,+CAAQ,CAAC,2EAAgC;AACrE,UAAU,qDAAqD;AAC/D;AACA;AACA;AACA,wBAAwB,8CAAO;AAC/B,WAAW,sDAAY;AACvB,GAAG;AACH,uBAAuB,sFAAoC;AAC3D;AACA;AACA;AACA,uBAAuB,mFAAwB;AAC/C;AACA;AACA,IAAI,6DAAmB;AACvB;AACA;AACA,qBAAqB,0EAAwB;AAC7C;AACA;AACA;AACA,MAAM,+DAAW;AACjB;AACA;AACA;AACA;AACA;AACA,IAAI,iEAAiB;AACrB;AACA;AACA,EAAE,gDAAS;AACX;AACA,IAAI,iEAAiB;AACrB;AACA,MAAM,iEAAiB;AACvB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC,6CAAM;AACxC;AACA;AACA;AACA,EAAE,gDAAS;AACX;AACA;AACA;AACA,GAAG;AACH,qBAAqB,+CAAQ;AAC7B;AACA,cAAc,wEAAwE;AACtF;AACA;AACA,MAAM,kEAAa;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,UAAU;AACV;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,WAAW;AACX;AAIE;AACF;;;;;;;;;;;;;;;;;;;;AChH+B;AACe;AAC9C;AACA;AACA,8BAA8B,2DAAc;AAC5C,2BAA2B,gDAAmB;AAC9C;AACA;AACA;AACA,KAAK;AACL;AACA,6CAA6C,qEAAqE;AAClH;AACA;AACA;AACA;AACA;AACA,8BAA8B,2DAAc;AAC5C;AACA,2BAA2B,gDAAmB;AAC9C;AACA;AACA,KAAK;AACL;AACA,6CAA6C,qEAAqE;AAClH;AACA;AAKE;AACF;;;;;;;;;;;;AChCA,iC;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA,E;;;;;WCPA,wF;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;;;;;;;;;;;;;ACNiC","sources":["webpack://popup-maker/core/./node_modules/serialize-query-params/dist/decodeQueryParams.js?","webpack://popup-maker/core/./node_modules/serialize-query-params/dist/encodeQueryParams.js?","webpack://popup-maker/core/./node_modules/serialize-query-params/dist/index.js?","webpack://popup-maker/core/./node_modules/serialize-query-params/dist/objectToSearchString.js?","webpack://popup-maker/core/./node_modules/serialize-query-params/dist/params.js?","webpack://popup-maker/core/./node_modules/serialize-query-params/dist/searchStringToObject.js?","webpack://popup-maker/core/./node_modules/serialize-query-params/dist/serialize.js?","webpack://popup-maker/core/./node_modules/serialize-query-params/dist/updateLocation.js?","webpack://popup-maker/core/./node_modules/serialize-query-params/dist/withDefault.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/dist/QueryParamProvider.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/dist/QueryParams.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/dist/decodedParamCache.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/dist/index.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/dist/inheritedParams.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/dist/latestValues.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/dist/memoSearchStringToObject.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/dist/options.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/dist/removeDefaults.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/dist/shallowEqual.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/dist/types.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/dist/updateSearchString.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/dist/urlName.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/dist/useQueryParam.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/dist/useQueryParams.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/dist/withQueryParams.js?","webpack://popup-maker/core/external window \"React\"?","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/compat get default export?","webpack://popup-maker/core/webpack/runtime/define property getters?","webpack://popup-maker/core/webpack/runtime/hasOwnProperty shorthand?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/use-query-params/src/index.ts?"],"sourcesContent":["function decodeQueryParams(paramConfigMap, encodedQuery) {\n const decodedQuery = {};\n const paramNames = Object.keys(paramConfigMap);\n for (const encodedKey of Object.keys(encodedQuery)) {\n if (paramConfigMap[encodedKey] == null) {\n paramNames.push(encodedKey);\n }\n }\n for (const paramName of paramNames) {\n const encodedValue = encodedQuery[paramName];\n if (!paramConfigMap[paramName]) {\n if (true) {\n console.warn(\n `Passing through parameter ${paramName} during decoding since it was not configured.`\n );\n }\n decodedQuery[paramName] = encodedValue;\n } else {\n decodedQuery[paramName] = paramConfigMap[paramName].decode(encodedValue);\n }\n }\n return decodedQuery;\n}\nexport {\n decodeQueryParams\n};\n//# sourceMappingURL=decodeQueryParams.js.map\n","function encodeQueryParams(paramConfigMap, query) {\n const encodedQuery = {};\n const paramNames = Object.keys(query);\n for (const paramName of paramNames) {\n const decodedValue = query[paramName];\n if (!paramConfigMap[paramName]) {\n encodedQuery[paramName] = decodedValue == null ? decodedValue : String(decodedValue);\n } else {\n encodedQuery[paramName] = paramConfigMap[paramName].encode(query[paramName]);\n }\n }\n return encodedQuery;\n}\nvar encodeQueryParams_default = encodeQueryParams;\nexport {\n encodeQueryParams_default as default,\n encodeQueryParams\n};\n//# sourceMappingURL=encodeQueryParams.js.map\n","import { withDefault } from \"./withDefault\";\nimport {\n encodeDate,\n decodeDate,\n encodeBoolean,\n decodeBoolean,\n encodeNumber,\n decodeNumber,\n encodeString,\n decodeString,\n decodeEnum,\n decodeArrayEnum,\n decodeDelimitedArrayEnum,\n encodeJson,\n decodeJson,\n encodeArray,\n decodeArray,\n encodeNumericArray,\n decodeNumericArray,\n encodeDelimitedArray,\n decodeDelimitedArray,\n encodeDelimitedNumericArray,\n decodeDelimitedNumericArray,\n encodeObject,\n decodeObject,\n encodeNumericObject,\n decodeNumericObject\n} from \"./serialize\";\nimport {\n StringParam,\n NumberParam,\n ObjectParam,\n ArrayParam,\n NumericArrayParam,\n JsonParam,\n DateParam,\n DateTimeParam,\n BooleanParam,\n NumericObjectParam,\n DelimitedArrayParam,\n DelimitedNumericArrayParam,\n createEnumParam,\n createEnumArrayParam,\n createEnumDelimitedArrayParam\n} from \"./params\";\nimport {\n updateLocation,\n updateInLocation,\n transformSearchStringJsonSafe\n} from \"./updateLocation\";\nimport { encodeQueryParams } from \"./encodeQueryParams\";\nimport { decodeQueryParams } from \"./decodeQueryParams\";\nimport { searchStringToObject } from \"./searchStringToObject\";\nimport { objectToSearchString } from \"./objectToSearchString\";\nexport {\n ArrayParam,\n BooleanParam,\n DateParam,\n DateTimeParam,\n DelimitedArrayParam,\n DelimitedNumericArrayParam,\n JsonParam,\n NumberParam,\n NumericArrayParam,\n NumericObjectParam,\n ObjectParam,\n StringParam,\n createEnumArrayParam,\n createEnumDelimitedArrayParam,\n createEnumParam,\n decodeArray,\n decodeArrayEnum,\n decodeBoolean,\n decodeDate,\n decodeDelimitedArray,\n decodeDelimitedArrayEnum,\n decodeDelimitedNumericArray,\n decodeEnum,\n decodeJson,\n decodeNumber,\n decodeNumericArray,\n decodeNumericObject,\n decodeObject,\n decodeQueryParams,\n decodeString,\n encodeArray,\n encodeBoolean,\n encodeDate,\n encodeDelimitedArray,\n encodeDelimitedNumericArray,\n encodeJson,\n encodeNumber,\n encodeNumericArray,\n encodeNumericObject,\n encodeObject,\n encodeQueryParams,\n encodeString,\n objectToSearchString,\n searchStringToObject,\n transformSearchStringJsonSafe,\n updateInLocation,\n updateLocation,\n withDefault\n};\n//# sourceMappingURL=index.js.map\n","function objectToSearchString(encodedParams) {\n const params = new URLSearchParams();\n const entries = Object.entries(encodedParams);\n for (const [key, value] of entries) {\n if (value === void 0)\n continue;\n if (value === null)\n continue;\n if (Array.isArray(value)) {\n for (const item of value) {\n params.append(key, item != null ? item : \"\");\n }\n } else {\n params.append(key, value);\n }\n }\n return params.toString();\n}\nexport {\n objectToSearchString\n};\n//# sourceMappingURL=objectToSearchString.js.map\n","import * as Serialize from \"./serialize\";\nconst StringParam = {\n encode: Serialize.encodeString,\n decode: Serialize.decodeString\n};\nconst createEnumParam = (enumValues) => ({\n encode: Serialize.encodeString,\n decode: (input) => Serialize.decodeEnum(input, enumValues)\n});\nconst createEnumArrayParam = (enumValues) => ({\n encode: (text) => Serialize.encodeArray(text == null || Array.isArray(text) ? text : [text]),\n decode: (input) => Serialize.decodeArrayEnum(input, enumValues)\n});\nconst createEnumDelimitedArrayParam = (enumValues, entrySeparator = \"_\") => ({\n encode: (text) => Serialize.encodeDelimitedArray(\n text == null || Array.isArray(text) ? text : [text],\n entrySeparator\n ),\n decode: (input) => Serialize.decodeDelimitedArrayEnum(input, enumValues, entrySeparator)\n});\nconst NumberParam = {\n encode: Serialize.encodeNumber,\n decode: Serialize.decodeNumber\n};\nconst ObjectParam = {\n encode: Serialize.encodeObject,\n decode: Serialize.decodeObject\n};\nconst ArrayParam = {\n encode: Serialize.encodeArray,\n decode: Serialize.decodeArray\n};\nconst NumericArrayParam = {\n encode: Serialize.encodeNumericArray,\n decode: Serialize.decodeNumericArray\n};\nconst JsonParam = {\n encode: Serialize.encodeJson,\n decode: Serialize.decodeJson\n};\nconst DateParam = {\n encode: Serialize.encodeDate,\n decode: Serialize.decodeDate,\n equals: (valueA, valueB) => {\n if (valueA === valueB)\n return true;\n if (valueA == null || valueB == null)\n return valueA === valueB;\n return valueA.getFullYear() === valueB.getFullYear() && valueA.getMonth() === valueB.getMonth() && valueA.getDate() === valueB.getDate();\n }\n};\nconst DateTimeParam = {\n encode: Serialize.encodeDateTime,\n decode: Serialize.decodeDateTime,\n equals: (valueA, valueB) => {\n if (valueA === valueB)\n return true;\n if (valueA == null || valueB == null)\n return valueA === valueB;\n return valueA.valueOf() === valueB.valueOf();\n }\n};\nconst BooleanParam = {\n encode: Serialize.encodeBoolean,\n decode: Serialize.decodeBoolean\n};\nconst NumericObjectParam = {\n encode: Serialize.encodeNumericObject,\n decode: Serialize.decodeNumericObject\n};\nconst DelimitedArrayParam = {\n encode: Serialize.encodeDelimitedArray,\n decode: Serialize.decodeDelimitedArray\n};\nconst DelimitedNumericArrayParam = {\n encode: Serialize.encodeDelimitedNumericArray,\n decode: Serialize.decodeDelimitedNumericArray\n};\nexport {\n ArrayParam,\n BooleanParam,\n DateParam,\n DateTimeParam,\n DelimitedArrayParam,\n DelimitedNumericArrayParam,\n JsonParam,\n NumberParam,\n NumericArrayParam,\n NumericObjectParam,\n ObjectParam,\n StringParam,\n createEnumArrayParam,\n createEnumDelimitedArrayParam,\n createEnumParam\n};\n//# sourceMappingURL=params.js.map\n","function searchStringToObject(searchString) {\n const params = new URLSearchParams(searchString);\n const parsed = {};\n for (let [key, value] of params) {\n if (Object.prototype.hasOwnProperty.call(parsed, key)) {\n if (Array.isArray(parsed[key])) {\n parsed[key].push(value);\n } else {\n parsed[key] = [parsed[key], value];\n }\n } else {\n parsed[key] = value;\n }\n }\n return parsed;\n}\nexport {\n searchStringToObject\n};\n//# sourceMappingURL=searchStringToObject.js.map\n","function getEncodedValue(input, allowEmptyString) {\n if (input == null) {\n return input;\n }\n if (input.length === 0 && (!allowEmptyString || allowEmptyString && input !== \"\")) {\n return null;\n }\n const str = input instanceof Array ? input[0] : input;\n if (str == null) {\n return str;\n }\n if (!allowEmptyString && str === \"\") {\n return null;\n }\n return str;\n}\nfunction getEncodedValueArray(input) {\n if (input == null) {\n return input;\n }\n return input instanceof Array ? input : input === \"\" ? [] : [input];\n}\nfunction encodeDate(date) {\n if (date == null) {\n return date;\n }\n const year = date.getFullYear();\n const month = date.getMonth() + 1;\n const day = date.getDate();\n return `${year}-${month < 10 ? `0${month}` : month}-${day < 10 ? `0${day}` : day}`;\n}\nfunction decodeDate(input) {\n const dateString = getEncodedValue(input);\n if (dateString == null)\n return dateString;\n const parts = dateString.split(\"-\");\n if (parts[1] != null) {\n parts[1] -= 1;\n } else {\n parts[1] = 0;\n parts[2] = 1;\n }\n const decoded = new Date(...parts);\n if (isNaN(decoded.getTime())) {\n return null;\n }\n return decoded;\n}\nfunction encodeDateTime(date) {\n if (date == null) {\n return date;\n }\n return date.toISOString();\n}\nfunction decodeDateTime(input) {\n const dateString = getEncodedValue(input);\n if (dateString == null)\n return dateString;\n const decoded = new Date(dateString);\n if (isNaN(decoded.getTime())) {\n return null;\n }\n return decoded;\n}\nfunction encodeBoolean(bool) {\n if (bool == null) {\n return bool;\n }\n return bool ? \"1\" : \"0\";\n}\nfunction decodeBoolean(input) {\n const boolStr = getEncodedValue(input);\n if (boolStr == null)\n return boolStr;\n if (boolStr === \"1\") {\n return true;\n } else if (boolStr === \"0\") {\n return false;\n }\n return null;\n}\nfunction encodeNumber(num) {\n if (num == null) {\n return num;\n }\n return String(num);\n}\nfunction decodeNumber(input) {\n const numStr = getEncodedValue(input);\n if (numStr == null)\n return numStr;\n if (numStr === \"\")\n return null;\n const result = +numStr;\n return result;\n}\nfunction encodeString(str) {\n if (str == null) {\n return str;\n }\n return String(str);\n}\nfunction decodeString(input) {\n const str = getEncodedValue(input, true);\n if (str == null)\n return str;\n return String(str);\n}\nfunction decodeEnum(input, enumValues) {\n const str = decodeString(input);\n if (str == null)\n return str;\n return enumValues.includes(str) ? str : void 0;\n}\nfunction decodeArrayEnum(input, enumValues) {\n const arr = decodeArray(input);\n if (arr == null)\n return arr;\n if (!arr.length)\n return void 0;\n return arr.every((str) => str != null && enumValues.includes(str)) ? arr : void 0;\n}\nfunction decodeDelimitedArrayEnum(input, enumValues, entrySeparator = \"_\") {\n if (input != null && Array.isArray(input) && !input.length)\n return void 0;\n const arr = decodeDelimitedArray(input, entrySeparator);\n return decodeArrayEnum(arr, enumValues);\n}\nfunction encodeJson(any) {\n if (any == null) {\n return any;\n }\n return JSON.stringify(any);\n}\nfunction decodeJson(input) {\n const jsonStr = getEncodedValue(input);\n if (jsonStr == null)\n return jsonStr;\n let result = null;\n try {\n result = JSON.parse(jsonStr);\n } catch (e) {\n }\n return result;\n}\nfunction encodeArray(array) {\n if (array == null) {\n return array;\n }\n return array;\n}\nfunction decodeArray(input) {\n const arr = getEncodedValueArray(input);\n if (arr == null)\n return arr;\n return arr;\n}\nfunction encodeNumericArray(array) {\n if (array == null) {\n return array;\n }\n return array.map(String);\n}\nfunction decodeNumericArray(input) {\n const arr = decodeArray(input);\n if (arr == null)\n return arr;\n return arr.map((d) => d === \"\" || d == null ? null : +d);\n}\nfunction encodeDelimitedArray(array, entrySeparator = \"_\") {\n if (array == null) {\n return array;\n }\n return array.join(entrySeparator);\n}\nfunction decodeDelimitedArray(input, entrySeparator = \"_\") {\n const arrayStr = getEncodedValue(input, true);\n if (arrayStr == null)\n return arrayStr;\n if (arrayStr === \"\")\n return [];\n return arrayStr.split(entrySeparator);\n}\nconst encodeDelimitedNumericArray = encodeDelimitedArray;\nfunction decodeDelimitedNumericArray(arrayStr, entrySeparator = \"_\") {\n const decoded = decodeDelimitedArray(arrayStr, entrySeparator);\n if (decoded == null)\n return decoded;\n return decoded.map((d) => d === \"\" || d == null ? null : +d);\n}\nfunction encodeObject(obj, keyValSeparator = \"-\", entrySeparator = \"_\") {\n if (obj == null)\n return obj;\n if (!Object.keys(obj).length)\n return \"\";\n return Object.keys(obj).map((key) => `${key}${keyValSeparator}${obj[key]}`).join(entrySeparator);\n}\nfunction decodeObject(input, keyValSeparator = \"-\", entrySeparator = \"_\") {\n const objStr = getEncodedValue(input, true);\n if (objStr == null)\n return objStr;\n if (objStr === \"\")\n return {};\n const obj = {};\n const keyValSeparatorRegExp = new RegExp(`${keyValSeparator}(.*)`);\n objStr.split(entrySeparator).forEach((entryStr) => {\n const [key, value] = entryStr.split(keyValSeparatorRegExp);\n obj[key] = value;\n });\n return obj;\n}\nconst encodeNumericObject = encodeObject;\nfunction decodeNumericObject(input, keyValSeparator = \"-\", entrySeparator = \"_\") {\n const decoded = decodeObject(\n input,\n keyValSeparator,\n entrySeparator\n );\n if (decoded == null)\n return decoded;\n const decodedNumberObj = {};\n for (const key of Object.keys(decoded)) {\n decodedNumberObj[key] = decodeNumber(decoded[key]);\n }\n return decodedNumberObj;\n}\nexport {\n decodeArray,\n decodeArrayEnum,\n decodeBoolean,\n decodeDate,\n decodeDateTime,\n decodeDelimitedArray,\n decodeDelimitedArrayEnum,\n decodeDelimitedNumericArray,\n decodeEnum,\n decodeJson,\n decodeNumber,\n decodeNumericArray,\n decodeNumericObject,\n decodeObject,\n decodeString,\n encodeArray,\n encodeBoolean,\n encodeDate,\n encodeDateTime,\n encodeDelimitedArray,\n encodeDelimitedNumericArray,\n encodeJson,\n encodeNumber,\n encodeNumericArray,\n encodeNumericObject,\n encodeObject,\n encodeString\n};\n//# sourceMappingURL=serialize.js.map\n","import { objectToSearchString } from \"./objectToSearchString\";\nimport { searchStringToObject } from \".\";\nconst JSON_SAFE_CHARS = `{}[],\":`.split(\"\").map((d) => [d, encodeURIComponent(d)]);\nfunction getHrefFromLocation(location, search) {\n let href = search;\n if (location.href) {\n try {\n const url = new URL(location.href);\n href = `${url.origin}${url.pathname}${search}`;\n } catch (e) {\n href = \"\";\n }\n }\n return href;\n}\nfunction transformSearchStringJsonSafe(searchString) {\n let str = searchString;\n for (let [char, code] of JSON_SAFE_CHARS) {\n str = str.replace(new RegExp(\"\\\\\" + code, \"g\"), char);\n }\n return str;\n}\nfunction updateLocation(encodedQuery, location, objectToSearchStringFn = objectToSearchString) {\n let encodedSearchString = objectToSearchStringFn(encodedQuery);\n const search = encodedSearchString.length ? `?${encodedSearchString}` : \"\";\n const newLocation = {\n ...location,\n key: `${Date.now()}`,\n href: getHrefFromLocation(location, search),\n search,\n query: encodedQuery\n };\n return newLocation;\n}\nfunction updateInLocation(encodedQueryReplacements, location, objectToSearchStringFn = objectToSearchString, searchStringToObjectFn = searchStringToObject) {\n const currQuery = searchStringToObjectFn(location.search);\n const newQuery = {\n ...currQuery,\n ...encodedQueryReplacements\n };\n return updateLocation(newQuery, location, objectToSearchStringFn);\n}\nexport {\n transformSearchStringJsonSafe,\n updateInLocation,\n updateLocation\n};\n//# sourceMappingURL=updateLocation.js.map\n","function withDefault(param, defaultValue, includeNull = true) {\n const decodeWithDefault = (...args) => {\n const decodedValue = param.decode(...args);\n if (decodedValue === void 0) {\n return defaultValue;\n }\n if (includeNull) {\n if (decodedValue === null) {\n return defaultValue;\n } else {\n return decodedValue;\n }\n }\n return decodedValue;\n };\n return { ...param, default: defaultValue, decode: decodeWithDefault };\n}\nvar withDefault_default = withDefault;\nexport {\n withDefault_default as default,\n withDefault\n};\n//# sourceMappingURL=withDefault.js.map\n","import * as React from \"react\";\nimport {\n mergeOptions,\n defaultOptions\n} from \"./options\";\nconst providerlessContextValue = {\n adapter: {},\n options: defaultOptions\n};\nconst QueryParamContext = React.createContext(\n providerlessContextValue\n);\nfunction useQueryParamContext() {\n const value = React.useContext(QueryParamContext);\n if (value === void 0 || value === providerlessContextValue) {\n throw new Error(\"useQueryParams must be used within a QueryParamProvider\");\n }\n return value;\n}\nfunction QueryParamProviderInner({\n children,\n adapter,\n options\n}) {\n const { adapter: parentAdapter, options: parentOptions } = React.useContext(QueryParamContext);\n const value = React.useMemo(() => {\n return {\n adapter: adapter != null ? adapter : parentAdapter,\n options: mergeOptions(\n parentOptions,\n options\n )\n };\n }, [adapter, options, parentAdapter, parentOptions]);\n return /* @__PURE__ */ React.createElement(QueryParamContext.Provider, {\n value\n }, children);\n}\nfunction QueryParamProvider({\n children,\n adapter,\n options\n}) {\n const Adapter = adapter;\n return Adapter ? /* @__PURE__ */ React.createElement(Adapter, null, (adapter2) => /* @__PURE__ */ React.createElement(QueryParamProviderInner, {\n adapter: adapter2,\n options\n }, children)) : /* @__PURE__ */ React.createElement(QueryParamProviderInner, {\n options\n }, children);\n}\nvar QueryParamProvider_default = QueryParamProvider;\nexport {\n QueryParamContext,\n QueryParamProvider,\n QueryParamProvider_default as default,\n useQueryParamContext\n};\n//# sourceMappingURL=QueryParamProvider.js.map\n","import useQueryParams from \"./useQueryParams\";\nconst QueryParams = ({\n config,\n children\n}) => {\n const [query, setQuery] = useQueryParams(config);\n return children({ query, setQuery });\n};\nvar QueryParams_default = QueryParams;\nexport {\n QueryParams,\n QueryParams_default as default\n};\n//# sourceMappingURL=QueryParams.js.map\n","class DecodedParamCache {\n constructor() {\n this.paramsMap = /* @__PURE__ */ new Map();\n this.registeredParams = /* @__PURE__ */ new Map();\n }\n set(param, stringifiedValue, decodedValue, decode) {\n this.paramsMap.set(param, {\n stringified: stringifiedValue,\n decoded: decodedValue,\n decode\n });\n }\n has(param, stringifiedValue, decode) {\n if (!this.paramsMap.has(param))\n return false;\n const cachedParam = this.paramsMap.get(param);\n if (!cachedParam)\n return false;\n return cachedParam.stringified === stringifiedValue && (decode == null || cachedParam.decode === decode);\n }\n get(param) {\n var _a;\n if (this.paramsMap.has(param))\n return (_a = this.paramsMap.get(param)) == null ? void 0 : _a.decoded;\n return void 0;\n }\n registerParams(paramNames) {\n for (const param of paramNames) {\n const currValue = this.registeredParams.get(param) || 0;\n this.registeredParams.set(param, currValue + 1);\n }\n }\n unregisterParams(paramNames) {\n for (const param of paramNames) {\n const value = (this.registeredParams.get(param) || 0) - 1;\n if (value <= 0) {\n this.registeredParams.delete(param);\n if (this.paramsMap.has(param)) {\n this.paramsMap.delete(param);\n }\n } else {\n this.registeredParams.set(param, value);\n }\n }\n }\n clear() {\n this.paramsMap.clear();\n this.registeredParams.clear();\n }\n}\nconst decodedParamCache = new DecodedParamCache();\nexport {\n DecodedParamCache,\n decodedParamCache\n};\n//# sourceMappingURL=decodedParamCache.js.map\n","export * from \"serialize-query-params\";\nexport * from \"./types\";\nimport { useQueryParam } from \"./useQueryParam\";\nimport { useQueryParams } from \"./useQueryParams\";\nimport { withQueryParams, withQueryParamsMapped } from \"./withQueryParams\";\nimport { QueryParams } from \"./QueryParams\";\nimport { QueryParamProvider } from \"./QueryParamProvider\";\nexport {\n QueryParamProvider,\n QueryParams,\n useQueryParam,\n useQueryParams,\n withQueryParams,\n withQueryParamsMapped\n};\n//# sourceMappingURL=index.js.map\n","import {\n StringParam\n} from \"serialize-query-params\";\nfunction convertInheritedParamStringsToParams(paramConfigMapWithInherit, options) {\n var _a, _b, _c;\n const paramConfigMap = {};\n let hasInherit = false;\n const hookKeys = Object.keys(paramConfigMapWithInherit);\n let paramKeys = hookKeys;\n const includeKnownParams = options.includeKnownParams || options.includeKnownParams !== false && hookKeys.length === 0;\n if (includeKnownParams) {\n const knownKeys = Object.keys((_a = options.params) != null ? _a : {});\n paramKeys.push(...knownKeys);\n }\n for (const key of paramKeys) {\n const param = paramConfigMapWithInherit[key];\n if (param != null && typeof param === \"object\") {\n paramConfigMap[key] = param;\n continue;\n }\n hasInherit = true;\n paramConfigMap[key] = (_c = (_b = options.params) == null ? void 0 : _b[key]) != null ? _c : StringParam;\n }\n if (!hasInherit)\n return paramConfigMapWithInherit;\n return paramConfigMap;\n}\nfunction extendParamConfigForKeys(baseParamConfigMap, paramKeys, inheritedParams, defaultParam) {\n var _a;\n if (!inheritedParams || !paramKeys.length)\n return baseParamConfigMap;\n let paramConfigMap = { ...baseParamConfigMap };\n let hasInherit = false;\n for (const paramKey of paramKeys) {\n if (!Object.prototype.hasOwnProperty.call(paramConfigMap, paramKey)) {\n paramConfigMap[paramKey] = (_a = inheritedParams[paramKey]) != null ? _a : defaultParam;\n hasInherit = true;\n }\n }\n if (!hasInherit)\n return baseParamConfigMap;\n return paramConfigMap;\n}\nexport {\n convertInheritedParamStringsToParams,\n extendParamConfigForKeys\n};\n//# sourceMappingURL=inheritedParams.js.map\n","import shallowEqual from \"./shallowEqual\";\nfunction getLatestDecodedValues(parsedParams, paramConfigMap, decodedParamCache) {\n const decodedValues = {};\n const paramNames = Object.keys(paramConfigMap);\n for (const paramName of paramNames) {\n const paramConfig = paramConfigMap[paramName];\n const encodedValue = parsedParams[paramName];\n let decodedValue;\n if (decodedParamCache.has(paramName, encodedValue, paramConfig.decode)) {\n decodedValue = decodedParamCache.get(paramName);\n } else {\n decodedValue = paramConfig.decode(encodedValue);\n if (paramConfig.equals && decodedParamCache.has(paramName, encodedValue)) {\n const oldDecodedValue = decodedParamCache.get(paramName);\n if (paramConfig.equals(decodedValue, oldDecodedValue)) {\n decodedValue = oldDecodedValue;\n }\n }\n if (decodedValue !== void 0) {\n decodedParamCache.set(\n paramName,\n encodedValue,\n decodedValue,\n paramConfig.decode\n );\n }\n }\n if (decodedValue === void 0 && paramConfig.default !== void 0) {\n decodedValue = paramConfig.default;\n }\n decodedValues[paramName] = decodedValue;\n }\n return decodedValues;\n}\nfunction makeStableGetLatestDecodedValues() {\n let prevDecodedValues;\n function stableGetLatest(parsedParams, paramConfigMap, decodedParamCache) {\n const decodedValues = getLatestDecodedValues(\n parsedParams,\n paramConfigMap,\n decodedParamCache\n );\n if (prevDecodedValues != null && shallowEqual(prevDecodedValues, decodedValues)) {\n return prevDecodedValues;\n }\n prevDecodedValues = decodedValues;\n return decodedValues;\n }\n return stableGetLatest;\n}\nexport {\n getLatestDecodedValues,\n makeStableGetLatestDecodedValues\n};\n//# sourceMappingURL=latestValues.js.map\n","import shallowEqual from \"./shallowEqual\";\nimport { deserializeUrlNameMap } from \"./urlName\";\nlet cachedSearchString;\nlet cachedUrlNameMapString;\nlet cachedSearchStringToObjectFn;\nlet cachedParsedQuery = {};\nconst memoSearchStringToObject = (searchStringToObject, searchString, urlNameMapStr) => {\n if (cachedSearchString === searchString && cachedSearchStringToObjectFn === searchStringToObject && cachedUrlNameMapString === urlNameMapStr) {\n return cachedParsedQuery;\n }\n cachedSearchString = searchString;\n cachedSearchStringToObjectFn = searchStringToObject;\n const newParsedQuery = searchStringToObject(searchString != null ? searchString : \"\");\n cachedUrlNameMapString = urlNameMapStr;\n const urlNameMap = deserializeUrlNameMap(urlNameMapStr);\n for (let [key, value] of Object.entries(newParsedQuery)) {\n if (urlNameMap == null ? void 0 : urlNameMap[key]) {\n delete newParsedQuery[key];\n key = urlNameMap[key];\n newParsedQuery[key] = value;\n }\n const oldValue = cachedParsedQuery[key];\n if (shallowEqual(value, oldValue)) {\n newParsedQuery[key] = oldValue;\n }\n }\n cachedParsedQuery = newParsedQuery;\n return newParsedQuery;\n};\nexport {\n memoSearchStringToObject\n};\n//# sourceMappingURL=memoSearchStringToObject.js.map\n","import {\n searchStringToObject,\n objectToSearchString\n} from \"serialize-query-params\";\nconst defaultOptions = {\n searchStringToObject,\n objectToSearchString,\n updateType: \"pushIn\",\n includeKnownParams: void 0,\n includeAllParams: false,\n removeDefaultsFromUrl: false,\n enableBatching: false,\n skipUpdateWhenNoChange: true\n};\nfunction mergeOptions(parentOptions, currOptions) {\n if (currOptions == null) {\n currOptions = {};\n }\n const merged = { ...parentOptions, ...currOptions };\n if (currOptions.params && parentOptions.params) {\n merged.params = { ...parentOptions.params, ...currOptions.params };\n }\n return merged;\n}\nexport {\n defaultOptions,\n mergeOptions\n};\n//# sourceMappingURL=options.js.map\n","function removeDefaults(encodedValues, paramConfigMap) {\n var _a;\n for (const paramName in encodedValues) {\n if (((_a = paramConfigMap[paramName]) == null ? void 0 : _a.default) !== void 0 && encodedValues[paramName] !== void 0) {\n const encodedDefault = paramConfigMap[paramName].encode(\n paramConfigMap[paramName].default\n );\n if (encodedDefault === encodedValues[paramName]) {\n encodedValues[paramName] = void 0;\n }\n }\n }\n}\nexport {\n removeDefaults\n};\n//# sourceMappingURL=removeDefaults.js.map\n","const hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\nfunction shallowEqual(objA, objB, equalMap) {\n var _a, _b;\n if (is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n const isEqual = (_b = (_a = equalMap == null ? void 0 : equalMap[keysA[i]]) == null ? void 0 : _a.equals) != null ? _b : is;\n if (!hasOwnProperty.call(objB, keysA[i]) || !isEqual(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\nexport {\n shallowEqual as default\n};\n//# sourceMappingURL=shallowEqual.js.map\n","//# sourceMappingURL=types.js.map\n","import {\n encodeQueryParams\n} from \"serialize-query-params\";\nimport { decodedParamCache } from \"./decodedParamCache\";\nimport { extendParamConfigForKeys } from \"./inheritedParams\";\nimport { getLatestDecodedValues } from \"./latestValues\";\nimport { memoSearchStringToObject } from \"./memoSearchStringToObject\";\nimport { removeDefaults } from \"./removeDefaults\";\nimport { applyUrlNames } from \"./urlName\";\nfunction getUpdatedSearchString({\n changes,\n updateType,\n currentSearchString,\n paramConfigMap: baseParamConfigMap,\n options\n}) {\n const { searchStringToObject, objectToSearchString } = options;\n if (updateType == null)\n updateType = options.updateType;\n let encodedChanges;\n const parsedParams = memoSearchStringToObject(\n searchStringToObject,\n currentSearchString\n );\n const paramConfigMap = extendParamConfigForKeys(\n baseParamConfigMap,\n Object.keys(changes),\n options.params\n );\n let changesToUse;\n if (typeof changes === \"function\") {\n const latestValues = getLatestDecodedValues(\n parsedParams,\n paramConfigMap,\n decodedParamCache\n );\n changesToUse = changes(latestValues);\n } else {\n changesToUse = changes;\n }\n encodedChanges = encodeQueryParams(paramConfigMap, changesToUse);\n if (options.removeDefaultsFromUrl) {\n removeDefaults(encodedChanges, paramConfigMap);\n }\n encodedChanges = applyUrlNames(encodedChanges, paramConfigMap);\n let newSearchString;\n if (updateType === \"push\" || updateType === \"replace\") {\n newSearchString = objectToSearchString(encodedChanges);\n } else {\n newSearchString = objectToSearchString({\n ...parsedParams,\n ...encodedChanges\n });\n }\n if ((newSearchString == null ? void 0 : newSearchString.length) && newSearchString[0] !== \"?\") {\n newSearchString = `?${newSearchString}`;\n }\n return newSearchString != null ? newSearchString : \"\";\n}\nfunction updateSearchString({\n searchString,\n adapter,\n navigate,\n updateType\n}) {\n const currentLocation = adapter.location;\n const newLocation = {\n ...currentLocation,\n search: searchString\n };\n if (navigate) {\n if (typeof updateType === \"string\" && updateType.startsWith(\"replace\")) {\n adapter.replace(newLocation);\n } else {\n adapter.push(newLocation);\n }\n }\n}\nconst immediateTask = (task) => task();\nconst timeoutTask = (task) => setTimeout(() => task(), 0);\nconst updateQueue = [];\nfunction enqueueUpdate(args, { immediate } = {}) {\n updateQueue.push(args);\n let scheduleTask = immediate ? immediateTask : timeoutTask;\n if (updateQueue.length === 1) {\n scheduleTask(() => {\n const updates = updateQueue.slice();\n updateQueue.length = 0;\n const initialSearchString = updates[0].currentSearchString;\n let searchString;\n for (let i = 0; i < updates.length; ++i) {\n const modifiedUpdate = i === 0 ? updates[i] : { ...updates[i], currentSearchString: searchString };\n searchString = getUpdatedSearchString(modifiedUpdate);\n }\n if (args.options.skipUpdateWhenNoChange && searchString === initialSearchString) {\n return;\n }\n updateSearchString({\n searchString: searchString != null ? searchString : \"\",\n adapter: updates[updates.length - 1].adapter,\n navigate: true,\n updateType: updates[updates.length - 1].updateType\n });\n });\n }\n}\nexport {\n enqueueUpdate,\n getUpdatedSearchString,\n updateSearchString\n};\n//# sourceMappingURL=updateSearchString.js.map\n","function serializeUrlNameMap(paramConfigMap) {\n let urlNameMapParts;\n for (const paramName in paramConfigMap) {\n if (paramConfigMap[paramName].urlName) {\n const urlName = paramConfigMap[paramName].urlName;\n const part = `${urlName}\\0${paramName}`;\n if (!urlNameMapParts)\n urlNameMapParts = [part];\n else\n urlNameMapParts.push(part);\n }\n }\n return urlNameMapParts ? urlNameMapParts.join(\"\\n\") : void 0;\n}\nfunction deserializeUrlNameMap(urlNameMapStr) {\n if (!urlNameMapStr)\n return void 0;\n return Object.fromEntries(\n urlNameMapStr.split(\"\\n\").map((part) => part.split(\"\\0\"))\n );\n}\nfunction applyUrlNames(encodedValues, paramConfigMap) {\n var _a;\n let newEncodedValues = {};\n for (const paramName in encodedValues) {\n if (((_a = paramConfigMap[paramName]) == null ? void 0 : _a.urlName) != null) {\n newEncodedValues[paramConfigMap[paramName].urlName] = encodedValues[paramName];\n } else {\n newEncodedValues[paramName] = encodedValues[paramName];\n }\n }\n return newEncodedValues;\n}\nexport {\n applyUrlNames,\n deserializeUrlNameMap,\n serializeUrlNameMap\n};\n//# sourceMappingURL=urlName.js.map\n","import { useCallback, useMemo } from \"react\";\nimport useQueryParams from \"./useQueryParams\";\nconst useQueryParam = (name, paramConfig, options) => {\n const paramConfigMap = useMemo(\n () => ({ [name]: paramConfig != null ? paramConfig : \"inherit\" }),\n [name, paramConfig]\n );\n const [query, setQuery] = useQueryParams(paramConfigMap, options);\n const decodedValue = query[name];\n const setValue = useCallback(\n (newValue, updateType) => {\n if (typeof newValue === \"function\") {\n return setQuery((latestValues) => {\n const newValueFromLatest = newValue(latestValues[name]);\n return { [name]: newValueFromLatest };\n }, updateType);\n }\n return setQuery({ [name]: newValue }, updateType);\n },\n [name, setQuery]\n );\n return [decodedValue, setValue];\n};\nexport {\n useQueryParam\n};\n//# sourceMappingURL=useQueryParam.js.map\n","import { useEffect, useMemo, useRef, useState } from \"react\";\nimport {\n StringParam\n} from \"serialize-query-params\";\nimport { decodedParamCache } from \"./decodedParamCache\";\nimport {\n extendParamConfigForKeys,\n convertInheritedParamStringsToParams\n} from \"./inheritedParams\";\nimport { makeStableGetLatestDecodedValues } from \"./latestValues\";\nimport { memoSearchStringToObject } from \"./memoSearchStringToObject\";\nimport { mergeOptions } from \"./options\";\nimport { useQueryParamContext } from \"./QueryParamProvider\";\nimport { enqueueUpdate } from \"./updateSearchString\";\nimport { serializeUrlNameMap } from \"./urlName\";\nfunction useQueryParams(arg1, arg2) {\n const { adapter, options: contextOptions } = useQueryParamContext();\n const [stableGetLatest] = useState(makeStableGetLatestDecodedValues);\n const { paramConfigMap: paramConfigMapWithInherit, options } = parseArguments(\n arg1,\n arg2\n );\n const mergedOptions = useMemo(() => {\n return mergeOptions(contextOptions, options);\n }, [contextOptions, options]);\n let paramConfigMap = convertInheritedParamStringsToParams(\n paramConfigMapWithInherit,\n mergedOptions\n );\n const parsedParams = memoSearchStringToObject(\n mergedOptions.searchStringToObject,\n adapter.location.search,\n serializeUrlNameMap(paramConfigMap)\n );\n if (mergedOptions.includeAllParams) {\n paramConfigMap = extendParamConfigForKeys(\n paramConfigMap,\n Object.keys(parsedParams),\n mergedOptions.params,\n StringParam\n );\n }\n const decodedValues = stableGetLatest(\n parsedParams,\n paramConfigMap,\n decodedParamCache\n );\n const paramKeyString = Object.keys(paramConfigMap).join(\"\\0\");\n useEffect(() => {\n const paramNames = paramKeyString.split(\"\\0\");\n decodedParamCache.registerParams(paramNames);\n return () => {\n decodedParamCache.unregisterParams(paramNames);\n };\n }, [paramKeyString]);\n const callbackDependencies = {\n adapter,\n paramConfigMap,\n options: mergedOptions\n };\n const callbackDependenciesRef = useRef(callbackDependencies);\n if (callbackDependenciesRef.current == null) {\n callbackDependenciesRef.current = callbackDependencies;\n }\n useEffect(() => {\n callbackDependenciesRef.current.adapter = adapter;\n callbackDependenciesRef.current.paramConfigMap = paramConfigMap;\n callbackDependenciesRef.current.options = mergedOptions;\n }, [adapter, paramConfigMap, mergedOptions]);\n const [setQuery] = useState(() => {\n const setQuery2 = (changes, updateType) => {\n const { adapter: adapter2, paramConfigMap: paramConfigMap2, options: options2 } = callbackDependenciesRef.current;\n if (updateType == null)\n updateType = options2.updateType;\n enqueueUpdate(\n {\n changes,\n updateType,\n currentSearchString: adapter2.location.search,\n paramConfigMap: paramConfigMap2,\n options: options2,\n adapter: adapter2\n },\n { immediate: !options2.enableBatching }\n );\n };\n return setQuery2;\n });\n return [decodedValues, setQuery];\n}\nvar useQueryParams_default = useQueryParams;\nfunction parseArguments(arg1, arg2) {\n let paramConfigMap;\n let options;\n if (arg1 === void 0) {\n paramConfigMap = {};\n options = arg2;\n } else if (Array.isArray(arg1)) {\n paramConfigMap = Object.fromEntries(\n arg1.map((key) => [key, \"inherit\"])\n );\n options = arg2;\n } else {\n paramConfigMap = arg1;\n options = arg2;\n }\n return { paramConfigMap, options };\n}\nexport {\n useQueryParams_default as default,\n useQueryParams\n};\n//# sourceMappingURL=useQueryParams.js.map\n","import * as React from \"react\";\nimport useQueryParams from \"./useQueryParams\";\nfunction withQueryParams(paramConfigMap, WrappedComponent) {\n const Component = (props) => {\n const [query, setQuery] = useQueryParams(paramConfigMap);\n return /* @__PURE__ */ React.createElement(WrappedComponent, {\n query,\n setQuery,\n ...props\n });\n };\n Component.displayName = `withQueryParams(${WrappedComponent.displayName || WrappedComponent.name || \"Component\"})`;\n return Component;\n}\nvar withQueryParams_default = withQueryParams;\nfunction withQueryParamsMapped(paramConfigMap, mapToProps, WrappedComponent) {\n const Component = (props) => {\n const [query, setQuery] = useQueryParams(paramConfigMap);\n const propsToAdd = mapToProps(query, setQuery, props);\n return /* @__PURE__ */ React.createElement(WrappedComponent, {\n ...propsToAdd,\n ...props\n });\n };\n Component.displayName = `withQueryParams(${WrappedComponent.displayName || WrappedComponent.name || \"Component\"})`;\n return Component;\n}\nexport {\n withQueryParams_default as default,\n withQueryParams,\n withQueryParamsMapped\n};\n//# sourceMappingURL=withQueryParams.js.map\n","module.exports = window[\"React\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export * from 'use-query-params';\nexport * from 'serialize-query-params';\n"],"names":[],"sourceRoot":""} dist/packages/block-library-style.css 0000644 00000015332 15174671772 0013716 0 ustar 00 .wp-block-popup-maker-cta-button__link{align-content:center;box-sizing:border-box;cursor:pointer;display:inline-block;height:100%;text-align:center;width:100%;word-break:break-word}.wp-block-popup-maker-cta-button__link.aligncenter,.wp-block-popup-maker-cta-button__link.has-text-align-center{text-align:center}.wp-block-popup-maker-cta-button__link.alignright,.wp-block-popup-maker-cta-button__link.has-text-align-right{text-align:right}.wp-block-popup-maker-cta-button__link.alignleft,.wp-block-popup-maker-cta-button__link.has-text-align-left{text-align:left}:where(.wp-block-popup-maker-cta-button__link){border-radius:9999px;box-shadow:none;padding:1rem 2.25rem;text-decoration:none}.wp-block-popup-maker-cta-button[style*=text-decoration] .wp-block-popup-maker-cta-button__link{text-decoration:inherit}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.has-custom-width{max-width:none}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.has-custom-width .wp-block-popup-maker-cta-button__link{width:100%}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.has-custom-font-size .wp-block-popup-maker-cta-button__link{font-size:inherit}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-100{flex-basis:100%;width:100%}.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-25{width:25%}.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-50{width:50%}.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button.wp-block-popup-maker-cta-button__width-75{width:75%}.wp-block-popup-maker-cta-button.is-style-squared,.wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button.is-style-squared{border-radius:0}.wp-block-popup-maker-cta-button.no-border-radius,.wp-block-popup-maker-cta-button__link.no-border-radius{border-radius:0!important}:root :where(.wp-block-popup-maker-cta-button){font-family:inherit;font-size:var(--wp--preset--font-size--medium);font-style:normal;line-height:inherit}:root :where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline){background-color:var(--wp--preset--color--contrast);border-color:var(--wp--preset--color--contrast);color:var(--wp--preset--color--base)}:root :where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline):hover{background-color:color-mix(in srgb,var(--wp--preset--color--contrast) 85%,#0000);border-color:#0000;color:var(--wp--preset--color--base)}:root :where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline),:root :where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link){border:1px solid;padding:calc(1rem - 1px) calc(2.25rem - 1px)}:root :where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline:not(.has-text-color)),:root :where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link:not(.has-text-color)){color:currentColor}:root :where(.wp-block-popup-maker-cta-button .wp-block-popup-maker-cta-button__link.is-style-outline:not(.has-background)),:root :where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link:not(.has-background)){background-color:#0000;background-image:none}:root :where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button__link:not(.has-background):hover){background-color:color-mix(in srgb,var(--wp--preset--color--contrast) 5%,#0000)}.wp-block-popup-maker-cta-button__link:hover.has-background:not(.is-style-outline):hover,.wp-block-popup-maker-cta-button__link:hover[style*=background-color]:not(.is-style-outline){filter:brightness(.85)}.wp-block-popup-maker-cta-button__link:hover.is-style-outline:hover{filter:brightness(1.05)}@supports not (background-color:color-mix(in srgb,red 50%,blue)){:where(.wp-block-popup-maker-cta-button:not(.is-style-outline))>.wp-block-popup-maker-cta-button__link:not(.is-style-outline):hover{filter:brightness(.85)}:where(.wp-block-popup-maker-cta-button.is-style-outline>.wp-block-popup-maker-cta-button__link.wp-block-popup-maker-cta-button__link:not(.has-background):hover){filter:brightness(1.05)}}.wp-block-popup-maker-cta-button{cursor:text;position:relative} .wp-block-popup-maker-cta-buttons{box-sizing:border-box}.wp-block-popup-maker-cta-buttons.is-vertical{flex-direction:column}.wp-block-popup-maker-cta-buttons.is-vertical>.wp-block-popup-maker-cta-button:last-child{margin-bottom:0}.wp-block-popup-maker-cta-buttons>.wp-block-popup-maker-cta-button{display:inline-block;margin:0}.wp-block-popup-maker-cta-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-popup-maker-cta-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-popup-maker-cta-buttons.is-content-justification-center{justify-content:center}.wp-block-popup-maker-cta-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-popup-maker-cta-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-popup-maker-cta-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-popup-maker-cta-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-popup-maker-cta-buttons.aligncenter{text-align:center}.wp-block-popup-maker-cta-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-popup-maker-cta-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-popup-maker-cta-buttons[style*=text-decoration] .wp-block-popup-maker-cta-button,.wp-block-popup-maker-cta-buttons[style*=text-decoration] .wp-block-popup-maker-cta-button__link{text-decoration:inherit}.wp-block-popup-maker-cta-buttons.has-custom-font-size .wp-block-popup-maker-cta-button__link{font-size:inherit}.wp-block-popup-maker-cta-button.aligncenter{text-align:center}:root .wp-block-popup-maker-cta-buttons.is-layout-flex:not([class*=wp-container-popup-maker-cta-buttons-is-layout-]){gap:16px} dist/packages/popup-admin-rtl.css 0000644 00000004026 15174671772 0013052 0 ustar 00 .wp-list-table th.column-enabled{width:80px}.wp-list-table th.column-conversions,.wp-list-table th.column-interactions,.wp-list-table th.column-purchases,.wp-list-table th.column-revenue,.wp-list-table th.column-views{width:150px}.wp-list-table td.column-conversions .pum-col-content{max-width:15ch}.wp-list-table td.column-conversions,.wp-list-table td.column-views{line-height:1.2}.wp-list-table td.column-conversions strong,.wp-list-table td.column-views strong{display:block;font-size:16px;margin-bottom:2px}.wp-list-table td.column-conversions span,.wp-list-table td.column-views span{color:#6b7280;display:block;font-size:12px}.wp-list-table td.column-conversions>.pum-col-content>strong{color:#581c87}.wp-list-table td.column-conversions .pum-progress-bar{max-width:150px}.wp-list-table .pum-progress-bar{align-items:center;display:flex;gap:8px;position:relative}.wp-list-table .pum-progress-bar__inner{background-color:#ccc;border-radius:8px;flex-grow:1;height:8px;overflow:hidden;position:relative}.wp-list-table .pum-progress-bar__inner .pum-progress-fill{background-color:#374151;border-radius:8px;height:100%;right:0;position:absolute;top:0;transition:width .3s ease}.wp-list-table .pum-progress-bar strong{color:#6b7280;flex-shrink:0;font-size:14px;margin-bottom:0;text-align:left}.wp-list-table .pum-progress-bar i,.wp-list-table .pum-progress-bar i:before{color:#6b7280;font-size:16px;height:16px;line-height:14px;margin-right:-4px;width:16px}.wp-list-table .pum-progress-bar--small{font-size:12px}.wp-list-table .pum-progress-bar--small .pum-progress-bar__inner{border-radius:4px;height:4px}.wp-list-table .pum-progress-bar--small .pum-progress-bar__inner .pum-progress-fill{border-radius:4px}.wp-list-table .pum-progress-bar--small strong{font-size:1em!important}.wp-list-table .pum-progress-bar--small i,.wp-list-table .pum-progress-bar--small i:before{font-size:1em;height:1em;line-height:.95em;width:1em}.wp-list-table td.column-views>.pum-col-content>strong{color:#1e3a8a}.wp-list-table td.column-conversions .pum-progress-bar>strong{color:#581c87} dist/packages/cta-admin.css.map 0000644 00000030277 15174671772 0012442 0 ustar 00 {"version":3,"file":"cta-admin.css","mappings":";;;AAGC;EACC;AAFF;AAKC;;;;EAIC;EACA;EACA;AAHF;;AAOA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJD,C;;;;ACtBC;EACC;EACA;EACA;AAAF;AAEE;EACC;EACA;AAAH;AAGE;EACC;EACA;AADH;AAIE;EAEC;AAHH;AAKG;EACC;EACA;AAHJ;AAKI;EACC;AAHL;AAOG;EACC;EAEA;AANJ;AASG;EACC;AAPJ,C;;;;AC7BA;EACC;EACA;EACA;EACA;EACA;EACA;AACD;AACC;EACC;EACA;AACF;AAEC;EACC;EACA;EACA;EACA;EACA;AAAF;AAGC;EACC;AADF;AAIC;EACC;AAFF;AAIE;EACC;AAFH;;AAOA;EACC;EACA;EACA;EACA;EACA;AAJD;;AAUA;EACC;AAPD;AASC;EACC;EACA;AAPF;AASE;EACC;AAPH;AASG;EACC;AAPJ;AAYG;EACC;AAVJ;AAcE;EACC;EACA;AAZH;AAcG;EACC;AAZJ;AAgBE;EACC;AAdH,C;;;;AC7DC;EACC;EACA;EACA;AAAF;AAEE;EACC;EACA;EAEA;AADH;AAIE;EACC;AAFH;AAKE;EACC;EACA;AAHH;AAKG;EACC;EACA;AAHJ;AAKI;EACC;AAHL;AAOG;EACC;EAEA;AANJ;AASG;EACC;AAPJ,C;;;;ACzBA;EACC;AAJD;;AAQC;EACC;EACA;EACA;EACA;AALF;AAUE;EACC;EACA;EACA;AARH;AAWE;EACC;AATH;;AAcA;EACC;EACA;EACA;AAXD;AAaC;EACC;EACA;AAXF;AAaE;EACC;EACA;EACA;AAXH;AAcE;EACC;AAZH;AAeE;EACC;EACA;AAbH;AAiBC;EACC;AAfF;AAiBE;EACC;AAfH;AAqBE;;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAlBH;AAoBG;;EACC;AAjBJ;AAoBG;;EAEC;AAlBJ;AAqBG;;EACC;EAEA;AAnBJ;AAyBE;EACC;EACA;AAvBH;AA0BE;EACC;AAxBH;AAyBG;EACC;EACA;AAvBJ;AAyBI;EACC;EACA;AAvBL;AA0BI;EACC;EACA;AAxBL;AA0BK;EACC;EAEA;AAzBN;;AAiCA;EACC;AA9BD;AA+BC;EACC;EACA;AA7BF;AA+BE;EACC;EACA;EACA;EACA;EACA;EACA;AA7BH;AAiCG;EACC;EACA;AA/BJ;;AAqCA;EACC;EACA;EACA;EAGA;EAmBA;AAtDD;AAuCC;EACC;AArCF;AAwCC;EACC;AAtCF;AAyCC;EACC;EACA;EACA;AAvCF;AA6CC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA3CF;AA6CE;EACC;EACA;AA3CH;AA6CG;EACC;AA3CJ;;AAkDC;EACC;AA/CF;AAkDC;EACC;AAhDF;AAmDE;EACC;AAjDH;AAuDE;;EACC;AApDH;AAsDE;;EACC;EACA;EACA;AAnDH;AAqDG;;EACC;AAlDJ;AAqDG;;EACC;AAlDJ;AAmDI;;EACC;AAhDL;AAqDE;;EACC;EACA;EACA;AAlDH;AAqDE;;EACC;EACA;AAlDH;AAwDG;EACC;EACA;AAtDJ;AAuDI;EACC;AArDL;AAuDI;EACC;EACA;AArDL;AA8DI;EACC;AA5DL;AAiEI;EACC;AA/DL;AAmEG;EACC;AAjEJ;AAqEM;EACC;EACA;AAnEP;AAqEM;EACC;EACA;AAnEP;AAwEI;EACC;AAtEL;AA0EK;EACC;AAxEN;AAgFE;EACC;EACA;EACA;EAEA;AA/EH;AAiFE;EACC;AA/EH;AAiFE;EACC;AA/EH;AAmFC;EACC;AAjFF;;AAqFA;EACC;EACA,SAtUK;AAoPN;AAoFC;EACC;AAlFF;AAoFE;EACC;EACA;AAlFH;AAqFE;EACC;EACA;AAnFH,C","sources":["webpack://popup-maker/core/./packages/cta-admin/src/editor.scss?","webpack://popup-maker/core/./packages/cta-admin/src/components/list/bulk-actions/bulk-actions.scss?","webpack://popup-maker/core/./packages/cta-admin/src/components/list/filters/filters.scss?","webpack://popup-maker/core/./packages/cta-admin/src/components/list/options/options.scss?","webpack://popup-maker/core/./packages/cta-admin/src/components/list-view/editor.scss?"],"sourcesContent":["\n.popup-maker-call-to-actions-page {\n\t// Header styles are now handled by @popup-maker/layout components\n\t.popup-maker-app-content {\n\t\tpadding: 20px;\n\t}\n\n\t.components-base-control__label,\n\t.components-input-control__label,\n\t.components-toggle-control__label,\n\t.components-checkbox-control__label {\n\t\ttext-transform: none !important;\n\t\tfont-weight: 500 !important;\n\t\tfont-size: 13px !important;\n\t}\n}\n\n.branding-pro-tag {\n\tbackground-color: #007cba;\n\tborder-radius: 1em;\n\tcolor: #fff;\n\tfont-size: 13px;\n\tdisplay: inline-block;\n\tline-height: 1;\n\tpadding: 5px 8px;\n\tvertical-align: middle;\n\ttext-align: center;\n\tmargin: 0 10px;\n}\n",".list-table-bulk-actions__popover {\n\t.components-popover__content {\n\t\tpadding: 8px;\n\t\twidth: max-content;\n\t\tmin-width: 200px;\n\n\t\tdiv[role=\"menu\"] {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t}\n\n\t\thr {\n\t\t\twidth: 100%;\n\t\t\tmargin: 8px 0;\n\t\t}\n\n\t\t.components-button {\n\t\t\t// width: 100%;\n\t\t\tjustify-content: left;\n\n\t\t\t&.is-destructive:not(:disabled) {\n\t\t\t\tbox-shadow: none;\n\t\t\t\tcolor: #1e1e1e;\n\n\t\t\t\tsvg {\n\t\t\t\t\tcolor: #cc1818;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&:focus:not(:disabled) {\n\t\t\t\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus)\n\t\t\t\t\tvar(--wp-admin-theme-color);\n\t\t\t\toutline: 3px solid #0000;\n\t\t\t}\n\n\t\t\t&.has-icon svg {\n\t\t\t\tmargin-right: 5px;\n\t\t\t}\n\t\t}\n\t}\n}\n",".list-table-filter {\n\tdisplay: flex;\n\talign-items: left;\n\tjustify-content: flex-start;\n\tmargin-bottom: 10px;\n\tborder: 1px solid #d0d5dd;\n\tborder-radius: 3px;\n\n\t.filter-label {\n\t\tfont-weight: 500;\n\t\tmargin-right: 5px;\n\t}\n\n\t.filter-selection {\n\t\tbackground: #f2f8fb;\n\t\tborder-radius: 4px;\n\t\tpadding: 5px 10px;\n\t\tcolor: #007cba;\n\t\tfont-weight: 600;\n\t}\n\n\t.filter-icon {\n\t\tfill: #667085;\n\t}\n\n\t&.is-active {\n\t\tborder-color: #1a191b;\n\n\t\t.filter-selection {\n\t\t\tbox-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);\n\t\t}\n\t}\n}\n\n.list-table-filters {\n\tdisplay: flex;\n\talign-items: left;\n\tjustify-content: flex-start;\n\tmargin: 0 10px;\n\tgap: 10px;\n}\n\n.filter-popover {\n}\n\n.list-table-filters__popover {\n\tmax-width: 340px;\n\n\t.components-popover__content {\n\t\twidth: fit-content;\n\t\tpadding: 10px 15px;\n\n\t\t> :last-child {\n\t\t\tmargin-bottom: 0;\n\n\t\t\t> :last-child {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t}\n\t\t}\n\n\t\t.components-radio-control {\n\t\t\t.components-v-stack {\n\t\t\t\tgap: 10px;\n\t\t\t}\n\t\t}\n\n\t\t.components-button {\n\t\t\twidth: 100%;\n\t\t\tjustify-content: left;\n\n\t\t\t&.has-icon svg {\n\t\t\t\tmargin-right: 5px;\n\t\t\t}\n\t\t}\n\n\t\thr {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n}\n",".list-table-options-menu__popover {\n\t.components-popover__content {\n\t\tpadding: 8px;\n\t\twidth: max-content;\n\t\tmin-width: 150px;\n\n\t\tdiv[role=\"menu\"] {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\n\t\t\talign-items: stretch;\n\t\t}\n\n\t\thr {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t.components-button {\n\t\t\twidth: 100%;\n\t\t\tjustify-content: left;\n\n\t\t\t&.is-destructive:not(:disabled) {\n\t\t\t\tbox-shadow: none;\n\t\t\t\tcolor: #1e1e1e;\n\n\t\t\t\tsvg {\n\t\t\t\t\tcolor: #cc1818;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&:focus:not(:disabled) {\n\t\t\t\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus)\n\t\t\t\t\tvar(--wp-admin-theme-color);\n\t\t\t\toutline: 3px solid #0000;\n\t\t\t}\n\n\t\t\t&.has-icon svg {\n\t\t\t\tmargin-right: 5px;\n\t\t\t}\n\t\t}\n\t}\n}\n","$gap: 16px;\n$gap2: $gap * 2;\n$gap3: $gap * 3;\n$gap4: $gap * 4;\n\n.call-to-actions-list {\n\tposition: relative;\n}\n\n.popup-maker-call-to-actions-page.view-call-to-actions {\n\theader.popup-maker-call-to-actions-view__header {\n\t\tdisplay: flex;\n\t\tgap: 10px;\n\t\talign-items: center;\n\t\tmargin-bottom: 30px;\n\n\t\t.view-title {\n\t\t}\n\n\t\t.item-count {\n\t\t\tdisplay: inline-block;\n\t\t\tmargin-top: 8px;\n\t\t\tcolor: #667085;\n\t\t}\n\n\t\tbutton.add-call-to-action {\n\t\t\tmargin-left: auto;\n\t\t}\n\t}\n}\n\n.list-table-header {\n\tdisplay: flex;\n\tgap: 5px;\n\talign-items: center;\n\n\t.list-search {\n\t\tmargin-right: auto;\n\t\tposition: relative;\n\n\t\tsvg {\n\t\t\tposition: absolute;\n\t\t\ttop: 6px;\n\t\t\tleft: 5px;\n\t\t}\n\n\t\t.components-base-control__field {\n\t\t\tmargin: 0;\n\t\t}\n\n\t\tinput {\n\t\t\tpadding-left: 30px !important;\n\t\t\theight: 36px !important;\n\t\t}\n\t}\n\n\t.filters-toggle {\n\t\tpadding: 6px 20px;\n\n\t\tsvg {\n\t\t\tmargin-right: 5px;\n\t\t}\n\t}\n\n\t.list-table-filters,\n\t.list-table-bulk-actions {\n\t\t.components-button.popover-toggle {\n\t\t\tcolor: #2c3338;\n\t\t\tfont-size: 14px;\n\t\t\tfont-weight: 500;\n\t\t\tbox-shadow: inset 0 0 0 1px #d0d5dd;\n\t\t\tpadding: 8px 10px;\n\t\t\tborder-radius: 3px;\n\t\t\tline-height: 1;\n\n\t\t\tsvg:first-child {\n\t\t\t\tmargin-right: 5px;\n\t\t\t}\n\n\t\t\tsvg.toggle-icon {\n\t\t\t\t// margin-left: 8px;\n\t\t\t\tmargin-right: 0;\n\t\t\t}\n\n\t\t\t&:focus:not(:disabled) {\n\t\t\t\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus)\n\t\t\t\t\tvar(--wp-admin-theme-color);\n\t\t\t\toutline: 3px solid #0000;\n\t\t\t}\n\t\t}\n\t}\n\n\t.list-table-bulk-actions {\n\t\t.component-flex {\n\t\t\talign-items: center;\n\t\t\tgap: 16px;\n\t\t}\n\n\t\t.list-table-bulk-actions-popover {\n\t\t\tmargin-top: 10px;\n\t\t\t.components-popover__content {\n\t\t\t\tpadding: 10px;\n\t\t\t\twidth: max-content;\n\n\t\t\t\tdiv[role=\"menu\"] {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex-direction: column;\n\t\t\t\t}\n\n\t\t\t\t.components-button {\n\t\t\t\t\tborder: none;\n\t\t\t\t\tbox-shadow: none;\n\n\t\t\t\t\t&:focus:not(:disabled) {\n\t\t\t\t\t\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus)\n\t\t\t\t\t\t\tvar(--wp-admin-theme-color);\n\t\t\t\t\t\toutline: 3px solid #0000;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n.list-table-filters-popover {\n\tmargin-top: 10px;\n\t.components-popover__content {\n\t\tpadding: 10px;\n\t\twidth: max-content;\n\n\t\t.list-filters-popover-title {\n\t\t\ttext-transform: capitalize;\n\t\t\tfont-size: 14px;\n\t\t\tfont-weight: 500;\n\t\t\tmargin-bottom: 10px;\n\t\t\tpadding-bottom: 10px;\n\t\t\tborder-bottom: 1px solid #ddd;\n\t\t}\n\n\t\t.list-table-available-filters {\n\t\t\t.components-flex {\n\t\t\t\tflex-direction: row;\n\t\t\t\talign-items: center;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.list-table-container {\n\tbackground-color: #fff;\n\tposition: relative;\n\tborder-radius: 4px;\n\t// margin-bottom: 0;\n\t// padding: 10px;\n\tborder: 1px solid #ddd;\n\t// border-bottom: 0;\n\t// border-top-color: #c3c4c7;\n\n\t.list-table-header {\n\t\tpadding: 10px;\n\t}\n\n\t.component-list-table {\n\t\tborder: 0;\n\t}\n\n\t.list-table {\n\t\tborder-color: #ddd;\n\t\tborder-radius: 0 0 4px 4px;\n\t\toverflow: hidden;\n\t}\n\n\t// display: flex;\n\tposition: relative;\n\n\t.is-loading {\n\t\tz-index: 1;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tdisplay: flex;\n\t\tposition: absolute;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tbackground-color: rgba(255, 255, 255, 0.75);\n\n\t\t.components-spinner {\n\t\t\twidth: 60px;\n\t\t\theight: 60px;\n\n\t\t\t> * {\n\t\t\t\tstroke-width: 7.5px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.call-to-actions-list {\n\t> * {\n\t\tmargin-bottom: 10px;\n\t}\n\n\t.list-table-header {\n\t\tmargin-bottom: 0;\n\t}\n\t.list-table-container {\n\t\ttable {\n\t\t\tborder-top: 0;\n\t\t}\n\t}\n\n\tth,\n\ttd {\n\t\t&.check-column {\n\t\t\twidth: 20px;\n\t\t}\n\t\t&.column-enabled {\n\t\t\twidth: 20px;\n\t\t\tvertical-align: middle;\n\t\t\ttext-align: center;\n\n\t\t\t.components-toggle-control__label {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.components-toggle-control .components-base-control__field {\n\t\t\t\tmargin: 0;\n\t\t\t\t.components-form-toggle {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.column-priority {\n\t\t\twidth: 80px;\n\t\t\tvertical-align: middle;\n\t\t\ttext-align: center;\n\t\t}\n\n\t\t&.column-status {\n\t\t\tvertical-align: middle;\n\t\t\ttext-align: center;\n\t\t}\n\t}\n\n\ttd {\n\t\t&.column-priority {\n\t\t\t.components-flex {\n\t\t\t\tjustify-content: start;\n\t\t\t\tgap: 5px;\n\t\t\t\tstrong {\n\t\t\t\t\tmin-width: 18px;\n\t\t\t\t}\n\t\t\t\t.components-button {\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\tmin-width: auto;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\ttbody {\n\t\ttr {\n\t\t\t&.status-publish {\n\t\t\t\t.column-status {\n\t\t\t\t\tcolor: #00a32a;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.status-draft {\n\t\t\t\t.column-status {\n\t\t\t\t\tcolor: #a30000;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.status-trash {\n\t\t\t\tbackground-color: rgba(163, 0, 0, 0.05);\n\n\t\t\t\t.column-enabled {\n\t\t\t\t\t.components-form-toggle {\n\t\t\t\t\t\t.components-form-toggle__track {\n\t\t\t\t\t\t\tcolor: #a30000;\n\t\t\t\t\t\t\tborder-color: #a30000;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t.components-form-toggle__thumb {\n\t\t\t\t\t\t\tcolor: #a30000;\n\t\t\t\t\t\t\tborder-color: #a30000;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.column-title .components-button {\n\t\t\t\t\tcolor: #a30000;\n\t\t\t\t}\n\n\t\t\t\t.column-status {\n\t\t\t\t\tsvg {\n\t\t\t\t\t\tfill: #a30000;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.tooltip-popover {\n\t\t.components-popover__content {\n\t\t\tbackground-color: #000;\n\t\t\tcolor: #fff;\n\t\t\twidth: initial;\n\n\t\t\tpadding: 5px 10px;\n\t\t}\n\t\t.components-popover__arrow:before {\n\t\t\tbackground-color: #000;\n\t\t}\n\t\t.components-popover__triangle-bg {\n\t\t\tfill: #000;\n\t\t}\n\t}\n\n\t&.permission-denied {\n\t\ttext-align: center;\n\t}\n}\n\n.list-table-status-filters {\n\tdisplay: inline-flex;\n\tgap: $gap;\n\n\t.components-button {\n\t\ttext-decoration: none;\n\n\t\t.count {\n\t\t\tcolor: #50575e;\n\t\t\tfont-weight: 400;\n\t\t}\n\n\t\t&.active {\n\t\t\tfont-weight: 600;\n\t\t\tcolor: #000;\n\t\t}\n\t}\n}\n"],"names":[],"sourceRoot":""} dist/packages/layout.js.map 0000644 00001175623 15174671772 0011754 0 ustar 00 {"version":3,"file":"layout.js","mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AAC8D;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAe,8DAAU;AACzB;AACA;AACA;AACA,CAAC;AACD,SAAS,gEAAY;AACrB;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,CAAC,EAAC;AACH,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5ByC;AACe;AACM;AACE;AACA;AACE;AACN;AACA;AACE;AACP;AACK;AACW;AACX;AACE;AACN;AACS;AACP;AACM;AACb;AACU;AACR;AACJ;AACa;AACI;AACN;AACE;AACT;AACN;AACI;AACJ;AACM;AACE;AACE;AACsB;AACxB;AACW;AACA;AACT;AACF;AAEwB;AACrB;AACP;AACa;AACW;AACX;AACW;AACT;AACW;AACjB;AACS;AACd;AACJ;AACW;AACM;AACJ;AACb;AACF;AACF;AACI;AACE;AACE;AACN;AACW;AACL;AAC0B;AACJ;AACP;AACK;AACF;AACb;AACe;AACE;AACR;AACE;AACV;AACV;AACE;AACJ;AACqB;AACJ;AACE;AACG;AACZ;AACJ;AACA;AACF;AACS;AACA;AACE;AACP;AACR;AACQ;AACA;AACN;AACF;AACI;AACiB;AACJ;AACJ;AACY;AACR;AACO;AACP;AACW;AACO;AACL;AACO;AAC1B;AACY;AACJ;AACO;AACf;AACoB;AACR;AACA;AACX;AACR;AACE;AACJ;AACF;AACE;AACE;AACgB;AACA;AACA;AACA;AACA;AACA;AACd;AACN;AACa;AACX;AACY;AACd;AACa;AACb;AACE;AACF;AACe;AACE;AACE;AACJ;AACI;AACiB;AACnB;AACe;AACiB;AAC5B;AACiB;AACzB;AACf;AACU;AACW;AACE;AACb;AACJ;AACG;AACG;AACG;AACA;AACF;AACX;AACO;AACP;AACS;AACA;AACT;AACe;AACJ;AACT;AACF;AACW;AACT;AACgB;AACR;AACV;AACI;AACJ;AACqB;AACJ;AACZ;AACO;AACC;AACJ;AACM;AACJ;AACE;AACb;AACE;AACQ;AACJ;AACA;AACA;AACe;AACJ;AACE;AACf;AACA;AACN;AACW;AACH;AACoB;AACb;AACb;AACA;AACa;AACQ;AACN;AACE;AACW;AACF;AACjB;AACM;AACa;AACnB;AACE;AACH;AACR;AACM;AACU;AACN;AACD;AACE;AACD;AACa;AACS;AACM;AACE;AACtC;AACI;AACN;AACW;AACQ;AACb;AACJ;AACqB;AACJ;AACrB;AACM;AACS;AACE;AACjB;AACM;AACJ;AACI;AACM;AACV;AACU;AACF;AACJ;AACF;AACE;AACM;AACJ;AACG;AACP;AACS;AACE;AACJ;AACP;AACwB;AACtB;AACI;AACJ;AACW;AACL;AACI;AACV;AACsB;AACE;AACA;AACJ;AACJ;AACE;AACA;AACpB;AACJ;AACe;AACJ;AACQ;AACM;AACnB;AACA;AACE;AACG;AACI;AACE;AACQ;AACZ;AACE;AACJ;AACU;AACR;AACU;AACJ;AACb;AACF;AACJ;AACE;AACE;AACe;AACJ;AACD;AACZ;AACM;AACF;AACA;AACA;AACF;AACA;AACE;AACM;AAC3D,iC;;;;;;;;;;;;;;ACzTA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,oC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,wC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,wC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,oCAAoC,sDAAI,CAAC,sDAAG;AAC5C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,cAAc,EAAC;AAC9B,4C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,oC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,wC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,sC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AAC0D;AACK;AAC/D,gCAAgC,uDAAK,CAAC,sDAAG;AACzC;AACA;AACA,0BAA0B,sDAAI,CAAC,uDAAI;AACnC;AACA,GAAG,gBAAgB,sDAAI,CAAC,yDAAM;AAC9B;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACjBA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,yBAAyB,sDAAI,CAAC,sDAAG;AACjC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,GAAG,EAAC;AACnB,+B;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,yBAAyB,sDAAI,CAAC,sDAAG;AACjC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,GAAG,EAAC;AACnB,+B;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,oC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,wCAAwC,sDAAI,CAAC,sDAAG;AAChD;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,kBAAkB,EAAC;AAClC,gD;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,oC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,0C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,qC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,sCAAsC,sDAAI,CAAC,sDAAG;AAC9C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,gBAAgB,EAAC;AAChC,8C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,wC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,sCAAsC,sDAAI,CAAC,sDAAG;AAC9C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,gBAAgB,EAAC;AAChC,8C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,wC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,uCAAuC,sDAAI,CAAC,sDAAG;AAC/C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,iBAAiB,EAAC;AACjC,+C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,2C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,0C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,wC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,yBAAyB,sDAAI,CAAC,sDAAG;AACjC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,GAAG,EAAC;AACnB,+B;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,yCAAyC,sDAAI,CAAC,sDAAG;AACjD;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,mBAAmB,EAAC;AACnC,iD;;;;;;;;;;;;;;ACfA;AACA;AACA;AAC0D;AACK;AAC/D,uCAAuC,uDAAK,CAAC,sDAAG;AAChD;AACA;AACA,0BAA0B,sDAAI,CAAC,uDAAI;AACnC;AACA;AACA;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA;AACA;AACA,GAAG,gBAAgB,sDAAI,CAAC,yDAAM;AAC9B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,iBAAiB,EAAC;AACjC,+C;;;;;;;;;;;;;;ACzBA;AACA;AACA;AACkD;AACF;AAChD,oCAAoC,sDAAI,CAAC,sDAAG;AAC5C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,cAAc,EAAC;AAC9B,2C;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,qCAAqC,sDAAI,CAAC,sDAAG;AAC7C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,eAAe,EAAC;AAC/B,6C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,sCAAsC,sDAAI,CAAC,sDAAG;AAC9C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,gBAAgB,EAAC;AAChC,8C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,sC;;;;;;;;;;;;;;ACdA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACqD;AACU;AAC/D,sCAAsC,uDAAK,CAAC,sDAAG;AAC/C;AACA;AACA,0BAA0B,sDAAI,CAAC,oDAAC;AAChC;AACA,2BAA2B,sDAAI,CAAC,uDAAI;AACpC;AACA,KAAK;AACL,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,gBAAgB,EAAC;AAChC,8C;;;;;;;;;;;;;;ACpBA;AACA;AACA;AACqD;AACU;AAC/D,uCAAuC,uDAAK,CAAC,sDAAG;AAChD;AACA;AACA,0BAA0B,sDAAI,CAAC,oDAAC;AAChC;AACA,2BAA2B,sDAAI,CAAC,uDAAI;AACpC;AACA,KAAK;AACL,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,iBAAiB,EAAC;AACjC,+C;;;;;;;;;;;;;;ACpBA;AACA;AACA;AACqD;AACU;AAC/D,mCAAmC,uDAAK,CAAC,sDAAG;AAC5C;AACA;AACA,0BAA0B,sDAAI,CAAC,oDAAC;AAChC;AACA,2BAA2B,sDAAI,CAAC,uDAAI;AACpC;AACA,KAAK;AACL,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,2C;;;;;;;;;;;;;;ACpBA;AACA;AACA;AACqD;AACU;AAC/D,oCAAoC,uDAAK,CAAC,sDAAG;AAC7C;AACA;AACA,0BAA0B,sDAAI,CAAC,oDAAC;AAChC;AACA,2BAA2B,sDAAI,CAAC,uDAAI;AACpC;AACA,KAAK;AACL,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,cAAc,EAAC;AAC9B,4C;;;;;;;;;;;;;;ACpBA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,oCAAoC,sDAAI,CAAC,sDAAG;AAC5C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,cAAc,EAAC;AAC9B,2C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,0C;;;;;;;;;;;;;;ACdA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,oCAAoC,sDAAI,CAAC,sDAAG;AAC5C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,cAAc,EAAC;AAC9B,4C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACa;AAC/D,6BAA6B,uDAAK,CAAC,sDAAG;AACtC;AACA;AACA,0BAA0B,sDAAI,CAAC,uDAAI;AACnC;AACA;AACA;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACjBA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,oC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,wC;;;;;;;;;;;ACfA;AACA;AACA;;AAE6C;AAC7C,sEAAe,+CAAM,EAAC;AACtB,gC;;;;;;;;;;;;;;ACNA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,oC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,oC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,oCAAoC,sDAAI,CAAC,sDAAG;AAC5C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,cAAc,EAAC;AAC9B,2C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACdA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,sCAAsC,sDAAI,CAAC,sDAAG;AAC9C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,gBAAgB,EAAC;AAChC,6C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,qCAAqC,sDAAI,CAAC,sDAAG;AAC7C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,eAAe,EAAC;AAC/B,6C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,0CAA0C,sDAAI,CAAC,sDAAG;AAClD;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,oBAAoB,EAAC;AACpC,mD;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,uCAAuC,sDAAI,CAAC,sDAAG;AAC/C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,iBAAiB,EAAC;AACjC,+C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2CAA2C,sDAAI,CAAC,sDAAG;AACnD;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,qBAAqB,EAAC;AACrC,oD;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,wCAAwC,sDAAI,CAAC,sDAAG;AAChD;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,kBAAkB,EAAC;AAClC,gD;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,qCAAqC,sDAAI,CAAC,sDAAG;AAC7C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,eAAe,EAAC;AAC/B,4C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,sCAAsC,sDAAI,CAAC,sDAAG;AAC9C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,gBAAgB,EAAC;AAChC,8C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,0C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,yCAAyC,sDAAI,CAAC,sDAAG;AACjD;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,mBAAmB,EAAC;AACnC,gD;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,qCAAqC,sDAAI,CAAC,sDAAG;AAC7C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,eAAe,EAAC;AAC/B,4C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,qCAAqC,sDAAI,CAAC,sDAAG;AAC7C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,eAAe,EAAC;AAC/B,4C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AACzC,6BAA6B,sDAAI,CAAC,sDAAG;AAC5C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,2C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,2C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,2C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,2C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,2C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,2C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,wC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,uC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,0C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2CAA2C,sDAAI,CAAC,sDAAG;AACnD;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,qBAAqB,EAAC;AACrC,mD;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,0C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,wC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,iDAAiD,sDAAI,CAAC,sDAAG;AACzD;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,2BAA2B,EAAC;AAC3C,0D;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,yCAAyC,sDAAI,CAAC,sDAAG;AACjD;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,mBAAmB,EAAC;AACnC,iD;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4CAA4C,sDAAI,CAAC,sDAAG;AACpD;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,sBAAsB,EAAC;AACtC,oD;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,oCAAoC,sDAAI,CAAC,sDAAG;AAC5C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,cAAc,EAAC;AAC9B,2C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,yBAAyB,sDAAI,CAAC,sDAAG;AACjC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,GAAG,EAAC;AACnB,+B;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,0C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,oCAAoC,sDAAI,CAAC,sDAAG;AAC5C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,cAAc,EAAC;AAC9B,2C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACa;AAC/D,8BAA8B,uDAAK,CAAC,sDAAG;AACvC;AACA;AACA,0BAA0B,sDAAI,CAAC,uDAAI;AACnC;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,oC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,oC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,oC;;;;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,iEAAe,SAAS,EAAC;AACzB,qC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,oC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,wC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,iEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,0C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACa;AAC/D,2BAA2B,uDAAK,CAAC,sDAAG;AACpC;AACA;AACA,0BAA0B,sDAAI,CAAC,uDAAI;AACnC;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACjBA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,qC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,oCAAoC,sDAAI,CAAC,sDAAG;AAC5C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,cAAc,EAAC;AAC9B,2C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,mC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,wC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACa;AAC/D,0BAA0B,uDAAK,CAAC,sDAAG;AACnC;AACA;AACA,0BAA0B,sDAAI,CAAC,uDAAI;AACnC;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACa;AAC/D,2BAA2B,uDAAK,CAAC,sDAAG;AACpC;AACA;AACA,0BAA0B,sDAAI,CAAC,uDAAI;AACnC;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA,GAAG;AACH,CAAC;AACD,iEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACjBA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,iEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA,GAAG;AACH,CAAC;AACD,iEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACdA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,yBAAyB,sDAAI,CAAC,sDAAG;AACjC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,GAAG,EAAC;AACnB,+B;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,sCAAsC,sDAAI,CAAC,sDAAG;AAC9C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,gBAAgB,EAAC;AAChC,8C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,oCAAoC,sDAAI,CAAC,sDAAG;AAC5C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,cAAc,EAAC;AAC9B,2C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,0C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,oCAAoC,sDAAI,CAAC,sDAAG;AAC5C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,cAAc,EAAC;AAC9B,2C;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,uCAAuC,sDAAI,CAAC,sDAAG;AAC/C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,iBAAiB,EAAC;AACjC,+C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,sCAAsC,sDAAI,CAAC,sDAAG;AAC9C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,gBAAgB,EAAC;AAChC,8C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,wC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACa;AAC/D,8BAA8B,uDAAK,CAAC,sDAAG;AACvC;AACA;AACA,0BAA0B,sDAAI,CAAC,uDAAI;AACnC;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,qC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,wC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,uCAAuC,sDAAI,CAAC,sDAAG;AAC/C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,iBAAiB,EAAC;AACjC,+C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,wC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,oC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,qC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,yCAAyC,sDAAI,CAAC,sDAAG;AACjD;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,mBAAmB,EAAC;AACnC,iD;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4CAA4C,sDAAI,CAAC,sDAAG;AACpD;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,sBAAsB,EAAC;AACtC,oD;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6CAA6C,sDAAI,CAAC,sDAAG;AACrD;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,uBAAuB,EAAC;AACvC,qD;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,qCAAqC,sDAAI,CAAC,sDAAG;AAC7C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,eAAe,EAAC;AAC/B,4C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,0C;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,oCAAoC,sDAAI,CAAC,sDAAG;AAC5C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,cAAc,EAAC;AAC9B,6C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,0C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,wC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,yBAAyB,sDAAI,CAAC,sDAAG;AACjC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,GAAG,EAAC;AACnB,+B;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,yBAAyB,sDAAI,CAAC,sDAAG;AACjC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,GAAG,EAAC;AACnB,+B;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,qC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACa;AAC/D,8BAA8B,uDAAK,CAAC,sDAAG;AACvC;AACA;AACA,0BAA0B,sDAAI,CAAC,uDAAI;AACnC;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,oC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,oC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACa;AAC/D,iCAAiC,uDAAK,CAAC,sDAAG;AAC1C;AACA;AACA,0BAA0B,sDAAI,CAAC,uDAAI;AACnC;AACA;AACA;AACA;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,wC;;;;;;;;;;;;;;AClBA;AACA;AACA;AACkD;AACa;AAC/D,qCAAqC,uDAAK,CAAC,sDAAG;AAC9C;AACA;AACA,0BAA0B,sDAAI,CAAC,uDAAI;AACnC;AACA;AACA;AACA;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA,GAAG;AACH,CAAC;AACD,sEAAe,eAAe,EAAC;AAC/B,4C;;;;;;;;;;;;;;ACpBA;AACA;AACA;AACkD;AACa;AAC/D,+BAA+B,uDAAK,CAAC,sDAAG;AACxC;AACA;AACA,0BAA0B,sDAAI,CAAC,uDAAI;AACnC;AACA;AACA;AACA;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;AClBA;AACA;AACA;AACkD;AACa;AAC/D,gCAAgC,uDAAK,CAAC,sDAAG;AACzC;AACA;AACA,0BAA0B,sDAAI,CAAC,uDAAI;AACnC;AACA;AACA;AACA;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;AClBA;AACA;AACA;AACkD;AACa;AAC/D,8BAA8B,uDAAK,CAAC,sDAAG;AACvC;AACA;AACA,0BAA0B,sDAAI,CAAC,uDAAI;AACnC;AACA;AACA;AACA;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,qC;;;;;;;;;;;;;;AClBA;AACA;AACA;AACkD;AACa;AAC/D,mCAAmC,uDAAK,CAAC,sDAAG;AAC5C;AACA;AACA,0BAA0B,sDAAI,CAAC,uDAAI;AACnC;AACA;AACA;AACA;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,0C;;;;;;;;;;;;;;ACpBA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACjBA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,sCAAsC,sDAAI,CAAC,sDAAG;AAC9C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,gBAAgB,EAAC;AAChC,8C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,wC;;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AACzC,4BAA4B,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,iCAAiC,sDAAI,CAAC,sDAAG;AACzC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,WAAW,EAAC;AAC3B,uC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,sCAAsC,sDAAI,CAAC,sDAAG;AAC9C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,gBAAgB,EAAC;AAChC,8C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,uCAAuC,sDAAI,CAAC,sDAAG;AAC/C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,iBAAiB,EAAC;AACjC,+C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,uCAAuC,sDAAI,CAAC,sDAAG;AAC/C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,iBAAiB,EAAC;AACjC,+C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACa;AAC/D,qCAAqC,uDAAK,CAAC,sDAAG;AAC9C;AACA;AACA,0BAA0B,sDAAI,CAAC,uDAAI;AACnC;AACA;AACA;AACA,GAAG,gBAAgB,sDAAI,CAAC,uDAAI;AAC5B;AACA,GAAG;AACH,CAAC;AACD,sEAAe,eAAe,EAAC;AAC/B,6C;;;;;;;;;;;;;;ACjBA;AACA;AACA;AACkD;AACF;AAChD,mCAAmC,sDAAI,CAAC,sDAAG;AAC3C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,aAAa,EAAC;AAC7B,2C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,oCAAoC,sDAAI,CAAC,sDAAG;AAC5C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,cAAc,EAAC;AAC9B,4C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,oCAAoC,sDAAI,CAAC,sDAAG;AAC5C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,cAAc,EAAC;AAC9B,4C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,yBAAyB,sDAAI,CAAC,sDAAG;AACjC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,GAAG,EAAC;AACnB,+B;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,yBAAyB,sDAAI,CAAC,sDAAG;AACjC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,GAAG,EAAC;AACnB,4C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,oCAAoC,sDAAI,CAAC,sDAAG;AAC5C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,cAAc,EAAC;AAC9B,2C;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,8BAA8B,sDAAI,CAAC,sDAAG;AACtC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,QAAQ,EAAC;AACxB,qC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,yBAAyB,sDAAI,CAAC,sDAAG;AACjC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,GAAG,EAAC;AACnB,+B;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACfA;AACA;AACA;AACkD;AACF;AAChD,kCAAkC,sDAAI,CAAC,sDAAG;AAC1C;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,YAAY,EAAC;AAC5B,yC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,uC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,UAAU,EAAC;AAC1B,sC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,0BAA0B,sDAAI,CAAC,sDAAG;AAClC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,IAAI,EAAC;AACpB,gC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,mC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,2BAA2B,sDAAI,CAAC,sDAAG;AACnC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,KAAK,EAAC;AACrB,iC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,4BAA4B,sDAAI,CAAC,sDAAG;AACpC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,qC;;;;;;;;;;;;;;ACbA,cAAc,aAAa,+CAA+C,gDAAgD,eAAe,QAAQ,IAAI,0CAA0C,yCAAyC,SAAgB,gBAAgB,wCAAwC,IAAI,mDAAmD,SAAS,iEAAe,IAAI,E;;;;;;;;;;;;;;;;;ACA5W;AAEC;AAAA;AAGjB,MAAMG,UAAU,GAAGA,CAAE;EAAEC,SAAS;EAAEC;AAA0B,CAAC,KAAM;EACzE,oBACCH,sDAAA;IAAKE,SAAS,EAAGJ,gDAAI,CAAE,yBAAyB,EAAEI,SAAU,CAAG;IAAAC,QAAA,EAC5DA;EAAQ,CACN,CAAC;AAER,CAAC;AAED,sEAAeF,UAAU,E;;;;;;;;;;ACbzB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAuB;AAEqB;AAMb;AACQ;AAC4B;AACN;AAOxC;AAAA;AAEd,MAAMsB,SAAS,GAAGA,CAAE;EAC1BC,KAAK,GAAGf,qDAAE,CAAE,aAAa,EAAE,aAAc,CAAC;EAC1CgB,WAAW,GAAG,+HAA+H;EAC7IC,IAAI,GAAG,EAAE;EACTC,UAAU;EACVC,WAAW;EACXC,gBAAgB,GAAG,EAAE;EACrBC,WAAW,GAAG,IAAI;EAClBC,QAAQ,GAAG;AACI,CAAC,KAAM;EACtB,MAAMC,MAAM,GAAG5B,0DAAM,CAA8B,IAAK,CAAC;EACzD,MAAM;IAAE6B;EAAU,CAAC,GAAGC,MAAM,CAACC,UAAU,CAACC,UAAU;EAClD;EACA,MAAMC,mBAAmB,GAAG,CAC3B;IACCC,IAAI,EAAE1B,mDAAK;IACX2B,KAAK,EAAE9B,qDAAE,CAAE,oBAAoB,EAAE,aAAc,CAAC;IAChD+B,IAAI,EAAE,oJAAoJ;IAC1JC,MAAM,EAAE,QAAQ;IAChBC,KAAK,EAAE;EACR,CAAC,EACD;IACCJ,IAAI,EAAEzB,oDAAM;IACZ0B,KAAK,EAAE9B,qDAAE,CAAE,aAAa,EAAE,aAAc,CAAC;IACzC+B,IAAI,EAAE,gJAAgJ;IACtJC,MAAM,EAAE,QAAQ;IAChBC,KAAK,EAAE;EACR,CAAC,EACD;IACCJ,IAAI,EAAE3B,mDAAK;IACX4B,KAAK,EAAE9B,qDAAE,CAAE,sBAAsB,EAAE,aAAc,CAAC;IAClDkC,OAAO,EAAEA,CAAA,KAAM;MACd,IAAKZ,QAAQ,EAAG;QACfG,MAAM,CAACU,QAAQ,CAACJ,IAAI,GAAG,GAAIT,QAAQ,mDAAoD;MACxF;IACD,CAAC;IACDW,KAAK,EAAE;EACR,CAAC,EACD,GAAGb,gBAAgB,CACnB;;EAED;EACA,MAAMgB,YAAY,GAAGR,mBAAmB,CAACS,MAAM,CAC9C,CAAEC,GAAG,EAAEC,IAAI,KAAM;IAChB,MAAMN,KAAK,GAAGM,IAAI,CAACN,KAAK,IAAI,SAAS;IACrC,IAAK,CAAEK,GAAG,CAAEL,KAAK,CAAE,EAAG;MACrBK,GAAG,CAAEL,KAAK,CAAE,GAAG,EAAE;IAClB;IACAK,GAAG,CAAEL,KAAK,CAAE,CAACO,IAAI,CAAED,IAAK,CAAC;IACzB,OAAOD,GAAG;EACX,CAAC,EACD,CAAC,CACF,CAAC;EAED,oBACC3B,uDAAA;IAAKlB,SAAS,EAAC,wBAAwB;IAAAC,QAAA,gBACtCH,sDAAA,CAACe,mDAAe,IAAE,CAAC,eAEnBf,sDAAA;MAAIE,SAAS,EAAC,4BAA4B;MAAAC,QAAA,eACzCiB,uDAAA;QACCoB,IAAI,EAAGf,WAAa;QACpBgB,MAAM,EAAC,QAAQ;QACfS,GAAG,EAAC,qBAAqB;QAAA/C,QAAA,gBAEzBH,sDAAA;UAAKmD,GAAG,EAAG,GAAIlB,SAAS,iBAAoB;UAACmB,GAAG,EAAC;QAAE,CAAE,CAAC,EACpD5B,KAAK;MAAA,CACL;IAAC,CACD,CAAC,EAEHE,IAAI,CAAC2B,MAAM,GAAG,CAAC,iBAChBrD,sDAAA,CAACc,uEAAkB;MAClBZ,SAAS,EAAC,MAAM;MAChBoD,WAAW,EAAC,YAAY;MACxBC,QAAQ,EAAG5B,UAAU,IAAI,IAAM;MAC/B6B,QAAQ,EAAKC,OAAe,IAAM;QACjC,MAAMC,GAAG,GAAGhC,IAAI,CAACiC,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAACC,IAAI,KAAKJ,OAAQ,CAAC;QAEpD,IAAKC,GAAG,EAAEf,OAAO,EAAG;UACnB;UACA,IAAK,KAAK,KAAKe,GAAG,CAACf,OAAO,CAAC,CAAC,EAAG;YAC9B;UACD;QACD;QAEAf,WAAW,GAAI6B,OAAQ,CAAC;MACzB,CAAG;MACH/B,IAAI,EAAGA;IAAM,CACb,CACD,eAEDN,uDAAA;MAAKlB,SAAS,EAAC,iCAAiC;MAAAC,QAAA,gBAC/CH,sDAAA,CAACiB,qDAAiB,IAAE,CAAC,EAEnBa,WAAW,iBACZ9B,sDAAA,CAACM,+DAAY;QACZiC,KAAK,EAAG9B,qDAAE,CAAE,SAAS,EAAE,aAAc,CAAG;QACxC6B,IAAI,EAAG5B,uDAAW;QAClBoD,WAAW,EAAG;UACbC,EAAE,EAAEA,CAAE;YAAEpB;UAAQ,CAAC,kBAChB3C,sDAAA,CAACK,yDAAM;YACNiC,IAAI,EAAG5B,uDAAW;YAClBsD,OAAO,EAAC,MAAM;YACdrB,OAAO,EAAGA,OAAS;YACnBzC,SAAS,EAAC,8CAA8C;YAAAC,QAAA,eAExDH,sDAAA;cAAMiE,GAAG,EAAGjC,MAAQ;cAAA7B,QAAA,EACjBM,qDAAE,CAAE,SAAS,EAAE,aAAc;YAAC,CAC3B;UAAC,CACA;QAEV,CAAG;QACHyD,YAAY,EAAG;UACdC,OAAO,EAAE,KAAK;UACdC,QAAQ,EAAE,aAAa;UACvBlE,SAAS,EAAE,0BAA0B;UACrCmE,MAAM,EAAE;YACPC,qBAAqB,EAAEA,CAAA,KACtBtC,MAAM,EAAEuC,OAAO,EAAED,qBAAqB,CAAC;UACzC;QACD,CAAG;QAAAnE,QAAA,EAEDA,CAAE;UAAEqE;QAAQ,CAAC,kBACdpD,uDAAA,CAAAE,uDAAA;UAAAnB,QAAA,GACGsE,MAAM,CAACC,OAAO,CAAE7B,YAAa,CAAC,CAAC8B,GAAG,CACnC,CAAE,CAAEjC,KAAK,EAAEkC,KAAK,CAAE,kBACjB5E,sDAAA,CAACO,4DAAS;YAAAJ,QAAA,EACPyE,KAAK,CAACD,GAAG,CAAI3B,IAAI,iBAClBhD,sDAAA,CAACQ,2DAAQ;cAER8B,IAAI,EAAGU,IAAI,CAACV;cACZ;cAAA;cACAE,IAAI,EAAGQ,IAAI,CAACR,IAAM;cAClBC,MAAM,EAAGO,IAAI,CAACP,MAAQ;cACtBE,OAAO,EAAGA,CAAA,KAAM;gBACf,IAAKK,IAAI,CAACL,OAAO,EAAG;kBACnBK,IAAI,CAACL,OAAO,CAAC,CAAC;gBACf;gBACA,IAAK,CAAEK,IAAI,CAACR,IAAI,EAAG;kBAClBgC,OAAO,CAAC,CAAC;gBACV;cACD,CAAG;cAAArE,QAAA,EAED6C,IAAI,CAACT;YAAK,GAdNS,IAAI,CAACT,KAeF,CACT;UAAC,GAnBaG,KAoBN,CAEb,CAAC,eACD1C,sDAAA,CAACkB,mDAAe;YAAC2D,SAAS,EAAG;cAAEL;YAAQ;UAAG,CAAE,CAAC;QAAA,CAC5C;MACF,CACY,CACd;IAAA,CACG,CAAC,eAENxE,sDAAA,CAACgB,iDAAa,IAAE,CAAC;EAAA,CACb,CAAC;AAER,CAAC;AAED,sEAAeO,SAAS,E;;;;;;;;;;ACpLxB;;;;;;;;;;;;;;;;;;;;ACAuB;AAEC;AACiC;AAAA;AAGlD,MAAMwD,SAAS,GAAGA,CAAE;EAAE7E,SAAS;EAAEC;AAAyB,CAAC,KAAM;EACvE,oBACCH,sDAAA,CAAC8E,mEAAgB;IAAA3E,QAAA,eAChBH,sDAAA;MAAKE,SAAS,EAAGJ,gDAAI,CAAE,wBAAwB,EAAEI,SAAU,CAAG;MAAAC,QAAA,EAC3DA;IAAQ,CACN;EAAC,CACW,CAAC;AAErB,CAAC;AAED,sEAAe4E,SAAS,E;;;;;;;;;;AChBxB;;;;;;;;;;;;;;;;;;;;;;;ACAuD;;AAEvD;AACA;AACA;AACO,MAAM;EAAEE,IAAI,EAAEC,eAAe;EAAEC,IAAI,EAAEpE;AAAgB,CAAC,GAAGiE,qEAAc,CAC7E,6BACD,CAAC;;AAED;AACA;AACA;AACO,MAAM;EAAEC,IAAI,EAAEG,aAAa;EAAED,IAAI,EAAEnE;AAAc,CAAC,GAAGgE,qEAAc,CACzE,2BACD,CAAC;;AAED;AACA;AACA;AACO,MAAM;EAAEC,IAAI,EAAEI,iBAAiB;EAAEF,IAAI,EAAElE;AAAkB,CAAC,GAChE+D,qEAAc,CAAE,+BAAgC,CAAC;;AAElD;AACA;AACA;AACO,MAAM;EAAEC,IAAI,EAAEK,eAAe;EAAEH,IAAI,EAAEjE;AAAgB,CAAC,GAAG8D,qEAAc,CAC7E,6BACD,CAAC,C;;;;;;;;;;AC3BD;;;;;;;;;;;;;;;;;;;;;AEAA,oD;;;;;;;;;;ACAA,8C;;;;;;;;;;ACAA,4C;;;;;;;;;;ACAA,yC;;;;;;;;;;ACAA,4C;;;;;;;;;;ACAA,2C;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA,E;;;;;WCPA,wF;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNuB;AAEiB;AACA;AACC;AACjB","sources":["webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/icon/index.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/index.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/add-card.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/add-submenu.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/add-template.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-center.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-justify.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-none.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/archive.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-down-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-up-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/aspect-ratio.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/at-symbol.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/audio.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/background.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/backup.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/bell-unread.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/bell.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/block-default.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/block-meta.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/block-table.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/border.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/box.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/brush.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/bug.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/button.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/buttons.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/calendar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cancel-circle-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/caption.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/capture-photo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/capture-video.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/category.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/caution-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/caution.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chart-bar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/check.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-down-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-left-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-right-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-up-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/classic.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/close-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/close.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cloud-download.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cloud-upload.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cloud.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/code.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cog.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/color.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/column.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/columns.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-author-avatar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-author-name.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-content.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-edit-link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-reply-link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/connection.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/copy-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/copy.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-all.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-bottom-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-bottom-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-top-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-top-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cover.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/create.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/crop.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/currency-dollar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/currency-euro.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/currency-pound.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/custom-link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/custom-post-type.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/dashboard.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/desktop.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/details.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/download.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drafts.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drag-handle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drawer-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drawer-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/edit.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/envelope.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/error.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/external.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/file.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/filter.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/flip-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/flip-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/footer.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-bold.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-capitalize.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-indent-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-indent.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-italic.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-bullets-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-bullets.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-numbered-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-numbered.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-lowercase.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-ltr.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-outdent-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-outdent.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-strikethrough.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-underline.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-uppercase.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/fullscreen.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/funnel.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/gallery.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/globe.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/grid.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/group.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/handle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/header.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-1.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-2.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-3.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-4.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-5.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-6.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/help-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/help.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/home-button.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/home.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/html.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/image.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/inbox.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/info.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/insert-after.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/insert-before.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/institution.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-bottom.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-center-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-center.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-space-between-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-space-between.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-stretch-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-stretch.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-top.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/key.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/keyboard-close.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/keyboard-return.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/keyboard.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/language.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/layout.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/level-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lifesaver.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/line-dashed.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/line-dotted.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/line-solid.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/link-off.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/list-item.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/list-view.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/list.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lock-outline.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lock-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lock.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/login.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/loop.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/map-marker.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/media-and-text.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/media.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/megaphone.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/menu.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/mobile.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/more-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/more-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/more.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/move-to.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/navigation.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/next.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/not-allowed.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/not-found.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/offline.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/overlay-text.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/page-break.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/page.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pages.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/paragraph.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/payment.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pencil.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pending.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/people.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/percent.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pin-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pin.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plugins.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plus-circle-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plus-circle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plus.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/position-center.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/position-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/position-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-author.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-categories.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-comments-count.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-comments-form.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-comments.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-content.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-date.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-excerpt.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-featured-image.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-list.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-terms.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/preformatted.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/previous.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/published.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pull-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pull-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pullquote.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination-next.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination-numbers.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination-previous.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/quote.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/receipt.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/redo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/remove-bug.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/remove-submenu.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/replace.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/reset.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/resize-corner-n-e.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/reusable-block.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/rotate-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/rotate-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/row.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/rss.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/scheduled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/search.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/seen.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/send.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/separator.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/settings.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shadow.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/share.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shield.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shipping.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shortcode.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shuffle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sidebar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-all.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-axial.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-bottom.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-top.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/site-logo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/square.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/stack.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/star-empty.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/star-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/star-half.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/store.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/stretch-full-width.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/stretch-wide.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/styles.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/subscript.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/superscript.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/swatch.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/symbol-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/symbol.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-column-after.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-column-before.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-column-delete.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-of-contents.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-row-after.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-row-before.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-row-delete.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tablet.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tag.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/term-description.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/text-color.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/text-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/text-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/thumbs-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/thumbs-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tip.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/title.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tool.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/trash.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/trending-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/trending-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/typography.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/undo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/ungroup.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/unlock.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/unseen.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/update.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/upload.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/verse.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/video.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/widget.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/wordpress.js?","webpack://popup-maker/core/./node_modules/clsx/dist/clsx.mjs?","webpack://popup-maker/core/./packages/layout/src/components/app-content/index.tsx?","webpack://popup-maker/core/./packages/layout/src/components/app-content/styles.scss?","webpack://popup-maker/core/./packages/layout/src/components/app-header/index.tsx?","webpack://popup-maker/core/./packages/layout/src/components/app-header/styles.scss?762c","webpack://popup-maker/core/./packages/layout/src/components/app-layout/index.tsx?","webpack://popup-maker/core/./packages/layout/src/components/app-layout/styles.scss?f506","webpack://popup-maker/core/./packages/layout/src/slots/index.ts?","webpack://popup-maker/core/./packages/layout/src/styles.scss?8e6e","webpack://popup-maker/core/./packages/layout/src/types/index.ts?","webpack://popup-maker/core/external window [\"popupMaker\",\"components\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"i18n\"]?","webpack://popup-maker/core/external window [\"wp\",\"components\"]?","webpack://popup-maker/core/external window [\"wp\",\"element\"]?","webpack://popup-maker/core/external window [\"wp\",\"primitives\"]?","webpack://popup-maker/core/external window \"ReactJSXRuntime\"?","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/compat get default export?","webpack://popup-maker/core/webpack/runtime/define property getters?","webpack://popup-maker/core/webpack/runtime/hasOwnProperty shorthand?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/layout/src/index.ts?"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cloneElement, forwardRef } from '@wordpress/element';\n\n/**\n * External dependencies\n */\n\n/**\n * Return an SVG icon.\n *\n * @param props The component props.\n *\n * @return Icon component\n */\nexport default forwardRef(({\n icon,\n size = 24,\n ...props\n}, ref) => {\n return cloneElement(icon, {\n width: size,\n height: size,\n ...props,\n ref\n });\n});\n//# sourceMappingURL=index.js.map","export { default as Icon } from './icon';\nexport { default as addCard } from './library/add-card';\nexport { default as addSubmenu } from './library/add-submenu';\nexport { default as addTemplate } from './library/add-template';\nexport { default as alignCenter } from './library/align-center';\nexport { default as alignJustify } from './library/align-justify';\nexport { default as alignLeft } from './library/align-left';\nexport { default as alignNone } from './library/align-none';\nexport { default as alignRight } from './library/align-right';\nexport { default as archive } from './library/archive';\nexport { default as arrowDown } from './library/arrow-down';\nexport { default as arrowDownRight } from './library/arrow-down-right';\nexport { default as arrowLeft } from './library/arrow-left';\nexport { default as arrowRight } from './library/arrow-right';\nexport { default as arrowUp } from './library/arrow-up';\nexport { default as arrowUpLeft } from './library/arrow-up-left';\nexport { default as atSymbol } from './library/at-symbol';\nexport { default as aspectRatio } from './library/aspect-ratio';\nexport { default as audio } from './library/audio';\nexport { default as background } from './library/background';\nexport { default as backup } from './library/backup';\nexport { default as bell } from './library/bell';\nexport { default as bellUnread } from './library/bell-unread';\nexport { default as blockDefault } from './library/block-default';\nexport { default as blockMeta } from './library/block-meta';\nexport { default as blockTable } from './library/block-table';\nexport { default as border } from './library/border';\nexport { default as box } from './library/box';\nexport { default as brush } from './library/brush';\nexport { default as bug } from './library/bug';\nexport { default as button } from './library/button';\nexport { default as buttons } from './library/buttons';\nexport { default as calendar } from './library/calendar';\nexport { default as cancelCircleFilled } from './library/cancel-circle-filled';\nexport { default as caption } from './library/caption';\nexport { default as capturePhoto } from './library/capture-photo';\nexport { default as captureVideo } from './library/capture-video';\nexport { default as category } from './library/category';\nexport { default as caution } from './library/caution';\nexport { /** @deprecated Import `cautionFilled` instead. */\ndefault as warning, default as cautionFilled } from './library/caution-filled';\nexport { default as chartBar } from './library/chart-bar';\nexport { default as check } from './library/check';\nexport { default as chevronDown } from './library/chevron-down';\nexport { default as chevronDownSmall } from './library/chevron-down-small';\nexport { default as chevronLeft } from './library/chevron-left';\nexport { default as chevronLeftSmall } from './library/chevron-left-small';\nexport { default as chevronRight } from './library/chevron-right';\nexport { default as chevronRightSmall } from './library/chevron-right-small';\nexport { default as chevronUp } from './library/chevron-up';\nexport { default as chevronUpDown } from './library/chevron-up-down';\nexport { default as classic } from './library/classic';\nexport { default as close } from './library/close';\nexport { default as closeSmall } from './library/close-small';\nexport { default as cloudDownload } from './library/cloud-download';\nexport { default as cloudUpload } from './library/cloud-upload';\nexport { default as cloud } from './library/cloud';\nexport { default as code } from './library/code';\nexport { default as cog } from './library/cog';\nexport { default as color } from './library/color';\nexport { default as column } from './library/column';\nexport { default as columns } from './library/columns';\nexport { default as copy } from './library/copy';\nexport { default as copySmall } from './library/copy-small';\nexport { default as comment } from './library/comment';\nexport { default as commentAuthorAvatar } from './library/comment-author-avatar';\nexport { default as commentAuthorName } from './library/comment-author-name';\nexport { default as commentContent } from './library/comment-content';\nexport { default as commentReplyLink } from './library/comment-reply-link';\nexport { default as commentEditLink } from './library/comment-edit-link';\nexport { default as cornerAll } from './library/corner-all';\nexport { default as cornerBottomLeft } from './library/corner-bottom-left';\nexport { default as cornerBottomRight } from './library/corner-bottom-right';\nexport { default as cornerTopLeft } from './library/corner-top-left';\nexport { default as cornerTopRight } from './library/corner-top-right';\nexport { default as connection } from './library/connection';\nexport { default as cover } from './library/cover';\nexport { default as create } from './library/create';\nexport { default as crop } from './library/crop';\nexport { default as currencyDollar } from './library/currency-dollar';\nexport { default as currencyEuro } from './library/currency-euro';\nexport { default as currencyPound } from './library/currency-pound';\nexport { default as customPostType } from './library/custom-post-type';\nexport { default as dashboard } from './library/dashboard';\nexport { default as desktop } from './library/desktop';\nexport { default as details } from './library/details';\nexport { default as drafts } from './library/drafts';\nexport { default as dragHandle } from './library/drag-handle';\nexport { default as drawerLeft } from './library/drawer-left';\nexport { default as drawerRight } from './library/drawer-right';\nexport { default as download } from './library/download';\nexport { default as edit } from './library/edit';\nexport { default as envelope } from './library/envelope';\nexport { default as external } from './library/external';\nexport { default as error } from './library/error';\nexport { default as file } from './library/file';\nexport { default as filter } from './library/filter';\nexport { default as flipHorizontal } from './library/flip-horizontal';\nexport { default as flipVertical } from './library/flip-vertical';\nexport { default as formatBold } from './library/format-bold';\nexport { default as formatCapitalize } from './library/format-capitalize';\nexport { default as formatIndent } from './library/format-indent';\nexport { default as formatIndentRTL } from './library/format-indent-rtl';\nexport { default as formatItalic } from './library/format-italic';\nexport { default as formatListBullets } from './library/format-list-bullets';\nexport { default as formatListBulletsRTL } from './library/format-list-bullets-rtl';\nexport { default as formatListNumbered } from './library/format-list-numbered';\nexport { default as formatListNumberedRTL } from './library/format-list-numbered-rtl';\nexport { default as formatLtr } from './library/format-ltr';\nexport { default as formatLowercase } from './library/format-lowercase';\nexport { default as formatOutdent } from './library/format-outdent';\nexport { default as formatOutdentRTL } from './library/format-outdent-rtl';\nexport { default as formatRtl } from './library/format-rtl';\nexport { default as formatStrikethrough } from './library/format-strikethrough';\nexport { default as formatUnderline } from './library/format-underline';\nexport { default as formatUppercase } from './library/format-uppercase';\nexport { default as fullscreen } from './library/fullscreen';\nexport { default as funnel } from './library/funnel';\nexport { default as gallery } from './library/gallery';\nexport { default as globe } from './library/globe';\nexport { default as grid } from './library/grid';\nexport { default as group } from './library/group';\nexport { default as handle } from './library/handle';\nexport { default as headingLevel1 } from './library/heading-level-1';\nexport { default as headingLevel2 } from './library/heading-level-2';\nexport { default as headingLevel3 } from './library/heading-level-3';\nexport { default as headingLevel4 } from './library/heading-level-4';\nexport { default as headingLevel5 } from './library/heading-level-5';\nexport { default as headingLevel6 } from './library/heading-level-6';\nexport { default as heading } from './library/heading';\nexport { default as help } from './library/help';\nexport { default as helpFilled } from './library/help-filled';\nexport { default as inbox } from './library/inbox';\nexport { default as institution } from './library/institution';\nexport { default as home } from './library/home';\nexport { default as homeButton } from './library/home-button';\nexport { default as html } from './library/html';\nexport { default as image } from './library/image';\nexport { default as info } from './library/info';\nexport { default as insertAfter } from './library/insert-after';\nexport { default as insertBefore } from './library/insert-before';\nexport { default as justifyBottom } from './library/justify-bottom';\nexport { default as justifyLeft } from './library/justify-left';\nexport { default as justifyCenter } from './library/justify-center';\nexport { default as justifyCenterVertical } from './library/justify-center-vertical';\nexport { default as justifyRight } from './library/justify-right';\nexport { default as justifySpaceBetween } from './library/justify-space-between';\nexport { default as justifySpaceBetweenVertical } from './library/justify-space-between-vertical';\nexport { default as justifyStretch } from './library/justify-stretch';\nexport { default as justifyStretchVertical } from './library/justify-stretch-vertical';\nexport { default as justifyTop } from './library/justify-top';\nexport { default as key } from './library/key';\nexport { default as keyboard } from './library/keyboard';\nexport { default as keyboardClose } from './library/keyboard-close';\nexport { default as keyboardReturn } from './library/keyboard-return';\nexport { default as language } from './library/language';\nexport { default as layout } from './library/layout';\nexport { default as levelUp } from './library/level-up';\nexport { default as lifesaver } from './library/lifesaver';\nexport { default as lineDashed } from './library/line-dashed';\nexport { default as lineDotted } from './library/line-dotted';\nexport { default as lineSolid } from './library/line-solid';\nexport { default as link } from './library/link';\nexport { default as linkOff } from './library/link-off';\nexport { default as list } from './library/list';\nexport { default as listItem } from './library/list-item';\nexport { default as listView } from './library/list-view';\nexport { default as lock } from './library/lock';\nexport { default as lockOutline } from './library/lock-outline';\nexport { default as lockSmall } from './library/lock-small';\nexport { default as login } from './library/login';\nexport { default as loop } from './library/loop';\nexport { default as mapMarker } from './library/map-marker';\nexport { default as media } from './library/media';\nexport { default as mediaAndText } from './library/media-and-text';\nexport { default as megaphone } from './library/megaphone';\nexport { default as menu } from './library/menu';\nexport { default as mobile } from './library/mobile';\nexport { default as more } from './library/more';\nexport { default as moreHorizontal } from './library/more-horizontal';\nexport { default as moreVertical } from './library/more-vertical';\nexport { default as moveTo } from './library/move-to';\nexport { default as navigation } from './library/navigation';\nexport { default as notAllowed } from './library/not-allowed';\nexport { default as notFound } from './library/not-found';\nexport { default as overlayText } from './library/overlay-text';\nexport { default as pageBreak } from './library/page-break';\nexport { default as customLink } from './library/custom-link';\nexport { default as page } from './library/page';\nexport { default as pages } from './library/pages';\nexport { default as paragraph } from './library/paragraph';\nexport { default as payment } from './library/payment';\nexport { default as pending } from './library/pending';\nexport { default as percent } from './library/percent';\nexport { default as positionCenter } from './library/position-center';\nexport { default as positionLeft } from './library/position-left';\nexport { default as positionRight } from './library/position-right';\nexport { default as pencil } from './library/pencil';\nexport { default as people } from './library/people';\nexport { default as pin } from './library/pin';\nexport { default as pinSmall } from './library/pin-small';\nexport { default as plugins } from './library/plugins';\nexport { default as plusCircleFilled } from './library/plus-circle-filled';\nexport { default as plusCircle } from './library/plus-circle';\nexport { default as plus } from './library/plus';\nexport { default as post } from './library/post';\nexport { default as postAuthor } from './library/post-author';\nexport { default as postCategories } from './library/post-categories';\nexport { default as postContent } from './library/post-content';\nexport { default as postComments } from './library/post-comments';\nexport { default as postCommentsCount } from './library/post-comments-count';\nexport { default as postCommentsForm } from './library/post-comments-form';\nexport { default as postDate } from './library/post-date';\nexport { default as postExcerpt } from './library/post-excerpt';\nexport { default as postFeaturedImage } from './library/post-featured-image';\nexport { default as postList } from './library/post-list';\nexport { default as postTerms } from './library/post-terms';\nexport { default as previous } from './library/previous';\nexport { default as next } from './library/next';\nexport { default as offline } from './library/offline';\nexport { default as preformatted } from './library/preformatted';\nexport { default as published } from './library/published';\nexport { default as pullLeft } from './library/pull-left';\nexport { default as pullRight } from './library/pull-right';\nexport { default as pullquote } from './library/pullquote';\nexport { default as queryPagination } from './library/query-pagination';\nexport { default as queryPaginationNext } from './library/query-pagination-next';\nexport { default as queryPaginationNumbers } from './library/query-pagination-numbers';\nexport { default as queryPaginationPrevious } from './library/query-pagination-previous';\nexport { default as quote } from './library/quote';\nexport { default as receipt } from './library/receipt';\nexport { default as redo } from './library/redo';\nexport { default as removeBug } from './library/remove-bug';\nexport { default as removeSubmenu } from './library/remove-submenu';\nexport { default as replace } from './library/replace';\nexport { default as reset } from './library/reset';\nexport { default as resizeCornerNE } from './library/resize-corner-n-e';\nexport { default as reusableBlock } from './library/reusable-block';\nexport { default as row } from './library/row';\nexport { default as symbol } from './library/symbol';\nexport { default as rotateLeft } from './library/rotate-left';\nexport { default as rotateRight } from './library/rotate-right';\nexport { default as rss } from './library/rss';\nexport { default as search } from './library/search';\nexport { default as seen } from './library/seen';\nexport { default as unseen } from './library/unseen';\nexport { default as scheduled } from './library/scheduled';\nexport { default as send } from './library/send';\nexport { default as separator } from './library/separator';\nexport { default as settings } from './library/settings';\nexport { default as shadow } from './library/shadow';\nexport { default as share } from './library/share';\nexport { default as shield } from './library/shield';\nexport { default as shortcode } from './library/shortcode';\nexport { default as shuffle } from './library/shuffle';\nexport { default as siteLogo } from './library/site-logo';\nexport { default as stack } from './library/stack';\nexport { default as starEmpty } from './library/star-empty';\nexport { default as starFilled } from './library/star-filled';\nexport { default as starHalf } from './library/star-half';\nexport { default as store } from './library/store';\nexport { default as stretchFullWidth } from './library/stretch-full-width';\nexport { default as styles } from './library/styles';\nexport { default as shipping } from './library/shipping';\nexport { default as square } from './library/square';\nexport { default as stretchWide } from './library/stretch-wide';\nexport { default as subscript } from './library/subscript';\nexport { default as superscript } from './library/superscript';\nexport { default as swatch } from './library/swatch';\nexport { default as tableColumnAfter } from './library/table-column-after';\nexport { default as tableColumnBefore } from './library/table-column-before';\nexport { default as tableColumnDelete } from './library/table-column-delete';\nexport { default as tableOfContents } from './library/table-of-contents';\nexport { default as tableRowAfter } from './library/table-row-after';\nexport { default as tableRowBefore } from './library/table-row-before';\nexport { default as tableRowDelete } from './library/table-row-delete';\nexport { default as table } from './library/table';\nexport { default as tag } from './library/tag';\nexport { default as thumbsDown } from './library/thumbs-down';\nexport { default as thumbsUp } from './library/thumbs-up';\nexport { default as symbolFilled } from './library/symbol-filled';\nexport { default as termDescription } from './library/term-description';\nexport { default as footer } from './library/footer';\nexport { default as header } from './library/header';\nexport { default as sidebar } from './library/sidebar';\nexport { default as sidesAll } from './library/sides-all';\nexport { default as sidesAxial } from './library/sides-axial';\nexport { default as sidesBottom } from './library/sides-bottom';\nexport { default as sidesHorizontal } from './library/sides-horizontal';\nexport { default as sidesLeft } from './library/sides-left';\nexport { default as sidesRight } from './library/sides-right';\nexport { default as sidesTop } from './library/sides-top';\nexport { default as sidesVertical } from './library/sides-vertical';\nexport { default as textColor } from './library/text-color';\nexport { default as textHorizontal } from './library/text-horizontal';\nexport { default as textVertical } from './library/text-vertical';\nexport { default as tablet } from './library/tablet';\nexport { default as title } from './library/title';\nexport { default as tip } from './library/tip';\nexport { default as tool } from './library/tool';\nexport { default as trash } from './library/trash';\nexport { default as trendingDown } from './library/trending-down';\nexport { default as trendingUp } from './library/trending-up';\nexport { default as typography } from './library/typography';\nexport { default as undo } from './library/undo';\nexport { default as ungroup } from './library/ungroup';\nexport { default as unlock } from './library/unlock';\nexport { default as update } from './library/update';\nexport { default as upload } from './library/upload';\nexport { default as verse } from './library/verse';\nexport { default as video } from './library/video';\nexport { default as widget } from './library/widget';\nexport { default as wordpress } from './library/wordpress';\n//# sourceMappingURL=index.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst addCard = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 5.5V8H20V5.5h2.5V4H20V1.5h-1.5V4H16v1.5h2.5zM12 4H6a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2v-6h-1.5v6a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5h6V4z\"\n })\n});\nexport default addCard;\n//# sourceMappingURL=add-card.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst addSubmenu = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M2 12c0 3.6 2.4 5.5 6 5.5h.5V19l3-2.5-3-2.5v2H8c-2.5 0-4.5-1.5-4.5-4s2-4.5 4.5-4.5h3.5V6H8c-3.6 0-6 2.4-6 6zm19.5-1h-8v1.5h8V11zm0 5h-8v1.5h8V16zm0-10h-8v1.5h8V6z\"\n })\n});\nexport default addSubmenu;\n//# sourceMappingURL=add-submenu.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst addTemplate = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.5 5.5V8H20V5.5H22.5V4H20V1.5H18.5V4H16V5.5H18.5ZM13.9624 4H6C4.89543 4 4 4.89543 4 6V18C4 19.1046 4.89543 20 6 20H18C19.1046 20 20 19.1046 20 18V10.0391H18.5V18C18.5 18.2761 18.2761 18.5 18 18.5H10L10 10.4917L16.4589 10.5139L16.4641 9.01389L5.5 8.97618V6C5.5 5.72386 5.72386 5.5 6 5.5H13.9624V4ZM5.5 10.4762V18C5.5 18.2761 5.72386 18.5 6 18.5H8.5L8.5 10.4865L5.5 10.4762Z\"\n })\n});\nexport default addTemplate;\n//# sourceMappingURL=add-template.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignCenter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7.5 5.5h9V4h-9v1.5Zm-3.5 7h16V11H4v1.5Zm3.5 7h9V18h-9v1.5Z\"\n })\n});\nexport default alignCenter;\n//# sourceMappingURL=align-center.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignJustify = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 12.8h16v-1.5H4v1.5zm0 7h12.4v-1.5H4v1.5zM4 4.3v1.5h16V4.3H4z\"\n })\n});\nexport default alignJustify;\n//# sourceMappingURL=align-justify.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 5.5H4V4h9v1.5Zm7 7H4V11h16v1.5Zm-7 7H4V18h9v1.5Z\"\n })\n});\nexport default alignLeft;\n//# sourceMappingURL=align-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignNone = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM5 9h14v6H5V9Z\"\n })\n});\nexport default alignNone;\n//# sourceMappingURL=align-none.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.111 5.5H20V4h-8.889v1.5ZM4 12.5h16V11H4v1.5Zm7.111 7H20V18h-8.889v1.5Z\"\n })\n});\nexport default alignRight;\n//# sourceMappingURL=align-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst archive = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.934 7.406a1 1 0 0 0 .914.594H19a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5h5.764a.5.5 0 0 1 .447.276l.723 1.63Zm1.064-1.216a.5.5 0 0 0 .462.31H19a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.764a2 2 0 0 1 1.789 1.106l.445 1.084ZM8.5 10.5h7V12h-7v-1.5Zm7 3.5h-7v1.5h7V14Z\"\n })\n});\nexport default archive;\n//# sourceMappingURL=archive.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowDownRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 18h8v-8h-1.5v5.5L7 6 6 7l9.5 9.5H10V18Z\"\n })\n});\nexport default arrowDownRight;\n//# sourceMappingURL=arrow-down-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m16.5 13.5-3.7 3.7V4h-1.5v13.2l-3.8-3.7-1 1 5.5 5.6 5.5-5.6z\"\n })\n});\nexport default arrowDown;\n//# sourceMappingURL=arrow-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 11.2H6.8l3.7-3.7-1-1L3.9 12l5.6 5.5 1-1-3.7-3.7H20z\"\n })\n});\nexport default arrowLeft;\n//# sourceMappingURL=arrow-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m14.5 6.5-1 1 3.7 3.7H4v1.6h13.2l-3.7 3.7 1 1 5.6-5.5z\"\n })\n});\nexport default arrowRight;\n//# sourceMappingURL=arrow-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowUpLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 6H6v8h1.5V8.5L17 18l1-1-9.5-9.5H14V6Z\"\n })\n});\nexport default arrowUpLeft;\n//# sourceMappingURL=arrow-up-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 3.9 6.5 9.5l1 1 3.8-3.7V20h1.5V6.8l3.7 3.7 1-1z\"\n })\n});\nexport default arrowUp;\n//# sourceMappingURL=arrow-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst aspectRatio = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 5.5h-13c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2v-9c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5h-13c-.3 0-.5-.2-.5-.5v-9c0-.3.2-.5.5-.5h13c.3 0 .5.2.5.5v9zM6.5 12H8v-2h2V8.5H6.5V12zm9.5 2h-2v1.5h3.5V12H16v2z\"\n })\n});\nexport default aspectRatio;\n//# sourceMappingURL=aspect-ratio.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst atSymbol = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5939 21C14.1472 21 16.1269 20.5701 17.0711 20.1975L16.6447 18.879C16.0964 19.051 14.3299 19.6242 12.6548 19.6242C7.4467 19.6242 4.67513 16.8726 4.67513 12C4.67513 7.21338 7.50762 4.34713 12.2893 4.34713C17.132 4.34713 19.4162 7.55732 19.4162 10.7675C19.4162 14.035 19.0508 15.4968 17.4975 15.4968C16.5838 15.4968 16.0964 14.7803 16.0964 13.9777V7.5H14.4822V8.30255H14.3909C14.1777 7.67198 12.9898 7.12739 11.467 7.2707C9.18274 7.5 7.4467 9.27707 7.4467 11.8567C7.4467 14.5796 8.81726 16.672 11.467 16.758C13.203 16.8153 14.1168 16.0127 14.4822 15.1815H14.5736C14.7563 16.414 16.401 16.8439 17.467 16.8439C20.6954 16.8439 21 13.5764 21 10.7962C21 6.86943 18.0761 3 12.3807 3C6.50254 3 3 6.3535 3 11.9427C3 17.7325 6.38071 21 12.5939 21ZM11.7107 15.2962C9.73096 15.2962 9.03046 13.6051 9.03046 11.7707C9.03046 10.1083 10.0355 8.67516 11.7716 8.67516C13.599 8.67516 14.5736 9.36306 14.5736 11.7707C14.5736 14.1497 13.7513 15.2962 11.7107 15.2962Z\"\n })\n});\nexport default atSymbol;\n//# sourceMappingURL=at-symbol.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst audio = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.7 4.3c-1.2 0-2.8 0-3.8 1-.6.6-.9 1.5-.9 2.6V14c-.6-.6-1.5-1-2.5-1C8.6 13 7 14.6 7 16.5S8.6 20 10.5 20c1.5 0 2.8-1 3.3-2.3.5-.8.7-1.8.7-2.5V7.9c0-.7.2-1.2.5-1.6.6-.6 1.8-.6 2.8-.6h.3V4.3h-.4z\"\n })\n});\nexport default audio;\n//# sourceMappingURL=audio.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst background = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.53 4.47a.75.75 0 1 0-1.06 1.06l8 8a.75.75 0 1 0 1.06-1.06l-8-8Zm5 1a.75.75 0 1 0-1.06 1.06l2 2a.75.75 0 1 0 1.06-1.06l-2-2Zm-11.06 10a.75.75 0 0 1 1.06 0l2 2a.75.75 0 1 1-1.06 1.06l-2-2a.75.75 0 0 1 0-1.06Zm.06-5a.75.75 0 0 0-1.06 1.06l8 8a.75.75 0 1 0 1.06-1.06l-8-8Zm-.06-3a.75.75 0 0 1 1.06 0l10 10a.75.75 0 1 1-1.06 1.06l-10-10a.75.75 0 0 1 0-1.06Zm3.06-2a.75.75 0 0 0-1.06 1.06l10 10a.75.75 0 1 0 1.06-1.06l-10-10Z\"\n })\n});\nexport default background;\n//# sourceMappingURL=background.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst backup = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.5 12h1.75l-2.5 3-2.5-3H4a8 8 0 113.134 6.35l.907-1.194A6.5 6.5 0 105.5 12zm9.53 1.97l-2.28-2.28V8.5a.75.75 0 00-1.5 0V12a.747.747 0 00.218.529l1.282-.84-1.28.842 2.5 2.5a.75.75 0 101.06-1.061z\"\n })\n});\nexport default backup;\n//# sourceMappingURL=backup.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, Circle } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst bellUnread = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M13.969 4.39A5.088 5.088 0 0 0 12 4C9.2 4 7 6.2 7 9v2.5c0 1.353-.17 2.368-.976 3-.267.209-.602.376-1.024.5v1h14v-1c-.422-.124-.757-.291-1.024-.5-.806-.632-.976-1.647-.976-3V11c-.53 0-1.037-.103-1.5-.29v.79c0 .93.066 1.98.515 2.897l.053.103H7.932l.053-.103c.449-.917.515-1.967.515-2.897V9c0-1.972 1.528-3.5 3.5-3.5.43 0 .838.072 1.214.206.167-.488.425-.933.755-1.316Zm-3.961 13.618c0-.176.023-.346.065-.508h3.854A1.996 1.996 0 0 1 12 20a1.991 1.991 0 0 1-1.992-1.992Z\"\n }), /*#__PURE__*/_jsx(Circle, {\n cx: \"17\",\n cy: \"7\",\n r: \"2.5\"\n })]\n});\nexport default bellUnread;\n//# sourceMappingURL=bell-unread.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst bell = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17 11.5c0 1.353.17 2.368.976 3 .266.209.602.376 1.024.5v1H5v-1c.422-.124.757-.291 1.024-.5.806-.632.976-1.647.976-3V9c0-2.8 2.2-5 5-5s5 2.2 5 5v2.5ZM15.5 9v2.5c0 .93.066 1.98.515 2.897l.053.103H7.932a4.018 4.018 0 0 0 .053-.103c.449-.917.515-1.967.515-2.897V9c0-1.972 1.528-3.5 3.5-3.5s3.5 1.528 3.5 3.5Zm-5.492 9.008c0-.176.023-.346.065-.508h3.854A1.996 1.996 0 0 1 12 20c-1.1 0-1.992-.892-1.992-1.992Z\"\n })\n});\nexport default bell;\n//# sourceMappingURL=bell.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst blockDefault = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 8h-1V6h-5v2h-2V6H6v2H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm.5 10c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-8c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v8z\"\n })\n});\nexport default blockDefault;\n//# sourceMappingURL=block-default.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst blockMeta = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M8.95 11.25H4v1.5h4.95v4.5H13V18c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2h-3c-1.1 0-2 .9-2 2v.75h-2.55v-7.5H13V9c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3c-1.1 0-2 .9-2 2v.75H8.95v4.5ZM14.5 15v3c0 .3.2.5.5.5h3c.3 0 .5-.2.5-.5v-3c0-.3-.2-.5-.5-.5h-3c-.3 0-.5.2-.5.5Zm0-6V6c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5Z\",\n clipRule: \"evenodd\"\n })\n});\nexport default blockMeta;\n//# sourceMappingURL=block-meta.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst blockTable = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v3.5h-15V5c0-.3.2-.5.5-.5zm8 5.5h6.5v3.5H13V10zm-1.5 3.5h-7V10h7v3.5zm-7 5.5v-4h7v4.5H5c-.3 0-.5-.2-.5-.5zm14.5.5h-6V15h6.5v4c0 .3-.2.5-.5.5z\"\n })\n});\nexport default blockTable;\n//# sourceMappingURL=block-table.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst border = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m6.6 15.6-1.2.8c.6.9 1.3 1.6 2.2 2.2l.8-1.2c-.7-.5-1.3-1.1-1.8-1.8zM5.5 12c0-.4 0-.9.1-1.3l-1.5-.3c0 .5-.1 1.1-.1 1.6s.1 1.1.2 1.6l1.5-.3c-.2-.4-.2-.9-.2-1.3zm11.9-3.6 1.2-.8c-.6-.9-1.3-1.6-2.2-2.2l-.8 1.2c.7.5 1.3 1.1 1.8 1.8zM5.3 7.6l1.2.8c.5-.7 1.1-1.3 1.8-1.8l-.7-1.3c-.9.6-1.7 1.4-2.3 2.3zm14.5 2.8-1.5.3c.1.4.1.8.1 1.3s0 .9-.1 1.3l1.5.3c.1-.5.2-1 .2-1.6s-.1-1.1-.2-1.6zM12 18.5c-.4 0-.9 0-1.3-.1l-.3 1.5c.5.1 1 .2 1.6.2s1.1-.1 1.6-.2l-.3-1.5c-.4.1-.9.1-1.3.1zm3.6-1.1.8 1.2c.9-.6 1.6-1.3 2.2-2.2l-1.2-.8c-.5.7-1.1 1.3-1.8 1.8zM10.4 4.2l.3 1.5c.4-.1.8-.1 1.3-.1s.9 0 1.3.1l.3-1.5c-.5-.1-1.1-.2-1.6-.2s-1.1.1-1.6.2z\"\n })\n});\nexport default border;\n//# sourceMappingURL=border.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst box = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5 5.5h14a.5.5 0 01.5.5v1.5a.5.5 0 01-.5.5H5a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 9.232A2 2 0 013 7.5V6a2 2 0 012-2h14a2 2 0 012 2v1.5a2 2 0 01-1 1.732V18a2 2 0 01-2 2H6a2 2 0 01-2-2V9.232zm1.5.268V18a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V9.5h-13z\",\n clipRule: \"evenodd\"\n })\n});\nexport default box;\n//# sourceMappingURL=box.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst brush = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 20h8v-1.5H4V20zM18.9 3.5c-.6-.6-1.5-.6-2.1 0l-7.2 7.2c-.4-.1-.7 0-1.1.1-.5.2-1.5.7-1.9 2.2-.4 1.7-.8 2.2-1.1 2.7-.1.1-.2.3-.3.4l-.6 1.1H6c2 0 3.4-.4 4.7-1.4.8-.6 1.2-1.4 1.3-2.3 0-.3 0-.5-.1-.7L19 5.7c.5-.6.5-1.6-.1-2.2zM9.7 14.7c-.7.5-1.5.8-2.4 1 .2-.5.5-1.2.8-2.3.2-.6.4-1 .8-1.1.5-.1 1 .1 1.3.3.2.2.3.5.2.8 0 .3-.1.9-.7 1.3z\"\n })\n});\nexport default brush;\n//# sourceMappingURL=brush.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst bug = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.13 5.5l1.926 1.927A4.975 4.975 0 007.025 10H5v1.5h2V13H5v1.5h2.1a5.002 5.002 0 009.8 0H19V13h-2v-1.5h2V10h-2.025a4.979 4.979 0 00-1.167-2.74l1.76-1.76-1.061-1.06-1.834 1.834A4.977 4.977 0 0012 5.5c-1.062 0-2.046.33-2.855.895L7.19 4.44 6.13 5.5zm2.37 5v3a3.5 3.5 0 107 0v-3a3.5 3.5 0 10-7 0z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default bug;\n//# sourceMappingURL=bug.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst button = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8 12.5h8V11H8v1.5Z M19 6.5H5a2 2 0 0 0-2 2V15a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a2 2 0 0 0-2-2ZM5 8h14a.5.5 0 0 1 .5.5V15a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8.5A.5.5 0 0 1 5 8Z\"\n })\n});\nexport default button;\n//# sourceMappingURL=button.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst buttons = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.5 17.5H9.5V16H14.5V17.5Z M14.5 8H9.5V6.5H14.5V8Z M7 3.5H17C18.1046 3.5 19 4.39543 19 5.5V9C19 10.1046 18.1046 11 17 11H7C5.89543 11 5 10.1046 5 9V5.5C5 4.39543 5.89543 3.5 7 3.5ZM17 5H7C6.72386 5 6.5 5.22386 6.5 5.5V9C6.5 9.27614 6.72386 9.5 7 9.5H17C17.2761 9.5 17.5 9.27614 17.5 9V5.5C17.5 5.22386 17.2761 5 17 5Z M7 13H17C18.1046 13 19 13.8954 19 15V18.5C19 19.6046 18.1046 20.5 17 20.5H7C5.89543 20.5 5 19.6046 5 18.5V15C5 13.8954 5.89543 13 7 13ZM17 14.5H7C6.72386 14.5 6.5 14.7239 6.5 15V18.5C6.5 18.7761 6.72386 19 7 19H17C17.2761 19 17.5 18.7761 17.5 18.5V15C17.5 14.7239 17.2761 14.5 17 14.5Z\"\n })\n});\nexport default buttons;\n//# sourceMappingURL=buttons.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst calendar = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V7h15v12zM9 10H7v2h2v-2zm0 4H7v2h2v-2zm4-4h-2v2h2v-2zm4 0h-2v2h2v-2zm-4 4h-2v2h2v-2zm4 0h-2v2h2v-2z\"\n })\n});\nexport default calendar;\n//# sourceMappingURL=calendar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cancelCircleFilled = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm3.8 10.7-1.1 1.1-2.7-2.7-2.7 2.7-1.1-1.1 2.7-2.7-2.7-2.7 1.1-1.1 2.7 2.7 2.7-2.7 1.1 1.1-2.7 2.7 2.7 2.7Z\"\n })\n});\nexport default cancelCircleFilled;\n//# sourceMappingURL=cancel-circle-filled.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst caption = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6 5.5h12a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5ZM4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6Zm4 10h2v-1.5H8V16Zm5 0h-2v-1.5h2V16Zm1 0h2v-1.5h-2V16Z\"\n })\n});\nexport default caption;\n//# sourceMappingURL=caption.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst capturePhoto = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 9.2c-2.2 0-3.9 1.8-3.9 4s1.8 4 3.9 4 4-1.8 4-4-1.8-4-4-4zm0 6.5c-1.4 0-2.4-1.1-2.4-2.5s1.1-2.5 2.4-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zM20.2 8c-.1 0-.3 0-.5-.1l-2.5-.8c-.4-.1-.8-.4-1.1-.8l-1-1.5c-.4-.5-1-.9-1.7-.9h-2.9c-.6.1-1.2.4-1.6 1l-1 1.5c-.3.3-.6.6-1.1.7l-2.5.8c-.2.1-.4.1-.6.1-1 .2-1.7.9-1.7 1.9v8.3c0 1 .9 1.9 2 1.9h16c1.1 0 2-.8 2-1.9V9.9c0-1-.7-1.7-1.8-1.9zm.3 10.1c0 .2-.2.4-.5.4H4c-.3 0-.5-.2-.5-.4V9.9c0-.1.2-.3.5-.4.2 0 .5-.1.8-.2l2.5-.8c.7-.2 1.4-.6 1.8-1.3l1-1.5c.1-.1.2-.2.4-.2h2.9c.2 0 .3.1.4.2l1 1.5c.4.7 1.1 1.1 1.9 1.4l2.5.8c.3.1.6.1.8.2.3 0 .4.2.4.4v8.1z\"\n })\n});\nexport default capturePhoto;\n//# sourceMappingURL=capture-photo.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst captureVideo = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 5H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm.5 12c0 .3-.2.5-.5.5H4c-.3 0-.5-.2-.5-.5V7c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v10zm2.5-7v4l5 3V7l-5 3zm3.5 4.4l-2-1.2v-2.3l2-1.2v4.7z\"\n })\n});\nexport default captureVideo;\n//# sourceMappingURL=capture-video.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst category = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 5.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2V6zm11-.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM13 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2h-3a2 2 0 01-2-2V6zm5 8.5h-3a.5.5 0 00-.5.5v3a.5.5 0 00.5.5h3a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5zM15 13a2 2 0 00-2 2v3a2 2 0 002 2h3a2 2 0 002-2v-3a2 2 0 00-2-2h-3zm-9 1.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5zM4 15a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2v-3z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default category;\n//# sourceMappingURL=category.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cautionFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM12.75 8V13H11.25V8H12.75ZM12.75 14.5V16H11.25V14.5H12.75Z\"\n })\n});\nexport default cautionFilled;\n//# sourceMappingURL=caution-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst caution = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-.75 12v-1.5h1.5V16h-1.5Zm0-8v5h1.5V8h-1.5Z\"\n })\n});\nexport default caution;\n//# sourceMappingURL=caution.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chartBar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M11.25 5h1.5v15h-1.5V5zM6 10h1.5v10H6V10zm12 4h-1.5v6H18v-6z\",\n clipRule: \"evenodd\"\n })\n});\nexport default chartBar;\n//# sourceMappingURL=chart-bar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst check = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z\"\n })\n});\nexport default check;\n//# sourceMappingURL=check.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronDownSmall = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m15.99 10.889-3.988 3.418-3.988-3.418.976-1.14 3.012 2.582 3.012-2.581.976 1.139Z\"\n })\n});\nexport default chevronDownSmall;\n//# sourceMappingURL=chevron-down-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronDown = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z\"\n })\n});\nexport default chevronDown;\n//# sourceMappingURL=chevron-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronLeftSmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m13.1 16-3.4-4 3.4-4 1.1 1-2.6 3 2.6 3-1.1 1z\"\n })\n});\nexport default chevronLeftSmall;\n//# sourceMappingURL=chevron-left-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z\"\n })\n});\nexport default chevronLeft;\n//# sourceMappingURL=chevron-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronRightSmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.8622 8.04053L14.2805 12.0286L10.8622 16.0167L9.72327 15.0405L12.3049 12.0286L9.72327 9.01672L10.8622 8.04053Z\"\n })\n});\nexport default chevronRightSmall;\n//# sourceMappingURL=chevron-right-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z\"\n })\n});\nexport default chevronRight;\n//# sourceMappingURL=chevron-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronUpDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m12 20-4.5-3.6-.9 1.2L12 22l5.5-4.4-.9-1.2L12 20zm0-16 4.5 3.6.9-1.2L12 2 6.5 6.4l.9 1.2L12 4z\"\n })\n});\nexport default chevronUpDown;\n//# sourceMappingURL=chevron-up-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronUp = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z\"\n })\n});\nexport default chevronUp;\n//# sourceMappingURL=chevron-up.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst classic = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 6H4c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H4c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h16c.3 0 .5.2.5.5v9zM10 10H8v2h2v-2zm-5 2h2v-2H5v2zm8-2h-2v2h2v-2zm-5 6h8v-2H8v2zm6-4h2v-2h-2v2zm3 0h2v-2h-2v2zm0 4h2v-2h-2v2zM5 16h2v-2H5v2z\"\n })\n});\nexport default classic;\n//# sourceMappingURL=classic.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst closeSmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z\"\n })\n});\nexport default closeSmall;\n//# sourceMappingURL=close-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst close = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z\"\n })\n});\nexport default close;\n//# sourceMappingURL=close.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cloudDownload = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.3 10.1002C17.3 7.6002 15.2 5.7002 12.5 5.7002C10.3 5.7002 8.4 7.1002 7.9 9.0002H7.7C5.7 9.0002 4 10.7002 4 12.8002C4 14.9002 5.7 16.6002 7.7 16.6002V15.2002C6.5 15.2002 5.5 14.1002 5.5 12.9002C5.5 11.7002 6.5 10.5002 7.7 10.5002H9L9.3 9.4002C9.7 8.1002 11 7.2002 12.5 7.2002C14.3 7.2002 15.8 8.5002 15.8 10.1002V11.4002L17.1 11.6002C17.9 11.7002 18.5 12.5002 18.5 13.4002C18.5 14.4002 17.7 15.2002 16.8 15.2002H16.5V16.6002H16.7C18.5 16.6002 19.9 15.1002 19.9 13.3002C20 11.7002 18.8 10.4002 17.3 10.1002Z M9.8806 13.7576L8.81995 14.8182L12.0019 18.0002L15.1851 14.8171L14.1244 13.7564L12.7551 15.1257L12.7551 10.0002L11.2551 10.0002V15.1321L9.8806 13.7576Z\"\n })\n});\nexport default cloudDownload;\n//# sourceMappingURL=cloud-download.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cloudUpload = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.3 10.1C17.3 7.60001 15.2 5.70001 12.5 5.70001C10.3 5.70001 8.4 7.10001 7.9 9.00001H7.7C5.7 9.00001 4 10.7 4 12.8C4 14.9 5.7 16.6 7.7 16.6H9.5V15.2H7.7C6.5 15.2 5.5 14.1 5.5 12.9C5.5 11.7 6.5 10.5 7.7 10.5H9L9.3 9.40001C9.7 8.10001 11 7.20001 12.5 7.20001C14.3 7.20001 15.8 8.50001 15.8 10.1V11.4L17.1 11.6C17.9 11.7 18.5 12.5 18.5 13.4C18.5 14.4 17.7 15.2 16.8 15.2H14.5V16.6H16.7C18.5 16.6 19.9 15.1 19.9 13.3C20 11.7 18.8 10.4 17.3 10.1Z M14.1245 14.2426L15.1852 13.182L12.0032 10L8.82007 13.1831L9.88072 14.2438L11.25 12.8745V18H12.75V12.8681L14.1245 14.2426Z\"\n })\n});\nexport default cloudUpload;\n//# sourceMappingURL=cloud-upload.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cloud = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.3 10.1c0-2.5-2.1-4.4-4.8-4.4-2.2 0-4.1 1.4-4.6 3.3h-.2C5.7 9 4 10.7 4 12.8c0 2.1 1.7 3.8 3.7 3.8h9c1.8 0 3.2-1.5 3.2-3.3.1-1.6-1.1-2.9-2.6-3.2zm-.5 5.1h-9c-1.2 0-2.2-1.1-2.2-2.3s1-2.4 2.2-2.4h1.3l.3-1.1c.4-1.3 1.7-2.2 3.2-2.2 1.8 0 3.3 1.3 3.3 2.9v1.3l1.3.2c.8.1 1.4.9 1.4 1.8-.1 1-.9 1.8-1.8 1.8z\"\n })\n});\nexport default cloud;\n//# sourceMappingURL=cloud.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst code = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.8 10.7l-4.3-4.3-1.1 1.1 4.3 4.3c.1.1.1.3 0 .4l-4.3 4.3 1.1 1.1 4.3-4.3c.7-.8.7-1.9 0-2.6zM4.2 11.8l4.3-4.3-1-1-4.3 4.3c-.7.7-.7 1.8 0 2.5l4.3 4.3 1.1-1.1-4.3-4.3c-.2-.1-.2-.3-.1-.4z\"\n })\n});\nexport default code;\n//# sourceMappingURL=code.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cog = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M10.289 4.836A1 1 0 0111.275 4h1.306a1 1 0 01.987.836l.244 1.466c.787.26 1.503.679 2.108 1.218l1.393-.522a1 1 0 011.216.437l.653 1.13a1 1 0 01-.23 1.273l-1.148.944a6.025 6.025 0 010 2.435l1.149.946a1 1 0 01.23 1.272l-.653 1.13a1 1 0 01-1.216.437l-1.394-.522c-.605.54-1.32.958-2.108 1.218l-.244 1.466a1 1 0 01-.987.836h-1.306a1 1 0 01-.986-.836l-.244-1.466a5.995 5.995 0 01-2.108-1.218l-1.394.522a1 1 0 01-1.217-.436l-.653-1.131a1 1 0 01.23-1.272l1.149-.946a6.026 6.026 0 010-2.435l-1.148-.944a1 1 0 01-.23-1.272l.653-1.131a1 1 0 011.217-.437l1.393.522a5.994 5.994 0 012.108-1.218l.244-1.466zM14.929 12a3 3 0 11-6 0 3 3 0 016 0z\",\n clipRule: \"evenodd\"\n })\n});\nexport default cog;\n//# sourceMappingURL=cog.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst color = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.2 10.9c-.5-1-1.2-2.1-2.1-3.2-.6-.9-1.3-1.7-2.1-2.6L12 4l-1 1.1c-.6.9-1.3 1.7-2 2.6-.8 1.2-1.5 2.3-2 3.2-.6 1.2-1 2.2-1 3 0 3.4 2.7 6.1 6.1 6.1s6.1-2.7 6.1-6.1c0-.8-.3-1.8-1-3zm-5.1 7.6c-2.5 0-4.6-2.1-4.6-4.6 0-.3.1-1 .8-2.3.5-.9 1.1-1.9 2-3.1.7-.9 1.3-1.7 1.8-2.3.7.8 1.3 1.6 1.8 2.3.8 1.1 1.5 2.2 2 3.1.7 1.3.8 2 .8 2.3 0 2.5-2.1 4.6-4.6 4.6z\"\n })\n});\nexport default color;\n//# sourceMappingURL=color.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst column = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 6H6c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zM6 17.5c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h3v10H6zm13.5-.5c0 .3-.2.5-.5.5h-3v-10h3c.3 0 .5.2.5.5v9z\"\n })\n});\nexport default column;\n//# sourceMappingURL=column.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst columns = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 7.5h-5v10h5v-10Zm1.5 0v10H19a.5.5 0 0 0 .5-.5V8a.5.5 0 0 0-.5-.5h-2.5ZM6 7.5h2.5v10H6a.5.5 0 0 1-.5-.5V8a.5.5 0 0 1 .5-.5ZM6 6h13a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2Z\"\n })\n});\nexport default columns;\n//# sourceMappingURL=columns.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentAuthorAvatar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M7.25 16.437a6.5 6.5 0 1 1 9.5 0V16A2.75 2.75 0 0 0 14 13.25h-4A2.75 2.75 0 0 0 7.25 16v.437Zm1.5 1.193a6.47 6.47 0 0 0 3.25.87 6.47 6.47 0 0 0 3.25-.87V16c0-.69-.56-1.25-1.25-1.25h-4c-.69 0-1.25.56-1.25 1.25v1.63ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm10-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\",\n clipRule: \"evenodd\"\n })\n});\nexport default commentAuthorAvatar;\n//# sourceMappingURL=comment-author-avatar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, Circle } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst commentAuthorName = /*#__PURE__*/_jsxs(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12.9c0 .6.5 1.1 1.1 1.1.3 0 .5-.1.8-.3L8.5 17H18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H7.9l-2.4 2.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v9z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M15 15V15C15 13.8954 14.1046 13 13 13L11 13C9.89543 13 9 13.8954 9 15V15\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(Circle, {\n cx: \"12\",\n cy: \"9\",\n r: \"2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })]\n});\nexport default commentAuthorName;\n//# sourceMappingURL=comment-author-name.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentContent = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.68822 16.625L5.5 17.8145L5.5 5.5L18.5 5.5L18.5 16.625L6.68822 16.625ZM7.31 18.125L19 18.125C19.5523 18.125 20 17.6773 20 17.125L20 5C20 4.44772 19.5523 4 19 4H5C4.44772 4 4 4.44772 4 5V19.5247C4 19.8173 4.16123 20.086 4.41935 20.2237C4.72711 20.3878 5.10601 20.3313 5.35252 20.0845L7.31 18.125ZM16 9.99997H8V8.49997H16V9.99997ZM8 14H13V12.5H8V14Z\"\n })\n});\nexport default commentContent;\n//# sourceMappingURL=comment-content.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentEditLink = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m6.249 11.065.44-.44h3.186l-1.5 1.5H7.31l-1.957 1.96A.792.792 0 0 1 4 13.524V5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v1.5L12.5 8V5.5h-7v6.315l.749-.75ZM20 19.75H7v-1.5h13v1.5Zm0-12.653-8.967 9.064L8 17l.867-2.935L17.833 5 20 7.097Z\"\n })\n});\nexport default commentEditLink;\n//# sourceMappingURL=comment-edit-link.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentReplyLink = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.68822 10.625L6.24878 11.0649L5.5 11.8145L5.5 5.5L12.5 5.5V8L14 6.5V5C14 4.44772 13.5523 4 13 4H5C4.44772 4 4 4.44771 4 5V13.5247C4 13.8173 4.16123 14.086 4.41935 14.2237C4.72711 14.3878 5.10601 14.3313 5.35252 14.0845L7.31 12.125H8.375L9.875 10.625H7.31H6.68822ZM14.5605 10.4983L11.6701 13.75H16.9975C17.9963 13.75 18.7796 14.1104 19.3553 14.7048C19.9095 15.2771 20.2299 16.0224 20.4224 16.7443C20.7645 18.0276 20.7543 19.4618 20.7487 20.2544C20.7481 20.345 20.7475 20.4272 20.7475 20.4999L19.2475 20.5001C19.2475 20.4191 19.248 20.3319 19.2484 20.2394V20.2394C19.2526 19.4274 19.259 18.2035 18.973 17.1307C18.8156 16.5401 18.586 16.0666 18.2778 15.7483C17.9909 15.4521 17.5991 15.25 16.9975 15.25H11.8106L14.5303 17.9697L13.4696 19.0303L8.96956 14.5303L13.4394 9.50171L14.5605 10.4983Z\"\n })\n});\nexport default commentReplyLink;\n//# sourceMappingURL=comment-reply-link.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst comment = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12.9c0 .6.5 1.1 1.1 1.1.3 0 .5-.1.8-.3L8.5 17H18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H7.9l-2.4 2.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v9z\"\n })\n});\nexport default comment;\n//# sourceMappingURL=comment.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst connection = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fillRule: \"evenodd\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.53 4.47a.75.75 0 0 1 0 1.06L17.06 8l.77.769a3.155 3.155 0 0 1 .685 3.439 3.15 3.15 0 0 1-.685 1.022v.001L13.23 17.83v.001a3.15 3.15 0 0 1-4.462 0L8 17.06l-2.47 2.47a.75.75 0 0 1-1.06-1.06L6.94 16l-.77-.769a3.154 3.154 0 0 1-.685-3.439 3.15 3.15 0 0 1 .685-1.023l4.599-4.598a3.152 3.152 0 0 1 4.462 0l.769.768 2.47-2.47a.75.75 0 0 1 1.06 0Zm-2.76 7.7L15 13.94 10.06 9l1.771-1.77a1.65 1.65 0 0 1 2.338 0L16.77 9.83a1.649 1.649 0 0 1 0 2.338h-.001ZM13.94 15 9 10.06l-1.77 1.771a1.65 1.65 0 0 0 0 2.338l2.601 2.602a1.649 1.649 0 0 0 2.338 0v-.001L13.94 15Z\"\n })\n});\nexport default connection;\n//# sourceMappingURL=connection.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst copySmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.625 5.5h9.75c.069 0 .125.056.125.125v9.75a.125.125 0 0 1-.125.125h-9.75a.125.125 0 0 1-.125-.125v-9.75c0-.069.056-.125.125-.125ZM4 5.625C4 4.728 4.728 4 5.625 4h9.75C16.273 4 17 4.728 17 5.625v9.75c0 .898-.727 1.625-1.625 1.625h-9.75A1.625 1.625 0 0 1 4 15.375v-9.75Zm14.5 11.656v-9H20v9C20 18.8 18.77 20 17.251 20H6.25v-1.5h11.001c.69 0 1.249-.528 1.249-1.219Z\"\n })\n});\nexport default copySmall;\n//# sourceMappingURL=copy-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst copy = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5 4.5h11a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V5a.5.5 0 0 1 .5-.5ZM3 5a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5Zm17 3v10.75c0 .69-.56 1.25-1.25 1.25H6v1.5h12.75a2.75 2.75 0 0 0 2.75-2.75V8H20Z\"\n })\n});\nexport default copy;\n//# sourceMappingURL=copy.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cornerAll = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5Zm-12.5 9v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n});\nexport default cornerAll;\n//# sourceMappingURL=corner-all.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerBottomLeft = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.75 15v3c0 .138.112.25.25.25h3v1.5H6A1.75 1.75 0 0 1 4.25 18v-3h1.5Z\"\n })]\n});\nexport default cornerBottomLeft;\n//# sourceMappingURL=corner-bottom-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerBottomRight = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 18.25h3a.25.25 0 0 0 .25-.25v-3h1.5v3A1.75 1.75 0 0 1 18 19.75h-3v-1.5Z\"\n })]\n});\nexport default cornerBottomRight;\n//# sourceMappingURL=corner-bottom-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerTopLeft = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6 5.75a.25.25 0 0 0-.25.25v3h-1.5V6c0-.966.784-1.75 1.75-1.75h3v1.5H6Z\"\n })]\n});\nexport default cornerTopLeft;\n//# sourceMappingURL=corner-top-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerTopRight = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5Z\"\n })]\n});\nexport default cornerTopRight;\n//# sourceMappingURL=corner-top-right.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cover = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h6.2v8.9l2.5-3.1 2.5 3.1V4.5h2.2c.4 0 .8.4.8.8v13.4z\"\n })\n});\nexport default cover;\n//# sourceMappingURL=cover.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst create = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 11.2h-3.2V8h-1.6v3.2H8v1.6h3.2V16h1.6v-3.2H16z\"\n })\n});\nexport default create;\n//# sourceMappingURL=create.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst crop = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 20v-2h2v-1.5H7.75a.25.25 0 0 1-.25-.25V4H6v2H4v1.5h2v8.75c0 .966.784 1.75 1.75 1.75h8.75v2H18ZM9.273 7.5h6.977a.25.25 0 0 1 .25.25v6.977H18V7.75A1.75 1.75 0 0 0 16.25 6H9.273v1.5Z\"\n })\n});\nexport default crop;\n//# sourceMappingURL=crop.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst currencyDollar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.7 9.6c.3-.2.8-.4 1.3-.4s1 .2 1.3.4c.3.2.4.5.4.6 0 .4.3.8.8.8s.8-.3.8-.8c0-.8-.5-1.4-1.1-1.9-.4-.3-.9-.5-1.4-.6v-.3c0-.4-.3-.8-.8-.8s-.8.3-.8.8v.3c-.5 0-1 .3-1.4.6-.6.4-1.1 1.1-1.1 1.9s.5 1.4 1.1 1.9c.6.4 1.4.6 2.2.6h.2c.5 0 .9.2 1.1.4.3.2.4.5.4.6s0 .4-.4.6c-.3.2-.8.4-1.3.4s-1-.2-1.3-.4c-.3-.2-.4-.5-.4-.6 0-.4-.3-.8-.8-.8s-.8.3-.8.8c0 .8.5 1.4 1.1 1.9.4.3.9.5 1.4.6v.3c0 .4.3.8.8.8s.8-.3.8-.8v-.3c.5 0 1-.3 1.4-.6.6-.4 1.1-1.1 1.1-1.9s-.5-1.4-1.1-1.9c-.5-.4-1.2-.6-1.9-.6H12c-.6 0-1-.2-1.3-.4-.3-.2-.4-.5-.4-.6s0-.4.4-.6ZM12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5Z\"\n })\n});\nexport default currencyDollar;\n//# sourceMappingURL=currency-dollar.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst currencyEuro = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.9 9.3c.4 0 .8 0 1.1.2.4.1.7.3 1 .6.1.1.3.2.5.2s.4 0 .5-.2c.1-.1.2-.3.2-.5s0-.4-.2-.5c-.5-.5-1.1-.8-1.7-1.1-.7-.2-1.4-.2-2-.1-.7.1-1.3.4-1.9.8-.5.4-1 1-1.3 1.6h-.6c-.2 0-.4 0-.5.2-.1.1-.2.3-.2.5s0 .4.2.5c.1.1.3.2.5.2h.3v.5h-.3c-.2 0-.4 0-.5.2-.1.1-.2.3-.2.5s0 .4.2.5c.1.1.3.2.5.2h.6c.3.6.7 1.2 1.3 1.6.5.4 1.2.7 1.9.8.7.1 1.4 0 2-.1.7-.2 1.3-.6 1.7-1.1.1-.1.2-.3.2-.5s0-.4-.2-.5-.3-.2-.5-.2-.4 0-.5.2c-.3.3-.6.5-1 .6-.4.1-.7.2-1.1.2-.4 0-.8-.1-1.1-.3-.3-.2-.6-.4-.9-.7h.6c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2H9.3v-.5h2.2c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2H9.9c.2-.3.5-.5.9-.7s.7-.3 1.1-.3ZM12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5Z\"\n })\n});\nexport default currencyEuro;\n//# sourceMappingURL=currency-euro.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst currencyPound = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M14.4 14.5H11c.3-.4.5-1 .5-1.6v-.1h1c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2h-1.3c0-.1-.1-.3-.2-.4 0-.1-.1-.2-.1-.4v-.3c0-.8.6-1.4 1.4-1.4s.6 0 .8.2c.2.2.4.4.5.6 0 .2.2.3.4.4h.6c.2 0 .3-.2.4-.4v-.6c-.3-.6-.7-1.2-1.3-1.5-.6-.3-1.3-.4-2-.3s-1.3.5-1.7 1c-.4.5-.7 1.2-.7 1.9 0 .3 0 .5.2.8 0 0 0 .2.1.3-.2 0-.4 0-.5.2-.1.1-.2.3-.2.5s0 .4.2.5c.1.1.3.2.5.2h.5v.1c0 .4-.2.8-.5 1.2l-.6.6c-.1 0-.2.2-.3.4v.5c0 .1.1.3.3.4.1 0 .3.1.4.1h5.1c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2ZM12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5Z\"\n })\n});\nexport default currencyPound;\n//# sourceMappingURL=currency-pound.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst customLink = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5 14.5h-1V16h1c2.2 0 4-1.8 4-4s-1.8-4-4-4h-1v1.5h1c1.4 0 2.5 1.1 2.5 2.5s-1.1 2.5-2.5 2.5zm-4 1.5v-1.5h-1C6.1 14.5 5 13.4 5 12s1.1-2.5 2.5-2.5h1V8h-1c-2.2 0-4 1.8-4 4s1.8 4 4 4h1zm-1-3.2h5v-1.5h-5v1.5zM18 4H9c-1.1 0-2 .9-2 2v.5h1.5V6c0-.3.2-.5.5-.5h9c.3 0 .5.2.5.5v12c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5v-.5H7v.5c0 1.1.9 2 2 2h9c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2z\"\n })\n});\nexport default customLink;\n//# sourceMappingURL=custom-link.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst customPostType = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4zm.8-4l.7.7 2-2V12h1V9.2l2 2 .7-.7-2-2H12v-1H9.2l2-2-.7-.7-2 2V4h-1v2.8l-2-2-.7.7 2 2H4v1h2.8l-2 2z\"\n })\n});\nexport default customPostType;\n//# sourceMappingURL=custom-post-type.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst dashboard = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 5a8 8 0 0 1 3.842.984L14.726 7.1a6.502 6.502 0 0 0-7.323 1.303 6.5 6.5 0 0 0 0 9.194l-1.06 1.06A8 8 0 0 1 12 5Zm7.021 4.168a8 8 0 0 1-1.364 9.49l-1.06-1.061a6.5 6.5 0 0 0 1.307-7.312l1.117-1.117ZM17.47 6.47a.75.75 0 1 1 1.06 1.06l-5.083 5.082a1.5 1.5 0 1 1-1.06-1.06L17.47 6.47Z\"\n })\n});\nexport default dashboard;\n//# sourceMappingURL=dashboard.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst desktop = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.5 16h-.7V8c0-1.1-.9-2-2-2H6.2c-1.1 0-2 .9-2 2v8h-.7c-.8 0-1.5.7-1.5 1.5h20c0-.8-.7-1.5-1.5-1.5zM5.7 8c0-.3.2-.5.5-.5h11.6c.3 0 .5.2.5.5v7.6H5.7V8z\"\n })\n});\nexport default desktop;\n//# sourceMappingURL=desktop.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst details = /*#__PURE__*/_jsxs(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M4 16h10v1.5H4V16Zm0-4.5h16V13H4v-1.5ZM10 7h10v1.5H10V7Z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4 5.25 4 2.5-4 2.5v-5Z\"\n })]\n});\nexport default details;\n//# sourceMappingURL=details.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst download = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 11.3l-1-1.1-4 4V3h-1.5v11.3L7 10.2l-1 1.1 6.2 5.8 5.8-5.8zm.5 3.7v3.5h-13V15H4v5h16v-5h-1.5z\"\n })\n});\nexport default download;\n//# sourceMappingURL=download.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst drafts = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8 4a4 4 0 0 0 4-4H8a4 4 0 0 0 4 4Z\"\n })\n});\nexport default drafts;\n//# sourceMappingURL=drafts.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst dragHandle = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8 7h2V5H8v2zm0 6h2v-2H8v2zm0 6h2v-2H8v2zm6-14v2h2V5h-2zm0 8h2v-2h-2v2zm0 6h2v-2h-2v2z\"\n })\n});\nexport default dragHandle;\n//# sourceMappingURL=drag-handle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst drawerLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM8.5 18.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h2.5v13zm10-.5c0 .3-.2.5-.5.5h-8v-13h8c.3 0 .5.2.5.5v12z\"\n })\n});\nexport default drawerLeft;\n//# sourceMappingURL=drawer-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst drawerRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4 14.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h8v13zm4.5-.5c0 .3-.2.5-.5.5h-2.5v-13H18c.3 0 .5.2.5.5v12z\"\n })\n});\nexport default drawerRight;\n//# sourceMappingURL=drawer-right.js.map","/**\n * Internal dependencies\n */\n\nimport { default as pencil } from './pencil';\nexport default pencil;\n//# sourceMappingURL=edit.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst envelope = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 7c0-1.1.9-2 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Zm2-.5h14c.3 0 .5.2.5.5v1L12 13.5 4.5 7.9V7c0-.3.2-.5.5-.5Zm-.5 3.3V17c0 .3.2.5.5.5h14c.3 0 .5-.2.5-.5V9.8L12 15.4 4.5 9.8Z\"\n })\n});\nexport default envelope;\n//# sourceMappingURL=envelope.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst error = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.218 5.377a.25.25 0 0 0-.436 0l-7.29 12.96a.25.25 0 0 0 .218.373h14.58a.25.25 0 0 0 .218-.372l-7.29-12.96Zm-1.743-.735c.669-1.19 2.381-1.19 3.05 0l7.29 12.96a1.75 1.75 0 0 1-1.525 2.608H4.71a1.75 1.75 0 0 1-1.525-2.608l7.29-12.96ZM12.75 17.46h-1.5v-1.5h1.5v1.5Zm-1.5-3h1.5v-5h-1.5v5Z\"\n })\n});\nexport default error;\n//# sourceMappingURL=error.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst external = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.5 4.5h-7V6h4.44l-5.97 5.97 1.06 1.06L18 7.06v4.44h1.5v-7Zm-13 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3H17v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3V5.5h-3Z\"\n })\n});\nexport default external;\n//# sourceMappingURL=external.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst file = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.848 8a1 1 0 0 1-.914-.594l-.723-1.63a.5.5 0 0 0-.447-.276H5a.5.5 0 0 0-.5.5v11.5a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5v-9A.5.5 0 0 0 19 8h-6.152Zm.612-1.5a.5.5 0 0 1-.462-.31l-.445-1.084A2 2 0 0 0 10.763 4H5a2 2 0 0 0-2 2v11.5a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-5.54Z\"\n })\n});\nexport default file;\n//# sourceMappingURL=file.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst filter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4 4 19h16L12 4zm0 3.2 5.5 10.3H12V7.2z\"\n })\n});\nexport default filter;\n//# sourceMappingURL=filter.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst flipHorizontal = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 6v12c0 1.1.9 2 2 2h3v-1.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h3V4H6c-1.1 0-2 .9-2 2zm7.2 16h1.5V2h-1.5v20zM15 5.5h1.5V4H15v1.5zm3.5.5H20c0-1.1-.9-2-2-2v1.5c.3 0 .5.2.5.5zm0 10.5H20v-2h-1.5v2zm0-3.5H20v-2h-1.5v2zm-.5 5.5V20c1.1 0 2-.9 2-2h-1.5c0 .3-.2.5-.5.5zM15 20h1.5v-1.5H15V20zm3.5-10.5H20v-2h-1.5v2z\"\n })\n});\nexport default flipHorizontal;\n//# sourceMappingURL=flip-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst flipVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M2 11.2v1.5h20v-1.5H2zM5.5 6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v3H20V6c0-1.1-.9-2-2-2H6c-1.1 0-2 .9-2 2v3h1.5V6zm2 14h2v-1.5h-2V20zm3.5 0h2v-1.5h-2V20zm7-1.5V20c1.1 0 2-.9 2-2h-1.5c0 .3-.2.5-.5.5zm.5-2H20V15h-1.5v1.5zM5.5 18H4c0 1.1.9 2 2 2v-1.5c-.3 0-.5-.2-.5-.5zm0-3H4v1.5h1.5V15zm9 5h2v-1.5h-2V20z\"\n })\n});\nexport default flipVertical;\n//# sourceMappingURL=flip-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst footer = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M18 5.5h-8v8h8.5V6a.5.5 0 00-.5-.5zm-9.5 8h-3V6a.5.5 0 01.5-.5h2.5v8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default footer;\n//# sourceMappingURL=footer.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatBold = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.7 11.3c1-.6 1.5-1.6 1.5-3 0-2.3-1.3-3.4-4-3.4H7v14h5.8c1.4 0 2.5-.3 3.3-1 .8-.7 1.2-1.7 1.2-2.9.1-1.9-.8-3.1-2.6-3.7zm-5.1-4h2.3c.6 0 1.1.1 1.4.4.3.3.5.7.5 1.2s-.2 1-.5 1.2c-.3.3-.8.4-1.4.4H9.6V7.3zm4.6 9c-.4.3-1 .4-1.7.4H9.6v-3.9h2.9c.7 0 1.3.2 1.7.5.4.3.6.8.6 1.5s-.2 1.2-.6 1.5z\"\n })\n});\nexport default formatBold;\n//# sourceMappingURL=format-bold.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatCapitalize = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7.1 6.8L3.1 18h1.6l1.1-3h4.3l1.1 3h1.6l-4-11.2H7.1zm-.8 6.8L8 8.9l1.7 4.7H6.3zm14.5-1.5c-.3-.6-.7-1.1-1.2-1.5-.6-.4-1.2-.6-1.9-.6-.5 0-.9.1-1.4.3-.4.2-.8.5-1.1.8V6h-1.4v12h1.3l.2-1c.2.4.6.6 1 .8.4.2.9.3 1.4.3.7 0 1.2-.2 1.8-.5.5-.4 1-.9 1.3-1.5.3-.6.5-1.3.5-2.1-.1-.6-.2-1.3-.5-1.9zm-1.7 4c-.4.5-.9.8-1.6.8s-1.2-.2-1.7-.7c-.4-.5-.7-1.2-.7-2.1 0-.9.2-1.6.7-2.1.4-.5 1-.7 1.7-.7s1.2.3 1.6.8c.4.5.6 1.2.6 2 .1.8-.2 1.4-.6 2z\"\n })\n});\nexport default formatCapitalize;\n//# sourceMappingURL=format-capitalize.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatIndentRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM20.0303 9.03033L17.0607 12L20.0303 14.9697L18.9697 16.0303L15.4697 12.5303L14.9393 12L15.4697 11.4697L18.9697 7.96967L20.0303 9.03033Z\"\n })\n});\nexport default formatIndentRTL;\n//# sourceMappingURL=format-indent-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatIndent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-8-3.5l3 3-3 3 1 1 4-4-4-4-1 1z\"\n })\n});\nexport default formatIndent;\n//# sourceMappingURL=format-indent.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatItalic = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5 5L10 19h1.9l2.5-14z\"\n })\n});\nexport default formatItalic;\n//# sourceMappingURL=format-italic.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListBulletsRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 8.8h8.9V7.2H4v1.6zm0 7h8.9v-1.5H4v1.5zM18 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\n })\n});\nexport default formatListBulletsRTL;\n//# sourceMappingURL=format-list-bullets-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListBullets = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM6 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-7c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"\n })\n});\nexport default formatListBullets;\n//# sourceMappingURL=format-list-bullets.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListNumberedRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3.8 15.8h8.9v-1.5H3.8v1.5zm0-7h8.9V7.2H3.8v1.6zm14.7-2.1V10h1V5.3l-2.2.7.3 1 .9-.3zm1.2 6.1c-.5-.6-1.2-.5-1.7-.4-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5H20v-1h-.9c.3-.6.8-1.4.9-2.1 0-.3 0-.8-.3-1.1z\"\n })\n});\nexport default formatListNumberedRTL;\n//# sourceMappingURL=format-list-numbered-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListNumbered = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM5 6.7V10h1V5.3L3.8 6l.4 1 .8-.3zm-.4 5.7c-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5h2.7v-1h-1c.3-.6.8-1.4.9-2.1.1-.3 0-.8-.2-1.1-.5-.6-1.3-.5-1.7-.4z\"\n })\n});\nexport default formatListNumbered;\n//# sourceMappingURL=format-list-numbered.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatLowercase = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 16.8c-.1-.1-.2-.3-.3-.5v-2.6c0-.9-.1-1.7-.3-2.2-.2-.5-.5-.9-.9-1.2-.4-.2-.9-.3-1.6-.3-.5 0-1 .1-1.5.2s-.9.3-1.2.6l.2 1.2c.4-.3.7-.4 1.1-.5.3-.1.7-.2 1-.2.6 0 1 .1 1.3.4.3.2.4.7.4 1.4-1.2 0-2.3.2-3.3.7s-1.4 1.1-1.4 2.1c0 .7.2 1.2.7 1.6.4.4 1 .6 1.8.6.9 0 1.7-.4 2.4-1.2.1.3.2.5.4.7.1.2.3.3.6.4.3.1.6.1 1.1.1h.1l.2-1.2h-.1c-.4.1-.6 0-.7-.1zM9.2 16c-.2.3-.5.6-.9.8-.3.1-.7.2-1.1.2-.4 0-.7-.1-.9-.3-.2-.2-.3-.5-.3-.9 0-.6.2-1 .7-1.3.5-.3 1.3-.4 2.5-.5v2zm10.6-3.9c-.3-.6-.7-1.1-1.2-1.5-.6-.4-1.2-.6-1.9-.6-.5 0-.9.1-1.4.3-.4.2-.8.5-1.1.8V6h-1.4v12h1.3l.2-1c.2.4.6.6 1 .8.4.2.9.3 1.4.3.7 0 1.2-.2 1.8-.5.5-.4 1-.9 1.3-1.5.3-.6.5-1.3.5-2.1-.1-.6-.2-1.3-.5-1.9zm-1.7 4c-.4.5-.9.8-1.6.8s-1.2-.2-1.7-.7c-.4-.5-.7-1.2-.7-2.1 0-.9.2-1.6.7-2.1.4-.5 1-.7 1.7-.7s1.2.3 1.6.8c.4.5.6 1.2.6 2s-.2 1.4-.6 2z\"\n })\n});\nexport default formatLowercase;\n//# sourceMappingURL=format-lowercase.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatLtr = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 9c0 2.8 2.2 5 5 5v-.2V20h1.5V5.5H12V20h1.5V5.5h3V4H8C5.2 4 3 6.2 3 9Zm15.9-1-1.1 1 2.6 3-2.6 3 1.1 1 3.4-4-3.4-4Z\"\n })\n});\nexport default formatLtr;\n//# sourceMappingURL=format-ltr.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatOutdentRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM15.4697 14.9697L18.4393 12L15.4697 9.03033L16.5303 7.96967L20.0303 11.4697L20.5607 12L20.0303 12.5303L16.5303 16.0303L15.4697 14.9697Z\"\n })\n});\nexport default formatOutdentRTL;\n//# sourceMappingURL=format-outdent-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatOutdent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-4-4.6l-4 4 4 4 1-1-3-3 3-3-1-1z\"\n })\n});\nexport default formatOutdent;\n//# sourceMappingURL=format-outdent.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatRtl = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 9c0 2.8 2.2 5 5 5v-.2V20h1.5V5.5H12V20h1.5V5.5h3V4H8C5.2 4 3 6.2 3 9Zm19.3 0-1.1-1-3.4 4 3.4 4 1.1-1-2.6-3 2.6-3Z\"\n })\n});\nexport default formatRtl;\n//# sourceMappingURL=format-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatStrikethrough = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9.1 9v-.5c0-.6.2-1.1.7-1.4.5-.3 1.2-.5 2-.5.7 0 1.4.1 2.1.3.7.2 1.4.5 2.1.9l.2-1.9c-.6-.3-1.2-.5-1.9-.7-.8-.1-1.6-.2-2.4-.2-1.5 0-2.7.3-3.6 1-.8.7-1.2 1.5-1.2 2.6V9h2zM20 12H4v1h8.3c.3.1.6.2.8.3.5.2.9.5 1.1.8.3.3.4.7.4 1.2 0 .7-.2 1.1-.8 1.5-.5.3-1.2.5-2.1.5-.8 0-1.6-.1-2.4-.3-.8-.2-1.5-.5-2.2-.8L7 18.1c.5.2 1.2.4 2 .6.8.2 1.6.3 2.4.3 1.7 0 3-.3 3.9-1 .9-.7 1.3-1.6 1.3-2.8 0-.9-.2-1.7-.7-2.2H20v-1z\"\n })\n});\nexport default formatStrikethrough;\n//# sourceMappingURL=format-strikethrough.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatUnderline = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 18v1h10v-1H7zm5-2c1.5 0 2.6-.4 3.4-1.2.8-.8 1.1-2 1.1-3.5V5H15v5.8c0 1.2-.2 2.1-.6 2.8-.4.7-1.2 1-2.4 1s-2-.3-2.4-1c-.4-.7-.6-1.6-.6-2.8V5H7.5v6.2c0 1.5.4 2.7 1.1 3.5.8.9 1.9 1.3 3.4 1.3z\"\n })\n});\nexport default formatUnderline;\n//# sourceMappingURL=format-underline.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatUppercase = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.1 6.8L2.1 18h1.6l1.1-3h4.3l1.1 3h1.6l-4-11.2H6.1zm-.8 6.8L7 8.9l1.7 4.7H5.3zm15.1-.7c-.4-.5-.9-.8-1.6-1 .4-.2.7-.5.8-.9.2-.4.3-.9.3-1.4 0-.9-.3-1.6-.8-2-.6-.5-1.3-.7-2.4-.7h-3.5V18h4.2c1.1 0 2-.3 2.6-.8.6-.6 1-1.4 1-2.4-.1-.8-.3-1.4-.6-1.9zm-5.7-4.7h1.8c.6 0 1.1.1 1.4.4.3.2.5.7.5 1.3 0 .6-.2 1.1-.5 1.3-.3.2-.8.4-1.4.4h-1.8V8.2zm4 8c-.4.3-.9.5-1.5.5h-2.6v-3.8h2.6c1.4 0 2 .6 2 1.9.1.6-.1 1-.5 1.4z\"\n })\n});\nexport default formatUppercase;\n//# sourceMappingURL=format-uppercase.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst fullscreen = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 4a2 2 0 0 0-2 2v3h1.5V6a.5.5 0 0 1 .5-.5h3V4H6Zm3 14.5H6a.5.5 0 0 1-.5-.5v-3H4v3a2 2 0 0 0 2 2h3v-1.5Zm6 1.5v-1.5h3a.5.5 0 0 0 .5-.5v-3H20v3a2 2 0 0 1-2 2h-3Zm3-16a2 2 0 0 1 2 2v3h-1.5V6a.5.5 0 0 0-.5-.5h-3V4h3Z\"\n })\n});\nexport default fullscreen;\n//# sourceMappingURL=fullscreen.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst funnel = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z\"\n })\n});\nexport default funnel;\n//# sourceMappingURL=funnel.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const gallery = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.375 4.5H4.625a.125.125 0 0 0-.125.125v8.254l2.859-1.54a.75.75 0 0 1 .68-.016l2.384 1.142 2.89-2.074a.75.75 0 0 1 .874 0l2.313 1.66V4.625a.125.125 0 0 0-.125-.125Zm.125 9.398-2.75-1.975-2.813 2.02a.75.75 0 0 1-.76.067l-2.444-1.17L4.5 14.583v1.792c0 .069.056.125.125.125h11.75a.125.125 0 0 0 .125-.125v-2.477ZM4.625 3C3.728 3 3 3.728 3 4.625v11.75C3 17.273 3.728 18 4.625 18h11.75c.898 0 1.625-.727 1.625-1.625V4.625C18 3.728 17.273 3 16.375 3H4.625ZM20 8v11c0 .69-.31 1-.999 1H6v1.5h13.001c1.52 0 2.499-.982 2.499-2.5V8H20Z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default gallery;\n//# sourceMappingURL=gallery.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst globe = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm6.5 8c0 .6 0 1.2-.2 1.8h-2.7c0-.6.2-1.1.2-1.8s0-1.2-.2-1.8h2.7c.2.6.2 1.1.2 1.8Zm-.9-3.2h-2.4c-.3-.9-.7-1.8-1.1-2.4-.1-.2-.2-.4-.3-.5 1.6.5 3 1.6 3.8 3ZM12.8 17c-.3.5-.6 1-.8 1.3-.2-.3-.5-.8-.8-1.3-.3-.5-.6-1.1-.8-1.7h3.3c-.2.6-.5 1.2-.8 1.7Zm-2.9-3.2c-.1-.6-.2-1.1-.2-1.8s0-1.2.2-1.8H14c.1.6.2 1.1.2 1.8s0 1.2-.2 1.8H9.9ZM11.2 7c.3-.5.6-1 .8-1.3.2.3.5.8.8 1.3.3.5.6 1.1.8 1.7h-3.3c.2-.6.5-1.2.8-1.7Zm-1-1.2c-.1.2-.2.3-.3.5-.4.7-.8 1.5-1.1 2.4H6.4c.8-1.4 2.2-2.5 3.8-3Zm-1.8 8H5.7c-.2-.6-.2-1.1-.2-1.8s0-1.2.2-1.8h2.7c0 .6-.2 1.1-.2 1.8s0 1.2.2 1.8Zm-2 1.4h2.4c.3.9.7 1.8 1.1 2.4.1.2.2.4.3.5-1.6-.5-3-1.6-3.8-3Zm7.4 3c.1-.2.2-.3.3-.5.4-.7.8-1.5 1.1-2.4h2.4c-.8 1.4-2.2 2.5-3.8 3Z\"\n })\n});\nexport default globe;\n//# sourceMappingURL=globe.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst grid = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m3 5c0-1.10457.89543-2 2-2h13.5c1.1046 0 2 .89543 2 2v13.5c0 1.1046-.8954 2-2 2h-13.5c-1.10457 0-2-.8954-2-2zm2-.5h6v6.5h-6.5v-6c0-.27614.22386-.5.5-.5zm-.5 8v6c0 .2761.22386.5.5.5h6v-6.5zm8 0v6.5h6c.2761 0 .5-.2239.5-.5v-6zm0-8v6.5h6.5v-6c0-.27614-.2239-.5-.5-.5z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default grid;\n//# sourceMappingURL=grid.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst group = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4h-7c-1.1 0-2 .9-2 2v3H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-3h3c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h3V13c0 1.1.9 2 2 2h2.5v3zm0-4.5H11c-.3 0-.5-.2-.5-.5v-2.5H13c.3 0 .5.2.5.5v2.5zm5-.5c0 .3-.2.5-.5.5h-3V11c0-1.1-.9-2-2-2h-2.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7z\"\n })\n});\nexport default group;\n//# sourceMappingURL=group.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst handle = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 16.5h10V15H7v1.5zm0-9V9h10V7.5H7z\"\n })\n});\nexport default handle;\n//# sourceMappingURL=handle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst header = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 10.5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default header;\n//# sourceMappingURL=header.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel1 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.6 7c-.6.9-1.5 1.7-2.6 2v1h2v7h2V7h-1.4zM11 11H7V7H5v10h2v-4h4v4h2V7h-2v4z\"\n })\n});\nexport default headingLevel1;\n//# sourceMappingURL=heading-level-1.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel2 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11.1H5v-4H3v10h2v-4h4v4h2v-10H9v4zm8 4c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6v1.5h8v-2H17z\"\n })\n});\nexport default headingLevel2;\n//# sourceMappingURL=heading-level-2.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel3 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11H5V7H3v10h2v-4h4v4h2V7H9v4zm11.3 1.7c-.4-.4-1-.7-1.6-.8v-.1c.6-.2 1.1-.5 1.5-.9.3-.4.5-.8.5-1.3 0-.4-.1-.8-.3-1.1-.2-.3-.5-.6-.8-.8-.4-.2-.8-.4-1.2-.5-.6-.1-1.1-.2-1.6-.2-.6 0-1.3.1-1.8.3s-1.1.5-1.6.9l1.2 1.4c.4-.2.7-.4 1.1-.6.3-.2.7-.3 1.1-.3.4 0 .8.1 1.1.3.3.2.4.5.4.8 0 .4-.2.7-.6.9-.7.3-1.5.5-2.2.4v1.6c.5 0 1 0 1.5.1.3.1.7.2 1 .3.2.1.4.2.5.4s.1.4.1.6c0 .3-.2.7-.5.8-.4.2-.9.3-1.4.3s-1-.1-1.4-.3c-.4-.2-.8-.4-1.2-.7L13 15.6c.5.4 1 .8 1.6 1 .7.3 1.5.4 2.3.4.6 0 1.1-.1 1.6-.2.4-.1.9-.2 1.3-.5.4-.2.7-.5.9-.9.2-.4.3-.8.3-1.2 0-.6-.3-1.1-.7-1.5z\"\n })\n});\nexport default headingLevel3;\n//# sourceMappingURL=heading-level-3.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel4 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 13V7h-3l-4 6v2h5v2h2v-2h1v-2h-1zm-2 0h-2.8L18 9v4zm-9-2H5V7H3v10h2v-4h4v4h2V7H9v4z\"\n })\n});\nexport default headingLevel4;\n//# sourceMappingURL=heading-level-4.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel5 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11H5V7H3v10h2v-4h4v4h2V7H9v4zm11.7 1.2c-.2-.3-.5-.7-.8-.9-.3-.3-.7-.5-1.1-.6-.5-.1-.9-.2-1.4-.2-.2 0-.5.1-.7.1-.2.1-.5.1-.7.2l.1-1.9h4.3V7H14l-.3 5 1 .6.5-.2.4-.1c.1-.1.3-.1.4-.1h.5c.5 0 1 .1 1.4.4.4.2.6.7.6 1.1 0 .4-.2.8-.6 1.1-.4.3-.9.4-1.4.4-.4 0-.9-.1-1.3-.3-.4-.2-.7-.4-1.1-.7 0 0-1.1 1.4-1 1.5.5.4 1 .8 1.6 1 .7.3 1.5.4 2.3.4.5 0 1-.1 1.5-.3s.9-.4 1.3-.7c.4-.3.7-.7.9-1.1s.3-.9.3-1.4-.1-1-.3-1.4z\"\n })\n});\nexport default headingLevel5;\n//# sourceMappingURL=heading-level-5.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel6 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.7 12.4c-.2-.3-.4-.6-.7-.9s-.6-.5-1-.6c-.4-.2-.8-.2-1.2-.2-.5 0-.9.1-1.3.3s-.8.5-1.2.8c0-.5 0-.9.2-1.4l.6-.9c.2-.2.5-.4.8-.5.6-.2 1.3-.2 1.9 0 .3.1.6.3.8.5 0 0 1.3-1.3 1.3-1.4-.4-.3-.9-.6-1.4-.8-.6-.2-1.3-.3-2-.3-.6 0-1.1.1-1.7.4-.5.2-1 .5-1.4.9-.4.4-.8 1-1 1.6-.3.7-.4 1.5-.4 2.3s.1 1.5.3 2.1c.2.6.6 1.1 1 1.5.4.4.9.7 1.4.9 1 .3 2 .3 3 0 .4-.1.8-.3 1.2-.6.3-.3.6-.6.8-1 .2-.5.3-.9.3-1.4s-.1-.9-.3-1.3zm-2 2.1c-.1.2-.3.4-.4.5-.1.1-.3.2-.5.2-.2.1-.4.1-.6.1-.2.1-.5 0-.7-.1-.2 0-.3-.2-.5-.3-.1-.2-.3-.4-.4-.6-.2-.3-.3-.7-.3-1 .3-.3.6-.5 1-.7.3-.1.7-.2 1-.2.4 0 .8.1 1.1.3.3.3.4.7.4 1.1 0 .2 0 .5-.1.7zM9 11H5V7H3v10h2v-4h4v4h2V7H9v4z\"\n })\n});\nexport default headingLevel6;\n//# sourceMappingURL=heading-level-6.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst heading = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 5V18.5911L12 13.8473L18 18.5911V5H6Z\"\n })\n});\nexport default heading;\n//# sourceMappingURL=heading.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst helpFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm.8 12.5h-1.5V15h1.5v1.5Zm2.1-5.6c-.1.5-.4 1.1-.8 1.5-.4.4-.9.7-1.4.8v.8h-1.5v-1.2c0-.6.5-1 .9-1s.7-.2 1-.5c.2-.3.4-.7.4-1 0-.4-.2-.7-.5-1-.3-.3-.6-.4-1-.4s-.8.2-1.1.4c-.3.3-.4.7-.4 1.1H9c0-.6.2-1.1.5-1.6s.7-.9 1.2-1.1c.5-.2 1.1-.3 1.6-.3s1.1.3 1.5.6c.4.3.8.8 1 1.3.2.5.2 1.1.1 1.6Z\"\n })\n});\nexport default helpFilled;\n//# sourceMappingURL=help-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst help = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4a8 8 0 1 1 .001 16.001A8 8 0 0 1 12 4Zm0 1.5a6.5 6.5 0 1 0-.001 13.001A6.5 6.5 0 0 0 12 5.5Zm.75 11h-1.5V15h1.5v1.5Zm-.445-9.234a3 3 0 0 1 .445 5.89V14h-1.5v-1.25c0-.57.452-.958.917-1.01A1.5 1.5 0 0 0 12 8.75a1.5 1.5 0 0 0-1.5 1.5H9a3 3 0 0 1 3.305-2.984Z\"\n })\n});\nexport default help;\n//# sourceMappingURL=help.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst homeButton = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.25 7A2.75 2.75 0 0 1 7 4.25h10A2.75 2.75 0 0 1 19.75 7v10A2.75 2.75 0 0 1 17 19.75H7A2.75 2.75 0 0 1 4.25 17V7ZM7 5.75c-.69 0-1.25.56-1.25 1.25v10c0 .69.56 1.25 1.25 1.25h10c.69 0 1.25-.56 1.25-1.25V7c0-.69-.56-1.25-1.25-1.25H7Z\"\n })\n});\nexport default homeButton;\n//# sourceMappingURL=home-button.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst home = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4L4 7.9V20h16V7.9L12 4zm6.5 14.5H14V13h-4v5.5H5.5V8.8L12 5.7l6.5 3.1v9.7z\"\n })\n});\nexport default home;\n//# sourceMappingURL=home.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst html = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.8 11.4H2.1V9H1v6h1.1v-2.6h2.7V15h1.1V9H4.8v2.4zm1.9-1.3h1.7V15h1.1v-4.9h1.7V9H6.7v1.1zM16.2 9l-1.5 2.7L13.3 9h-.9l-.8 6h1.1l.5-4 1.5 2.8 1.5-2.8.5 4h1.1L17 9h-.8zm3.8 5V9h-1.1v6h3.6v-1H20z\"\n })\n});\nexport default html;\n//# sourceMappingURL=html.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst image = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z\"\n })\n});\nexport default image;\n//# sourceMappingURL=image.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst inbox = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M6 5.5h12a.5.5 0 01.5.5v7H14a2 2 0 11-4 0H5.5V6a.5.5 0 01.5-.5zm-.5 9V18a.5.5 0 00.5.5h12a.5.5 0 00.5-.5v-3.5h-3.337a3.5 3.5 0 01-6.326 0H5.5zM4 13V6a2 2 0 012-2h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2v-5z\",\n clipRule: \"evenodd\"\n })\n});\nexport default inbox;\n//# sourceMappingURL=inbox.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst info = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.75 4v1.5h-1.5V8h1.5Zm0 8v-5h-1.5v5h1.5Z\"\n })\n});\nexport default info;\n//# sourceMappingURL=info.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst insertAfter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 12h2v-2h2V8h-2V6H9v2H7v2h2v2zm1 4c3.9 0 7-3.1 7-7s-3.1-7-7-7-7 3.1-7 7 3.1 7 7 7zm0-12c2.8 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.2-5 5-5zM3 19h14v-2H3v2z\"\n })\n});\nexport default insertAfter;\n//# sourceMappingURL=insert-after.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst insertBefore = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 8H9v2H7v2h2v2h2v-2h2v-2h-2V8zm-1-4c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm0 12c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM3 1v2h14V1H3z\"\n })\n});\nexport default insertBefore;\n//# sourceMappingURL=insert-before.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst institute = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M18.646 9H20V8l-1-.5L12 4 5 7.5 4 8v1h14.646zm-3-1.5L12 5.677 8.354 7.5h7.292zm-7.897 9.44v-6.5h-1.5v6.5h1.5zm5-6.5v6.5h-1.5v-6.5h1.5zm5 0v6.5h-1.5v-6.5h1.5zm2.252 8.81c0 .414-.334.75-.748.75H4.752a.75.75 0 010-1.5h14.5a.75.75 0 01.749.75z\",\n clipRule: \"evenodd\"\n })\n});\nexport default institute;\n//# sourceMappingURL=institution.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyBottom = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15 4H9v11h6V4zM4 18.5V20h16v-1.5H4z\"\n })\n});\nexport default justifyBottom;\n//# sourceMappingURL=justify-bottom.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyCenterVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 11h-5V4H9v7H4v1.5h5V20h6v-7.5h5z\"\n })\n});\nexport default justifyCenterVertical;\n//# sourceMappingURL=justify-center-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyCenter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5 15v5H11v-5H4V9h7V4h1.5v5h7v6h-7Z\"\n })\n});\nexport default justifyCenter;\n//# sourceMappingURL=justify-center.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 9v6h11V9H9zM4 20h1.5V4H4v16z\"\n })\n});\nexport default justifyLeft;\n//# sourceMappingURL=justify-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 15h11V9H4v6zM18.5 4v16H20V4h-1.5z\"\n })\n});\nexport default justifyRight;\n//# sourceMappingURL=justify-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifySpaceBetweenVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 4H17V8L7 8V4ZM7 16L17 16V20L7 20V16ZM20 11.25H4V12.75H20V11.25Z\"\n })\n});\nexport default justifySpaceBetweenVertical;\n//# sourceMappingURL=justify-space-between-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifySpaceBetween = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 15h6V9H9v6zm-5 5h1.5V4H4v16zM18.5 4v16H20V4h-1.5z\"\n })\n});\nexport default justifySpaceBetween;\n//# sourceMappingURL=justify-space-between.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyStretchVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 4L20 4L20 5.5L4 5.5L4 4ZM10 7L14 7L14 17L10 17L10 7ZM20 18.5L4 18.5L4 20L20 20L20 18.5Z\"\n })\n});\nexport default justifyStretchVertical;\n//# sourceMappingURL=justify-stretch-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyStretch = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 4H5.5V20H4V4ZM7 10L17 10V14L7 14V10ZM20 4H18.5V20H20V4Z\"\n })\n});\nexport default justifyStretch;\n//# sourceMappingURL=justify-stretch.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyTop = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 20h6V9H9v11zM4 4v1.5h16V4H4z\"\n })\n});\nexport default justifyTop;\n//# sourceMappingURL=justify-top.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst key = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 13.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM9 16a4.002 4.002 0 003.8-2.75H15V16h2.5v-2.75H19v-2.5h-6.2A4.002 4.002 0 005 12a4 4 0 004 4z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default key;\n//# sourceMappingURL=key.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst keyboardClose = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"-2 -2 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18,0 L2,0 C0.9,0 0.01,0.9 0.01,2 L0,12 C0,13.1 0.9,14 2,14 L18,14 C19.1,14 20,13.1 20,12 L20,2 C20,0.9 19.1,0 18,0 Z M18,12 L2,12 L2,2 L18,2 L18,12 Z M9,3 L11,3 L11,5 L9,5 L9,3 Z M9,6 L11,6 L11,8 L9,8 L9,6 Z M6,3 L8,3 L8,5 L6,5 L6,3 Z M6,6 L8,6 L8,8 L6,8 L6,6 Z M3,6 L5,6 L5,8 L3,8 L3,6 Z M3,3 L5,3 L5,5 L3,5 L3,3 Z M6,9 L14,9 L14,11 L6,11 L6,9 Z M12,6 L14,6 L14,8 L12,8 L12,6 Z M12,3 L14,3 L14,5 L12,5 L12,3 Z M15,6 L17,6 L17,8 L15,8 L15,6 Z M15,3 L17,3 L17,5 L15,5 L15,3 Z M10,20 L14,16 L6,16 L10,20 Z\"\n })\n});\nexport default keyboardClose;\n//# sourceMappingURL=keyboard-close.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst keyboardReturn = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m6.734 16.106 2.176-2.38-1.093-1.028-3.846 4.158 3.846 4.158 1.093-1.028-2.176-2.38h2.811c1.125 0 2.25.03 3.374 0 1.428-.001 3.362-.25 4.963-1.277 1.66-1.065 2.868-2.906 2.868-5.859 0-2.479-1.327-4.896-3.65-5.93-1.82-.813-3.044-.8-4.806-.788l-.567.002v1.5c.184 0 .368 0 .553-.002 1.82-.007 2.704-.014 4.21.657 1.854.827 2.76 2.657 2.76 4.561 0 2.472-.973 3.824-2.178 4.596-1.258.807-2.864 1.04-4.163 1.04h-.02c-1.115.03-2.229 0-3.344 0H6.734Z\"\n })\n});\nexport default keyboardReturn;\n//# sourceMappingURL=keyboard-return.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst keyboard = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m16 15.5h-8v-1.5h8zm-7.5-2.5h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm-9-3h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18.5 6.5h-13a.5.5 0 0 0 -.5.5v9.5a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9.5a.5.5 0 0 0 -.5-.5zm-13-1.5h13a2 2 0 0 1 2 2v9.5a2 2 0 0 1 -2 2h-13a2 2 0 0 1 -2-2v-9.5a2 2 0 0 1 2-2z\"\n })]\n});\nexport default keyboard;\n//# sourceMappingURL=keyboard.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst language = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 10h-1.7l-3.7 10.5h1.7l.9-2.6h3.9l.9 2.6h1.7L17.5 10zm-2.2 6.3 1.4-4 1.4 4h-2.8zm-4.8-3.8c1.6-1.8 2.9-3.6 3.7-5.7H16V5.2h-5.8V3H8.8v2.2H3v1.5h9.6c-.7 1.6-1.8 3.1-3.1 4.6C8.6 10.2 7.8 9 7.2 8H5.6c.6 1.4 1.7 2.9 2.9 4.4l-2.4 2.4c-.3.4-.7.8-1.1 1.2l1 1 1.2-1.2c.8-.8 1.6-1.5 2.3-2.3.8.9 1.7 1.7 2.5 2.5l.6-1.5c-.7-.6-1.4-1.3-2.1-2z\"\n })\n});\nexport default language;\n//# sourceMappingURL=language.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst layout = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default layout;\n//# sourceMappingURL=layout.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst levelUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m13.53 8.47-1.06 1.06-2.72-2.72V12h-1.5V6.81L5.53 9.53 4.47 8.47 9 3.94l4.53 4.53Zm-1.802 7.968c1.307.697 3.235.812 5.772.812v1.5c-2.463 0-4.785-.085-6.478-.988a4.721 4.721 0 0 1-2.07-2.13C8.48 14.67 8.25 13.471 8.25 12h1.5c0 1.328.208 2.28.548 2.969.332.675.81 1.138 1.43 1.47Z\"\n })\n});\nexport default levelUp;\n//# sourceMappingURL=level-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lifesaver = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M17.375 15.656A6.47 6.47 0 0018.5 12a6.47 6.47 0 00-.943-3.374l-1.262.813c.448.749.705 1.625.705 2.561a4.977 4.977 0 01-.887 2.844l1.262.813zm-1.951 1.87l-.813-1.261A4.976 4.976 0 0112 17c-.958 0-1.852-.27-2.613-.736l-.812 1.261A6.47 6.47 0 0012 18.5a6.47 6.47 0 003.424-.974zm-8.8-1.87A6.47 6.47 0 015.5 12c0-1.235.344-2.39.943-3.373l1.261.812A4.977 4.977 0 007 12c0 1.056.328 2.036.887 2.843l-1.262.813zm2.581-7.803A4.977 4.977 0 0112 7c1.035 0 1.996.314 2.794.853l.812-1.262A6.47 6.47 0 0012 5.5a6.47 6.47 0 00-3.607 1.092l.812 1.261zM12 20a8 8 0 100-16 8 8 0 000 16zm0-4.5a3.5 3.5 0 100-7 3.5 3.5 0 000 7z\",\n clipRule: \"evenodd\"\n })\n});\nexport default lifesaver;\n//# sourceMappingURL=lifesaver.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lineDashed = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5 11.25h3v1.5H5v-1.5zm5.5 0h3v1.5h-3v-1.5zm8.5 0h-3v1.5h3v-1.5z\",\n clipRule: \"evenodd\"\n })\n});\nexport default lineDashed;\n//# sourceMappingURL=line-dashed.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lineDotted = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5.25 11.25h1.5v1.5h-1.5v-1.5zm3 0h1.5v1.5h-1.5v-1.5zm4.5 0h-1.5v1.5h1.5v-1.5zm1.5 0h1.5v1.5h-1.5v-1.5zm4.5 0h-1.5v1.5h1.5v-1.5z\",\n clipRule: \"evenodd\"\n })\n});\nexport default lineDotted;\n//# sourceMappingURL=line-dotted.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lineSolid = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 11.25h14v1.5H5z\"\n })\n});\nexport default lineSolid;\n//# sourceMappingURL=line-solid.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst linkOff = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.031 4.703 15.576 4l-1.56 3H14v.03l-2.324 4.47H9.5V13h1.396l-1.502 2.889h-.95a3.694 3.694 0 0 1 0-7.389H10V7H8.444a5.194 5.194 0 1 0 0 10.389h.17L7.5 19.53l1.416.719L15.049 8.5h.507a3.694 3.694 0 0 1 0 7.39H14v1.5h1.556a5.194 5.194 0 0 0 .273-10.383l1.202-2.304Z\"\n })\n});\nexport default linkOff;\n//# sourceMappingURL=link-off.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst link = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 17.389H8.444A5.194 5.194 0 1 1 8.444 7H10v1.5H8.444a3.694 3.694 0 0 0 0 7.389H10v1.5ZM14 7h1.556a5.194 5.194 0 0 1 0 10.39H14v-1.5h1.556a3.694 3.694 0 0 0 0-7.39H14V7Zm-4.5 6h5v-1.5h-5V13Z\"\n })\n});\nexport default link;\n//# sourceMappingURL=link.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst listItem = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 11v1.5h8V11h-8zm-6-1c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"\n })\n});\nexport default listItem;\n//# sourceMappingURL=list-item.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst listView = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 6h11v1.5H3V6Zm3.5 5.5h11V13h-11v-1.5ZM21 17H10v1.5h11V17Z\"\n })\n});\nexport default listView;\n//# sourceMappingURL=list-view.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst list = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 4v1.5h16V4H4zm8 8.5h8V11h-8v1.5zM4 20h16v-1.5H4V20zm4-8c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2z\"\n })\n});\nexport default list;\n//# sourceMappingURL=list.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lockOutline = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1zM9.8 7c0-1.2 1-2.2 2.2-2.2 1.2 0 2.2 1 2.2 2.2v3H9.8V7zm6.7 11.5h-9v-7h9v7z\"\n })\n});\nexport default lockOutline;\n//# sourceMappingURL=lock-outline.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lockSmall = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 11h-.2V9c0-1.5-1.2-2.8-2.8-2.8S9.2 7.5 9.2 9v2H9c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1zm-1.8 0h-2.5V9c0-.7.6-1.2 1.2-1.2s1.2.6 1.2 1.2v2z\"\n })\n});\nexport default lockSmall;\n//# sourceMappingURL=lock-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lock = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1zm-2.8 0H9.8V7c0-1.2 1-2.2 2.2-2.2s2.2 1 2.2 2.2v3z\"\n })\n});\nexport default lock;\n//# sourceMappingURL=lock.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst login = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 14.5l1.1 1.1 3-3 .5-.5-.6-.6-3-3-1 1 1.7 1.7H5v1.5h7.7L11 14.5zM16.8 5h-7c-1.1 0-2 .9-2 2v1.5h1.5V7c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v10c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5v-1.5H7.8V17c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2z\"\n })\n});\nexport default login;\n//# sourceMappingURL=login.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst loop = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.1823 11.6392C18.1823 13.0804 17.0139 14.2487 15.5727 14.2487C14.3579 14.2487 13.335 13.4179 13.0453 12.2922L13.0377 12.2625L13.0278 12.2335L12.3985 10.377L12.3942 10.3785C11.8571 8.64997 10.246 7.39405 8.33961 7.39405C5.99509 7.39405 4.09448 9.29465 4.09448 11.6392C4.09448 13.9837 5.99509 15.8843 8.33961 15.8843C8.88499 15.8843 9.40822 15.781 9.88943 15.5923L9.29212 14.0697C8.99812 14.185 8.67729 14.2487 8.33961 14.2487C6.89838 14.2487 5.73003 13.0804 5.73003 11.6392C5.73003 10.1979 6.89838 9.02959 8.33961 9.02959C9.55444 9.02959 10.5773 9.86046 10.867 10.9862L10.8772 10.9836L11.4695 12.7311C11.9515 14.546 13.6048 15.8843 15.5727 15.8843C17.9172 15.8843 19.8178 13.9837 19.8178 11.6392C19.8178 9.29465 17.9172 7.39404 15.5727 7.39404C15.0287 7.39404 14.5066 7.4968 14.0264 7.6847L14.6223 9.20781C14.9158 9.093 15.2358 9.02959 15.5727 9.02959C17.0139 9.02959 18.1823 10.1979 18.1823 11.6392Z\"\n })\n});\nexport default loop;\n//# sourceMappingURL=loop.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst mapMarker = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 9c-.8 0-1.5.7-1.5 1.5S11.2 12 12 12s1.5-.7 1.5-1.5S12.8 9 12 9zm0-5c-3.6 0-6.5 2.8-6.5 6.2 0 .8.3 1.8.9 3.1.5 1.1 1.2 2.3 2 3.6.7 1 3 3.8 3.2 3.9l.4.5.4-.5c.2-.2 2.6-2.9 3.2-3.9.8-1.2 1.5-2.5 2-3.6.6-1.3.9-2.3.9-3.1C18.5 6.8 15.6 4 12 4zm4.3 8.7c-.5 1-1.1 2.2-1.9 3.4-.5.7-1.7 2.2-2.4 3-.7-.8-1.9-2.3-2.4-3-.8-1.2-1.4-2.3-1.9-3.3-.6-1.4-.7-2.2-.7-2.5 0-2.6 2.2-4.7 5-4.7s5 2.1 5 4.7c0 .2-.1 1-.7 2.4z\"\n })\n});\nexport default mapMarker;\n//# sourceMappingURL=map-marker.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst mediaAndText = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 6v11.5h8V6H3Zm11 3h7V7.5h-7V9Zm7 3.5h-7V11h7v1.5ZM14 16h7v-1.5h-7V16Z\"\n })\n});\nexport default mediaAndText;\n//# sourceMappingURL=media-and-text.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst media = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7 6.5 4 2.5-4 2.5z\"\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"m5 3c-1.10457 0-2 .89543-2 2v14c0 1.1046.89543 2 2 2h14c1.1046 0 2-.8954 2-2v-14c0-1.10457-.8954-2-2-2zm14 1.5h-14c-.27614 0-.5.22386-.5.5v10.7072l3.62953-2.6465c.25108-.1831.58905-.1924.84981-.0234l2.92666 1.8969 3.5712-3.4719c.2911-.2831.7545-.2831 1.0456 0l2.9772 2.8945v-9.3568c0-.27614-.2239-.5-.5-.5zm-14.5 14.5v-1.4364l4.09643-2.987 2.99567 1.9417c.2936.1903.6798.1523.9307-.0917l3.4772-3.3806 3.4772 3.3806.0228-.0234v2.5968c0 .2761-.2239.5-.5.5h-14c-.27614 0-.5-.2239-.5-.5z\"\n })]\n});\nexport default media;\n//# sourceMappingURL=media.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst megaphone = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M6.863 13.644L5 13.25h-.5a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5H5L18 6.5h2V16h-2l-3.854-.815.026.008a3.75 3.75 0 01-7.31-1.549zm1.477.313a2.251 2.251 0 004.356.921l-4.356-.921zm-2.84-3.28L18.157 8h.343v6.5h-.343L5.5 11.823v-1.146z\",\n clipRule: \"evenodd\"\n })\n});\nexport default megaphone;\n//# sourceMappingURL=megaphone.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst menu = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 5v1.5h14V5H5zm0 7.8h14v-1.5H5v1.5zM5 19h14v-1.5H5V19z\"\n })\n});\nexport default menu;\n//# sourceMappingURL=menu.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst mobile = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15 4H9c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h6c.3 0 .5.2.5.5v12zm-4.5-.5h2V16h-2v1.5z\"\n })\n});\nexport default mobile;\n//# sourceMappingURL=mobile.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst moreHorizontal = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 13h2v-2h-2v2zm-6 0h2v-2H5v2zm12-2v2h2v-2h-2z\"\n })\n});\nexport default moreHorizontal;\n//# sourceMappingURL=more-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst moreVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z\"\n })\n});\nexport default moreVertical;\n//# sourceMappingURL=more-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst more = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 9v1.5h16V9H4zm12 5.5h4V13h-4v1.5zm-6 0h4V13h-4v1.5zm-6 0h4V13H4v1.5z\"\n })\n});\nexport default more;\n//# sourceMappingURL=more.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst moveTo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.75 9c0-1.257-.565-2.197-1.39-2.858-.797-.64-1.827-1.017-2.815-1.247-1.802-.42-3.703-.403-4.383-.396L11 4.5V6l.177-.001c.696-.006 2.416-.02 4.028.356.887.207 1.67.518 2.216.957.52.416.829.945.829 1.688 0 .592-.167.966-.407 1.23-.255.281-.656.508-1.236.674-1.19.34-2.82.346-4.607.346h-.077c-1.692 0-3.527 0-4.942.404-.732.209-1.424.545-1.935 1.108-.526.579-.796 1.33-.796 2.238 0 1.257.565 2.197 1.39 2.858.797.64 1.827 1.017 2.815 1.247 1.802.42 3.703.403 4.383.396L13 19.5h.714V22L18 18.5 13.714 15v3H13l-.177.001c-.696.006-2.416.02-4.028-.356-.887-.207-1.67-.518-2.216-.957-.52-.416-.829-.945-.829-1.688 0-.592.167-.966.407-1.23.255-.281.656-.508 1.237-.674 1.189-.34 2.819-.346 4.606-.346h.077c1.692 0 3.527 0 4.941-.404.732-.209 1.425-.545 1.936-1.108.526-.579.796-1.33.796-2.238z\"\n })\n});\nexport default moveTo;\n//# sourceMappingURL=move-to.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst navigation = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5zM9 16l4.5-3L15 8.4l-4.5 3L9 16z\"\n })\n});\nexport default navigation;\n//# sourceMappingURL=navigation.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst next = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.6 6L5.4 7l4.5 5-4.5 5 1.1 1 5.5-6-5.4-6zm6 0l-1.1 1 4.5 5-4.5 5 1.1 1 5.5-6-5.5-6z\"\n })\n});\nexport default next;\n//# sourceMappingURL=next.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst notAllowed = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5A6.5 6.5 0 0 1 6.93 7.931l9.139 9.138A6.473 6.473 0 0 1 12 18.5Zm5.123-2.498a6.5 6.5 0 0 0-9.124-9.124l9.124 9.124ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z\"\n })\n});\nexport default notAllowed;\n//# sourceMappingURL=not-allowed.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst notFound = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5H5c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm.5 12c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V7c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v10zm-11-7.6h-.7l-3.1 4.3h2.8V15h1v-1.3h.7v-.8h-.7V9.4zm-.9 3.5H6.3l1.2-1.7v1.7zm5.6-3.2c-.4-.2-.8-.4-1.2-.4-.5 0-.9.1-1.2.4-.4.2-.6.6-.8 1-.2.4-.3.9-.3 1.5s.1 1.1.3 1.6c.2.4.5.8.8 1 .4.2.8.4 1.2.4.5 0 .9-.1 1.2-.4.4-.2.6-.6.8-1 .2-.4.3-1 .3-1.6 0-.6-.1-1.1-.3-1.5-.1-.5-.4-.8-.8-1zm0 3.6c-.1.3-.3.5-.5.7-.2.1-.4.2-.7.2-.3 0-.5-.1-.7-.2-.2-.1-.4-.4-.5-.7-.1-.3-.2-.7-.2-1.2 0-.7.1-1.2.4-1.5.3-.3.6-.5 1-.5s.7.2 1 .5c.3.3.4.8.4 1.5-.1.5-.1.9-.2 1.2zm5-3.9h-.7l-3.1 4.3h2.8V15h1v-1.3h.7v-.8h-.7V9.4zm-1 3.5H16l1.2-1.7v1.7z\"\n })\n});\nexport default notFound;\n//# sourceMappingURL=not-found.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst offline = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M1.36605 2.81332L2.30144 1.87332L13.5592 13.1867L12.6239 14.1267L7.92702 9.40666C6.74618 9.41999 5.57861 9.87999 4.68302 10.78L3.35623 9.44665C4.19874 8.60665 5.2071 8.03999 6.2818 7.75332L4.7958 6.25999C3.78744 6.67332 2.84542 7.29332 2.02944 8.11332L0.702656 6.77999C1.512 5.97332 2.42085 5.33332 3.3894 4.84665L1.36605 2.81332ZM15.2973 6.77999L13.9705 8.11332C12.3054 6.43999 10.1096 5.61332 7.92039 5.62666L6.20883 3.90665C9.41303 3.34665 12.8229 4.29332 15.2973 6.77999ZM10.1759 7.89332C11.0781 8.21332 11.9273 8.72665 12.6438 9.44665L12.1794 9.90665L10.1759 7.89332ZM6.00981 12.1133L8 14.1133L9.99018 12.1133C8.89558 11.0067 7.11105 11.0067 6.00981 12.1133Z\"\n })\n});\nexport default offline;\n//# sourceMappingURL=offline.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst overlayText = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12-9.8c.4 0 .8-.3.9-.7l1.1-3h3.6l.5 1.7h1.9L13 9h-2.2l-3.4 9.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12H20V6c0-1.1-.9-2-2-2zm-6 7l1.4 3.9h-2.7L12 11z\"\n })\n});\nexport default overlayText;\n//# sourceMappingURL=overlay-text.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pageBreak = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 9V6a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v3H8V6a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v3h1.5Zm0 6.5V18a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2v-2.5H8V18a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2.5h1.5ZM4 13h16v-1.5H4V13Z\"\n })\n});\nexport default pageBreak;\n//# sourceMappingURL=page-break.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst page = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M15.5 7.5h-7V9h7V7.5Zm-7 3.5h7v1.5h-7V11Zm7 3.5h-7V16h7v-1.5Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M17 4H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2ZM7 5.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H7a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5Z\"\n })]\n});\nexport default page;\n//# sourceMappingURL=page.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst pages = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M14.5 5.5h-7V7h7V5.5ZM7.5 9h7v1.5h-7V9Zm7 3.5h-7V14h7v-1.5Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M16 2H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2ZM6 3.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V4a.5.5 0 0 1 .5-.5Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M20 8v11c0 .69-.31 1-.999 1H6v1.5h13.001c1.52 0 2.499-.982 2.499-2.5V8H20Z\"\n })]\n});\nexport default pages;\n//# sourceMappingURL=pages.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst paragraph = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m9.99609 14v-.2251l.00391.0001v6.225h1.5v-14.5h2.5v14.5h1.5v-14.5h3v-1.5h-8.50391c-2.76142 0-5 2.23858-5 5 0 2.7614 2.23858 5 5 5z\"\n })\n});\nexport default paragraph;\n//# sourceMappingURL=paragraph.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst payment = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5.5 9.5v-2h13v2h-13zm0 3v4h13v-4h-13zM4 7a1 1 0 011-1h14a1 1 0 011 1v10a1 1 0 01-1 1H5a1 1 0 01-1-1V7z\",\n clipRule: \"evenodd\"\n })\n});\nexport default payment;\n//# sourceMappingURL=payment.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pencil = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m19 7-3-3-8.5 8.5-1 4 4-1L19 7Zm-7 11.5H5V20h7v-1.5Z\"\n })\n});\nexport default pencil;\n//# sourceMappingURL=pencil.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pending = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8 4a4 4 0 0 1-4-4h4V8a4 4 0 0 1 0 8Z\"\n })\n});\nexport default pending;\n//# sourceMappingURL=pending.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst people = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15.5 9.5a1 1 0 100-2 1 1 0 000 2zm0 1.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zm-2.25 6v-2a2.75 2.75 0 00-2.75-2.75h-4A2.75 2.75 0 003.75 15v2h1.5v-2c0-.69.56-1.25 1.25-1.25h4c.69 0 1.25.56 1.25 1.25v2h1.5zm7-2v2h-1.5v-2c0-.69-.56-1.25-1.25-1.25H15v-1.5h2.5A2.75 2.75 0 0120.25 15zM9.5 8.5a1 1 0 11-2 0 1 1 0 012 0zm1.5 0a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0z\",\n fillRule: \"evenodd\"\n })\n});\nexport default people;\n//# sourceMappingURL=people.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst percent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M6.5 8a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zM8 5a3 3 0 100 6 3 3 0 000-6zm6.5 11a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zm1.5-3a3 3 0 100 6 3 3 0 000-6zM5.47 17.41a.75.75 0 001.06 1.06L18.47 6.53a.75.75 0 10-1.06-1.06L5.47 17.41z\",\n clipRule: \"evenodd\"\n })\n});\nexport default percent;\n//# sourceMappingURL=percent.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pinSmall = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.97 10.159a3.382 3.382 0 0 0-2.857.955l1.724 1.723-2.836 2.913L7 17h1.25l2.913-2.837 1.723 1.723a3.38 3.38 0 0 0 .606-.825c.33-.63.446-1.343.35-2.032L17 10.695 13.305 7l-2.334 3.159Z\"\n })\n});\nexport default pinSmall;\n//# sourceMappingURL=pin-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pin = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m21.5 9.1-6.6-6.6-4.2 5.6c-1.2-.1-2.4.1-3.6.7-.1 0-.1.1-.2.1-.5.3-.9.6-1.2.9l3.7 3.7-5.7 5.7v1.1h1.1l5.7-5.7 3.7 3.7c.4-.4.7-.8.9-1.2.1-.1.1-.2.2-.3.6-1.1.8-2.4.6-3.6l5.6-4.1zm-7.3 3.5.1.9c.1.9 0 1.8-.4 2.6l-6-6c.8-.4 1.7-.5 2.6-.4l.9.1L15 4.9 19.1 9l-4.9 3.6z\"\n })\n});\nexport default pin;\n//# sourceMappingURL=pin.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plugins = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.5 4v4h3V4H15v4h1.5a1 1 0 011 1v4l-3 4v2a1 1 0 01-1 1h-3a1 1 0 01-1-1v-2l-3-4V9a1 1 0 011-1H9V4h1.5zm.5 12.5v2h2v-2l3-4v-3H8v3l3 4z\"\n })\n});\nexport default plugins;\n//# sourceMappingURL=plugins.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plusCircleFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm3.8 8.8h-3v3h-1.5v-3h-3v-1.5h3v-3h1.5v3h3v1.5Z\"\n })\n});\nexport default plusCircleFilled;\n//# sourceMappingURL=plus-circle-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plusCircle = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.404 16.596a6.5 6.5 0 1 0 9.192-9.192 6.5 6.5 0 0 0-9.192 9.192ZM6.344 6.343a8 8 0 1 0 11.313 11.314A8 8 0 0 0 6.343 6.343Zm4.906 9.407v-3h-3v-1.5h3v-3h1.5v3h3v1.5h-3v3h-1.5Z\"\n })\n});\nexport default plusCircle;\n//# sourceMappingURL=plus-circle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plus = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z\"\n })\n});\nexport default plus;\n//# sourceMappingURL=plus.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst positionCenter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM7 9h10v6H7V9Z\"\n })\n});\nexport default positionCenter;\n//# sourceMappingURL=position-center.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst positionLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 5.5h8V4H5v1.5ZM5 20h8v-1.5H5V20ZM19 9H5v6h14V9Z\"\n })\n});\nexport default positionLeft;\n//# sourceMappingURL=position-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst positionRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5.5h-8V4h8v1.5ZM19 20h-8v-1.5h8V20ZM5 9h14v6H5V9Z\"\n })\n});\nexport default positionRight;\n//# sourceMappingURL=position-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postAuthor = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 4.5a1 1 0 11-2 0 1 1 0 012 0zm1.5 0a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm2.25 7.5v-1A2.75 2.75 0 0011 8.25H7A2.75 2.75 0 004.25 11v1h1.5v-1c0-.69.56-1.25 1.25-1.25h4c.69 0 1.25.56 1.25 1.25v1h1.5zM4 20h9v-1.5H4V20zm16-4H4v-1.5h16V16z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default postAuthor;\n//# sourceMappingURL=post-author.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postCategories = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 4H4v1.5h16V4zm-2 9h-3c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zm.5 5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-3c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3zM4 9.5h9V8H4v1.5zM9 13H6c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zm.5 5c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-3c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default postCategories;\n//# sourceMappingURL=post-categories.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postCommentsCount = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 8H4v1.5h9V8zM4 4v1.5h16V4H4zm9 8H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1V13c0-.6-.4-1-1-1zm-2.2 6.6H7l1.6-2.2c.3-.4.5-.7.6-.9.1-.2.2-.4.2-.5 0-.2-.1-.3-.1-.4-.1-.1-.2-.1-.4-.1s-.4 0-.6.1c-.3.1-.5.3-.7.4l-.2.2-.2-1.2.1-.1c.3-.2.5-.3.8-.4.3-.1.6-.1.9-.1.3 0 .6.1.9.2.2.1.4.3.6.5.1.2.2.5.2.7 0 .3-.1.6-.2.9-.1.3-.4.7-.7 1.1l-.5.6h1.6v1.2z\"\n })\n});\nexport default postCommentsCount;\n//# sourceMappingURL=post-comments-count.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postCommentsForm = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 8H4v1.5h9V8zM4 4v1.5h16V4H4zm9 8H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1V13c0-.6-.4-1-1-1zm-.5 6.6H6.7l-1.2 1.2v-6.3h7v5.1z\"\n })\n});\nexport default postCommentsForm;\n//# sourceMappingURL=post-comments-form.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postComments = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 10.1V4c0-.6-.4-1-1-1H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1zm-1.5-.5H6.7l-1.2 1.2V4.5h7v5.1zM19 12h-8c-.6 0-1 .4-1 1v6.1c0 .6.4 1 1 1h5.7l1.8 1.8c.1.2.4.3.6.3.1 0 .2 0 .3-.1.4-.1.6-.5.6-.8V13c0-.6-.4-1-1-1zm-.5 7.8l-1.2-1.2h-5.8v-5.1h7v6.3z\"\n })\n});\nexport default postComments;\n//# sourceMappingURL=post-comments.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postContent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 6h12V4.5H4V6Zm16 4.5H4V9h16v1.5ZM4 15h16v-1.5H4V15Zm0 4.5h16V18H4v1.5Z\"\n })\n});\nexport default postContent;\n//# sourceMappingURL=post-content.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst postDate = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M11.696 13.972c.356-.546.599-.958.728-1.235a1.79 1.79 0 00.203-.783c0-.264-.077-.47-.23-.618-.148-.153-.354-.23-.618-.23-.295 0-.569.07-.82.212a3.413 3.413 0 00-.738.571l-.147-1.188c.289-.234.59-.41.903-.526.313-.117.66-.175 1.041-.175.375 0 .695.08.959.24.264.153.46.362.59.626.135.265.203.556.203.876 0 .362-.08.734-.24 1.115-.154.381-.427.87-.82 1.466l-.756 1.152H14v1.106h-4l1.696-2.609z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M19.5 7h-15v12a.5.5 0 00.5.5h14a.5.5 0 00.5-.5V7zM3 7V5a2 2 0 012-2h14a2 2 0 012 2v14a2 2 0 01-2 2H5a2 2 0 01-2-2V7z\"\n })]\n});\nexport default postDate;\n//# sourceMappingURL=post-date.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postExcerpt = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.001 3.984V9.47c0 1.518-.98 2.5-2.499 2.5h-.5v-1.5h.5c.69 0 1-.31 1-1V6.984H4v-3h4.001ZM4 20h9v-1.5H4V20Zm16-4H4v-1.5h16V16ZM13.001 3.984V9.47c0 1.518-.98 2.5-2.499 2.5h-.5v-1.5h.5c.69 0 1-.31 1-1V6.984H9v-3h4.001Z\"\n })\n});\nexport default postExcerpt;\n//# sourceMappingURL=post-excerpt.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postFeaturedImage = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-.6 0-1 .4-1 1v7c0 .5.4 1 1 1h14c.5 0 1-.4 1-1V4c0-.6-.4-1-1-1zM5.5 10.5v-.4l1.8-1.3 1.3.8c.3.2.7.2.9-.1L11 8.1l2.4 2.4H5.5zm13 0h-2.9l-4-4c-.3-.3-.8-.3-1.1 0L8.9 8l-1.2-.8c-.3-.2-.6-.2-.9 0l-1.3 1V4.5h13v6zM4 20h9v-1.5H4V20zm0-4h16v-1.5H4V16z\"\n })\n});\nexport default postFeaturedImage;\n//# sourceMappingURL=post-featured-image.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postList = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 5.5H6a.5.5 0 0 0-.5.5v12a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.5-.5ZM6 4h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Zm1 5h1.5v1.5H7V9Zm1.5 4.5H7V15h1.5v-1.5ZM10 9h7v1.5h-7V9Zm7 4.5h-7V15h7v-1.5Z\"\n })\n});\nexport default postList;\n//# sourceMappingURL=post-list.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postTerms = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.1 12.3c.1.1.3.3.5.3.2.1.4.1.6.1.2 0 .4 0 .6-.1.2-.1.4-.2.5-.3l3-3c.3-.3.5-.7.5-1.1 0-.4-.2-.8-.5-1.1L9.7 3.5c-.1-.2-.3-.3-.5-.3H5c-.4 0-.8.4-.8.8v4.2c0 .2.1.4.2.5l3.7 3.6zM5.8 4.8h3.1l3.4 3.4v.1l-3 3 .5.5-.7-.5-3.3-3.4V4.8zM4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4z\"\n })\n});\nexport default postTerms;\n//# sourceMappingURL=post-terms.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst post = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m7.3 9.7 1.4 1.4c.2-.2.3-.3.4-.5 0 0 0-.1.1-.1.3-.5.4-1.1.3-1.6L12 7 9 4 7.2 6.5c-.6-.1-1.1 0-1.6.3 0 0-.1 0-.1.1-.3.1-.4.2-.6.4l1.4 1.4L4 11v1h1l2.3-2.3zM4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4z\"\n })\n});\nexport default post;\n//# sourceMappingURL=post.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst preformatted = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12zM7 16.5h6V15H7v1.5zm4-4h6V11h-6v1.5zM9 11H7v1.5h2V11zm6 5.5h2V15h-2v1.5z\"\n })\n});\nexport default preformatted;\n//# sourceMappingURL=preformatted.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst previous = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.6 7l-1.1-1L5 12l5.5 6 1.1-1L7 12l4.6-5zm6 0l-1.1-1-5.5 6 5.5 6 1.1-1-4.6-5 4.6-5z\"\n })\n});\nexport default previous;\n//# sourceMappingURL=previous.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst published = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm11.53-1.47-1.06-1.06L11 12.94l-1.47-1.47-1.06 1.06L11 15.06l4.53-4.53Z\"\n })\n});\nexport default published;\n//# sourceMappingURL=published.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pullLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 18h6V6H4v12zm9-9.5V10h7V8.5h-7zm0 7h7V14h-7v1.5z\"\n })\n});\nexport default pullLeft;\n//# sourceMappingURL=pull-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pullRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 6v12h6V6h-6zM4 10h7V8.5H4V10zm0 5.5h7V14H4v1.5z\"\n })\n});\nexport default pullRight;\n//# sourceMappingURL=pull-right.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pullquote = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 8H6c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-4c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v4zM4 4v1.5h16V4H4zm0 16h16v-1.5H4V20z\"\n })\n});\nexport default pullquote;\n//# sourceMappingURL=pullquote.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPaginationNext = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 13.5h3v-3H5v3zm5 0h3v-3h-3v3zM17 9l-1 1 2 2-2 2 1 1 3-3-3-3z\"\n })\n});\nexport default queryPaginationNext;\n//# sourceMappingURL=query-pagination-next.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPaginationNumbers = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 13.5h6v-3H4v3zm8.2-2.5.8-.3V14h1V9.3l-2.2.7.4 1zm7.1-1.2c-.5-.6-1.2-.5-1.7-.4-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5h2.7v-1h-.9c.3-.6.8-1.4.9-2.1 0-.3-.1-.8-.3-1.1z\"\n })\n});\nexport default queryPaginationNumbers;\n//# sourceMappingURL=query-pagination-numbers.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPaginationPrevious = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 10.5v3h3v-3h-3zm-5 3h3v-3h-3v3zM7 9l-3 3 3 3 1-1-2-2 2-2-1-1z\"\n })\n});\nexport default queryPaginationPrevious;\n//# sourceMappingURL=query-pagination-previous.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPagination = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 13.5h6v-3H4v3zm8 0h3v-3h-3v3zm5-3v3h3v-3h-3z\"\n })\n});\nexport default queryPagination;\n//# sourceMappingURL=query-pagination.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst quote = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 6v6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H13zm-9 6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H4v6z\"\n })\n});\nexport default quote;\n//# sourceMappingURL=quote.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst receipt = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M16.83 6.342l.602.3.625-.25.443-.176v12.569l-.443-.178-.625-.25-.603.301-1.444.723-2.41-.804-.475-.158-.474.158-2.41.803-1.445-.722-.603-.3-.625.25-.443.177V6.215l.443.178.625.25.603-.301 1.444-.722 2.41.803.475.158.474-.158 2.41-.803 1.445.722zM20 4l-1.5.6-1 .4-2-1-3 1-3-1-2 1-1-.4L5 4v17l1.5-.6 1-.4 2 1 3-1 3 1 2-1 1 .4 1.5.6V4zm-3.5 6.25v-1.5h-8v1.5h8zm0 3v-1.5h-8v1.5h8zm-8 3v-1.5h8v1.5h-8z\",\n clipRule: \"evenodd\"\n })\n});\nexport default receipt;\n//# sourceMappingURL=receipt.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst redo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15.6 6.5l-1.1 1 2.9 3.3H8c-.9 0-1.7.3-2.3.9-1.4 1.5-1.4 4.2-1.4 5.6v.2h1.5v-.3c0-1.1 0-3.5 1-4.5.3-.3.7-.5 1.3-.5h9.2L14.5 15l1.1 1.1 4.6-4.6-4.6-5z\"\n })\n});\nexport default redo;\n//# sourceMappingURL=redo.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst removeBug = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.45474 21.2069L16.4547 3.7069L15.5453 3.29114L14.2837 6.05081C13.5991 5.69873 12.8228 5.49999 12 5.49999C10.9385 5.49999 9.95431 5.83076 9.1448 6.39485L7.18994 4.44L6.12928 5.50066L8.05556 7.42694C7.49044 8.15127 7.12047 9.0353 7.02469 9.99999H5V11.5H7V13H5V14.5H7.10002C7.35089 15.7359 8.0576 16.8062 9.03703 17.5279L7.54526 20.7911L8.45474 21.2069ZM9.68024 16.1209C8.95633 15.4796 8.5 14.5431 8.5 13.5V10.5C8.5 8.567 10.067 6.99999 12 6.99999C12.6003 6.99999 13.1653 7.15111 13.659 7.41738L9.68024 16.1209ZM15.3555 9.50155L16.1645 7.73191C16.6053 8.39383 16.8926 9.16683 16.9753 9.99999H19V11.5H17V13H19V14.5H16.9C16.4367 16.7822 14.419 18.5 12 18.5C11.7508 18.5 11.5058 18.4818 11.2664 18.4466L11.928 16.9993C11.9519 16.9998 11.9759 17 12 17C13.933 17 15.5 15.433 15.5 13.5V10.5C15.5 10.1531 15.4495 9.81794 15.3555 9.50155Z\"\n })\n});\nexport default removeBug;\n//# sourceMappingURL=remove-bug.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst removeSubmenu = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"m13.955 20.748 8-17.5-.91-.416L19.597 6H13.5v1.5h5.411l-1.6 3.5H13.5v1.5h3.126l-1.6 3.5H13.5l.028 1.5h.812l-1.295 2.832.91.416ZM17.675 16l-.686 1.5h4.539L21.5 16h-3.825Zm2.286-5-.686 1.5H21.5V11h-1.54ZM2 12c0 3.58 2.42 5.5 6 5.5h.5V19l3-2.5-3-2.5v2H8c-2.48 0-4.5-1.52-4.5-4S5.52 7.5 8 7.5h3.5V6H8c-3.58 0-6 2.42-6 6Z\"\n })\n});\nexport default removeSubmenu;\n//# sourceMappingURL=remove-submenu.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst replace = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 10h4c.6 0 1-.4 1-1V5c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1zm-8 4H4c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1zm10-2.6L14.5 15l1.1 1.1 1.7-1.7c-.1 1.1-.3 2.3-.9 2.9-.3.3-.7.5-1.3.5h-4.5v1.5H15c.9 0 1.7-.3 2.3-.9 1-1 1.3-2.7 1.4-4l1.8 1.8 1.1-1.1-3.6-3.7zM6.8 9.7c.1-1.1.3-2.3.9-2.9.4-.4.8-.6 1.3-.6h4.5V4.8H9c-.9 0-1.7.3-2.3.9-1 1-1.3 2.7-1.4 4L3.5 8l-1 1L6 12.6 9.5 9l-1-1-1.7 1.7z\"\n })\n});\nexport default replace;\n//# sourceMappingURL=replace.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst reset = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 11.5h10V13H7z\"\n })\n});\nexport default reset;\n//# sourceMappingURL=reset.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst resizeCornerNE = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 18h4.5v1.5h-7v-7H6V17L17 6h-4.5V4.5h7v7H18V7L7 18Z\"\n })\n});\nexport default resizeCornerNE;\n//# sourceMappingURL=resize-corner-n-e.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst reusableBlock = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 7.2h8.2L13.5 9l1.1 1.1 3.6-3.6-3.5-4-1.1 1 1.9 2.3H7c-.9 0-1.7.3-2.3.9-1.4 1.5-1.4 4.2-1.4 5.6v.2h1.5v-.3c0-1.1 0-3.5 1-4.5.3-.3.7-.5 1.2-.5zm13.8 4V11h-1.5v.3c0 1.1 0 3.5-1 4.5-.3.3-.7.5-1.3.5H8.8l1.7-1.7-1.1-1.1L5.9 17l3.5 4 1.1-1-1.9-2.3H17c.9 0 1.7-.3 2.3-.9 1.5-1.4 1.5-4.2 1.5-5.6z\"\n })\n});\nexport default reusableBlock;\n//# sourceMappingURL=reusable-block.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst rotateLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4V2.2L9 4.8l3 2.5V5.5c3.6 0 6.5 2.9 6.5 6.5 0 2.9-1.9 5.3-4.5 6.2v.2l-.1-.2c-.4.1-.7.2-1.1.2l.2 1.5c.3 0 .6-.1 1-.2 3.5-.9 6-4 6-7.7 0-4.4-3.6-8-8-8zm-7.9 7l1.5.2c.1-1.2.5-2.3 1.2-3.2l-1.1-.9C4.8 8.2 4.3 9.6 4.1 11zm1.5 1.8l-1.5.2c.1.7.3 1.4.5 2 .3.7.6 1.3 1 1.8l1.2-.8c-.3-.5-.6-1-.8-1.5s-.4-1.1-.4-1.7zm1.5 5.5c1.1.9 2.4 1.4 3.8 1.6l.2-1.5c-1.1-.1-2.2-.5-3.1-1.2l-.9 1.1z\"\n })\n});\nexport default rotateLeft;\n//# sourceMappingURL=rotate-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst rotateRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15.1 4.8l-3-2.5V4c-4.4 0-8 3.6-8 8 0 3.7 2.5 6.9 6 7.7.3.1.6.1 1 .2l.2-1.5c-.4 0-.7-.1-1.1-.2l-.1.2v-.2c-2.6-.8-4.5-3.3-4.5-6.2 0-3.6 2.9-6.5 6.5-6.5v1.8l3-2.5zM20 11c-.2-1.4-.7-2.7-1.6-3.8l-1.2.8c.7.9 1.1 2 1.3 3.1L20 11zm-1.5 1.8c-.1.5-.2 1.1-.4 1.6s-.5 1-.8 1.5l1.2.9c.4-.5.8-1.1 1-1.8s.5-1.3.5-2l-1.5-.2zm-5.6 5.6l.2 1.5c1.4-.2 2.7-.7 3.8-1.6l-.9-1.1c-.9.7-2 1.1-3.1 1.2z\"\n })\n});\nexport default rotateRight;\n//# sourceMappingURL=rotate-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst row = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 6.5h5a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H4V16h5a.5.5 0 0 0 .5-.5v-7A.5.5 0 0 0 9 8H4V6.5Zm16 0h-5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h5V16h-5a.5.5 0 0 1-.5-.5v-7A.5.5 0 0 1 15 8h5V6.5Z\"\n })\n});\nexport default row;\n//# sourceMappingURL=row.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst rss = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 10.2h-.8v1.5H5c1.9 0 3.8.8 5.1 2.1 1.4 1.4 2.1 3.2 2.1 5.1v.8h1.5V19c0-2.3-.9-4.5-2.6-6.2-1.6-1.6-3.8-2.6-6.1-2.6zm10.4-1.6C12.6 5.8 8.9 4.2 5 4.2h-.8v1.5H5c3.5 0 6.9 1.4 9.4 3.9s3.9 5.8 3.9 9.4v.8h1.5V19c0-3.9-1.6-7.6-4.4-10.4zM4 20h3v-3H4v3z\"\n })\n});\nexport default rss;\n//# sourceMappingURL=rss.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst scheduled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm9 1V8h-1.5v3.5h-2V13H13Z\"\n })\n});\nexport default scheduled;\n//# sourceMappingURL=scheduled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst search = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z\"\n })\n});\nexport default search;\n//# sourceMappingURL=search.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst seen = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3.99961 13C4.67043 13.3354 4.6703 13.3357 4.67017 13.3359L4.67298 13.3305C4.67621 13.3242 4.68184 13.3135 4.68988 13.2985C4.70595 13.2686 4.7316 13.2218 4.76695 13.1608C4.8377 13.0385 4.94692 12.8592 5.09541 12.6419C5.39312 12.2062 5.84436 11.624 6.45435 11.0431C7.67308 9.88241 9.49719 8.75 11.9996 8.75C14.502 8.75 16.3261 9.88241 17.5449 11.0431C18.1549 11.624 18.6061 12.2062 18.9038 12.6419C19.0523 12.8592 19.1615 13.0385 19.2323 13.1608C19.2676 13.2218 19.2933 13.2686 19.3093 13.2985C19.3174 13.3135 19.323 13.3242 19.3262 13.3305L19.3291 13.3359C19.3289 13.3357 19.3288 13.3354 19.9996 13C20.6704 12.6646 20.6703 12.6643 20.6701 12.664L20.6697 12.6632L20.6688 12.6614L20.6662 12.6563L20.6583 12.6408C20.6517 12.6282 20.6427 12.6108 20.631 12.5892C20.6078 12.5459 20.5744 12.4852 20.5306 12.4096C20.4432 12.2584 20.3141 12.0471 20.1423 11.7956C19.7994 11.2938 19.2819 10.626 18.5794 9.9569C17.1731 8.61759 14.9972 7.25 11.9996 7.25C9.00203 7.25 6.82614 8.61759 5.41987 9.9569C4.71736 10.626 4.19984 11.2938 3.85694 11.7956C3.68511 12.0471 3.55605 12.2584 3.4686 12.4096C3.42484 12.4852 3.39142 12.5459 3.36818 12.5892C3.35656 12.6108 3.34748 12.6282 3.34092 12.6408L3.33297 12.6563L3.33041 12.6614L3.32948 12.6632L3.32911 12.664C3.32894 12.6643 3.32879 12.6646 3.99961 13ZM11.9996 16C13.9326 16 15.4996 14.433 15.4996 12.5C15.4996 10.567 13.9326 9 11.9996 9C10.0666 9 8.49961 10.567 8.49961 12.5C8.49961 14.433 10.0666 16 11.9996 16Z\"\n })\n});\nexport default seen;\n//# sourceMappingURL=seen.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst send = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.332 5.748c-1.03-.426-2.06.607-1.632 1.636l1.702 3.93 7.481.575c.123.01.123.19 0 .2l-7.483.575-1.7 3.909c-.429 1.029.602 2.062 1.632 1.636l12.265-5.076c1.03-.426 1.03-1.884 0-2.31L6.332 5.748Z\"\n })\n});\nexport default send;\n//# sourceMappingURL=send.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst separator = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.5 12.5v4H3V7h1.5v3.987h15V7H21v9.5h-1.5v-4h-15Z\"\n })\n});\nexport default separator;\n//# sourceMappingURL=separator.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst settings = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m19 7.5h-7.628c-.3089-.87389-1.1423-1.5-2.122-1.5-.97966 0-1.81309.62611-2.12197 1.5h-2.12803v1.5h2.12803c.30888.87389 1.14231 1.5 2.12197 1.5.9797 0 1.8131-.62611 2.122-1.5h7.628z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m19 15h-2.128c-.3089-.8739-1.1423-1.5-2.122-1.5s-1.8131.6261-2.122 1.5h-7.628v1.5h7.628c.3089.8739 1.1423 1.5 2.122 1.5s1.8131-.6261 2.122-1.5h2.128z\"\n })]\n});\nexport default settings;\n//# sourceMappingURL=settings.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shadow = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 8c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm0 6.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zM12.8 3h-1.5v3h1.5V3zm-1.6 18h1.5v-3h-1.5v3zm6.8-9.8v1.5h3v-1.5h-3zm-12 0H3v1.5h3v-1.5zm9.7 5.6 2.1 2.1 1.1-1.1-2.1-2.1-1.1 1.1zM8.3 7.2 6.2 5.1 5.1 6.2l2.1 2.1 1.1-1.1zM5.1 17.8l1.1 1.1 2.1-2.1-1.1-1.1-2.1 2.1zM18.9 6.2l-1.1-1.1-2.1 2.1 1.1 1.1 2.1-2.1z\"\n })\n});\nexport default shadow;\n//# sourceMappingURL=shadow.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst share = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11.8l6.1-4.5c.1.4.4.7.9.7h2c.6 0 1-.4 1-1V5c0-.6-.4-1-1-1h-2c-.6 0-1 .4-1 1v.4l-6.4 4.8c-.2-.1-.4-.2-.6-.2H6c-.6 0-1 .4-1 1v2c0 .6.4 1 1 1h2c.2 0 .4-.1.6-.2l6.4 4.8v.4c0 .6.4 1 1 1h2c.6 0 1-.4 1-1v-2c0-.6-.4-1-1-1h-2c-.5 0-.8.3-.9.7L9 12.2v-.4z\"\n })\n});\nexport default share;\n//# sourceMappingURL=share.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shield = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 3.176l6.75 3.068v4.574c0 3.9-2.504 7.59-6.035 8.755a2.283 2.283 0 01-1.43 0c-3.53-1.164-6.035-4.856-6.035-8.755V6.244L12 3.176zM6.75 7.21v3.608c0 3.313 2.145 6.388 5.005 7.33.159.053.331.053.49 0 2.86-.942 5.005-4.017 5.005-7.33V7.21L12 4.824 6.75 7.21z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default shield;\n//# sourceMappingURL=shield.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shipping = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 6.75C3 5.784 3.784 5 4.75 5H15V7.313l.05.027 5.056 2.73.394.212v3.468a1.75 1.75 0 01-1.75 1.75h-.012a2.5 2.5 0 11-4.975 0H9.737a2.5 2.5 0 11-4.975 0H3V6.75zM13.5 14V6.5H4.75a.25.25 0 00-.25.25V14h.965a2.493 2.493 0 011.785-.75c.7 0 1.332.287 1.785.75H13.5zm4.535 0h.715a.25.25 0 00.25-.25v-2.573l-4-2.16v4.568a2.487 2.487 0 011.25-.335c.7 0 1.332.287 1.785.75zM6.282 15.5a1.002 1.002 0 00.968 1.25 1 1 0 10-.968-1.25zm9 0a1 1 0 101.937.498 1 1 0 00-1.938-.498z\"\n })\n});\nexport default shipping;\n//# sourceMappingURL=shipping.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shortcode = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 4.2v1.5h2.5v12.5H16v1.5h4V4.2h-4zM4.2 19.8h4v-1.5H5.8V5.8h2.5V4.2h-4l-.1 15.6zm5.1-3.1l1.4.6 4-10-1.4-.6-4 10z\"\n })\n});\nexport default shortcode;\n//# sourceMappingURL=shortcode.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shuffle = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/SVG\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.192 6.75L15.47 5.03l1.06-1.06 3.537 3.53-3.537 3.53-1.06-1.06 1.723-1.72h-3.19c-.602 0-.993.202-1.28.498-.309.319-.538.792-.695 1.383-.13.488-.222 1.023-.296 1.508-.034.664-.116 1.413-.303 2.117-.193.721-.513 1.467-1.068 2.04-.575.594-1.359.954-2.357.954H4v-1.5h4.003c.601 0 .993-.202 1.28-.498.308-.319.538-.792.695-1.383.149-.557.216-1.093.288-1.662l.039-.31a9.653 9.653 0 0 1 .272-1.653c.193-.722.513-1.467 1.067-2.04.576-.594 1.36-.954 2.358-.954h3.19zM8.004 6.75c.8 0 1.46.23 1.988.628a6.24 6.24 0 0 0-.684 1.396 1.725 1.725 0 0 0-.024-.026c-.287-.296-.679-.498-1.28-.498H4v-1.5h4.003zM12.699 14.726c-.161.459-.38.94-.684 1.396.527.397 1.188.628 1.988.628h3.19l-1.722 1.72 1.06 1.06L20.067 16l-3.537-3.53-1.06 1.06 1.723 1.72h-3.19c-.602 0-.993-.202-1.28-.498a1.96 1.96 0 0 1-.024-.026z\"\n })\n});\nexport default shuffle;\n//# sourceMappingURL=shuffle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst sidebar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default sidebar;\n//# sourceMappingURL=sidebar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst sidesAll = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\"\n })\n});\nexport default sidesAll;\n//# sourceMappingURL=sides-all.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst sidesAxial = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.2 5.3h8V3.8h-8v1.5zm0 14.5h8v-1.5h-8v1.5zm3.5-6.5h1v-1h-1v1zm1-6.5h-1v.5h1v-.5zm-1 4.5h1v-1h-1v1zm0-2h1v-1h-1v1zm0 7.5h1v-.5h-1v.5zm1-2.5h-1v1h1v-1zm-8.5 1.5h1.5v-8H4.2v8zm14.5-8v8h1.5v-8h-1.5zm-5 4.5v-1h-1v1h1zm-6.5 0h.5v-1h-.5v1zm3.5-1v1h1v-1h-1zm6 1h.5v-1h-.5v1zm-8-1v1h1v-1h-1zm6 0v1h1v-1h-1z\"\n })\n});\nexport default sidesAxial;\n//# sourceMappingURL=sides-axial.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesBottom = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m16.5 19.5h-9v-1.5h9z\"\n })]\n});\nexport default sidesBottom;\n//# sourceMappingURL=sides-bottom.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesHorizontal = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4.5 7.5v9h1.5v-9z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18 7.5v9h1.5v-9z\"\n })]\n});\nexport default sidesHorizontal;\n//# sourceMappingURL=sides-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesLeft = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4.5 16.5v-9h1.5v9z\"\n })]\n});\nexport default sidesLeft;\n//# sourceMappingURL=sides-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesRight = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18 16.5v-9h1.5v9z\"\n })]\n});\nexport default sidesRight;\n//# sourceMappingURL=sides-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesTop = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m16.5 6h-9v-1.5h9z\"\n })]\n});\nexport default sidesTop;\n//# sourceMappingURL=sides-top.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesVertical = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 19.5h9v-1.5h-9z\"\n })]\n});\nexport default sidesVertical;\n//# sourceMappingURL=sides-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst siteLogo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 1.5c3.4 0 6.2 2.7 6.5 6l-1.2-.6-.8-.4c-.1 0-.2 0-.3-.1H16c-.1-.2-.4-.2-.7 0l-2.9 2.1L9 11.3h-.7L5.5 13v-1.1c0-3.6 2.9-6.5 6.5-6.5Zm0 13c-2.7 0-5-1.7-6-4l2.8-1.7 3.5 1.2h.4s.2 0 .4-.2l2.9-2.1.4.2c.6.3 1.4.7 2.1 1.1-.5 3.1-3.2 5.4-6.4 5.4Z\"\n })\n});\nexport default siteLogo;\n//# sourceMappingURL=site-logo.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst square = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fill: \"none\",\n d: \"M5.75 12.75V18.25H11.25M12.75 5.75H18.25V11.25\",\n stroke: \"currentColor\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"square\"\n })\n});\nexport default square;\n//# sourceMappingURL=square.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stack = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 4v5a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2V4H8v5a.5.5 0 0 0 .5.5h7A.5.5 0 0 0 16 9V4h1.5Zm0 16v-5a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v5H8v-5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v5h1.5Z\"\n })\n});\nexport default stack;\n//# sourceMappingURL=stack.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst starEmpty = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M9.706 8.646a.25.25 0 01-.188.137l-4.626.672a.25.25 0 00-.139.427l3.348 3.262a.25.25 0 01.072.222l-.79 4.607a.25.25 0 00.362.264l4.138-2.176a.25.25 0 01.233 0l4.137 2.175a.25.25 0 00.363-.263l-.79-4.607a.25.25 0 01.072-.222l3.347-3.262a.25.25 0 00-.139-.427l-4.626-.672a.25.25 0 01-.188-.137l-2.069-4.192a.25.25 0 00-.448 0L9.706 8.646zM12 7.39l-.948 1.921a1.75 1.75 0 01-1.317.957l-2.12.308 1.534 1.495c.412.402.6.982.503 1.55l-.362 2.11 1.896-.997a1.75 1.75 0 011.629 0l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39z\",\n clipRule: \"evenodd\"\n })\n});\nexport default starEmpty;\n//# sourceMappingURL=star-empty.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst starFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z\"\n })\n});\nexport default starFilled;\n//# sourceMappingURL=star-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst starHalf = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9.518 8.783a.25.25 0 00.188-.137l2.069-4.192a.25.25 0 01.448 0l2.07 4.192a.25.25 0 00.187.137l4.626.672a.25.25 0 01.139.427l-3.347 3.262a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.363.264l-4.137-2.176a.25.25 0 00-.233 0l-4.138 2.175a.25.25 0 01-.362-.263l.79-4.607a.25.25 0 00-.072-.222L4.753 9.882a.25.25 0 01.14-.427l4.625-.672zM12 14.533c.28 0 .559.067.814.2l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39v7.143z\"\n })\n});\nexport default starHalf;\n//# sourceMappingURL=star-half.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst store = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M19.75 11H21V8.667L19.875 4H4.125L3 8.667V11h1.25v8.75h15.5V11zm-1.5 0H5.75v7.25H10V13h4v5.25h4.25V11zm-5.5-5.5h2.067l.486 3.24.028.76H12.75v-4zm-3.567 0h2.067v4H8.669l.028-.76.486-3.24zm7.615 3.1l-.464-3.1h2.36l.806 3.345V9.5h-2.668l-.034-.9zM7.666 5.5h-2.36L4.5 8.845V9.5h2.668l.034-.9.464-3.1z\",\n clipRule: \"evenodd\"\n })\n});\nexport default store;\n//# sourceMappingURL=store.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stretchFullWidth = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 4h14v11H5V4Zm11 16H8v-1.5h8V20Z\"\n })\n});\nexport default stretchFullWidth;\n//# sourceMappingURL=stretch-full-width.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stretchWide = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 5.5H8V4h8v1.5ZM16 20H8v-1.5h8V20ZM5 9h14v6H5V9Z\"\n })\n});\nexport default stretchWide;\n//# sourceMappingURL=stretch-wide.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const styles = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20 12a8 8 0 1 1-16 0 8 8 0 0 1 16 0Zm-1.5 0a6.5 6.5 0 0 1-6.5 6.5v-13a6.5 6.5 0 0 1 6.5 6.5Z\"\n })\n});\nexport default styles;\n//# sourceMappingURL=styles.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst subscript = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.9 18.3l.8-1.2c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.1-.3-.4-.5-.6-.7-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.2 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3L15 19.4h4.3v-1.2h-2.4zM14.1 7.2h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z\"\n })\n});\nexport default subscript;\n//# sourceMappingURL=subscript.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst superscript = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.9 10.3l.8-1.3c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.2-.2-.4-.4-.7-.6-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.1 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3l-1.8 2.8h4.3v-1.2h-2.2zm-2.8-3.1h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z\"\n })\n});\nexport default superscript;\n//# sourceMappingURL=superscript.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst swatch = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7.1 5.7 8 6.9c.4-.3.9-.6 1.5-.8l-.6-1.4c-.7.3-1.3.6-1.8 1ZM4.6 8.9l1.4.6c.2-.5.5-1 .8-1.5l-1.2-.9c-.4.6-.8 1.2-1 1.8Zm14.8 0c-.3-.7-.6-1.3-1-1.8l-1.2.9c.3.4.6.9.8 1.5l1.4-.6ZM7.1 18.3c.6.4 1.2.8 1.8 1l.6-1.4c-.5-.2-1-.5-1.5-.8l-.9 1.2ZM5.5 12v-.9h-.7l-.7-.2v2l1.5-.2v-.9Zm-.7 3h-.2c.3.7.6 1.3 1 1.9l1.2-.9c-.3-.4-.6-.9-.8-1.5l-1.2.5Zm9.7 3 .5 1.2v.2c.7-.3 1.3-.6 1.9-1l-.9-1.2c-.4.3-.9.6-1.5.8Zm-2.5.5h-.9l-.2 1.3v.2h2l-.2-1.5h-.9Zm7.9-7.5-1.5.2V13h.7l.7.2v-2ZM18 14.5c-.2.5-.5 1-.8 1.5l1.2.9c.4-.6.8-1.2 1-1.8h-.2l-1.2-.6ZM11 4.1l.2 1.5H13V4.2h-1.9ZM14.5 6c.5.2 1 .5 1.5.8l.9-1.2c-.6-.4-1.2-.8-1.8-1L14.5 6Z\"\n })\n});\nexport default swatch;\n//# sourceMappingURL=swatch.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst symbolFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-17.6 1L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z\"\n })\n});\nexport default symbolFilled;\n//# sourceMappingURL=symbol-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst symbol = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-1 1.4l-5.6 5.6c-.1.1-.3.1-.4 0l-5.6-5.6c-.1-.1-.1-.3 0-.4l5.6-5.6s.1-.1.2-.1.1 0 .2.1l5.6 5.6c.1.1.1.3 0 .4zm-16.6-.4L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z\"\n })\n});\nexport default symbol;\n//# sourceMappingURL=symbol.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableColumnAfter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14.2c.1.9.9 1.7 1.8 1.8H19.2c1-.1 1.8-1 1.8-2V5c0-1.1-.9-2-2-2ZM8.5 19.5H5c-.3 0-.5-.2-.5-.5v-3.5h4v4Zm0-5.5h-4v-4h4v4Zm0-5.5h-4V5c0-.3.2-.5.5-.5h3.5v4Zm11 10.5c0 .3-.2.5-.5.5h-9v-15h9c.3 0 .5.2.5.5v14Zm-4-10.8H14v3h-3v1.5h3v3h1.5v-3h3v-1.5h-3v-3Z\"\n })\n});\nexport default tableColumnAfter;\n//# sourceMappingURL=table-column-after.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableColumnBefore = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1 .8 1.9 1.8 2H19.2c.9-.1 1.7-.9 1.8-1.8V5c0-1.1-.9-2-2-2Zm-5 16.5H5c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h9v15Zm5.5-.5c0 .3-.2.5-.5.5h-3.5v-4h4V19Zm0-5h-4v-4h4v4Zm0-5.5h-4v-4H19c.3 0 .5.2.5.5v3.5Zm-11 7.3H10v-3h3v-1.5h-3v-3H8.5v3h-3v1.5h3v3Z\"\n })\n});\nexport default tableColumnBefore;\n//# sourceMappingURL=table-column-before.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableColumnDelete = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14.2c.1.9.9 1.7 1.8 1.8H19.2c1-.1 1.8-1 1.8-2V5c0-1.1-.9-2-2-2ZM8.5 19.5H5c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h3.5v15Zm11-.5c0 .3-.2.5-.5.5h-9v-15h9c.3 0 .5.2.5.5v14ZM16.9 8.8l-2.1 2.1-2.1-2.1-1.1 1.1 2.1 2.1-2.1 2.1 1.1 1.1 2.1-2.1 2.1 2.1 1.1-1.1-2.1-2.1L18 9.9l-1.1-1.1Z\"\n })\n});\nexport default tableColumnDelete;\n//# sourceMappingURL=table-column-delete.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst tableOfContents = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20 9.484h-8.889v-1.5H20v1.5Zm0 7h-4.889v-1.5H20v1.5Zm-14 .032a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M13 15.516a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM8 8.484a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\"\n })]\n});\nexport default tableOfContents;\n//# sourceMappingURL=table-of-contents.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableRowAfter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H4.8c-.9.1-1.7.9-1.8 1.8V19.2c.1 1 1 1.8 2 1.8h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm-9 1.5h4v4h-4v-4ZM4.5 5c0-.3.2-.5.5-.5h3.5v4h-4V5Zm15 14c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-9h15v9Zm0-10.5h-4v-4H19c.3 0 .5.2.5.5v3.5Zm-8.3 10h1.5v-3h3V14h-3v-3h-1.5v3h-3v1.5h3v3Z\"\n })\n});\nexport default tableRowAfter;\n//# sourceMappingURL=table-row-after.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableRowBefore = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M21 5c0-1.1-.9-2-2-2H5c-1 0-1.9.8-2 1.8V19.2c.1.9.9 1.7 1.8 1.8H19c1.1 0 2-.9 2-2V5ZM4.5 14V5c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v9h-15Zm4 5.5H5c-.3 0-.5-.2-.5-.5v-3.5h4v4Zm5.5 0h-4v-4h4v4Zm5.5-.5c0 .3-.2.5-.5.5h-3.5v-4h4V19ZM11.2 10h-3V8.5h3v-3h1.5v3h3V10h-3v3h-1.5v-3Z\"\n })\n});\nexport default tableRowBefore;\n//# sourceMappingURL=table-row-before.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableRowDelete = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H4.8c-.9.1-1.7.9-1.8 1.8V19.2c.1 1 1 1.8 2 1.8h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-9h15v9Zm0-10.5h-15V5c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v3.5Zm-9.6 9.4 2.1-2.1 2.1 2.1 1.1-1.1-2.1-2.1 2.1-2.1-1.1-1.1-2.1 2.1-2.1-2.1-1.1 1.1 2.1 2.1-2.1 2.1 1.1 1.1Z\"\n })\n});\nexport default tableRowDelete;\n//# sourceMappingURL=table-row-delete.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst table = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm.5 2v6.2h-6.8V4.4h6.2c.3 0 .5.2.5.5ZM5 4.5h6.2v6.8H4.4V5.1c0-.3.2-.5.5-.5ZM4.5 19v-6.2h6.8v6.8H5.1c-.3 0-.5-.2-.5-.5Zm14.5.5h-6.2v-6.8h6.8v6.2c0 .3-.2.5-.5.5Z\"\n })\n});\nexport default table;\n//# sourceMappingURL=table.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tablet = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 4H7c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H7c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v12zm-7.5-.5h4V16h-4v1.5z\"\n })\n});\nexport default tablet;\n//# sourceMappingURL=tablet.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tag = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.75 4a.75.75 0 0 0-.75.75v7.826c0 .2.08.39.22.53l6.72 6.716a2.313 2.313 0 0 0 3.276-.001l5.61-5.611-.531-.53.532.528a2.315 2.315 0 0 0 0-3.264L13.104 4.22a.75.75 0 0 0-.53-.22H4.75ZM19 12.576a.815.815 0 0 1-.236.574l-5.61 5.611a.814.814 0 0 1-1.153 0L5.5 12.264V5.5h6.763l6.5 6.502a.816.816 0 0 1 .237.574ZM8.75 9.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"\n })\n});\nexport default tag;\n//# sourceMappingURL=tag.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tag = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.08 10.103h2.914L9.657 12h1.417L8.23 4H6.846L4 12h1.417l.663-1.897Zm1.463-4.137.994 2.857h-2l1.006-2.857ZM11 16H4v-1.5h7V16Zm1 0h8v-1.5h-8V16Zm-4 4H4v-1.5h4V20Zm7-1.5V20H9v-1.5h6Z\"\n })\n});\nexport default tag;\n//# sourceMappingURL=term-description.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textColor = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.9 6h-2l-4 11h1.9l1.1-3h4.2l1.1 3h1.9L12.9 6zm-2.5 6.5l1.5-4.9 1.7 4.9h-3.2z\"\n })\n});\nexport default textColor;\n//# sourceMappingURL=text-color.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textHorizontal = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.2 14.4h3.9L13 17h1.7L11 6.5H9.3L5.6 17h1.7l.9-2.6zm2-5.5 1.4 4H8.8l1.4-4zm7.4 7.5-1.3.8.8 1.4H5.5V20h14.3l-2.2-3.6z\"\n })\n});\nexport default textHorizontal;\n//# sourceMappingURL=text-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 5.6v1.7l2.6.9v3.9L7 13v1.7L17.5 11V9.3L7 5.6zm4.2 6V8.8l4 1.4-4 1.4zm-5.7 5.6V5.5H4v14.3l3.6-2.2-.8-1.3-1.3.9z\"\n })\n});\nexport default textVertical;\n//# sourceMappingURL=text-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst thumbsDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.8 4h-1.5l1 8h1.5l-1-8ZM17 5.8c-.1-1-1-1.8-2-1.8H6.8c-.9 0-1.7.6-1.9 1.4l-1.8 6C2.7 12.7 3.7 14 5 14h4.4l-.8 3.6c-.3 1.3.7 2.4 1.9 2.4h.2c.6 0 1.2-.3 1.6-.8l5-6.6c.3-.4.5-.9.4-1.5L17 5.7Zm-.9 5.9-5 6.6c0 .1-.2.2-.4.2h-.2c-.3 0-.6-.3-.5-.6l.8-3.6c.1-.4 0-.9-.3-1.3s-.7-.6-1.2-.6H4.9c-.3 0-.6-.3-.5-.6l1.8-6c0-.2.3-.4.5-.4h8.2c.3 0 .5.2.5.4l.7 5.4v.4Z\"\n })\n});\nexport default thumbsDown;\n//# sourceMappingURL=thumbs-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst thumbsUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m3 12 1 8h1.5l-1-8H3Zm15.8-2h-4.4l.8-3.6c.3-1.3-.7-2.4-1.9-2.4h-.2c-.6 0-1.2.3-1.6.8l-5 6.6c-.3.4-.4.8-.4 1.2v.2l.7 5.4v.2c.2.9 1 1.5 1.9 1.5h8.2c.9 0 1.7-.6 1.9-1.4l1.8-6c.4-1.3-.6-2.6-1.9-2.6Zm.5 2.1-1.8 6c0 .2-.3.4-.5.4H8.8c-.3 0-.5-.2-.5-.4l-.7-5.4v-.4l5-6.6c0-.1.2-.2.4-.2h.2c.3 0 .6.3.5.6l-.8 3.6c-.1.4 0 .9.3 1.3s.7.6 1.2.6h4.4c.3 0 .6.3.5.6Z\"\n })\n});\nexport default thumbsUp;\n//# sourceMappingURL=thumbs-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tip = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 15.8c-3.7 0-6.8-3-6.8-6.8s3-6.8 6.8-6.8c3.7 0 6.8 3 6.8 6.8s-3.1 6.8-6.8 6.8zm0-12C9.1 3.8 6.8 6.1 6.8 9s2.4 5.2 5.2 5.2c2.9 0 5.2-2.4 5.2-5.2S14.9 3.8 12 3.8zM8 17.5h8V19H8zM10 20.5h4V22h-4z\"\n })\n});\nexport default tip;\n//# sourceMappingURL=tip.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst title = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m4 5.5h2v6.5h1.5v-6.5h2v-1.5h-5.5zm16 10.5h-16v-1.5h16zm-7 4h-9v-1.5h9z\"\n })\n});\nexport default title;\n//# sourceMappingURL=title.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tool = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.103 7.128l2.26-2.26a4 4 0 00-5.207 4.804L5.828 15a2 2 0 102.828 2.828l5.329-5.328a4 4 0 004.804-5.208l-2.261 2.26-1.912-.512-.513-1.912zm-7.214 9.64a.5.5 0 11.707-.707.5.5 0 01-.707.707z\"\n })\n});\nexport default tool;\n//# sourceMappingURL=tool.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst trash = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 5.5A2.25 2.25 0 0 0 9.878 7h4.244A2.251 2.251 0 0 0 12 5.5ZM12 4a3.751 3.751 0 0 0-3.675 3H5v1.5h1.27l.818 8.997a2.75 2.75 0 0 0 2.739 2.501h4.347a2.75 2.75 0 0 0 2.738-2.5L17.73 8.5H19V7h-3.325A3.751 3.751 0 0 0 12 4Zm4.224 4.5H7.776l.806 8.861a1.25 1.25 0 0 0 1.245 1.137h4.347a1.25 1.25 0 0 0 1.245-1.137l.805-8.861Z\"\n })\n});\nexport default trash;\n//# sourceMappingURL=trash.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst trendingDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.195 8.245a.75.75 0 011.06-.05l5.004 4.55 4.025-3.521L19 13.939V10.75h1.5v5.75h-5.75V15h3.19l-3.724-3.723-3.975 3.478-5.995-5.45a.75.75 0 01-.051-1.06z\"\n })\n});\nexport default trendingDown;\n//# sourceMappingURL=trending-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst trendingUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3.445 16.505a.75.75 0 001.06.05l5.005-4.55 4.024 3.521 4.716-4.715V14h1.5V8.25H14v1.5h3.19l-3.724 3.723L9.49 9.995l-5.995 5.45a.75.75 0 00-.05 1.06z\"\n })\n});\nexport default trendingUp;\n//# sourceMappingURL=trending-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst typography = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m8.6 7 3.9 10.8h-1.7l-1-2.8H5.7l-1 2.8H3L6.9 7h1.7Zm-2.4 6.6h3L7.7 9.3l-1.5 4.3ZM17.691 8.879c.473 0 .88.055 1.221.165.352.1.643.264.875.495.274.253.456.572.544.957.088.374.132.83.132 1.37v4.554c0 .274.033.472.099.593.077.11.198.166.363.166.11 0 .215-.028.313-.083.11-.055.237-.137.38-.247l.165.28a3.304 3.304 0 0 1-.71.446c-.23.11-.527.165-.89.165-.352 0-.639-.055-.858-.165-.22-.11-.386-.27-.495-.479-.1-.209-.149-.468-.149-.775-.286.462-.627.814-1.023 1.056-.396.242-.858.363-1.386.363-.462 0-.858-.088-1.188-.264a1.752 1.752 0 0 1-.742-.726 2.201 2.201 0 0 1-.248-1.056c0-.484.11-.875.33-1.172.22-.308.5-.556.841-.742.352-.187.721-.341 1.106-.462.396-.132.765-.253 1.106-.363.351-.121.637-.259.857-.413.232-.154.347-.357.347-.61V10.81c0-.396-.066-.71-.198-.941a1.05 1.05 0 0 0-.511-.511 1.763 1.763 0 0 0-.76-.149c-.253 0-.522.039-.808.116a1.165 1.165 0 0 0-.677.412 1.1 1.1 0 0 1 .595.396c.165.187.247.424.247.71 0 .307-.104.55-.313.726-.198.176-.451.263-.76.263-.34 0-.594-.104-.758-.313a1.231 1.231 0 0 1-.248-.759c0-.297.072-.539.214-.726.154-.187.352-.363.595-.528.264-.176.6-.324 1.006-.445.418-.121.88-.182 1.386-.182Zm.99 3.729a1.57 1.57 0 0 1-.528.462c-.231.121-.479.248-.742.38a5.377 5.377 0 0 0-.76.462c-.23.165-.423.38-.577.643-.154.264-.231.6-.231 1.007 0 .429.11.77.33 1.023.22.242.517.363.891.363.308 0 .594-.088.858-.264.275-.176.528-.44.759-.792v-3.284Z\"\n })\n});\nexport default typography;\n//# sourceMappingURL=typography.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst undo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.3 11.7c-.6-.6-1.4-.9-2.3-.9H6.7l2.9-3.3-1.1-1-4.5 5L8.5 16l1-1-2.7-2.7H16c.5 0 .9.2 1.3.5 1 1 1 3.4 1 4.5v.3h1.5v-.2c0-1.5 0-4.3-1.5-5.7z\"\n })\n});\nexport default undo;\n//# sourceMappingURL=undo.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ungroup = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4h-7c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 9c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7zm-5 5c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h1V9H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-1h-1.5v1z\"\n })\n});\nexport default ungroup;\n//# sourceMappingURL=ungroup.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst unlock = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8h1.5c0-1.2 1-2.2 2.2-2.2s2.2 1 2.2 2.2v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1z\"\n })\n});\nexport default unlock;\n//# sourceMappingURL=unlock.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst unseen = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.7 12.7s0-.1-.1-.2c0-.2-.2-.4-.4-.6-.3-.5-.9-1.2-1.6-1.8-.7-.6-1.5-1.3-2.6-1.8l-.6 1.4c.9.4 1.6 1 2.1 1.5.6.6 1.1 1.2 1.4 1.6.1.2.3.4.3.5v.1l.7-.3.7-.3Zm-5.2-9.3-1.8 4c-.5-.1-1.1-.2-1.7-.2-3 0-5.2 1.4-6.6 2.7-.7.7-1.2 1.3-1.6 1.8-.2.3-.3.5-.4.6 0 0 0 .1-.1.2s0 0 .7.3l.7.3V13c0-.1.2-.3.3-.5.3-.4.7-1 1.4-1.6 1.2-1.2 3-2.3 5.5-2.3H13v.3c-.4 0-.8-.1-1.1-.1-1.9 0-3.5 1.6-3.5 3.5s.6 2.3 1.6 2.9l-2 4.4.9.4 7.6-16.2-.9-.4Zm-3 12.6c1.7-.2 3-1.7 3-3.5s-.2-1.4-.6-1.9L12.4 16Z\"\n })\n});\nexport default unseen;\n//# sourceMappingURL=unseen.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst update = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m11.3 17.2-5-5c-.1-.1-.1-.3 0-.4l2.3-2.3-1.1-1-2.3 2.3c-.7.7-.7 1.8 0 2.5l5 5H7.5v1.5h5.3v-5.2h-1.5v2.6zm7.5-6.4-5-5h2.7V4.2h-5.2v5.2h1.5V6.8l5 5c.1.1.1.3 0 .4l-2.3 2.3 1.1 1.1 2.3-2.3c.6-.7.6-1.9-.1-2.5z\"\n })\n});\nexport default update;\n//# sourceMappingURL=update.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst upload = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 15v3.5H13V6.7l4.5 4.1 1-1.1-6.2-5.8-5.8 5.8 1 1.1 4-4v11.7h-6V15H4v5h16v-5z\"\n })\n});\nexport default upload;\n//# sourceMappingURL=upload.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst verse = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.8 2l-.9.3c-.1 0-3.6 1-5.2 2.1C10 5.5 9.3 6.5 8.9 7.1c-.6.9-1.7 4.7-1.7 6.3l-.9 2.3c-.2.4 0 .8.4 1 .1 0 .2.1.3.1.3 0 .6-.2.7-.5l.6-1.5c.3 0 .7-.1 1.2-.2.7-.1 1.4-.3 2.2-.5.8-.2 1.6-.5 2.4-.8.7-.3 1.4-.7 1.9-1.2s.8-1.2 1-1.9c.2-.7.3-1.6.4-2.4.1-.8.1-1.7.2-2.5 0-.8.1-1.5.2-2.1V2zm-1.9 5.6c-.1.8-.2 1.5-.3 2.1-.2.6-.4 1-.6 1.3-.3.3-.8.6-1.4.9-.7.3-1.4.5-2.2.8-.6.2-1.3.3-1.8.4L15 7.5c.3-.3.6-.7 1-1.1 0 .4 0 .8-.1 1.2zM6 20h8v-1.5H6V20z\"\n })\n});\nexport default verse;\n//# sourceMappingURL=verse.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst video = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h13.4c.4 0 .8.4.8.8v13.4zM10 15l5-3-5-3v6z\"\n })\n});\nexport default video;\n//# sourceMappingURL=video.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst widget = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 3H8V5H16V3H18V5C19.1046 5 20 5.89543 20 7V19C20 20.1046 19.1046 21 18 21H6C4.89543 21 4 20.1046 4 19V7C4 5.89543 4.89543 5 6 5V3ZM18 6.5H6C5.72386 6.5 5.5 6.72386 5.5 7V8H18.5V7C18.5 6.72386 18.2761 6.5 18 6.5ZM18.5 9.5H5.5V19C5.5 19.2761 5.72386 19.5 6 19.5H18C18.2761 19.5 18.5 19.2761 18.5 19V9.5ZM11 11H13V13H11V11ZM7 11V13H9V11H7ZM15 13V11H17V13H15Z\"\n })\n});\nexport default widget;\n//# sourceMappingURL=widget.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst wordpress = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"-2 -2 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z\"\n })\n});\nexport default wordpress;\n//# sourceMappingURL=wordpress.js.map","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import './styles.scss';\n\nimport clsx from 'clsx';\nimport type { AppContentProps } from '../../types';\n\nexport const AppContent = ( { className, children }: AppContentProps ) => {\n\treturn (\n\t\t<div className={ clsx( 'popup-maker-app-content', className ) }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n};\n\nexport default AppContent;\n","// extracted by mini-css-extract-plugin\nexport {};","import './styles.scss';\n\nimport { useRef } from '@wordpress/element';\nimport {\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { __ } from '@popup-maker/i18n';\nimport { lifesaver, login, pages, people } from '@wordpress/icons';\nimport { ControlledTabPanel } from '@popup-maker/components';\nimport type { AppHeaderProps } from '../../types';\nimport {\n\tHeaderStartSlot,\n\tHeaderEndSlot,\n\tHeaderActionsSlot,\n\tSupportMenuSlot,\n} from '../../slots';\n\nexport const AppHeader = ( {\n\ttitle = __( 'Popup Maker', 'popup-maker' ),\n\tbrandingUrl = 'https://wppopupmaker.com?utm_campaign=plugin-info&utm_source=plugin-admin-header&utm_medium=plugin-ui&utm_content=header-logo',\n\ttabs = [],\n\tcurrentTab,\n\tonTabChange,\n\tsupportMenuItems = [],\n\tshowSupport = true,\n\tadminUrl = '',\n}: AppHeaderProps ) => {\n\tconst btnRef = useRef< HTMLButtonElement | null >( null );\n\tconst { assetsUrl } = window.popupMaker.globalVars;\n\t// Default support menu items\n\tconst defaultSupportItems = [\n\t\t{\n\t\t\ticon: pages,\n\t\t\tlabel: __( 'View Documentation', 'popup-maker' ),\n\t\t\thref: 'https://wppopupmaker.com/docs/?utm_campaign=plugin-support&utm_source=plugin-admin-header&utm_medium=plugin-ui&utm_content=view-documentation-link',\n\t\t\ttarget: '_blank',\n\t\t\tgroup: 'primary',\n\t\t},\n\t\t{\n\t\t\ticon: people,\n\t\t\tlabel: __( 'Get Support', 'popup-maker' ),\n\t\t\thref: 'https://wppopupmaker.com/support/?utm_campaign=plugin-support&utm_source=plugin-admin-header&utm_medium=plugin-ui&utm_content=get-support-link',\n\t\t\ttarget: '_blank',\n\t\t\tgroup: 'primary',\n\t\t},\n\t\t{\n\t\t\ticon: login,\n\t\t\tlabel: __( 'Grant Support Access', 'popup-maker' ),\n\t\t\tonClick: () => {\n\t\t\t\tif ( adminUrl ) {\n\t\t\t\t\twindow.location.href = `${ adminUrl }options-general.php?page=grant-popup-maker-access`;\n\t\t\t\t}\n\t\t\t},\n\t\t\tgroup: 'secondary',\n\t\t},\n\t\t...supportMenuItems,\n\t];\n\n\t// Group support items\n\tconst groupedItems = defaultSupportItems.reduce(\n\t\t( acc, item ) => {\n\t\t\tconst group = item.group || 'primary';\n\t\t\tif ( ! acc[ group ] ) {\n\t\t\t\tacc[ group ] = [];\n\t\t\t}\n\t\t\tacc[ group ].push( item );\n\t\t\treturn acc;\n\t\t},\n\t\t{} as Record< string, typeof defaultSupportItems >\n\t);\n\n\treturn (\n\t\t<div className=\"popup-maker-app-header\">\n\t\t\t<HeaderStartSlot />\n\n\t\t\t<h1 className=\"branding wp-heading-inline\">\n\t\t\t\t<a\n\t\t\t\t\thref={ brandingUrl }\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t>\n\t\t\t\t\t<img src={ `${ assetsUrl }images/mark.svg` } alt=\"\" />\n\t\t\t\t\t{ title }\n\t\t\t\t</a>\n\t\t\t</h1>\n\n\t\t\t{ tabs.length > 0 && (\n\t\t\t\t<ControlledTabPanel\n\t\t\t\t\tclassName=\"tabs\"\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\tselected={ currentTab || null }\n\t\t\t\t\tonSelect={ ( tabName: string ) => {\n\t\t\t\t\t\tconst tab = tabs.find( ( t ) => t.name === tabName );\n\n\t\t\t\t\t\tif ( tab?.onClick ) {\n\t\t\t\t\t\t\t// Allow short circuiting of tab change\n\t\t\t\t\t\t\tif ( false === tab.onClick() ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tonTabChange?.( tabName );\n\t\t\t\t\t} }\n\t\t\t\t\ttabs={ tabs }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<div className=\"popup-maker-app-header__actions\">\n\t\t\t\t<HeaderActionsSlot />\n\n\t\t\t\t{ showSupport && (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tlabel={ __( 'Support', 'popup-maker' ) }\n\t\t\t\t\t\ticon={ lifesaver }\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tas: ( { onClick } ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ticon={ lifesaver }\n\t\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t\t\t\tclassName=\"components-tab-panel__tabs-item support-link\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span ref={ btnRef }>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Support', 'popup-maker' ) }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tnoArrow: false,\n\t\t\t\t\t\t\tposition: 'bottom left',\n\t\t\t\t\t\t\tclassName: 'popup-maker-support-menu',\n\t\t\t\t\t\t\tanchor: {\n\t\t\t\t\t\t\t\tgetBoundingClientRect: () =>\n\t\t\t\t\t\t\t\t\tbtnRef?.current?.getBoundingClientRect(),\n\t\t\t\t\t\t\t} as Element,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ Object.entries( groupedItems ).map(\n\t\t\t\t\t\t\t\t\t( [ group, items ] ) => (\n\t\t\t\t\t\t\t\t\t\t<MenuGroup key={ group }>\n\t\t\t\t\t\t\t\t\t\t\t{ items.map( ( item ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ item.label }\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ item.icon }\n\t\t\t\t\t\t\t\t\t\t\t\t\t// @ts-ignore - Undocumented, but accepts all button props.\n\t\t\t\t\t\t\t\t\t\t\t\t\thref={ item.href }\n\t\t\t\t\t\t\t\t\t\t\t\t\ttarget={ item.target }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif ( item.onClick ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.onClick();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif ( ! item.href ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ item.label }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<SupportMenuSlot fillProps={ { onClose } } />\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</div>\n\n\t\t\t<HeaderEndSlot />\n\t\t</div>\n\t);\n};\n\nexport default AppHeader;\n","// extracted by mini-css-extract-plugin\nexport {};","import './styles.scss';\n\nimport clsx from 'clsx';\nimport { SlotFillProvider } from '@wordpress/components';\nimport type { AppLayoutProps } from '../../types';\n\nexport const AppLayout = ( { className, children }: AppLayoutProps ) => {\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<div className={ clsx( 'popup-maker-app-layout', className ) }>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</SlotFillProvider>\n\t);\n};\n\nexport default AppLayout;\n","// extracted by mini-css-extract-plugin\nexport {};","import { createSlotFill } from '@wordpress/components';\n\n/**\n * SlotFill for adding items to the start of the header\n */\nexport const { Fill: HeaderStartFill, Slot: HeaderStartSlot } = createSlotFill(\n\t'PopupMakerLayoutHeaderStart'\n);\n\n/**\n * SlotFill for adding items to the end of the header\n */\nexport const { Fill: HeaderEndFill, Slot: HeaderEndSlot } = createSlotFill(\n\t'PopupMakerLayoutHeaderEnd'\n);\n\n/**\n * SlotFill for adding action items to the header (before support dropdown)\n */\nexport const { Fill: HeaderActionsFill, Slot: HeaderActionsSlot } =\n\tcreateSlotFill( 'PopupMakerLayoutHeaderActions' );\n\n/**\n * SlotFill for adding items to the support dropdown menu\n */\nexport const { Fill: SupportMenuFill, Slot: SupportMenuSlot } = createSlotFill(\n\t'PopupMakerLayoutSupportMenu'\n);\n","// extracted by mini-css-extract-plugin\nexport {};","import type { TabComponent } from '@popup-maker/types';\n\nexport interface AppLayoutProps {\n\tclassName?: string;\n\tchildren: React.ReactNode;\n}\n\nexport interface AppHeaderProps {\n\ttitle?: string;\n\tbrandingUrl?: string;\n\ttabs?: TabComponent[];\n\tcurrentTab?: string;\n\tonTabChange?: ( tabName: string ) => void;\n\tsupportMenuItems?: SupportMenuItem[];\n\tshowSupport?: boolean;\n\tadminUrl?: string;\n}\n\nexport interface AppContentProps {\n\tclassName?: string;\n\tchildren: React.ReactNode;\n}\n\nexport interface SupportMenuItem {\n\ticon?: JSX.Element;\n\tlabel: string;\n\thref?: string;\n\tonClick?: () => void;\n\ttarget?: string;\n\tgroup?: string;\n}\n","module.exports = window[\"popupMaker\"][\"components\"];","module.exports = window[\"popupMaker\"][\"i18n\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"primitives\"];","module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './styles.scss';\n\nexport * from './components/app-layout';\nexport * from './components/app-header';\nexport * from './components/app-content';\nexport * from './slots';\nexport * from './types';\n"],"names":["clsx","jsx","_jsx","AppContent","className","children","useRef","Button","DropdownMenu","MenuGroup","MenuItem","__","lifesaver","login","pages","people","ControlledTabPanel","HeaderStartSlot","HeaderEndSlot","HeaderActionsSlot","SupportMenuSlot","jsxs","_jsxs","Fragment","_Fragment","AppHeader","title","brandingUrl","tabs","currentTab","onTabChange","supportMenuItems","showSupport","adminUrl","btnRef","assetsUrl","window","popupMaker","globalVars","defaultSupportItems","icon","label","href","target","group","onClick","location","groupedItems","reduce","acc","item","push","rel","src","alt","length","orientation","selected","onSelect","tabName","tab","find","t","name","toggleProps","as","variant","ref","popoverProps","noArrow","position","anchor","getBoundingClientRect","current","onClose","Object","entries","map","items","fillProps","SlotFillProvider","AppLayout","createSlotFill","Fill","HeaderStartFill","Slot","HeaderEndFill","HeaderActionsFill","SupportMenuFill"],"sourceRoot":""} dist/packages/admin-bar-rtl.css 0000644 00000021241 15174671772 0012451 0 ustar 00 #wpadminbar{z-index:999999999998}#wp-admin-bar-popup-maker li#wp-admin-bar-flush-popup-cache a{color:#66b266!important}#wp-admin-bar-popup-maker>.ab-item:before{aspect-ratio:1/1;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTc5IiBoZWlnaHQ9IjE3OSIgdmlld0JveD0iMCAwIDE3OSAxNzkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMjMuNzkxIDExOS4wMzFDMTI2LjA1IDExNi40MjYgMTI3LjQ4NSAxMTMuMjA5IDEyNy45MTYgMTA5Ljc4OEMxMjguMzQ3IDEwNi4zNjYgMTI3Ljc1MyAxMDIuODk0IDEyNi4yMSA5OS44MUwxMDYuNTk1IDYwLjU4M0MxMDUuMTQ3IDU3LjY4NzUgMTAyLjkyMSA1NS4yNTI1IDEwMC4xNjcgNTMuNTUwNkM5Ny40MTMgNTEuODQ4OCA5NC4yMzk0IDUwLjk0NzQgOTEuMDAxOCA1MC45NDc0Qzg3Ljc2NDMgNTAuOTQ3NCA4NC41OTA3IDUxLjg0ODggODEuODM2NSA1My41NTA2Qzc5LjA4MjQgNTUuMjUyNSA3Ni44NTY1IDU3LjY4NzUgNzUuNDA4MyA2MC41ODNMNTUuNzkzNyA5OS44MUM1NC4yNDgyIDEwMi44OTUgNTMuNjUzIDEwNi4zNyA1NC4wODM1IDEwOS43OTRDNTQuNTE0MSAxMTMuMjE3IDU1Ljk1MSAxMTYuNDM2IDU4LjIxMjMgMTE5LjA0M0M2MC40NzM3IDEyMS42NDkgNjMuNDU3NyAxMjMuNTI2IDY2Ljc4NjYgMTI0LjQzNkM3MC4xMTU0IDEyNS4zNDYgNzMuNjM5MyAxMjUuMjQ3IDc2LjkxMjEgMTI0LjE1M0w5MS4wOTk5IDExOS40NDVMMTA1LjIwMSAxMjQuMTMxQzEwOC40NTcgMTI1LjIwMyAxMTEuOTU4IDEyNS4yOTEgMTE1LjI2NSAxMjQuMzg0QzExOC41NzEgMTIzLjQ3NyAxMjEuNTM3IDEyMS42MTUgMTIzLjc5MSAxMTkuMDMxVjExOS4wMzFaTTkxLjA5OTkgNjguMzg0OEwxMTAuNzE0IDEwNy42MTJMOTUuOTE2NCAxMDIuNjg3QzkyLjc4OTcgMTAxLjY0NiA4OS40MTAyIDEwMS42NDYgODYuMjgzNSAxMDIuNjg3TDcxLjQ4NTQgMTA3LjYxMkw5MS4wOTk5IDY4LjM4NDhaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTU4LjU3NjkgMjUuNDczN0MzOS4zOTIyIDI1LjQ3MzcgMjMuODQgNDEuMDI2IDIzLjg0IDYwLjIxMDZWNjQuODQyMkMyMy44NCA3MS4yMzcgMTguNjU2IDc2LjQyMTEgMTIuMjYxMSA3Ni40MjExQzUuODY2MiA3Ni40MjExIDAuNjgyMTI5IDcxLjIzNyAwLjY4MjEyOSA2NC44NDIyTDAuNjgyMTI5IDYwLjIxMDZDMC42ODIxMjkgMjguMjM2MiAyNi42MDI1IDIuMzE1ODQgNTguNTc2OSAyLjMxNTg0TDY1LjUyNDIgMi4zMTU4NEM3MS45MTkxIDIuMzE1ODQgNzcuMTAzMiA3LjQ5OTkxIDc3LjEwMzIgMTMuODk0OEM3Ny4xMDMyIDIwLjI4OTcgNzEuOTE5MSAyNS40NzM3IDY1LjUyNDIgMjUuNDczN0g1OC41NzY5WiIgZmlsbD0iIzFEQkU2MSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTU4LjU3NjkgMTU1LjE1OEMzOS4zOTIyIDE1NS4xNTggMjMuODQgMTM5LjYwNiAyMy44NCAxMjAuNDIxVjExNS43OUMyMy44NCAxMDkuMzk1IDE4LjY1NiAxMDQuMjExIDEyLjI2MTEgMTA0LjIxMUM1Ljg2NjIgMTA0LjIxMSAwLjY4MjEyOSAxMDkuMzk1IDAuNjgyMTI5IDExNS43OUwwLjY4MjEyOSAxMjAuNDIxQzAuNjgyMTI5IDE1Mi4zOTUgMjYuNjAyNSAxNzguMzE2IDU4LjU3NjkgMTc4LjMxNkg2NS41MjQyQzcxLjkxOTEgMTc4LjMxNiA3Ny4xMDMyIDE3My4xMzIgNzcuMTAzMiAxNjYuNzM3Qzc3LjEwMzIgMTYwLjM0MiA3MS45MTkxIDE1NS4xNTggNjUuNTI0MiAxNTUuMTU4SDU4LjU3NjlaIiBmaWxsPSIjMURCRTYxIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTIxLjEwMyAyNS40NzM3QzE0MC4yODggMjUuNDczNyAxNTUuODQgNDEuMDI2IDE1NS44NCA2MC4yMTA2VjY0Ljg0MjJDMTU1Ljg0IDcxLjIzNyAxNjEuMDI0IDc2LjQyMTEgMTY3LjQxOSA3Ni40MjExQzE3My44MTQgNzYuNDIxMSAxNzguOTk4IDcxLjIzNyAxNzguOTk4IDY0Ljg0MjJWNjAuMjEwNkMxNzguOTk4IDI4LjIzNjIgMTUzLjA3OCAyLjMxNTg0IDEyMS4xMDMgMi4zMTU4NEwxMTQuMTU2IDIuMzE1ODRDMTA3Ljc2MSAyLjMxNTg0IDEwMi41NzcgNy40OTk5MSAxMDIuNTc3IDEzLjg5NDhDMTAyLjU3NyAyMC4yODk3IDEwNy43NjEgMjUuNDczNyAxMTQuMTU2IDI1LjQ3MzdIMTIxLjEwM1oiIGZpbGw9IiMxREJFNjEiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMjEuMTAzIDE1NS4xNThDMTQwLjI4OCAxNTUuMTU4IDE1NS44NCAxMzkuNjA2IDE1NS44NCAxMjAuNDIxVjExNS43OUMxNTUuODQgMTA5LjM5NSAxNjEuMDI0IDEwNC4yMTEgMTY3LjQxOSAxMDQuMjExQzE3My44MTQgMTA0LjIxMSAxNzguOTk4IDEwOS4zOTUgMTc4Ljk5OCAxMTUuNzlWMTIwLjQyMUMxNzguOTk4IDE1Mi4zOTUgMTUzLjA3OCAxNzguMzE2IDEyMS4xMDMgMTc4LjMxNkgxMTQuMTU2QzEwNy43NjEgMTc4LjMxNiAxMDIuNTc3IDE3My4xMzIgMTAyLjU3NyAxNjYuNzM3QzEwMi41NzcgMTYwLjM0MiAxMDcuNzYxIDE1NS4xNTggMTE0LjE1NiAxNTUuMTU4SDEyMS4xMDNaIiBmaWxsPSIjMURCRTYxIi8+Cjwvc3ZnPgo=)!important;background-position:50%;background-repeat:no-repeat;background-size:contain;content:"";height:1em;top:3px}#wp-admin-bar-popup-maker .counter{aspect-ratio:1/1;background-color:#1dbe61;border-radius:100%;color:#fff;display:inline-block;height:1.5em;line-height:1.5;margin-right:2px;padding-left:1px;text-align:center}.pum-modal{align-items:flex-start;background:#00000080;display:flex;height:100%;justify-content:center;right:0;padding-top:50px;position:fixed;top:0;width:100%;z-index:999999999999}.pum-modal .pum-modal-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 30px #0003;overflow:hidden;position:relative;width:500px}.pum-modal .pum-modal-header{align-items:center;background:#1a191b;color:#fff;display:flex;gap:10px;justify-content:space-between;padding:15px 20px}.pum-modal .pum-modal-header .pum-logo{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTc5IiBoZWlnaHQ9IjE3OSIgdmlld0JveD0iMCAwIDE3OSAxNzkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMjMuNzkxIDExOS4wMzFDMTI2LjA1IDExNi40MjYgMTI3LjQ4NSAxMTMuMjA5IDEyNy45MTYgMTA5Ljc4OEMxMjguMzQ3IDEwNi4zNjYgMTI3Ljc1MyAxMDIuODk0IDEyNi4yMSA5OS44MUwxMDYuNTk1IDYwLjU4M0MxMDUuMTQ3IDU3LjY4NzUgMTAyLjkyMSA1NS4yNTI1IDEwMC4xNjcgNTMuNTUwNkM5Ny40MTMgNTEuODQ4OCA5NC4yMzk0IDUwLjk0NzQgOTEuMDAxOCA1MC45NDc0Qzg3Ljc2NDMgNTAuOTQ3NCA4NC41OTA3IDUxLjg0ODggODEuODM2NSA1My41NTA2Qzc5LjA4MjQgNTUuMjUyNSA3Ni44NTY1IDU3LjY4NzUgNzUuNDA4MyA2MC41ODNMNTUuNzkzNyA5OS44MUM1NC4yNDgyIDEwMi44OTUgNTMuNjUzIDEwNi4zNyA1NC4wODM1IDEwOS43OTRDNTQuNTE0MSAxMTMuMjE3IDU1Ljk1MSAxMTYuNDM2IDU4LjIxMjMgMTE5LjA0M0M2MC40NzM3IDEyMS42NDkgNjMuNDU3NyAxMjMuNTI2IDY2Ljc4NjYgMTI0LjQzNkM3MC4xMTU0IDEyNS4zNDYgNzMuNjM5MyAxMjUuMjQ3IDc2LjkxMjEgMTI0LjE1M0w5MS4wOTk5IDExOS40NDVMMTA1LjIwMSAxMjQuMTMxQzEwOC40NTcgMTI1LjIwMyAxMTEuOTU4IDEyNS4yOTEgMTE1LjI2NSAxMjQuMzg0QzExOC41NzEgMTIzLjQ3NyAxMjEuNTM3IDEyMS42MTUgMTIzLjc5MSAxMTkuMDMxVjExOS4wMzFaTTkxLjA5OTkgNjguMzg0OEwxMTAuNzE0IDEwNy42MTJMOTUuOTE2NCAxMDIuNjg3QzkyLjc4OTcgMTAxLjY0NiA4OS40MTAyIDEwMS42NDYgODYuMjgzNSAxMDIuNjg3TDcxLjQ4NTQgMTA3LjYxMkw5MS4wOTk5IDY4LjM4NDhaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTU4LjU3NjkgMjUuNDczN0MzOS4zOTIyIDI1LjQ3MzcgMjMuODQgNDEuMDI2IDIzLjg0IDYwLjIxMDZWNjQuODQyMkMyMy44NCA3MS4yMzcgMTguNjU2IDc2LjQyMTEgMTIuMjYxMSA3Ni40MjExQzUuODY2MiA3Ni40MjExIDAuNjgyMTI5IDcxLjIzNyAwLjY4MjEyOSA2NC44NDIyTDAuNjgyMTI5IDYwLjIxMDZDMC42ODIxMjkgMjguMjM2MiAyNi42MDI1IDIuMzE1ODQgNTguNTc2OSAyLjMxNTg0TDY1LjUyNDIgMi4zMTU4NEM3MS45MTkxIDIuMzE1ODQgNzcuMTAzMiA3LjQ5OTkxIDc3LjEwMzIgMTMuODk0OEM3Ny4xMDMyIDIwLjI4OTcgNzEuOTE5MSAyNS40NzM3IDY1LjUyNDIgMjUuNDczN0g1OC41NzY5WiIgZmlsbD0iIzFEQkU2MSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTU4LjU3NjkgMTU1LjE1OEMzOS4zOTIyIDE1NS4xNTggMjMuODQgMTM5LjYwNiAyMy44NCAxMjAuNDIxVjExNS43OUMyMy44NCAxMDkuMzk1IDE4LjY1NiAxMDQuMjExIDEyLjI2MTEgMTA0LjIxMUM1Ljg2NjIgMTA0LjIxMSAwLjY4MjEyOSAxMDkuMzk1IDAuNjgyMTI5IDExNS43OUwwLjY4MjEyOSAxMjAuNDIxQzAuNjgyMTI5IDE1Mi4zOTUgMjYuNjAyNSAxNzguMzE2IDU4LjU3NjkgMTc4LjMxNkg2NS41MjQyQzcxLjkxOTEgMTc4LjMxNiA3Ny4xMDMyIDE3My4xMzIgNzcuMTAzMiAxNjYuNzM3Qzc3LjEwMzIgMTYwLjM0MiA3MS45MTkxIDE1NS4xNTggNjUuNTI0MiAxNTUuMTU4SDU4LjU3NjlaIiBmaWxsPSIjMURCRTYxIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTIxLjEwMyAyNS40NzM3QzE0MC4yODggMjUuNDczNyAxNTUuODQgNDEuMDI2IDE1NS44NCA2MC4yMTA2VjY0Ljg0MjJDMTU1Ljg0IDcxLjIzNyAxNjEuMDI0IDc2LjQyMTEgMTY3LjQxOSA3Ni40MjExQzE3My44MTQgNzYuNDIxMSAxNzguOTk4IDcxLjIzNyAxNzguOTk4IDY0Ljg0MjJWNjAuMjEwNkMxNzguOTk4IDI4LjIzNjIgMTUzLjA3OCAyLjMxNTg0IDEyMS4xMDMgMi4zMTU4NEwxMTQuMTU2IDIuMzE1ODRDMTA3Ljc2MSAyLjMxNTg0IDEwMi41NzcgNy40OTk5MSAxMDIuNTc3IDEzLjg5NDhDMTAyLjU3NyAyMC4yODk3IDEwNy43NjEgMjUuNDczNyAxMTQuMTU2IDI1LjQ3MzdIMTIxLjEwM1oiIGZpbGw9IiMxREJFNjEiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMjEuMTAzIDE1NS4xNThDMTQwLjI4OCAxNTUuMTU4IDE1NS44NCAxMzkuNjA2IDE1NS44NCAxMjAuNDIxVjExNS43OUMxNTUuODQgMTA5LjM5NSAxNjEuMDI0IDEwNC4yMTEgMTY3LjQxOSAxMDQuMjExQzE3My44MTQgMTA0LjIxMSAxNzguOTk4IDEwOS4zOTUgMTc4Ljk5OCAxMTUuNzlWMTIwLjQyMUMxNzguOTk4IDE1Mi4zOTUgMTUzLjA3OCAxNzguMzE2IDEyMS4xMDMgMTc4LjMxNkgxMTQuMTU2QzEwNy43NjEgMTc4LjMxNiAxMDIuNTc3IDE3My4xMzIgMTAyLjU3NyAxNjYuNzM3QzEwMi41NzcgMTYwLjM0MiAxMDcuNzYxIDE1NS4xNTggMTE0LjE1NiAxNTUuMTU4SDEyMS4xMDNaIiBmaWxsPSIjMURCRTYxIi8+Cjwvc3ZnPgo=) 50%/contain no-repeat;height:24px;width:24px}.pum-modal .pum-modal-header h4{color:#fff;font-weight:700;margin:0}.pum-modal .pum-modal-body{padding:20px}.pum-modal .pum-modal-body .pum-modal-copy{position:relative}.pum-modal .pum-modal-body .pum-modal-copy p{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;font-family:monospace;margin:0 0 15px;padding:10px;word-break:break-all}.pum-modal .pum-modal-body .pum-modal-copy .button{background-color:#fff;border:1px solid #ddd;bottom:0;cursor:pointer;padding:.25em;position:absolute;left:0}.pum-modal .pum-modal-body .pum-modal-copy .button .dashicons{font-size:16px;height:16px;margin:0;width:16px}.pum-modal .pum-modal-body .notice-success{color:#1dbe61}.pum-modal .pum-modal-close{background:none;border:none;color:#fffc;cursor:pointer;height:24px;padding:0;transition:color .2s;width:24px}.pum-modal .pum-modal-close:hover{color:#fff}.pum-modal .pum-modal-close .dashicons{font-size:24px;height:24px;width:24px} dist/packages/layout.js 0000644 00000024271 15174671772 0011167 0 ustar 00 (()=>{"use strict";var t={d:(a,h)=>{for(var P in h)t.o(h,P)&&!t.o(a,P)&&Object.defineProperty(a,P,{enumerable:!0,get:h[P]})},o:(t,a)=>Object.prototype.hasOwnProperty.call(t,a),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},a={};function h(t){var a,P,S="";if("string"==typeof t||"number"==typeof t)S+=t;else if("object"==typeof t)if(Array.isArray(t)){var V=t.length;for(a=0;a<V;a++)t[a]&&(P=h(t[a]))&&(S&&(S+=" "),S+=P)}else for(P in t)t[P]&&(S&&(S+=" "),S+=P);return S}t.r(a),t.d(a,{AppContent:()=>f,AppHeader:()=>x,AppLayout:()=>G,HeaderActionsFill:()=>g,HeaderActionsSlot:()=>w,HeaderEndFill:()=>d,HeaderEndSlot:()=>m,HeaderStartFill:()=>c,HeaderStartSlot:()=>u,SupportMenuFill:()=>v,SupportMenuSlot:()=>k});const P=function(){for(var t,a,P=0,S="",V=arguments.length;P<V;P++)(t=arguments[P])&&(a=h(t))&&(S&&(S+=" "),S+=a);return S},S=window.wp.components,V=window.ReactJSXRuntime,G=({className:t,children:a})=>(0,V.jsx)(S.SlotFillProvider,{children:(0,V.jsx)("div",{className:P("popup-maker-app-layout",t),children:a})}),e=window.wp.element,o=window.popupMaker.i18n,r=((0,e.forwardRef)(({icon:t,size:a=24,...h},P)=>(0,e.cloneElement)(t,{width:a,height:a,...h,ref:P})),window.wp.primitives),n=(r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.Circle,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.Path,r.Circle,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.G,r.Path,r.Path,r.SVG,r.G,r.Path,r.Path,r.SVG,r.G,r.Path,r.Path,r.SVG,r.G,r.Path,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,(0,V.jsx)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,V.jsx)(r.Path,{fillRule:"evenodd",d:"M17.375 15.656A6.47 6.47 0 0018.5 12a6.47 6.47 0 00-.943-3.374l-1.262.813c.448.749.705 1.625.705 2.561a4.977 4.977 0 01-.887 2.844l1.262.813zm-1.951 1.87l-.813-1.261A4.976 4.976 0 0112 17c-.958 0-1.852-.27-2.613-.736l-.812 1.261A6.47 6.47 0 0012 18.5a6.47 6.47 0 003.424-.974zm-8.8-1.87A6.47 6.47 0 015.5 12c0-1.235.344-2.39.943-3.373l1.261.812A4.977 4.977 0 007 12c0 1.056.328 2.036.887 2.843l-1.262.813zm2.581-7.803A4.977 4.977 0 0112 7c1.035 0 1.996.314 2.794.853l.812-1.262A6.47 6.47 0 0012 5.5a6.47 6.47 0 00-3.607 1.092l.812 1.261zM12 20a8 8 0 100-16 8 8 0 000 16zm0-4.5a3.5 3.5 0 100-7 3.5 3.5 0 000 7z",clipRule:"evenodd"})})),p=(r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,(0,V.jsx)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,V.jsx)(r.Path,{d:"M11 14.5l1.1 1.1 3-3 .5-.5-.6-.6-3-3-1 1 1.7 1.7H5v1.5h7.7L11 14.5zM16.8 5h-7c-1.1 0-2 .9-2 2v1.5h1.5V7c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v10c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5v-1.5H7.8V17c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2z"})})),l=(r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.Path,(0,V.jsxs)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[(0,V.jsx)(r.Path,{d:"M14.5 5.5h-7V7h7V5.5ZM7.5 9h7v1.5h-7V9Zm7 3.5h-7V14h7v-1.5Z"}),(0,V.jsx)(r.Path,{d:"M16 2H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2ZM6 3.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V4a.5.5 0 0 1 .5-.5Z"}),(0,V.jsx)(r.Path,{d:"M20 8v11c0 .69-.31 1-.999 1H6v1.5h13.001c1.52 0 2.499-.982 2.499-2.5V8H20Z"})]})),i=(r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,(0,V.jsx)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,V.jsx)(r.Path,{d:"M15.5 9.5a1 1 0 100-2 1 1 0 000 2zm0 1.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zm-2.25 6v-2a2.75 2.75 0 00-2.75-2.75h-4A2.75 2.75 0 003.75 15v2h1.5v-2c0-.69.56-1.25 1.25-1.25h4c.69 0 1.25.56 1.25 1.25v2h1.5zm7-2v2h-1.5v-2c0-.69-.56-1.25-1.25-1.25H15v-1.5h2.5A2.75 2.75 0 0120.25 15zM9.5 8.5a1 1 0 11-2 0 1 1 0 012 0zm1.5 0a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0z",fillRule:"evenodd"})})),s=(r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.Path,r.SVG,r.Path,r.Path,r.Path,r.SVG,r.Path,r.Path,r.SVG,r.Path,r.Path,r.SVG,r.Path,r.Path,r.SVG,r.Path,r.Path,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,r.SVG,r.Path,window.popupMaker.components),{Fill:c,Slot:u}=(0,S.createSlotFill)("PopupMakerLayoutHeaderStart"),{Fill:d,Slot:m}=(0,S.createSlotFill)("PopupMakerLayoutHeaderEnd"),{Fill:g,Slot:w}=(0,S.createSlotFill)("PopupMakerLayoutHeaderActions"),{Fill:v,Slot:k}=(0,S.createSlotFill)("PopupMakerLayoutSupportMenu"),x=({title:t=(0,o.__)("Popup Maker","popup-maker"),brandingUrl:a="https://wppopupmaker.com?utm_campaign=plugin-info&utm_source=plugin-admin-header&utm_medium=plugin-ui&utm_content=header-logo",tabs:h=[],currentTab:P,onTabChange:G,supportMenuItems:r=[],showSupport:c=!0,adminUrl:d=""})=>{const g=(0,e.useRef)(null),{assetsUrl:v}=window.popupMaker.globalVars,x=[{icon:l,label:(0,o.__)("View Documentation","popup-maker"),href:"https://wppopupmaker.com/docs/?utm_campaign=plugin-support&utm_source=plugin-admin-header&utm_medium=plugin-ui&utm_content=view-documentation-link",target:"_blank",group:"primary"},{icon:i,label:(0,o.__)("Get Support","popup-maker"),href:"https://wppopupmaker.com/support/?utm_campaign=plugin-support&utm_source=plugin-admin-header&utm_medium=plugin-ui&utm_content=get-support-link",target:"_blank",group:"primary"},{icon:p,label:(0,o.__)("Grant Support Access","popup-maker"),onClick:()=>{d&&(window.location.href=`${d}options-general.php?page=grant-popup-maker-access`)},group:"secondary"},...r].reduce((t,a)=>{const h=a.group||"primary";return t[h]||(t[h]=[]),t[h].push(a),t},{});return(0,V.jsxs)("div",{className:"popup-maker-app-header",children:[(0,V.jsx)(u,{}),(0,V.jsx)("h1",{className:"branding wp-heading-inline",children:(0,V.jsxs)("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:[(0,V.jsx)("img",{src:`${v}images/mark.svg`,alt:""}),t]})}),h.length>0&&(0,V.jsx)(s.ControlledTabPanel,{className:"tabs",orientation:"horizontal",selected:P||null,onSelect:t=>{const a=h.find(a=>a.name===t);a?.onClick&&!1===a.onClick()||G?.(t)},tabs:h}),(0,V.jsxs)("div",{className:"popup-maker-app-header__actions",children:[(0,V.jsx)(w,{}),c&&(0,V.jsx)(S.DropdownMenu,{label:(0,o.__)("Support","popup-maker"),icon:n,toggleProps:{as:({onClick:t})=>(0,V.jsx)(S.Button,{icon:n,variant:"link",onClick:t,className:"components-tab-panel__tabs-item support-link",children:(0,V.jsx)("span",{ref:g,children:(0,o.__)("Support","popup-maker")})})},popoverProps:{noArrow:!1,position:"bottom left",className:"popup-maker-support-menu",anchor:{getBoundingClientRect:()=>g?.current?.getBoundingClientRect()}},children:({onClose:t})=>(0,V.jsxs)(V.Fragment,{children:[Object.entries(x).map(([a,h])=>(0,V.jsx)(S.MenuGroup,{children:h.map(a=>(0,V.jsx)(S.MenuItem,{icon:a.icon,href:a.href,target:a.target,onClick:()=>{a.onClick&&a.onClick(),a.href||t()},children:a.label},a.label))},a)),(0,V.jsx)(k,{fillProps:{onClose:t}})]})})]}),(0,V.jsx)(m,{})]})},f=({className:t,children:a})=>(0,V.jsx)("div",{className:P("popup-maker-app-content",t),children:a});(window.popupMaker=window.popupMaker||{}).layout=a})(); dist/packages/popup-admin.css.map 0000644 00000007477 15174671772 0013044 0 ustar 00 {"version":3,"file":"popup-admin.css","mappings":";;;AAII;EACI;AAHR;AAMI;;;;;EAKI;AAJR;AAQQ;EACI;AANZ;AAoBI;;EAEI;AAlBR;AAoBQ;;EACI;EACA;EACA;AAjBZ;AAoBQ;;EACI;EACA;EACA;AAjBZ;AAsBI;EACI;AApBR;AAuBI;EACI;AArBR;AA0BQ;EACI;AAxBZ;AA4BI;EACI;EACA;EACA;EACA;AA1BR;AA6BQ;EACI;EACA;EACA;EACA;EACA;EACA;AA3BZ;AA6BY;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AA3BhB;AA+BQ;EACI;EACA;EACA;EACA;EAEA;AA9BZ;AAiCQ;;EAEI;EACA;EACA;EACA;EACA;EACA;AA/BZ;AAkCQ;EACI;AAhCZ;AAoCY;EACI;EACA;AAlChB;AAoCgB;EACI;AAlCpB;AAsCY;EACI;AApChB;AAuCY;;EAEI;EACA;EACA;EACA;AArChB;AA0CI;EACI;AAxCR;AA2CI;EACI;AAzCR,C","sources":["webpack://popup-maker/core/./packages/popup-admin/src/index.scss?"],"sourcesContent":["// Popup Analytics Table Styles\n.wp-list-table {\n\n // Enabled column\n th.column-enabled {\n width: 80px;\n }\n\n th.column-views,\n th.column-interactions,\n th.column-conversions,\n th.column-purchases,\n th.column-revenue {\n width: 150px;\n }\n\n td.column-conversions {\n .pum-col-content {\n max-width: 15ch;\n }\n }\n\n\n // Analytics column headers - center the text\n th.column-views,\n th.column-conversions {\n\n // Handle sortable columns\n >a {}\n }\n\n // Analytics column content - center the container, left-align the content\n td.column-views,\n td.column-conversions {\n line-height: 1.2;\n\n strong {\n display: block;\n font-size: 16px;\n margin-bottom: 2px;\n }\n\n span {\n display: block;\n font-size: 12px;\n color: #6b7280;\n }\n }\n\n // Column-specific colors\n td.column-views>.pum-col-content>strong {\n color: #1e3a8a;\n }\n\n td.column-conversions>.pum-col-content>strong {\n color: #581c87;\n }\n\n // Conversion rate progress bar\n td.column-conversions {\n .pum-progress-bar {\n max-width: 150px;\n }\n }\n\n .pum-progress-bar {\n display: flex;\n align-items: center;\n gap: 8px;\n position: relative;\n // margin-bottom: 4px;\n\n &__inner {\n flex-grow: 1;\n position: relative;\n height: 8px;\n background-color: #cccccc;\n border-radius: 8px;\n overflow: hidden;\n\n .pum-progress-fill {\n position: absolute;\n left: 0;\n top: 0;\n background-color: #374151;\n height: 100%;\n border-radius: 8px;\n transition: width 0.3s ease;\n }\n }\n\n strong {\n flex-shrink: 0;\n color: #6b7280;\n font-size: 14px;\n margin-bottom: 0;\n // min-width: 35px;\n text-align: right;\n }\n\n i,\n i::before {\n margin-left: -4px;\n font-size: 16px;\n line-height: 14px;\n width: 16px;\n height: 16px;\n color: #6b7280;\n }\n\n &--small {\n font-size: 12px;\n\n // gap: 4px;\n\n .pum-progress-bar__inner {\n height: 4px;\n border-radius: 4px;\n\n .pum-progress-fill {\n border-radius: 4px;\n }\n }\n\n strong {\n font-size: 1em !important;\n }\n\n i,\n i::before {\n font-size: 1em;\n line-height: .95em;\n width: 1em;\n height: 1em;\n }\n }\n }\n\n td.column-views>.pum-col-content>strong {\n color: #1e3a8a;\n }\n\n td.column-conversions .pum-progress-bar>strong {\n color: #581c87;\n }\n}"],"names":[],"sourceRoot":""} dist/packages/cta-admin.js.map 0000644 00003307770 15174671772 0012276 0 ustar 00 {"version":3,"file":"cta-admin.js","mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AAC8D;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAe,8DAAU;AACzB;AACA;AACA;AACA,CAAC;AACD,SAAS,gEAAY;AACrB;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,CAAC,EAAC;AACH,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5ByC;AACe;AACM;AACE;AACA;AACE;AACN;AACA;AACE;AACP;AACK;AACW;AACX;AACE;AACN;AACS;AACP;AACM;AACb;AACU;AACR;AACJ;AACa;AACI;AACN;AACE;AACT;AACN;AACI;AACJ;AACM;AACE;AACE;AACsB;AACxB;AACW;AACA;AACT;AACF;AAEwB;AACrB;AACP;AACa;AACW;AACX;AACW;AACT;AACW;AACjB;AACS;AACd;AACJ;AACW;AACM;AACJ;AACb;AACF;AACF;AACI;AACE;AACE;AACN;AACW;AACL;AAC0B;AACJ;AACP;AACK;AACF;AACb;AACe;AACE;AACR;AACE;AACV;AACV;AACE;AACJ;AACqB;AACJ;AACE;AACG;AACZ;AACJ;AACA;AACF;AACS;AACA;AACE;AACP;AACR;AACQ;AACA;AACN;AACF;AACI;AACiB;AACJ;AACJ;AACY;AACR;AACO;AACP;AACW;AACO;AACL;AACO;AAC1B;AACY;AACJ;AACO;AACf;AACoB;AACR;AACA;AACX;AACR;AACE;AACJ;AACF;AACE;AACE;AACgB;AACA;AACA;AACA;AACA;AACA;AACd;AACN;AACa;AACX;AACY;AACd;AACa;AACb;AACE;AACF;AACe;AACE;AACE;AACJ;AACI;AACiB;AACnB;AACe;AACiB;AAC5B;AACiB;AACzB;AACf;AACU;AACW;AACE;AACb;AACJ;AACG;AACG;AACG;AACA;AACF;AACX;AACO;AACP;AACS;AACA;AACT;AACe;AACJ;AACT;AACF;AACW;AACT;AACgB;AACR;AACV;AACI;AACJ;AACqB;AACJ;AACZ;AACO;AACC;AACJ;AACM;AACJ;AACE;AACb;AACE;AACQ;AACJ;AACA;AACA;AACe;AACJ;AACE;AACf;AACA;AACN;AACW;AACH;AACoB;AACb;AACb;AACA;AACa;AACQ;AACN;AACE;AACW;AACF;AACjB;AACM;AACa;AACnB;AACE;AACH;AACR;AACM;AACU;AACN;AACD;AACE;AACD;AACa;AACS;AACM;AACE;AACtC;AACI;AACN;AACW;AACQ;AACb;AACJ;AACqB;AACJ;AACrB;AACM;AACS;AACE;AACjB;AACM;AACJ;AACI;AACM;AACV;AACU;AACF;AACJ;AACF;AACE;AACM;AACJ;AACG;AACP;AACS;AACE;AACJ;AACP;AACwB;AACtB;AACI;AACJ;AACW;AACL;AACI;AACV;AACsB;AACE;AACA;AACJ;AACJ;AACE;AACA;AACpB;AACJ;AACe;AACJ;AACQ;AACM;AACnB;AACA;AACE;AACG;AACI;AACE;AACQ;AACZ;AACE;AACJ;AACU;AACR;AACU;AACJ;AACb;AACF;AACJ;AACE;AACE;AACe;AACJ;AACD;AACZ;AACM;AACF;AACA;AACA;AACF;AACA;AACE;AACM;AAC3D,iC;;;;;;;;;;;;;;ACzTA;AACA;AACA;AACkD;AACF;AAChD,6BAA6B,sDAAI,CAAC,sDAAG;AACrC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,OAAO,EAAC;AACvB,oC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,gCAAgC,sDAAI,CAAC,sDAAG;AACxC;AACA;AACA,yBAAyB,sD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A,GAAG;AACH,CAAC;AACD,sEAAe,MAAM,EAAC;AACtB,kC;;;;;;;;;;;;;;ACbA;AACA;AACA;AACkD;AACF;AAChD,+BAA+B,sDAAI,CAAC,sDAAG;AACvC;AACA;AACA,yBAAyB,sDAAI,CAAC,uDAAI;AAClC;AACA,GAAG;AACH,CAAC;AACD,sEAAe,SAAS,EAAC;AACzB,qC;;;;;;;;;;;;;;ACbA,cAAc,aAAa,+CAA+C,gDAAgD,eAAe,QAAQ,IAAI,0CAA0C,yCAAyC,SAAgB,gBAAgB,wCAAwC,IAAI,mDAAmD,SAAS,iEAAe,IAAI,E;;;;;;;;;;;;;;;;;;;ACAnY;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACkE;AACrC;AAI3B;;;;;;;;;;;;ACjBW;AACb,6BAA6C,EAAE,aAAa,CAAC;AAC7D,aAAa;AACb,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,yBAAyB;AACzB,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,KAAK,kCAAkC,KAAK;AAChG;AACA;AACA;AACA,kDAAkD;AAClD;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,uCAAuC;AACvC;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,gBAAgB;AAC7C,kBAAkB;AAClB;AACA;AACA;AACA;AACA,yDAAyD,KAAK;AAC9D;AACA;AACA;AACA,wDAAwD,IAAI;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,eAAe;AAC5E;AACA,kBAAkB;AAClB;AACA;AACA;AACA,6DAA6D,eAAe;AAC5E;AACA,kBAAkB;AAClB;AACA;AACA;AACA,2DAA2D,aAAa;AACxE;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA,8DAA8D,gBAAgB;AAC9E;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,mEAAmE,iBAAiB;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,mEAAmE,iBAAiB;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,cAAc;AACf;AACA,yCAAyC;AACzC,QAAQ,yDAAyD;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0CAA0C;AAC7D;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,mBAAmB,0CAA0C;AAC7D;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uCAAuC;AAC1D;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA,UAAU,yBAAyB;AACnC;AACA;AACA,QAAQ,wBAAwB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,QAAQ,wBAAwB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF;AACpF,QAAQ,2DAA2D;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,oCAAoC;AACrE;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,2CAA2C;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,8CAA8C;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,8CAA8C;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,KAAK;AACjF;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8FAA8F;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,GAAG;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,wCAAwC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,0BAA0B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,kBAAkB,uBAAuB,WAAW;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG,KAAK;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,aAAa;AACrB;AACA;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA,QAAQ,iEAAiE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,qBAAqB,KAAK,mCAAmC,0BAA0B,wIAAwI,0BAA0B;AACzP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,IAAI;AACpE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,KAAK,mCAAmC,0BAA0B,wIAAwI,0BAA0B;AACvP;AACA;AACA,+FAA+F;AAC/F;AACA;AACA,oBAAoB,2CAA2C;AAC/D;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,uBAAuB,MAAM,mHAAmH,MAAM;AACtJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,KAAK,2CAA2C,MAAM,YAAY;AAChG;AACA,IAAI,yCAAyC,KAAK;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,eAAe;AAChD;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,UAAU,iBAAiB;AAC3B;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,wCAAwC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,aAAa;AACb;AACA;AACA;AACA,4BAA4B,UAAU;AACtC;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,oDAAoD,YAAY,IAAI;AACpE;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,0BAA0B;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA,wBAAwB,UAAU;AAClC;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,yBAAyB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,gCAAgC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,SAAS;AACT,UAAU;AACV;AACA;AACA;AACA;AACA,qCAAqC,SAAS,IAAI,WAAW;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,2FAA2F;AAC3F;AACA;AACA,kBAAkB,YAAY,IAAI,oCAAoC;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,cAAc,gCAAgC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,aAAa;AACtD,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,QAAQ;AACR;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,QAAQ;AACR,cAAc,gCAAgC;AAC9C;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,mFAAmF,yDAAyD;AAC5I;AACA,kCAAkC,oCAAoC;AACtE,SAAS;AACT,UAAU;AACV;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,WAAW;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,gCAAgC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,eAAe;AACf;AACA,UAAU,qBAAqB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oCAAoC;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,0BAA0B;AAChE,UAAU;AACV;AACA;AACA;AACA,UAAU,0BAA0B;AACpC;AACA;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,+CAA+C,WAAW;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,8DAA8D,WAAW;AACzE;AACA,QAAQ;AACR;AACA;AACA;AACA,wCAAwC,gBAAgB;AACxD,YAAY;AACZ;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,kBAAkB,mCAAmC;AACrD;AACA;AACA;AACA;AACA;AACA,UAAU,gCAAgC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,UAAU,qBAAqB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,8DAA8D,WAAW;AACzE;AACA,QAAQ;AACR;AACA;AACA;AACA,wCAAwC,gBAAgB;AACxD,YAAY;AACZ;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,sCAAsC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qDAAqD;AACrD;AACA;AACA,QAAQ,mCAAmC;AAC3C,QAAQ;AACR;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,kBAAkB,mCAAmC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,IAAI;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,IAAI;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,eAAe,KAAK,iBAAiB;AAChF;AACA;AACA;AACA,kBAAkB,UAAU;AAC5B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,8CAA8C;AACxE;AACA;AACA;AACA;AACA,8CAA8C,UAAU;AACxD;AACA,UAAU,iBAAiB;AAC3B,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,0BAA0B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR,iBAAiB;AACjB,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI;AACR;AACA;AACA;AACA;AACA;AACA,gDAAgD,QAAQ;AACxD,YAAY,0CAA0C;AACtD;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB;AACzB;AACA;AACA,MAAM;AACN,gDAAgD,6BAA6B;AAC7E,YAAY,kCAAkC;AAC9C;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI;AACR;AACA;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD,MAAM;AACN,0CAA0C,6BAA6B;AACvE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN,0CAA0C,6BAA6B;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,sBAAsB,qCAAqC;AAC3D;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,yCAAyC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,+BAA+B,gCAAgC,IAAI;AACnE,wCAAwC,yCAAyC;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,oBAAoB;AAC/D;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,OAAO,qDAAqD,gBAAgB,EAAE,YAAY;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,6BAA6B,GAAG;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,2CAA2C,yBAAyB;AACpE;AACA;AACA;AACA;AACA,yCAAyC,sBAAsB;AAC/D,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,IAAI,EAAE,KAAK,GAAG;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,0BAA0B,aAAa;AACvC,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,QAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,QAAQ;AAClE;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB,2BAA2B,kBAAkB,wGAAwG,kBAAkB;AACxM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,6CAA6C,qCAAqC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yCAAyC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF,KAAK,cAAc,eAAe;AAClH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,QAAQ;AACR,iBAAiB;AACjB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU;AACV,mBAAmB;AACnB;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA,IAAI;AACJ,aAAa;AACb,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,eAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,UAAU,0BAA0B;AACpC;AACA;AACA,mCAAmC,6BAA6B;AAChE;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,qBAAqB;AAC7B;AACA;AACA;AACA;AACA;AACA,UAAU,yBAAyB;AACnC;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA,GAAG;AACH,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI;AACN;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ,cAAc,SAAS,gDAAgD,QAAQ;AAC1H,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA,6BAA6B,QAAQ,wBAAwB,SAAS;AACtE,IAAI;AACJ;AACA,4CAA4C,SAAS;AACrD,IAAI;AACJ;AACA;AACA,mCAAmC,sBAAsB,cAAc,SAAS,iDAAiD,QAAQ;AACzI,MAAM;AACN,gDAAgD,qBAAqB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,sBAAsB,yBAAyB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4DAA4D;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,sEAAsE,MAAM;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACgC;;AAEhC;AAC+B;AAC/B,wBAAwB,gDAAmB;AAC3C;AACA,6BAA6B,gDAAmB;AAChD;AACA,4BAA4B,gDAAmB;AAC/C;AACA,CAAC;AACD;AACA,sBAAsB,gDAAmB;AACzC;AACA;AACA;AACA,mBAAmB,gDAAmB;AACtC;AACA,wBAAwB,gDAAmB;AAC3C;AACA;AACA;AACA,sBAAsB,gDAAmB;AACzC;AACA;AACA;AACA,mBAAmB,gDAAmB;AACtC;AACA;AACA;AACA,CAAC;AACD;AACA,wBAAwB,gDAAmB;AAC3C;;AAEA;AACgC;AAChC;AACA,uBAAuB,WAAW,IAAI;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kCAAkC,EAAE,6CAAiB;AAC7D,QAAQ,yBAAyB,wBAAwB,UAAU;AACnE;AACA;AACA;AACA;AACA,iCAAiC,wCAAwC;AACzE;AACA;AACA,SAAS,6CAAiB;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,6CAAiB;AAC1B;AACA;AACA,SAAS,6CAAiB;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB,SAAS,0CAAc;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,6CAAiB;AAClC;AACA,IAAI,kDAAsB;AAC1B;AACA;AACA;AACA,QAAQ,cAAc,EAAE,6CAAiB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,6CAAiB;AAC3C,QAAQ,kCAAkC,EAAE,6CAAiB;AAC7D,QAAQ,UAAU,EAAE,6CAAiB;AACrC,QAAQ,6BAA6B;AACrC;AACA,kBAAkB,yCAAa;AAC/B;AACA;AACA,GAAG;AACH,iBAAiB,8CAAkB;AACnC,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gDAAoB;AACxC;AACA,SAAS,6CAAiB;AAC1B;AACA;AACA,eAAe,6CAAiB;AAChC;AACA,2BAA2B,gDAAoB,2BAA2B,gBAAgB;AAC1F;AACA;AACA;AACA;AACA,QAAQ,UAAU,EAAE,6CAAiB;AACrC;AACA;AACA;AACA,+BAA+B,WAAW,IAAI;AAC9C,QAAQ,UAAU,EAAE,6CAAiB;AACrC,QAAQ,6BAA6B;AACrC;AACA,SAAS,0CAAc;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,wBAAwB,EAAE,6CAAiB;AACnD,QAAQ,yBAAyB,EAAE,6CAAiB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,eAAe,wBAAwB,WAAW;;AAE5H,wCAAwC,WAAW,qBAAqB,8BAA8B,WAAW,IAAI;AACrH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iPAAiP,mBAAmB,kBAAkB,2BAA2B;AACjT;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,6BAA6B;AACnE;AACA;AACA;AACA,qCAAqC,kBAAkB,EAAE,gBAAgB,EAAE,cAAc;AACzF;AACA;AACA;AACA,yCAAyC,kBAAkB,EAAE,gBAAgB,EAAE,cAAc;AAC7F;AACA;AACA;AACA;AACA,iCAAiC;AACjC,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,gDAAoB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,cAAc,EAAE,iBAAiB;AAClF;AACA;AACA,oBAAoB;AACpB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,gDAAoB,CAAC,2CAAe,wBAAwB,gDAAoB,gBAAgB,OAAO,iBAAiB,MAAM,oBAAoB,gDAAoB,4HAA4H,gDAAoB,WAAW,mBAAmB,gDAAgD,gDAAoB,WAAW,mBAAmB;AACpd;AACA,yBAAyB,gDAAoB,CAAC,2CAAe,wBAAwB,gDAAoB,+DAA+D,gDAAoB,SAAS,SAAS,uBAAuB,oCAAoC,gDAAoB,UAAU,kBAAkB;AACzT;AACA,0CAA0C,gDAAoB;AAC9D,wCAAwC,4CAAgB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,gDAAoB,0BAA0B,gCAAgC,kBAAkB,gDAAoB;AAC7K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,+BAA+B;AACxD,0BAA0B,6CAAiB;AAC3C;AACA;AACA;AACA,yBAAyB,gDAAoB,0BAA0B,qBAAqB;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA,cAAc,8BAA8B;AAC5C;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR,mCAAmC,gDAAoB;AACvD,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA,6BAA6B,gDAAoB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,uHAAuH,gDAAoB;AAC3I;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,GAAG;AACH;AACA;AACA,YAAY,UAAU;AACtB;AACA;AACA,YAAY,6CAAiB;AAC7B;AACA;AACA;AACA;AACA,cAAc,6CAAiB;AAC/B;AACA;AACA;AACA;AACA,cAAc,6CAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,UAAU;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,0CAAc;AACvB;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,QAAQ,sBAAsB;AAC9B;AACA;AACA,SAAS,0CAAc;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,6CAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,6CAAiB;AAC/B;AACA;AACA;AACA,cAAc,6CAAiB;AAC/B;AACA;AACA;AACA;AACA,QAAQ,mBAAmB;AAC3B;AACA,oCAAoC,2CAAe;AACnD,wBAAwB,8CAAkB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,+CAA+C;AAC3D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,EAAE,4CAAgB;AAClB;AACA;AACA;AACA,GAAG;AACH,EAAE,4CAAgB;AAClB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,QAAQ,SAAS;AACjB;AACA,kBAAkB,yCAAa;AAC/B;AACA;AACA,GAAG;AACH,iBAAiB,8CAAkB;AACnC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,QAAQ;AACR,oCAAoC,6BAA6B;AACjE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gDAAoB;AACnC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,gDAAoB;AAClD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gDAAoB;AACxC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,8BAA8B,2CAAe;AAC7C,wCAAwC,2CAAe;AACvD,kCAAkC,2CAAe;AACjD;AACA,GAAG;AACH,kCAAkC,2CAAe;AACjD,oCAAoC,2CAAe;AACnD,wCAAwC,2CAAe;AACvD,oBAAoB,yCAAa;AACjC,iBAAiB,8CAAkB;AACnC,iBAAiB,gDAAgD;AACjE;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,qNAAqN,iBAAiB;AACtO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,UAAU,kDAAsB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,wBAAwB;AACnD,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA,EAAE,kDAAsB;AACxB,EAAE,4CAAgB;AAClB;AACA;AACA;AACA,GAAG;AACH,EAAE,4CAAgB;AAClB;AACA;AACA;AACA;AACA,QAAQ,kDAAsB;AAC9B;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,uBAAuB,wBAAwB;AAC/C,OAAO;AACP;AACA;AACA,GAAG;AACH,EAAE,4CAAgB;AAClB;AACA;AACA;AACA,GAAG;AACH,EAAE,4CAAgB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH,mBAAmB,0CAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,0BAA0B,0CAAc;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,yBAAyB,gDAAoB,CAAC,2CAAe,wBAAwB,gDAAoB,+BAA+B,0BAA0B,kBAAkB,gDAAoB,oCAAoC,cAAc,kBAAkB,gDAAoB,6BAA6B,4BAA4B,kBAAkB,gDAAoB,mCAAmC,kBAAkB,kBAAkB,gDAAoB;AAC1d;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,oBAAoB,gDAAoB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,uCAAW;AACpC;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mBAAmB,yCAAa;AAChC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,8BAA8B,2CAAe;AAC7C;AACA;AACA,GAAG;AACH,iBAAiB,8CAAkB;AACnC;AACA,MAAM,kDAAsB;AAC5B,KAAK;AACL;AACA;AACA,EAAE,kDAAsB;AACxB,yBAAyB,gDAAoB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mBAAmB,EAAE,6CAAiB;AAC9C;AACA;AACA;AACA;AACA,QAAQ,UAAU,EAAE,6CAAiB;AACrC,QAAQ,6BAA6B;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,4CAAgB;AAClB,qCAAqC,oCAAoC;AACzE,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,0BAA0B,0CAAc;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,wBAAwB,0CAAc;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA,yBAAyB,SAAS,mCAAmC,SAAS,EAAE,OAAO,EAAE,KAAK;AAC9F;AACA;AACA;AACA;AACA,yBAAyB,gDAAoB,+BAA+B,0BAA0B,kBAAkB,gDAAoB,6BAA6B,kCAAkC;AAC3M;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,yBAAyB,gDAAoB,uBAAuB,uBAAuB,kBAAkB,gDAAoB;AACjI;AACA,uCAAuC,4CAAgB;AACvD;AACA;AACA,mBAAmB;AACnB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,kCAAkC;AAC5C;AACA;AACA;AACA;AACA;AACA,mDAAmD,iBAAiB;AACpE,gDAAgD,oBAAoB;AACpE,MAAM;AACN;AACA;AACA;AACA,OAAO;AACP,mDAAmD,iBAAiB;AACpE,iDAAiD,wBAAwB;AACzE,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA,mDAAmD,iBAAiB;AACpE;AACA,6DAA6D,kBAAkB;AAC/E,8DAA8D,kBAAkB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,gDAAoB,0BAA0B,wCAAwC;AACnH;AACA;AACA,6BAA6B,gDAAoB,0BAA0B,0BAA0B;AACrG;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,yBAAyB,gDAAoB,CAAC,2CAAe;AAC7D;AACA;AACA;AACA,EAAE,2CAAe;AACjB,SAAS,iDAAqB;AAC9B;AACA;AACA;AACA,yBAAyB,2CAAe;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,oEAAoE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACiC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,QAAQ,sFAAsF,eAAe;AACvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA,+BAA+B,KAAK;AACpC,2BAA2B,OAAO;AAClC,2BAA2B,OAAO;AAClC,QAAQ;AACR;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,sCAAsC,aAAa;AACnD;AACA;AACA;AACA,IAAI,2CAAe,EAAE;AAAA,EAEhB;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,yBAAyB;AAC/E;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,yBAAyB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,gIAAgI,UAAU;AAC1I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,8CAA8C,wCAAwC,IAAI;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACgC;AACM;;AAEtC;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,MAAM;AACN,uBAAuB;AACvB;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,cAAc;AACtB;AACA;AACA;AACA;AACA;AACA,kDAAkD,cAAc;AAChE;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,cAAc;AACtB,0CAA0C,gDAAoB;AAC9D;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA,UAAU,EAAE;AACZ;AACA;AACA;AACA;AACA,2BAA2B,gDAAoB,CAAC,2CAAe,mCAAmC,gDAAoB;AACtH;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA,IAAI;AACJ,2BAA2B,gDAAoB,CAAC,2CAAe,mCAAmC,gDAAoB,CAAC,2CAAe,wBAAwB,gDAAoB;AAClL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,8BAA8B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC,YAAY;AACZ,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,UAAU,cAAc;AACxB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,sBAAsB,gCAAgC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,IAAI;AACJ;AACA;AACA;AACA;AACA,SAAS,oDAAM;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gCAAgC;AACtE,IAAI;AACJ;AACA,IAAI;AACJ,sDAAsD,QAAQ;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACgC;;AAEhC;AACgC;;AAEhC;AACgC;AAChC,uCAAuC,4CAAgB;AACvD;AACA;AACA,mBAAmB;AACnB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe;AACf;AACA,aAAa;AACb;AACA;AACA;AACA,6BAA6B,gDAAoB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qCAAqC,gDAAoB;AACzD;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO,iBAAiB,MAAM;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,gDAAoB,kBAAkB,qCAAqC,kBAAkB,gDAAoB,SAAS,SAAS,oBAAoB;AAClL;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,yBAAyB,gDAAoB;AAC7C;AACA;AACA;AACA;AACA,KAAK;AACL,oBAAoB,gDAAoB,SAAS,SAAS,oBAAoB;AAC9E,oBAAoB,gDAAoB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,QAAQ,eAAe;AACvB;AACA;AACA;AACA,yBAAyB,gDAAoB,WAAW,YAAY,kBAAkB,gDAAoB,+BAA+B,gDAAoB,WAAW,kBAAkB,mBAAmB,gDAAoB;AACjO;AACA;AACA;AACA;AACA;AACA,qBAAqB,gDAAoB,yCAAyC,gDAAoB,+BAA+B,gDAAoB,WAAW,SAAS,wDAAwD,4CAA4C,gDAAoB;AACrS;;AAEA;AACgC;AAChC;AACA,yBAAyB,gDAAoB,kBAAkB,0CAA0C,kBAAkB,gDAAoB;AAC/I;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO,iBAAiB,MAAM;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,0HAA0H,gDAAoB,kCAAkC,wBAAwB;AACxM;AACA;AACA;AACA,iCAAiC,gDAAoB,2CAA2C,gDAAoB;AACpH,QAAQ,IAAI,uBAAuB;AACnC;AACA,sCAAsC,gDAAoB,2CAA2C,gDAAoB;AACzH,QAAQ,IAAI,eAAe;AAC3B;AACA,gDAAgD,gDAAoB,2CAA2C,gDAAoB;AACnI,QAAQ,IAAI;AACZ;AACA;AACA,WAAW;AACX;AACA,iLAAiL,uBAAuB;AACxM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,KAAK,yBAAyB,SAAS;AACzE;AACA;AACA;AACA;AACA,sCAAsC,IAAI,yCAAyC,MAAM,aAAa,SAAS;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ,kBAAkB,SAAS,EAAE,KAAK,gEAAgE,SAAS,IAAI,KAAK;AAClJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,kCAAkC,iBAAiB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,MAAM;AACN;AACA,8BAA8B,SAAS;AACvC;AACA;AACA,SAAS;AACT;AACA;AACA,8BAA8B,SAAS;AACvC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,kCAAkC,2BAA2B,IAAI;AACjE,kCAAkC,2BAA2B,IAAI;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,wCAAwC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,sCAAsC,2BAA2B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,aAAa;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,4CAAgB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA,wBAAwB,kCAAkC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,YAAY,EAAE,eAAe;AACpD,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,6CAAiB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,6CAAiB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gDAAoB;AAC3C;AACA;AACA,gBAAgB,6CAAiB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,6CAAiB;AAC1C,0CAA0C,2CAAe;AACzD,4CAA4C,2CAAe;AAC3D,QAAQ,4DAA4D;AACpE,YAAY,yCAAa;AACzB,EAAE,4CAAgB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,0DAA0D,gBAAgB;AAC1E;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE,4CAAgB;AAClB;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,iDAAiD;AACzD,QAAQ,iCAAiC;AACzC;AACA,mBAAmB,0CAAc;AACjC;AACA;AACA;AACA,yBAAyB,gDAAoB,CAAC,2CAAe,sCAAsC,gDAAoB,YAAY,2BAA2B,uBAAuB;AACrL,OAAO,WAAW,kDAAkD,gDAAoB,sBAAsB,cAAc,oBAAoB,gDAAoB,WAAW,cAAc;AAC7L;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,QAAQ,SAAS;AACjB,gBAAgB,0CAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,gDAAoB,0BAA0B,iCAAiC;AACxG;AACA;AACA,QAAQ,yBAAyB;AACjC,oDAAoD,2CAAe;AACnE,EAAE,4CAAgB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,QAAQ,yBAAyB;AACjC,QAAQ,sBAAsB;AAC9B,0BAA0B,0CAAc;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0CAAc;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,0CAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,0CAAc;AAClC;AACA;AACA;AACA;AACA,yBAAyB,gDAAoB,CAAC,2CAAe,gDAAgD,gDAAoB,WAAW,6DAA6D,8CAA8C,gDAAoB,WAAW,qDAAqD,8BAA8B,WAAW;AACpX;AACA;AACA,oBAAoB,gDAAoB,WAAW,cAAc;AACjE;AACA;AACA;AACA,QAAQ,0BAA0B;AAClC;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,gDAAoB,CAAC,2CAAe;AAC7D;AACA;AACA;AACA;AACA,YAAY,mBAAmB;AAC/B;AACA;AACA,oDAAoD,QAAQ;AAC5D;AACA;AACA;AACA;AACA,6BAA6B,gDAAoB,SAAS,oCAAoC;AAC9F;AACA;AACA,6BAA6B,gDAAoB,YAAY,cAAc;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,gDAAoB,WAAW,4CAA4C;AAChJ;AACA;AACA;AACA;AACA,+BAA+B,gDAAoB;AACnD;AACA;AACA,mCAAmC,KAAK;AACxC;AACA,uCAAuC;AACvC;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,2BAA2B,gDAAoB,WAAW,8CAA8C;AACxG,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,uDAAuD;AAC/D,QAAQ,0CAA0C;AAClD,QAAQ,yBAAyB;AACjC;AACA;AACA;AACA;AACA;AACA,EAAE,4CAAgB;AAClB;AACA,GAAG;AACH,uBAAuB,0CAAc;AACrC,iFAAiF,kBAAkB,4DAA4D,uCAAuC;AACtM,yEAAyE,qBAAqB,EAAE,aAAa;AAC7G,kDAAkD,kCAAkC,sCAAsC,OAAO,EAAE,4BAA4B,6BAA6B;AAC5L,EAAE;AACF,4CAA4C,OAAO,OAAO;AAC1D;AACA,SAAS;AACT;AACA,IAAI;AACJ;AACA,wCAAwC;AACxC;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,EAAE,iCAAiC,+BAA+B,QAAQ,MAAM;;AAEtH,SAAS,sCAAsC,EAAE;AACjD,2BAA2B,gDAAoB,CAAC,2CAAe,wBAAwB,gDAAoB;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gDAAoB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,6CAA6C,gDAAoB,CAAC,2CAAe,0CAA0C,gDAAoB;AAC/I;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,gDAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,gDAAoB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,oCAAoC,sBAAsB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,iCAAiC,sBAAsB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mBAAmB,yCAAc;AACjC;AACA,gDAAgD,iCAAiC;AACjF;AACA;AACA,8BAA8B,2CAAgB;AAC9C;AACA;AACA,GAAG;AACH,iBAAiB,8CAAmB;AACpC;AACA,MAAM,kDAAuB;AAC7B,KAAK;AACL;AACA;AACA,EAAE,kDAAuB;AACzB,yBAAyB,gDAAqB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,qCAAqC;AAC3D,mBAAmB,yCAAc;AACjC;AACA,6CAA6C,iCAAiC;AAC9E;AACA;AACA,8BAA8B,2CAAgB;AAC9C;AACA;AACA,GAAG;AACH,iBAAiB,8CAAmB;AACpC;AACA,MAAM,kDAAuB;AAC7B,KAAK;AACL;AACA;AACA,EAAE,kDAAuB;AACzB,yBAAyB,gDAAqB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,8BAA8B,2CAAgB;AAC9C;AACA;AACA,GAAG;AACH,iBAAiB,8CAAmB;AACpC;AACA,MAAM,kDAAuB;AAC7B,KAAK;AACL;AACA;AACA,EAAE,kDAAuB;AACzB,yBAAyB,gDAAqB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,6CAAkB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,UAAU,WAAW,EAAE,6CAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA,yBAAyB,GAAG;AAC5B;AACA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gDAAqB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,gDAAqB,CAAC,2CAAgB,8BAA8B,gDAAqB,sBAAsB,YAAY;AACtL;AACA;AACA;AACA,cAAc,6CAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,qCAAqC,yBAAyB;AAC9D;AACA,sBAAsB,6CAAkB;AACxC,UAAU,kCAAkC,EAAE,6CAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,gDAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW,6CAAkB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,6CAA6C,UAAU;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,2BAA2B,gDAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qBAAqB,6CAAkB;AACvC,QAAQ,WAAW,EAAE,6CAAkB;AACvC;AACA;AACA,yBAAyB,oBAAoB;AAC7C,eAAe,0CAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,KAAK;AACzC;AACA;AACA,2EAA2E;AAC3E;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,GAAG;AACH,yBAAyB,gDAAqB;AAC9C;AACA;AACA;AACA;AACA;AACA,oBAAoB,cAAc,IAAI;AACtC;AACA,UAAU,IAAI,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,UAAU;AACtB;AACA;AACA,YAAY,6CAAkB;AAC9B;AACA;AACA;AACA;AACA,cAAc,6CAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI;AACN;AACA;AACA,mCAAmC,UAAU;AAC7C,SAAS,8CAAmB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,yCAAc;AAC7C,8BAA8B,yCAAc;AAC5C;AACA,qBAAqB,0CAAe;AACpC;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,8CAAmB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,QAAQ,SAAS;AACjB,QAAQ,WAAW,EAAE,6CAAkB;AACvC;AACA,SAAS,8CAAmB;AAC5B,+BAA+B;AAC/B,YAAY,0CAA0C;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA,iCAAiC,WAAW,IAAI;AAChD,QAAQ,WAAW,EAAE,6CAAkB;AACvC,qBAAqB,6CAAkB;AACvC;AACA;AACA,eAAe,4CAA4C,UAAU;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,GAAG;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI;AACN,QAAQ,SAAS;AACjB;AACA,oBAAoB,6CAAkB;AACtC,cAAc,6CAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wCAAa;AAChC,oCAAoC,2CAAgB;AACpD;AACA;AACA;AACA,EAAE,4CAAiB;AACnB;AACA;AACA,GAAG;AACH,aAAa,8CAAmB;AAChC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,eAAe,8CAAmB;AAClC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,oBAAoB,0CAAe;AACnC,uBAAuB,6CAAkB;AACzC;AACA,+BAA+B,gDAAqB,SAAS,4CAA4C;AACzG;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,8BAA8B,0CAAe;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI;AACN,QAAQ,SAAS;AACjB,QAAQ,4CAA4C;AACpD;AACA;AACA,QAAQ,WAAW,EAAE,6CAAkB;AACvC;AACA;AACA;AACA,EAAE,4CAAiB;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,IAAI,8CAAmB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,8GAA8G,MAAM;AACpH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI,kDAAuB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,KAAK;AACL,IAAI,kDAAuB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,kDAAuB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,QAAQ,UAAU;AAClB,EAAE,4CAAiB;AACnB,mCAAmC,UAAU;AAC7C;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,QAAQ,UAAU;AAClB,EAAE,4CAAiB;AACnB,mCAAmC,UAAU;AAC7C;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,EAAE,4CAAiB;AACnB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,GAAG;AACH,EAAE,4CAAiB;AACnB;AACA;AACA;AACA,GAAG;AACH;AACA,6CAA6C;AAC7C,kBAAkB,6CAAkB;AACpC;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACiC;AACjC;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,gDAAqB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,KAAK,EAAE;AAC9E;AACA,QAAQ,QAAQ;AAChB,yBAAyB,gDAAqB,CAAC,2CAAgB,wBAAwB,gDAAqB,+BAA+B,0BAA0B,kBAAkB,gDAAqB,oCAAoC,cAAc,kBAAkB,gDAAqB,6BAA6B,wBAAwB,kBAAkB,gDAAqB,mCAAmC,SAAS,0BAA0B,kBAAkB,gDAAqB;AAC9e;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,oBAAoB,gDAAqB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,gDAAqB;AAC9D;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4JAA4J,mBAAmB;AAC/K;AACA,KAAK;AACL;AACA;AACA,+JAA+J,mBAAmB,IAAI,eAAe;AACrM;AACA,KAAK;AACL;AACA;AACA,0JAA0J,MAAM;AAChK;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,sDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,iDAAiD,OAAO;AACxD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACiC;AACjC;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,QAAQ,2DAA2D;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,gDAAqB,CAAC,2CAAgB,wBAAwB,gDAAqB;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,oBAAoB,gDAAqB,uBAAuB,iCAAiC,kBAAkB,gDAAqB;AACxI;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,gDAAqB,CAAC,2CAAgB,wBAAwB,gDAAqB;AACtI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACiC;AACjC,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,yCAAc;AAClC,0BAA0B,yCAAc;AACxC;AACA;AACA,kBAAkB;AAClB;AACA,oBAAoB;AACpB,mBAAmB,yBAAyB;AAC5C;AACA;AACA,SAAS;AACT,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,2BAA2B,gDAAqB,8BAA8B,gCAAgC,kBAAkB,gDAAqB,mBAAmB,2BAA2B;AACnM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,kBAAkB;AAC5D,0CAA0C,kBAAkB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AAC0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,+BAA+B;AACnC;AACA;AACA;AACA;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;;AAEA;AACA,4CAA4C;AAC5C,QAAQ,2BAA2B;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB,6CAAK,iBAAiB,6BAA6B;AACvE;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA,aAAa,iDAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,sBAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK,yOAAyO,SAAS,wEAAwE,SAAS;AACpV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kBAAkB;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,6CAA6C;AAC7E,GAAG,IAAI;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACsC;;AAEtC;AACuD;AACvD;AACA;AACA;AACA;AACA;AACA,UAAU,uDAAuD;AACjE;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,UAAU,KAAK;AACf;AACA,wCAAwC,GAAG;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,kBAAkB,qEAAkB;AACpC;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI;AACN,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,qCAAqC;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iBAAiB;AAC3C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,MAAM;AACN,4BAA4B,4CAA4C;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA,wBAAwB;AACxB,QAAQ;AACR,wBAAwB;AACxB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,gBAAgB,QAAQ,SAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAM;AACf;AACA;AACA;AACA;AACA,gBAAgB,uBAAuB;AACvC;AACA;AACA;AACA,gBAAgB,kCAAkC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,kEAAkE,SAAS;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,sDAAsD,aAAa;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,2CAA2C,aAAa;AACxD;AACA;AACA,QAAQ,0BAA0B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA,gCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sBAAsB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE,cAAc;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,KAAK;AACzB;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC,KAAK;AACL;AACA,YAAY,kBAAkB;AAC9B;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;;AAEA;AACA,sCAAsC,oBAAoB,IAAI;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,sCAAsC,SAAS,IAAI;AACnD;AACA;AACA;AACA;AACA;AACA,oBAAoB,sBAAsB;AAC1C;AACA,KAAK;AACL;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,oBAAoB,sBAAsB;AAC1C,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAkHE;;;;;;;;;;;;;;;ACh5SF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkB8B;;AAE9B;AAC+B;AACO;AACtC;AACA,yBAAyB,gDAAmB,CAAC,+DAAc,IAAI,WAAW,gDAAkB,YAAY;AACxG;;AAEA;AACgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,8DAAS;AACb;AACA,mCAAmC,yEAAoB;AACvD;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uEAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,yBAAyB,gEAAW;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,6EAAwB;AAC9D;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,6BAA6B,sEAAiB;AAC9C;AACA;AACA,gBAAgB,iEAAY;AAC5B;AACA,aAAa,yEAAoB;AACjC;AACA;AACA,sBAAsB;AACtB,kBAAkB,+EAA0B;AAC5C;AACA;AACA;AACA;AACA,6BAA6B,uFAAkC;AAC/D;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,4FAA2C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,2CAAe;AACrD,IAAI,KAAsC,kCAAkC,CAAM;AAClF;AACA,MAAM,IAAsC;AAC5C;AACA;AACA;AACA;AACA,gCAAgC,2CAAe;AAC/C,EAAE,kDAAsB;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE,kDAAsB;AACxB;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH,EAAE,8DAAS;AACX,EAAE,yEAAoB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gDAAoB,CAAC,2CAAe,wBAAwB,gDAAoB;AACpG,MAAM,iEAAgB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,sBAAsB,gDAAoB,CAAC,mEAAkB,IAAI,UAAU,kBAAkB,gDAAoB,oBAAoB,QAAQ;AAC7I,uBAAuB,gDAAoB,CAAC,2CAAe;AAC3D;AACA;AAIE;;;;;;;;;;;;;;;;;;;ACtMF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAiH8B;AAiH5B;;;;;;;;;;;AC3OW;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;;AAEA;AACA,sBAAsB;AACtB;;AAEA;AACA,sEAAsE;AACtE,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC,IAAI;AACJ;AACA;;AAEA,WAAW;AACX;;AAEA;AACA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,oMAAoM,cAAc;AAClN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kCAAkC;AAClC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,uEAAuE;AACvE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,+CAA+C;AAC/C;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB;AACpB,0BAA0B;AAC1B,iCAAiC;;;;;;;;;;;;;;;AC/NjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,cAAc;AACxD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,UAAU;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,iCAAiC;AAC3C;AACA;AACA;AACA;AACA,kEAAkE,sBAAsB,IAAI,2BAA2B;AACvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,YAAY,KAAK,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,6BAA6B,YAAY,IAAI,uBAAuB;AACpE;AACA;AACA;AACA;AACA;AACA,2BAA2B,KAAK;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,iCAAiC;AACjE;AACA,mCAAmC,iDAAiD;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,4BAA4B,mBAAmB;AAC/C;AACA,6BAA6B,OAAO;AACpC,YAAY;AACZ,+BAA+B,UAAU,IAAI,iBAAiB;AAC9D,YAAY;AACZ,+BAA+B,SAAS,IAAI,4BAA4B;AACxE,YAAY;AACZ,+BAA+B,YAAY,IAAI;AAC/C;AACA,cAAc,GAAG,6BAA6B;AAC9C,YAAY;AACZ;AACA,iCAAiC,SAAS,IAAI,4DAA4D;AAC1G,cAAc;AACd,iCAAiC,SAAS;AAC1C;AACA,YAAY;AACZ;AACA,iCAAiC,SAAS,IAAI;AAC9C;AACA;AACA,2BAA2B;AAC3B,cAAc;AACd,iCAAiC,SAAS;AAC1C;AACA,YAAY;AACZ,+BAA+B,aAAa,IAAI,OAAO;AACvD;AACA,YAAY;AACZ,+BAA+B,WAAW,IAAI,+BAA+B;AAC7E;AACA,iCAAiC,4BAA4B;AAC7D;AACA;AACA,YAAY;AACZ,+BAA+B,iBAAiB,GAAG,EAAE,qBAAqB;AAC1E,YAAY;AACZ,4BAA4B,EAAE,qBAAqB;AACnD,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,iCAAiC;AACjE;AACA,mCAAmC,iDAAiD;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,iCAAiC;AAC/D;AACA,iCAAiC,iDAAiD;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,mBAAmB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,sCAAsC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,iBAAiB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,UAAU;AACpB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,YAAY;AACrD;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,YAAY;AACrD;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,+BAA+B;AACzC;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA,QAAQ;AACR;AACA,iCAAiC,8BAA8B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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","sources":["webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/icon/index.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/index.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/add-card.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/add-submenu.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/add-template.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-center.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-justify.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-none.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/align-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/archive.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-down-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-up-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/arrow-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/aspect-ratio.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/at-symbol.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/audio.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/background.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/backup.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/bell-unread.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/bell.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/block-default.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/block-meta.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/block-table.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/border.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/box.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/brush.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/bug.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/button.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/buttons.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/calendar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cancel-circle-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/caption.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/capture-photo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/capture-video.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/category.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/caution-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/caution.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chart-bar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/check.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-down-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-left-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-right-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-up-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/chevron-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/classic.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/close-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/close.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cloud-download.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cloud-upload.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cloud.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/code.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cog.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/color.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/column.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/columns.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-author-avatar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-author-name.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-content.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-edit-link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment-reply-link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/comment.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/connection.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/copy-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/copy.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-all.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-bottom-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-bottom-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-top-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/corner-top-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/cover.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/create.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/crop.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/currency-dollar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/currency-euro.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/currency-pound.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/custom-link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/custom-post-type.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/dashboard.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/desktop.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/details.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/download.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drafts.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drag-handle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drawer-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/drawer-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/edit.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/envelope.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/error.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/external.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/file.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/filter.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/flip-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/flip-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/footer.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-bold.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-capitalize.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-indent-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-indent.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-italic.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-bullets-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-bullets.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-numbered-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-list-numbered.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-lowercase.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-ltr.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-outdent-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-outdent.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-rtl.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-strikethrough.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-underline.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/format-uppercase.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/fullscreen.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/funnel.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/gallery.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/globe.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/grid.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/group.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/handle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/header.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-1.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-2.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-3.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-4.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-5.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading-level-6.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/heading.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/help-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/help.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/home-button.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/home.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/html.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/image.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/inbox.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/info.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/insert-after.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/insert-before.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/institution.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-bottom.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-center-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-center.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-space-between-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-space-between.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-stretch-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-stretch.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/justify-top.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/key.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/keyboard-close.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/keyboard-return.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/keyboard.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/language.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/layout.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/level-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lifesaver.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/line-dashed.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/line-dotted.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/line-solid.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/link-off.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/link.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/list-item.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/list-view.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/list.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lock-outline.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lock-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/lock.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/login.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/loop.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/map-marker.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/media-and-text.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/media.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/megaphone.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/menu.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/mobile.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/more-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/more-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/more.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/move-to.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/navigation.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/next.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/not-allowed.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/not-found.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/offline.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/overlay-text.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/page-break.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/page.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pages.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/paragraph.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/payment.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pencil.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pending.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/people.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/percent.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pin-small.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pin.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plugins.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plus-circle-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plus-circle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/plus.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/position-center.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/position-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/position-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-author.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-categories.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-comments-count.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-comments-form.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-comments.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-content.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-date.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-excerpt.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-featured-image.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-list.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post-terms.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/post.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/preformatted.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/previous.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/published.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pull-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pull-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/pullquote.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination-next.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination-numbers.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination-previous.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/query-pagination.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/quote.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/receipt.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/redo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/remove-bug.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/remove-submenu.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/replace.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/reset.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/resize-corner-n-e.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/reusable-block.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/rotate-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/rotate-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/row.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/rss.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/scheduled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/search.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/seen.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/send.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/separator.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/settings.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shadow.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/share.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shield.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shipping.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shortcode.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/shuffle.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sidebar.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-all.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-axial.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-bottom.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-left.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-right.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-top.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/sides-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/site-logo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/square.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/stack.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/star-empty.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/star-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/star-half.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/store.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/stretch-full-width.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/stretch-wide.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/styles.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/subscript.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/superscript.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/swatch.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/symbol-filled.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/symbol.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-column-after.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-column-before.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-column-delete.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-of-contents.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-row-after.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-row-before.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table-row-delete.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/table.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tablet.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tag.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/term-description.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/text-color.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/text-horizontal.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/text-vertical.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/thumbs-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/thumbs-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tip.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/title.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/tool.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/trash.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/trending-down.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/trending-up.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/typography.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/undo.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/ungroup.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/unlock.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/unseen.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/update.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/upload.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/verse.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/video.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/widget.js?","webpack://popup-maker/core/./node_modules/@wordpress/icons/build-module/library/wordpress.js?","webpack://popup-maker/core/./node_modules/clsx/dist/clsx.mjs?","webpack://popup-maker/core/./node_modules/react-router-dom/dist/index.mjs?","webpack://popup-maker/core/./node_modules/react-router-dom/node_modules/cookie/dist/index.js?","webpack://popup-maker/core/./node_modules/react-router-dom/node_modules/react-router/dist/development/chunk-K6AXKMTT.mjs?","webpack://popup-maker/core/./node_modules/react-router-dom/node_modules/react-router/dist/development/dom-export.mjs?","webpack://popup-maker/core/./node_modules/react-router-dom/node_modules/react-router/dist/development/index.mjs?","webpack://popup-maker/core/./node_modules/set-cookie-parser/lib/set-cookie.js?","webpack://popup-maker/core/./node_modules/turbo-stream/dist/turbo-stream.mjs?","webpack://popup-maker/core/./packages/cta-admin/src/App.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/components/index.ts?","webpack://popup-maker/core/./packages/cta-admin/src/components/list-view/editor.scss?be0e","webpack://popup-maker/core/./packages/cta-admin/src/components/list-view/header.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/components/list-view/index.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/components/list-view/notices.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/components/list/bulk-actions/bulk-actions.scss?655e","webpack://popup-maker/core/./packages/cta-admin/src/components/list/bulk-actions/index.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/components/list/filters/filters.scss?2cbf","webpack://popup-maker/core/./packages/cta-admin/src/components/list/filters/index.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/components/list/index.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/components/list/options/index.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/components/list/options/options.scss?3fd6","webpack://popup-maker/core/./packages/cta-admin/src/components/list/quick-actions/index.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/context.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/editor.scss?6959","webpack://popup-maker/core/./packages/cta-admin/src/init.ts?","webpack://popup-maker/core/./packages/cta-admin/src/registries/index.ts?","webpack://popup-maker/core/./packages/cta-admin/src/registries/list-bulk-actions/delete.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/registries/list-bulk-actions/disable.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/registries/list-bulk-actions/enable.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/registries/list-bulk-actions/export.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/registries/list-bulk-actions/index.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/registries/list-bulk-actions/trash.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/registries/list-filters/index.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/registries/list-filters/status.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/registries/list-filters/type.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/registries/list-options/export.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/registries/list-options/import.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/registries/list-options/index.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/registries/list-quick-actions/delete.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/registries/list-quick-actions/edit.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/registries/list-quick-actions/index.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/registries/list-quick-actions/trash.tsx?","webpack://popup-maker/core/./packages/cta-admin/src/registry/index.ts?","webpack://popup-maker/core/./packages/cta-admin/src/registry/list-bulk-actions.ts?","webpack://popup-maker/core/./packages/cta-admin/src/registry/list-filters.ts?","webpack://popup-maker/core/./packages/cta-admin/src/registry/list-options.ts?","webpack://popup-maker/core/./packages/cta-admin/src/registry/list-quick-actions.ts?","webpack://popup-maker/core/./packages/cta-admin/src/utils/index.ts?","webpack://popup-maker/core/./packages/use-query-params/adapters/react-router-6.js?","webpack://popup-maker/core/./packages/use-query-params/node_modules/use-query-params/adapters/react-router-6/index.js?","webpack://popup-maker/core/external window [\"popupMaker\",\"components\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"coreData\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"ctaEditor\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"data\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"i18n\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"icons\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"layout\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"registry\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"useQueryParams\"]?","webpack://popup-maker/core/external window [\"popupMaker\",\"utils\"]?","webpack://popup-maker/core/external window [\"wp\",\"components\"]?","webpack://popup-maker/core/external window [\"wp\",\"data\"]?","webpack://popup-maker/core/external window [\"wp\",\"domReady\"]?","webpack://popup-maker/core/external window [\"wp\",\"element\"]?","webpack://popup-maker/core/external window [\"wp\",\"hooks\"]?","webpack://popup-maker/core/external window [\"wp\",\"htmlEntities\"]?","webpack://popup-maker/core/external window [\"wp\",\"primitives\"]?","webpack://popup-maker/core/external window \"React\"?","webpack://popup-maker/core/external window \"ReactDOM\"?","webpack://popup-maker/core/external window \"ReactJSXRuntime\"?","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/compat get default export?","webpack://popup-maker/core/webpack/runtime/define property getters?","webpack://popup-maker/core/webpack/runtime/hasOwnProperty shorthand?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/cta-admin/src/index.tsx?"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cloneElement, forwardRef } from '@wordpress/element';\n\n/**\n * External dependencies\n */\n\n/**\n * Return an SVG icon.\n *\n * @param props The component props.\n *\n * @return Icon component\n */\nexport default forwardRef(({\n icon,\n size = 24,\n ...props\n}, ref) => {\n return cloneElement(icon, {\n width: size,\n height: size,\n ...props,\n ref\n });\n});\n//# sourceMappingURL=index.js.map","export { default as Icon } from './icon';\nexport { default as addCard } from './library/add-card';\nexport { default as addSubmenu } from './library/add-submenu';\nexport { default as addTemplate } from './library/add-template';\nexport { default as alignCenter } from './library/align-center';\nexport { default as alignJustify } from './library/align-justify';\nexport { default as alignLeft } from './library/align-left';\nexport { default as alignNone } from './library/align-none';\nexport { default as alignRight } from './library/align-right';\nexport { default as archive } from './library/archive';\nexport { default as arrowDown } from './library/arrow-down';\nexport { default as arrowDownRight } from './library/arrow-down-right';\nexport { default as arrowLeft } from './library/arrow-left';\nexport { default as arrowRight } from './library/arrow-right';\nexport { default as arrowUp } from './library/arrow-up';\nexport { default as arrowUpLeft } from './library/arrow-up-left';\nexport { default as atSymbol } from './library/at-symbol';\nexport { default as aspectRatio } from './library/aspect-ratio';\nexport { default as audio } from './library/audio';\nexport { default as background } from './library/background';\nexport { default as backup } from './library/backup';\nexport { default as bell } from './library/bell';\nexport { default as bellUnread } from './library/bell-unread';\nexport { default as blockDefault } from './library/block-default';\nexport { default as blockMeta } from './library/block-meta';\nexport { default as blockTable } from './library/block-table';\nexport { default as border } from './library/border';\nexport { default as box } from './library/box';\nexport { default as brush } from './library/brush';\nexport { default as bug } from './library/bug';\nexport { default as button } from './library/button';\nexport { default as buttons } from './library/buttons';\nexport { default as calendar } from './library/calendar';\nexport { default as cancelCircleFilled } from './library/cancel-circle-filled';\nexport { default as caption } from './library/caption';\nexport { default as capturePhoto } from './library/capture-photo';\nexport { default as captureVideo } from './library/capture-video';\nexport { default as category } from './library/category';\nexport { default as caution } from './library/caution';\nexport { /** @deprecated Import `cautionFilled` instead. */\ndefault as warning, default as cautionFilled } from './library/caution-filled';\nexport { default as chartBar } from './library/chart-bar';\nexport { default as check } from './library/check';\nexport { default as chevronDown } from './library/chevron-down';\nexport { default as chevronDownSmall } from './library/chevron-down-small';\nexport { default as chevronLeft } from './library/chevron-left';\nexport { default as chevronLeftSmall } from './library/chevron-left-small';\nexport { default as chevronRight } from './library/chevron-right';\nexport { default as chevronRightSmall } from './library/chevron-right-small';\nexport { default as chevronUp } from './library/chevron-up';\nexport { default as chevronUpDown } from './library/chevron-up-down';\nexport { default as classic } from './library/classic';\nexport { default as close } from './library/close';\nexport { default as closeSmall } from './library/close-small';\nexport { default as cloudDownload } from './library/cloud-download';\nexport { default as cloudUpload } from './library/cloud-upload';\nexport { default as cloud } from './library/cloud';\nexport { default as code } from './library/code';\nexport { default as cog } from './library/cog';\nexport { default as color } from './library/color';\nexport { default as column } from './library/column';\nexport { default as columns } from './library/columns';\nexport { default as copy } from './library/copy';\nexport { default as copySmall } from './library/copy-small';\nexport { default as comment } from './library/comment';\nexport { default as commentAuthorAvatar } from './library/comment-author-avatar';\nexport { default as commentAuthorName } from './library/comment-author-name';\nexport { default as commentContent } from './library/comment-content';\nexport { default as commentReplyLink } from './library/comment-reply-link';\nexport { default as commentEditLink } from './library/comment-edit-link';\nexport { default as cornerAll } from './library/corner-all';\nexport { default as cornerBottomLeft } from './library/corner-bottom-left';\nexport { default as cornerBottomRight } from './library/corner-bottom-right';\nexport { default as cornerTopLeft } from './library/corner-top-left';\nexport { default as cornerTopRight } from './library/corner-top-right';\nexport { default as connection } from './library/connection';\nexport { default as cover } from './library/cover';\nexport { default as create } from './library/create';\nexport { default as crop } from './library/crop';\nexport { default as currencyDollar } from './library/currency-dollar';\nexport { default as currencyEuro } from './library/currency-euro';\nexport { default as currencyPound } from './library/currency-pound';\nexport { default as customPostType } from './library/custom-post-type';\nexport { default as dashboard } from './library/dashboard';\nexport { default as desktop } from './library/desktop';\nexport { default as details } from './library/details';\nexport { default as drafts } from './library/drafts';\nexport { default as dragHandle } from './library/drag-handle';\nexport { default as drawerLeft } from './library/drawer-left';\nexport { default as drawerRight } from './library/drawer-right';\nexport { default as download } from './library/download';\nexport { default as edit } from './library/edit';\nexport { default as envelope } from './library/envelope';\nexport { default as external } from './library/external';\nexport { default as error } from './library/error';\nexport { default as file } from './library/file';\nexport { default as filter } from './library/filter';\nexport { default as flipHorizontal } from './library/flip-horizontal';\nexport { default as flipVertical } from './library/flip-vertical';\nexport { default as formatBold } from './library/format-bold';\nexport { default as formatCapitalize } from './library/format-capitalize';\nexport { default as formatIndent } from './library/format-indent';\nexport { default as formatIndentRTL } from './library/format-indent-rtl';\nexport { default as formatItalic } from './library/format-italic';\nexport { default as formatListBullets } from './library/format-list-bullets';\nexport { default as formatListBulletsRTL } from './library/format-list-bullets-rtl';\nexport { default as formatListNumbered } from './library/format-list-numbered';\nexport { default as formatListNumberedRTL } from './library/format-list-numbered-rtl';\nexport { default as formatLtr } from './library/format-ltr';\nexport { default as formatLowercase } from './library/format-lowercase';\nexport { default as formatOutdent } from './library/format-outdent';\nexport { default as formatOutdentRTL } from './library/format-outdent-rtl';\nexport { default as formatRtl } from './library/format-rtl';\nexport { default as formatStrikethrough } from './library/format-strikethrough';\nexport { default as formatUnderline } from './library/format-underline';\nexport { default as formatUppercase } from './library/format-uppercase';\nexport { default as fullscreen } from './library/fullscreen';\nexport { default as funnel } from './library/funnel';\nexport { default as gallery } from './library/gallery';\nexport { default as globe } from './library/globe';\nexport { default as grid } from './library/grid';\nexport { default as group } from './library/group';\nexport { default as handle } from './library/handle';\nexport { default as headingLevel1 } from './library/heading-level-1';\nexport { default as headingLevel2 } from './library/heading-level-2';\nexport { default as headingLevel3 } from './library/heading-level-3';\nexport { default as headingLevel4 } from './library/heading-level-4';\nexport { default as headingLevel5 } from './library/heading-level-5';\nexport { default as headingLevel6 } from './library/heading-level-6';\nexport { default as heading } from './library/heading';\nexport { default as help } from './library/help';\nexport { default as helpFilled } from './library/help-filled';\nexport { default as inbox } from './library/inbox';\nexport { default as institution } from './library/institution';\nexport { default as home } from './library/home';\nexport { default as homeButton } from './library/home-button';\nexport { default as html } from './library/html';\nexport { default as image } from './library/image';\nexport { default as info } from './library/info';\nexport { default as insertAfter } from './library/insert-after';\nexport { default as insertBefore } from './library/insert-before';\nexport { default as justifyBottom } from './library/justify-bottom';\nexport { default as justifyLeft } from './library/justify-left';\nexport { default as justifyCenter } from './library/justify-center';\nexport { default as justifyCenterVertical } from './library/justify-center-vertical';\nexport { default as justifyRight } from './library/justify-right';\nexport { default as justifySpaceBetween } from './library/justify-space-between';\nexport { default as justifySpaceBetweenVertical } from './library/justify-space-between-vertical';\nexport { default as justifyStretch } from './library/justify-stretch';\nexport { default as justifyStretchVertical } from './library/justify-stretch-vertical';\nexport { default as justifyTop } from './library/justify-top';\nexport { default as key } from './library/key';\nexport { default as keyboard } from './library/keyboard';\nexport { default as keyboardClose } from './library/keyboard-close';\nexport { default as keyboardReturn } from './library/keyboard-return';\nexport { default as language } from './library/language';\nexport { default as layout } from './library/layout';\nexport { default as levelUp } from './library/level-up';\nexport { default as lifesaver } from './library/lifesaver';\nexport { default as lineDashed } from './library/line-dashed';\nexport { default as lineDotted } from './library/line-dotted';\nexport { default as lineSolid } from './library/line-solid';\nexport { default as link } from './library/link';\nexport { default as linkOff } from './library/link-off';\nexport { default as list } from './library/list';\nexport { default as listItem } from './library/list-item';\nexport { default as listView } from './library/list-view';\nexport { default as lock } from './library/lock';\nexport { default as lockOutline } from './library/lock-outline';\nexport { default as lockSmall } from './library/lock-small';\nexport { default as login } from './library/login';\nexport { default as loop } from './library/loop';\nexport { default as mapMarker } from './library/map-marker';\nexport { default as media } from './library/media';\nexport { default as mediaAndText } from './library/media-and-text';\nexport { default as megaphone } from './library/megaphone';\nexport { default as menu } from './library/menu';\nexport { default as mobile } from './library/mobile';\nexport { default as more } from './library/more';\nexport { default as moreHorizontal } from './library/more-horizontal';\nexport { default as moreVertical } from './library/more-vertical';\nexport { default as moveTo } from './library/move-to';\nexport { default as navigation } from './library/navigation';\nexport { default as notAllowed } from './library/not-allowed';\nexport { default as notFound } from './library/not-found';\nexport { default as overlayText } from './library/overlay-text';\nexport { default as pageBreak } from './library/page-break';\nexport { default as customLink } from './library/custom-link';\nexport { default as page } from './library/page';\nexport { default as pages } from './library/pages';\nexport { default as paragraph } from './library/paragraph';\nexport { default as payment } from './library/payment';\nexport { default as pending } from './library/pending';\nexport { default as percent } from './library/percent';\nexport { default as positionCenter } from './library/position-center';\nexport { default as positionLeft } from './library/position-left';\nexport { default as positionRight } from './library/position-right';\nexport { default as pencil } from './library/pencil';\nexport { default as people } from './library/people';\nexport { default as pin } from './library/pin';\nexport { default as pinSmall } from './library/pin-small';\nexport { default as plugins } from './library/plugins';\nexport { default as plusCircleFilled } from './library/plus-circle-filled';\nexport { default as plusCircle } from './library/plus-circle';\nexport { default as plus } from './library/plus';\nexport { default as post } from './library/post';\nexport { default as postAuthor } from './library/post-author';\nexport { default as postCategories } from './library/post-categories';\nexport { default as postContent } from './library/post-content';\nexport { default as postComments } from './library/post-comments';\nexport { default as postCommentsCount } from './library/post-comments-count';\nexport { default as postCommentsForm } from './library/post-comments-form';\nexport { default as postDate } from './library/post-date';\nexport { default as postExcerpt } from './library/post-excerpt';\nexport { default as postFeaturedImage } from './library/post-featured-image';\nexport { default as postList } from './library/post-list';\nexport { default as postTerms } from './library/post-terms';\nexport { default as previous } from './library/previous';\nexport { default as next } from './library/next';\nexport { default as offline } from './library/offline';\nexport { default as preformatted } from './library/preformatted';\nexport { default as published } from './library/published';\nexport { default as pullLeft } from './library/pull-left';\nexport { default as pullRight } from './library/pull-right';\nexport { default as pullquote } from './library/pullquote';\nexport { default as queryPagination } from './library/query-pagination';\nexport { default as queryPaginationNext } from './library/query-pagination-next';\nexport { default as queryPaginationNumbers } from './library/query-pagination-numbers';\nexport { default as queryPaginationPrevious } from './library/query-pagination-previous';\nexport { default as quote } from './library/quote';\nexport { default as receipt } from './library/receipt';\nexport { default as redo } from './library/redo';\nexport { default as removeBug } from './library/remove-bug';\nexport { default as removeSubmenu } from './library/remove-submenu';\nexport { default as replace } from './library/replace';\nexport { default as reset } from './library/reset';\nexport { default as resizeCornerNE } from './library/resize-corner-n-e';\nexport { default as reusableBlock } from './library/reusable-block';\nexport { default as row } from './library/row';\nexport { default as symbol } from './library/symbol';\nexport { default as rotateLeft } from './library/rotate-left';\nexport { default as rotateRight } from './library/rotate-right';\nexport { default as rss } from './library/rss';\nexport { default as search } from './library/search';\nexport { default as seen } from './library/seen';\nexport { default as unseen } from './library/unseen';\nexport { default as scheduled } from './library/scheduled';\nexport { default as send } from './library/send';\nexport { default as separator } from './library/separator';\nexport { default as settings } from './library/settings';\nexport { default as shadow } from './library/shadow';\nexport { default as share } from './library/share';\nexport { default as shield } from './library/shield';\nexport { default as shortcode } from './library/shortcode';\nexport { default as shuffle } from './library/shuffle';\nexport { default as siteLogo } from './library/site-logo';\nexport { default as stack } from './library/stack';\nexport { default as starEmpty } from './library/star-empty';\nexport { default as starFilled } from './library/star-filled';\nexport { default as starHalf } from './library/star-half';\nexport { default as store } from './library/store';\nexport { default as stretchFullWidth } from './library/stretch-full-width';\nexport { default as styles } from './library/styles';\nexport { default as shipping } from './library/shipping';\nexport { default as square } from './library/square';\nexport { default as stretchWide } from './library/stretch-wide';\nexport { default as subscript } from './library/subscript';\nexport { default as superscript } from './library/superscript';\nexport { default as swatch } from './library/swatch';\nexport { default as tableColumnAfter } from './library/table-column-after';\nexport { default as tableColumnBefore } from './library/table-column-before';\nexport { default as tableColumnDelete } from './library/table-column-delete';\nexport { default as tableOfContents } from './library/table-of-contents';\nexport { default as tableRowAfter } from './library/table-row-after';\nexport { default as tableRowBefore } from './library/table-row-before';\nexport { default as tableRowDelete } from './library/table-row-delete';\nexport { default as table } from './library/table';\nexport { default as tag } from './library/tag';\nexport { default as thumbsDown } from './library/thumbs-down';\nexport { default as thumbsUp } from './library/thumbs-up';\nexport { default as symbolFilled } from './library/symbol-filled';\nexport { default as termDescription } from './library/term-description';\nexport { default as footer } from './library/footer';\nexport { default as header } from './library/header';\nexport { default as sidebar } from './library/sidebar';\nexport { default as sidesAll } from './library/sides-all';\nexport { default as sidesAxial } from './library/sides-axial';\nexport { default as sidesBottom } from './library/sides-bottom';\nexport { default as sidesHorizontal } from './library/sides-horizontal';\nexport { default as sidesLeft } from './library/sides-left';\nexport { default as sidesRight } from './library/sides-right';\nexport { default as sidesTop } from './library/sides-top';\nexport { default as sidesVertical } from './library/sides-vertical';\nexport { default as textColor } from './library/text-color';\nexport { default as textHorizontal } from './library/text-horizontal';\nexport { default as textVertical } from './library/text-vertical';\nexport { default as tablet } from './library/tablet';\nexport { default as title } from './library/title';\nexport { default as tip } from './library/tip';\nexport { default as tool } from './library/tool';\nexport { default as trash } from './library/trash';\nexport { default as trendingDown } from './library/trending-down';\nexport { default as trendingUp } from './library/trending-up';\nexport { default as typography } from './library/typography';\nexport { default as undo } from './library/undo';\nexport { default as ungroup } from './library/ungroup';\nexport { default as unlock } from './library/unlock';\nexport { default as update } from './library/update';\nexport { default as upload } from './library/upload';\nexport { default as verse } from './library/verse';\nexport { default as video } from './library/video';\nexport { default as widget } from './library/widget';\nexport { default as wordpress } from './library/wordpress';\n//# sourceMappingURL=index.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst addCard = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 5.5V8H20V5.5h2.5V4H20V1.5h-1.5V4H16v1.5h2.5zM12 4H6a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2v-6h-1.5v6a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5h6V4z\"\n })\n});\nexport default addCard;\n//# sourceMappingURL=add-card.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst addSubmenu = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M2 12c0 3.6 2.4 5.5 6 5.5h.5V19l3-2.5-3-2.5v2H8c-2.5 0-4.5-1.5-4.5-4s2-4.5 4.5-4.5h3.5V6H8c-3.6 0-6 2.4-6 6zm19.5-1h-8v1.5h8V11zm0 5h-8v1.5h8V16zm0-10h-8v1.5h8V6z\"\n })\n});\nexport default addSubmenu;\n//# sourceMappingURL=add-submenu.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst addTemplate = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.5 5.5V8H20V5.5H22.5V4H20V1.5H18.5V4H16V5.5H18.5ZM13.9624 4H6C4.89543 4 4 4.89543 4 6V18C4 19.1046 4.89543 20 6 20H18C19.1046 20 20 19.1046 20 18V10.0391H18.5V18C18.5 18.2761 18.2761 18.5 18 18.5H10L10 10.4917L16.4589 10.5139L16.4641 9.01389L5.5 8.97618V6C5.5 5.72386 5.72386 5.5 6 5.5H13.9624V4ZM5.5 10.4762V18C5.5 18.2761 5.72386 18.5 6 18.5H8.5L8.5 10.4865L5.5 10.4762Z\"\n })\n});\nexport default addTemplate;\n//# sourceMappingURL=add-template.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignCenter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7.5 5.5h9V4h-9v1.5Zm-3.5 7h16V11H4v1.5Zm3.5 7h9V18h-9v1.5Z\"\n })\n});\nexport default alignCenter;\n//# sourceMappingURL=align-center.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignJustify = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 12.8h16v-1.5H4v1.5zm0 7h12.4v-1.5H4v1.5zM4 4.3v1.5h16V4.3H4z\"\n })\n});\nexport default alignJustify;\n//# sourceMappingURL=align-justify.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 5.5H4V4h9v1.5Zm7 7H4V11h16v1.5Zm-7 7H4V18h9v1.5Z\"\n })\n});\nexport default alignLeft;\n//# sourceMappingURL=align-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignNone = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM5 9h14v6H5V9Z\"\n })\n});\nexport default alignNone;\n//# sourceMappingURL=align-none.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst alignRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.111 5.5H20V4h-8.889v1.5ZM4 12.5h16V11H4v1.5Zm7.111 7H20V18h-8.889v1.5Z\"\n })\n});\nexport default alignRight;\n//# sourceMappingURL=align-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst archive = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.934 7.406a1 1 0 0 0 .914.594H19a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5h5.764a.5.5 0 0 1 .447.276l.723 1.63Zm1.064-1.216a.5.5 0 0 0 .462.31H19a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.764a2 2 0 0 1 1.789 1.106l.445 1.084ZM8.5 10.5h7V12h-7v-1.5Zm7 3.5h-7v1.5h7V14Z\"\n })\n});\nexport default archive;\n//# sourceMappingURL=archive.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowDownRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 18h8v-8h-1.5v5.5L7 6 6 7l9.5 9.5H10V18Z\"\n })\n});\nexport default arrowDownRight;\n//# sourceMappingURL=arrow-down-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m16.5 13.5-3.7 3.7V4h-1.5v13.2l-3.8-3.7-1 1 5.5 5.6 5.5-5.6z\"\n })\n});\nexport default arrowDown;\n//# sourceMappingURL=arrow-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 11.2H6.8l3.7-3.7-1-1L3.9 12l5.6 5.5 1-1-3.7-3.7H20z\"\n })\n});\nexport default arrowLeft;\n//# sourceMappingURL=arrow-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m14.5 6.5-1 1 3.7 3.7H4v1.6h13.2l-3.7 3.7 1 1 5.6-5.5z\"\n })\n});\nexport default arrowRight;\n//# sourceMappingURL=arrow-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowUpLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 6H6v8h1.5V8.5L17 18l1-1-9.5-9.5H14V6Z\"\n })\n});\nexport default arrowUpLeft;\n//# sourceMappingURL=arrow-up-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 3.9 6.5 9.5l1 1 3.8-3.7V20h1.5V6.8l3.7 3.7 1-1z\"\n })\n});\nexport default arrowUp;\n//# sourceMappingURL=arrow-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst aspectRatio = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 5.5h-13c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2v-9c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5h-13c-.3 0-.5-.2-.5-.5v-9c0-.3.2-.5.5-.5h13c.3 0 .5.2.5.5v9zM6.5 12H8v-2h2V8.5H6.5V12zm9.5 2h-2v1.5h3.5V12H16v2z\"\n })\n});\nexport default aspectRatio;\n//# sourceMappingURL=aspect-ratio.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst atSymbol = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5939 21C14.1472 21 16.1269 20.5701 17.0711 20.1975L16.6447 18.879C16.0964 19.051 14.3299 19.6242 12.6548 19.6242C7.4467 19.6242 4.67513 16.8726 4.67513 12C4.67513 7.21338 7.50762 4.34713 12.2893 4.34713C17.132 4.34713 19.4162 7.55732 19.4162 10.7675C19.4162 14.035 19.0508 15.4968 17.4975 15.4968C16.5838 15.4968 16.0964 14.7803 16.0964 13.9777V7.5H14.4822V8.30255H14.3909C14.1777 7.67198 12.9898 7.12739 11.467 7.2707C9.18274 7.5 7.4467 9.27707 7.4467 11.8567C7.4467 14.5796 8.81726 16.672 11.467 16.758C13.203 16.8153 14.1168 16.0127 14.4822 15.1815H14.5736C14.7563 16.414 16.401 16.8439 17.467 16.8439C20.6954 16.8439 21 13.5764 21 10.7962C21 6.86943 18.0761 3 12.3807 3C6.50254 3 3 6.3535 3 11.9427C3 17.7325 6.38071 21 12.5939 21ZM11.7107 15.2962C9.73096 15.2962 9.03046 13.6051 9.03046 11.7707C9.03046 10.1083 10.0355 8.67516 11.7716 8.67516C13.599 8.67516 14.5736 9.36306 14.5736 11.7707C14.5736 14.1497 13.7513 15.2962 11.7107 15.2962Z\"\n })\n});\nexport default atSymbol;\n//# sourceMappingURL=at-symbol.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst audio = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.7 4.3c-1.2 0-2.8 0-3.8 1-.6.6-.9 1.5-.9 2.6V14c-.6-.6-1.5-1-2.5-1C8.6 13 7 14.6 7 16.5S8.6 20 10.5 20c1.5 0 2.8-1 3.3-2.3.5-.8.7-1.8.7-2.5V7.9c0-.7.2-1.2.5-1.6.6-.6 1.8-.6 2.8-.6h.3V4.3h-.4z\"\n })\n});\nexport default audio;\n//# sourceMappingURL=audio.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst background = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.53 4.47a.75.75 0 1 0-1.06 1.06l8 8a.75.75 0 1 0 1.06-1.06l-8-8Zm5 1a.75.75 0 1 0-1.06 1.06l2 2a.75.75 0 1 0 1.06-1.06l-2-2Zm-11.06 10a.75.75 0 0 1 1.06 0l2 2a.75.75 0 1 1-1.06 1.06l-2-2a.75.75 0 0 1 0-1.06Zm.06-5a.75.75 0 0 0-1.06 1.06l8 8a.75.75 0 1 0 1.06-1.06l-8-8Zm-.06-3a.75.75 0 0 1 1.06 0l10 10a.75.75 0 1 1-1.06 1.06l-10-10a.75.75 0 0 1 0-1.06Zm3.06-2a.75.75 0 0 0-1.06 1.06l10 10a.75.75 0 1 0 1.06-1.06l-10-10Z\"\n })\n});\nexport default background;\n//# sourceMappingURL=background.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst backup = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.5 12h1.75l-2.5 3-2.5-3H4a8 8 0 113.134 6.35l.907-1.194A6.5 6.5 0 105.5 12zm9.53 1.97l-2.28-2.28V8.5a.75.75 0 00-1.5 0V12a.747.747 0 00.218.529l1.282-.84-1.28.842 2.5 2.5a.75.75 0 101.06-1.061z\"\n })\n});\nexport default backup;\n//# sourceMappingURL=backup.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, Circle } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst bellUnread = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M13.969 4.39A5.088 5.088 0 0 0 12 4C9.2 4 7 6.2 7 9v2.5c0 1.353-.17 2.368-.976 3-.267.209-.602.376-1.024.5v1h14v-1c-.422-.124-.757-.291-1.024-.5-.806-.632-.976-1.647-.976-3V11c-.53 0-1.037-.103-1.5-.29v.79c0 .93.066 1.98.515 2.897l.053.103H7.932l.053-.103c.449-.917.515-1.967.515-2.897V9c0-1.972 1.528-3.5 3.5-3.5.43 0 .838.072 1.214.206.167-.488.425-.933.755-1.316Zm-3.961 13.618c0-.176.023-.346.065-.508h3.854A1.996 1.996 0 0 1 12 20a1.991 1.991 0 0 1-1.992-1.992Z\"\n }), /*#__PURE__*/_jsx(Circle, {\n cx: \"17\",\n cy: \"7\",\n r: \"2.5\"\n })]\n});\nexport default bellUnread;\n//# sourceMappingURL=bell-unread.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst bell = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17 11.5c0 1.353.17 2.368.976 3 .266.209.602.376 1.024.5v1H5v-1c.422-.124.757-.291 1.024-.5.806-.632.976-1.647.976-3V9c0-2.8 2.2-5 5-5s5 2.2 5 5v2.5ZM15.5 9v2.5c0 .93.066 1.98.515 2.897l.053.103H7.932a4.018 4.018 0 0 0 .053-.103c.449-.917.515-1.967.515-2.897V9c0-1.972 1.528-3.5 3.5-3.5s3.5 1.528 3.5 3.5Zm-5.492 9.008c0-.176.023-.346.065-.508h3.854A1.996 1.996 0 0 1 12 20c-1.1 0-1.992-.892-1.992-1.992Z\"\n })\n});\nexport default bell;\n//# sourceMappingURL=bell.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst blockDefault = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 8h-1V6h-5v2h-2V6H6v2H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm.5 10c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-8c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v8z\"\n })\n});\nexport default blockDefault;\n//# sourceMappingURL=block-default.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst blockMeta = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M8.95 11.25H4v1.5h4.95v4.5H13V18c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2h-3c-1.1 0-2 .9-2 2v.75h-2.55v-7.5H13V9c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3c-1.1 0-2 .9-2 2v.75H8.95v4.5ZM14.5 15v3c0 .3.2.5.5.5h3c.3 0 .5-.2.5-.5v-3c0-.3-.2-.5-.5-.5h-3c-.3 0-.5.2-.5.5Zm0-6V6c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5Z\",\n clipRule: \"evenodd\"\n })\n});\nexport default blockMeta;\n//# sourceMappingURL=block-meta.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst blockTable = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v3.5h-15V5c0-.3.2-.5.5-.5zm8 5.5h6.5v3.5H13V10zm-1.5 3.5h-7V10h7v3.5zm-7 5.5v-4h7v4.5H5c-.3 0-.5-.2-.5-.5zm14.5.5h-6V15h6.5v4c0 .3-.2.5-.5.5z\"\n })\n});\nexport default blockTable;\n//# sourceMappingURL=block-table.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst border = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m6.6 15.6-1.2.8c.6.9 1.3 1.6 2.2 2.2l.8-1.2c-.7-.5-1.3-1.1-1.8-1.8zM5.5 12c0-.4 0-.9.1-1.3l-1.5-.3c0 .5-.1 1.1-.1 1.6s.1 1.1.2 1.6l1.5-.3c-.2-.4-.2-.9-.2-1.3zm11.9-3.6 1.2-.8c-.6-.9-1.3-1.6-2.2-2.2l-.8 1.2c.7.5 1.3 1.1 1.8 1.8zM5.3 7.6l1.2.8c.5-.7 1.1-1.3 1.8-1.8l-.7-1.3c-.9.6-1.7 1.4-2.3 2.3zm14.5 2.8-1.5.3c.1.4.1.8.1 1.3s0 .9-.1 1.3l1.5.3c.1-.5.2-1 .2-1.6s-.1-1.1-.2-1.6zM12 18.5c-.4 0-.9 0-1.3-.1l-.3 1.5c.5.1 1 .2 1.6.2s1.1-.1 1.6-.2l-.3-1.5c-.4.1-.9.1-1.3.1zm3.6-1.1.8 1.2c.9-.6 1.6-1.3 2.2-2.2l-1.2-.8c-.5.7-1.1 1.3-1.8 1.8zM10.4 4.2l.3 1.5c.4-.1.8-.1 1.3-.1s.9 0 1.3.1l.3-1.5c-.5-.1-1.1-.2-1.6-.2s-1.1.1-1.6.2z\"\n })\n});\nexport default border;\n//# sourceMappingURL=border.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst box = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5 5.5h14a.5.5 0 01.5.5v1.5a.5.5 0 01-.5.5H5a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 9.232A2 2 0 013 7.5V6a2 2 0 012-2h14a2 2 0 012 2v1.5a2 2 0 01-1 1.732V18a2 2 0 01-2 2H6a2 2 0 01-2-2V9.232zm1.5.268V18a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V9.5h-13z\",\n clipRule: \"evenodd\"\n })\n});\nexport default box;\n//# sourceMappingURL=box.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst brush = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 20h8v-1.5H4V20zM18.9 3.5c-.6-.6-1.5-.6-2.1 0l-7.2 7.2c-.4-.1-.7 0-1.1.1-.5.2-1.5.7-1.9 2.2-.4 1.7-.8 2.2-1.1 2.7-.1.1-.2.3-.3.4l-.6 1.1H6c2 0 3.4-.4 4.7-1.4.8-.6 1.2-1.4 1.3-2.3 0-.3 0-.5-.1-.7L19 5.7c.5-.6.5-1.6-.1-2.2zM9.7 14.7c-.7.5-1.5.8-2.4 1 .2-.5.5-1.2.8-2.3.2-.6.4-1 .8-1.1.5-.1 1 .1 1.3.3.2.2.3.5.2.8 0 .3-.1.9-.7 1.3z\"\n })\n});\nexport default brush;\n//# sourceMappingURL=brush.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst bug = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.13 5.5l1.926 1.927A4.975 4.975 0 007.025 10H5v1.5h2V13H5v1.5h2.1a5.002 5.002 0 009.8 0H19V13h-2v-1.5h2V10h-2.025a4.979 4.979 0 00-1.167-2.74l1.76-1.76-1.061-1.06-1.834 1.834A4.977 4.977 0 0012 5.5c-1.062 0-2.046.33-2.855.895L7.19 4.44 6.13 5.5zm2.37 5v3a3.5 3.5 0 107 0v-3a3.5 3.5 0 10-7 0z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default bug;\n//# sourceMappingURL=bug.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst button = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8 12.5h8V11H8v1.5Z M19 6.5H5a2 2 0 0 0-2 2V15a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a2 2 0 0 0-2-2ZM5 8h14a.5.5 0 0 1 .5.5V15a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8.5A.5.5 0 0 1 5 8Z\"\n })\n});\nexport default button;\n//# sourceMappingURL=button.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst buttons = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.5 17.5H9.5V16H14.5V17.5Z M14.5 8H9.5V6.5H14.5V8Z M7 3.5H17C18.1046 3.5 19 4.39543 19 5.5V9C19 10.1046 18.1046 11 17 11H7C5.89543 11 5 10.1046 5 9V5.5C5 4.39543 5.89543 3.5 7 3.5ZM17 5H7C6.72386 5 6.5 5.22386 6.5 5.5V9C6.5 9.27614 6.72386 9.5 7 9.5H17C17.2761 9.5 17.5 9.27614 17.5 9V5.5C17.5 5.22386 17.2761 5 17 5Z M7 13H17C18.1046 13 19 13.8954 19 15V18.5C19 19.6046 18.1046 20.5 17 20.5H7C5.89543 20.5 5 19.6046 5 18.5V15C5 13.8954 5.89543 13 7 13ZM17 14.5H7C6.72386 14.5 6.5 14.7239 6.5 15V18.5C6.5 18.7761 6.72386 19 7 19H17C17.2761 19 17.5 18.7761 17.5 18.5V15C17.5 14.7239 17.2761 14.5 17 14.5Z\"\n })\n});\nexport default buttons;\n//# sourceMappingURL=buttons.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst calendar = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V7h15v12zM9 10H7v2h2v-2zm0 4H7v2h2v-2zm4-4h-2v2h2v-2zm4 0h-2v2h2v-2zm-4 4h-2v2h2v-2zm4 0h-2v2h2v-2z\"\n })\n});\nexport default calendar;\n//# sourceMappingURL=calendar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cancelCircleFilled = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm3.8 10.7-1.1 1.1-2.7-2.7-2.7 2.7-1.1-1.1 2.7-2.7-2.7-2.7 1.1-1.1 2.7 2.7 2.7-2.7 1.1 1.1-2.7 2.7 2.7 2.7Z\"\n })\n});\nexport default cancelCircleFilled;\n//# sourceMappingURL=cancel-circle-filled.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst caption = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6 5.5h12a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5ZM4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6Zm4 10h2v-1.5H8V16Zm5 0h-2v-1.5h2V16Zm1 0h2v-1.5h-2V16Z\"\n })\n});\nexport default caption;\n//# sourceMappingURL=caption.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst capturePhoto = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 9.2c-2.2 0-3.9 1.8-3.9 4s1.8 4 3.9 4 4-1.8 4-4-1.8-4-4-4zm0 6.5c-1.4 0-2.4-1.1-2.4-2.5s1.1-2.5 2.4-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zM20.2 8c-.1 0-.3 0-.5-.1l-2.5-.8c-.4-.1-.8-.4-1.1-.8l-1-1.5c-.4-.5-1-.9-1.7-.9h-2.9c-.6.1-1.2.4-1.6 1l-1 1.5c-.3.3-.6.6-1.1.7l-2.5.8c-.2.1-.4.1-.6.1-1 .2-1.7.9-1.7 1.9v8.3c0 1 .9 1.9 2 1.9h16c1.1 0 2-.8 2-1.9V9.9c0-1-.7-1.7-1.8-1.9zm.3 10.1c0 .2-.2.4-.5.4H4c-.3 0-.5-.2-.5-.4V9.9c0-.1.2-.3.5-.4.2 0 .5-.1.8-.2l2.5-.8c.7-.2 1.4-.6 1.8-1.3l1-1.5c.1-.1.2-.2.4-.2h2.9c.2 0 .3.1.4.2l1 1.5c.4.7 1.1 1.1 1.9 1.4l2.5.8c.3.1.6.1.8.2.3 0 .4.2.4.4v8.1z\"\n })\n});\nexport default capturePhoto;\n//# sourceMappingURL=capture-photo.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst captureVideo = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 5H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm.5 12c0 .3-.2.5-.5.5H4c-.3 0-.5-.2-.5-.5V7c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v10zm2.5-7v4l5 3V7l-5 3zm3.5 4.4l-2-1.2v-2.3l2-1.2v4.7z\"\n })\n});\nexport default captureVideo;\n//# sourceMappingURL=capture-video.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst category = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 5.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2V6zm11-.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM13 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2h-3a2 2 0 01-2-2V6zm5 8.5h-3a.5.5 0 00-.5.5v3a.5.5 0 00.5.5h3a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5zM15 13a2 2 0 00-2 2v3a2 2 0 002 2h3a2 2 0 002-2v-3a2 2 0 00-2-2h-3zm-9 1.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5zM4 15a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2v-3z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default category;\n//# sourceMappingURL=category.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cautionFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM12.75 8V13H11.25V8H12.75ZM12.75 14.5V16H11.25V14.5H12.75Z\"\n })\n});\nexport default cautionFilled;\n//# sourceMappingURL=caution-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst caution = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-.75 12v-1.5h1.5V16h-1.5Zm0-8v5h1.5V8h-1.5Z\"\n })\n});\nexport default caution;\n//# sourceMappingURL=caution.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chartBar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M11.25 5h1.5v15h-1.5V5zM6 10h1.5v10H6V10zm12 4h-1.5v6H18v-6z\",\n clipRule: \"evenodd\"\n })\n});\nexport default chartBar;\n//# sourceMappingURL=chart-bar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst check = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z\"\n })\n});\nexport default check;\n//# sourceMappingURL=check.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronDownSmall = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m15.99 10.889-3.988 3.418-3.988-3.418.976-1.14 3.012 2.582 3.012-2.581.976 1.139Z\"\n })\n});\nexport default chevronDownSmall;\n//# sourceMappingURL=chevron-down-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronDown = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z\"\n })\n});\nexport default chevronDown;\n//# sourceMappingURL=chevron-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronLeftSmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m13.1 16-3.4-4 3.4-4 1.1 1-2.6 3 2.6 3-1.1 1z\"\n })\n});\nexport default chevronLeftSmall;\n//# sourceMappingURL=chevron-left-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z\"\n })\n});\nexport default chevronLeft;\n//# sourceMappingURL=chevron-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronRightSmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.8622 8.04053L14.2805 12.0286L10.8622 16.0167L9.72327 15.0405L12.3049 12.0286L9.72327 9.01672L10.8622 8.04053Z\"\n })\n});\nexport default chevronRightSmall;\n//# sourceMappingURL=chevron-right-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z\"\n })\n});\nexport default chevronRight;\n//# sourceMappingURL=chevron-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronUpDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m12 20-4.5-3.6-.9 1.2L12 22l5.5-4.4-.9-1.2L12 20zm0-16 4.5 3.6.9-1.2L12 2 6.5 6.4l.9 1.2L12 4z\"\n })\n});\nexport default chevronUpDown;\n//# sourceMappingURL=chevron-up-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst chevronUp = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z\"\n })\n});\nexport default chevronUp;\n//# sourceMappingURL=chevron-up.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst classic = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 6H4c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H4c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h16c.3 0 .5.2.5.5v9zM10 10H8v2h2v-2zm-5 2h2v-2H5v2zm8-2h-2v2h2v-2zm-5 6h8v-2H8v2zm6-4h2v-2h-2v2zm3 0h2v-2h-2v2zm0 4h2v-2h-2v2zM5 16h2v-2H5v2z\"\n })\n});\nexport default classic;\n//# sourceMappingURL=classic.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst closeSmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z\"\n })\n});\nexport default closeSmall;\n//# sourceMappingURL=close-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst close = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z\"\n })\n});\nexport default close;\n//# sourceMappingURL=close.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cloudDownload = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.3 10.1002C17.3 7.6002 15.2 5.7002 12.5 5.7002C10.3 5.7002 8.4 7.1002 7.9 9.0002H7.7C5.7 9.0002 4 10.7002 4 12.8002C4 14.9002 5.7 16.6002 7.7 16.6002V15.2002C6.5 15.2002 5.5 14.1002 5.5 12.9002C5.5 11.7002 6.5 10.5002 7.7 10.5002H9L9.3 9.4002C9.7 8.1002 11 7.2002 12.5 7.2002C14.3 7.2002 15.8 8.5002 15.8 10.1002V11.4002L17.1 11.6002C17.9 11.7002 18.5 12.5002 18.5 13.4002C18.5 14.4002 17.7 15.2002 16.8 15.2002H16.5V16.6002H16.7C18.5 16.6002 19.9 15.1002 19.9 13.3002C20 11.7002 18.8 10.4002 17.3 10.1002Z M9.8806 13.7576L8.81995 14.8182L12.0019 18.0002L15.1851 14.8171L14.1244 13.7564L12.7551 15.1257L12.7551 10.0002L11.2551 10.0002V15.1321L9.8806 13.7576Z\"\n })\n});\nexport default cloudDownload;\n//# sourceMappingURL=cloud-download.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cloudUpload = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.3 10.1C17.3 7.60001 15.2 5.70001 12.5 5.70001C10.3 5.70001 8.4 7.10001 7.9 9.00001H7.7C5.7 9.00001 4 10.7 4 12.8C4 14.9 5.7 16.6 7.7 16.6H9.5V15.2H7.7C6.5 15.2 5.5 14.1 5.5 12.9C5.5 11.7 6.5 10.5 7.7 10.5H9L9.3 9.40001C9.7 8.10001 11 7.20001 12.5 7.20001C14.3 7.20001 15.8 8.50001 15.8 10.1V11.4L17.1 11.6C17.9 11.7 18.5 12.5 18.5 13.4C18.5 14.4 17.7 15.2 16.8 15.2H14.5V16.6H16.7C18.5 16.6 19.9 15.1 19.9 13.3C20 11.7 18.8 10.4 17.3 10.1Z M14.1245 14.2426L15.1852 13.182L12.0032 10L8.82007 13.1831L9.88072 14.2438L11.25 12.8745V18H12.75V12.8681L14.1245 14.2426Z\"\n })\n});\nexport default cloudUpload;\n//# sourceMappingURL=cloud-upload.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cloud = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.3 10.1c0-2.5-2.1-4.4-4.8-4.4-2.2 0-4.1 1.4-4.6 3.3h-.2C5.7 9 4 10.7 4 12.8c0 2.1 1.7 3.8 3.7 3.8h9c1.8 0 3.2-1.5 3.2-3.3.1-1.6-1.1-2.9-2.6-3.2zm-.5 5.1h-9c-1.2 0-2.2-1.1-2.2-2.3s1-2.4 2.2-2.4h1.3l.3-1.1c.4-1.3 1.7-2.2 3.2-2.2 1.8 0 3.3 1.3 3.3 2.9v1.3l1.3.2c.8.1 1.4.9 1.4 1.8-.1 1-.9 1.8-1.8 1.8z\"\n })\n});\nexport default cloud;\n//# sourceMappingURL=cloud.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst code = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.8 10.7l-4.3-4.3-1.1 1.1 4.3 4.3c.1.1.1.3 0 .4l-4.3 4.3 1.1 1.1 4.3-4.3c.7-.8.7-1.9 0-2.6zM4.2 11.8l4.3-4.3-1-1-4.3 4.3c-.7.7-.7 1.8 0 2.5l4.3 4.3 1.1-1.1-4.3-4.3c-.2-.1-.2-.3-.1-.4z\"\n })\n});\nexport default code;\n//# sourceMappingURL=code.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cog = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M10.289 4.836A1 1 0 0111.275 4h1.306a1 1 0 01.987.836l.244 1.466c.787.26 1.503.679 2.108 1.218l1.393-.522a1 1 0 011.216.437l.653 1.13a1 1 0 01-.23 1.273l-1.148.944a6.025 6.025 0 010 2.435l1.149.946a1 1 0 01.23 1.272l-.653 1.13a1 1 0 01-1.216.437l-1.394-.522c-.605.54-1.32.958-2.108 1.218l-.244 1.466a1 1 0 01-.987.836h-1.306a1 1 0 01-.986-.836l-.244-1.466a5.995 5.995 0 01-2.108-1.218l-1.394.522a1 1 0 01-1.217-.436l-.653-1.131a1 1 0 01.23-1.272l1.149-.946a6.026 6.026 0 010-2.435l-1.148-.944a1 1 0 01-.23-1.272l.653-1.131a1 1 0 011.217-.437l1.393.522a5.994 5.994 0 012.108-1.218l.244-1.466zM14.929 12a3 3 0 11-6 0 3 3 0 016 0z\",\n clipRule: \"evenodd\"\n })\n});\nexport default cog;\n//# sourceMappingURL=cog.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst color = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.2 10.9c-.5-1-1.2-2.1-2.1-3.2-.6-.9-1.3-1.7-2.1-2.6L12 4l-1 1.1c-.6.9-1.3 1.7-2 2.6-.8 1.2-1.5 2.3-2 3.2-.6 1.2-1 2.2-1 3 0 3.4 2.7 6.1 6.1 6.1s6.1-2.7 6.1-6.1c0-.8-.3-1.8-1-3zm-5.1 7.6c-2.5 0-4.6-2.1-4.6-4.6 0-.3.1-1 .8-2.3.5-.9 1.1-1.9 2-3.1.7-.9 1.3-1.7 1.8-2.3.7.8 1.3 1.6 1.8 2.3.8 1.1 1.5 2.2 2 3.1.7 1.3.8 2 .8 2.3 0 2.5-2.1 4.6-4.6 4.6z\"\n })\n});\nexport default color;\n//# sourceMappingURL=color.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst column = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 6H6c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zM6 17.5c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h3v10H6zm13.5-.5c0 .3-.2.5-.5.5h-3v-10h3c.3 0 .5.2.5.5v9z\"\n })\n});\nexport default column;\n//# sourceMappingURL=column.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst columns = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 7.5h-5v10h5v-10Zm1.5 0v10H19a.5.5 0 0 0 .5-.5V8a.5.5 0 0 0-.5-.5h-2.5ZM6 7.5h2.5v10H6a.5.5 0 0 1-.5-.5V8a.5.5 0 0 1 .5-.5ZM6 6h13a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2Z\"\n })\n});\nexport default columns;\n//# sourceMappingURL=columns.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentAuthorAvatar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M7.25 16.437a6.5 6.5 0 1 1 9.5 0V16A2.75 2.75 0 0 0 14 13.25h-4A2.75 2.75 0 0 0 7.25 16v.437Zm1.5 1.193a6.47 6.47 0 0 0 3.25.87 6.47 6.47 0 0 0 3.25-.87V16c0-.69-.56-1.25-1.25-1.25h-4c-.69 0-1.25.56-1.25 1.25v1.63ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm10-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\",\n clipRule: \"evenodd\"\n })\n});\nexport default commentAuthorAvatar;\n//# sourceMappingURL=comment-author-avatar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, Circle } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst commentAuthorName = /*#__PURE__*/_jsxs(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12.9c0 .6.5 1.1 1.1 1.1.3 0 .5-.1.8-.3L8.5 17H18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H7.9l-2.4 2.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v9z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M15 15V15C15 13.8954 14.1046 13 13 13L11 13C9.89543 13 9 13.8954 9 15V15\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(Circle, {\n cx: \"12\",\n cy: \"9\",\n r: \"2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })]\n});\nexport default commentAuthorName;\n//# sourceMappingURL=comment-author-name.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentContent = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.68822 16.625L5.5 17.8145L5.5 5.5L18.5 5.5L18.5 16.625L6.68822 16.625ZM7.31 18.125L19 18.125C19.5523 18.125 20 17.6773 20 17.125L20 5C20 4.44772 19.5523 4 19 4H5C4.44772 4 4 4.44772 4 5V19.5247C4 19.8173 4.16123 20.086 4.41935 20.2237C4.72711 20.3878 5.10601 20.3313 5.35252 20.0845L7.31 18.125ZM16 9.99997H8V8.49997H16V9.99997ZM8 14H13V12.5H8V14Z\"\n })\n});\nexport default commentContent;\n//# sourceMappingURL=comment-content.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentEditLink = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m6.249 11.065.44-.44h3.186l-1.5 1.5H7.31l-1.957 1.96A.792.792 0 0 1 4 13.524V5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v1.5L12.5 8V5.5h-7v6.315l.749-.75ZM20 19.75H7v-1.5h13v1.5Zm0-12.653-8.967 9.064L8 17l.867-2.935L17.833 5 20 7.097Z\"\n })\n});\nexport default commentEditLink;\n//# sourceMappingURL=comment-edit-link.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst commentReplyLink = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.68822 10.625L6.24878 11.0649L5.5 11.8145L5.5 5.5L12.5 5.5V8L14 6.5V5C14 4.44772 13.5523 4 13 4H5C4.44772 4 4 4.44771 4 5V13.5247C4 13.8173 4.16123 14.086 4.41935 14.2237C4.72711 14.3878 5.10601 14.3313 5.35252 14.0845L7.31 12.125H8.375L9.875 10.625H7.31H6.68822ZM14.5605 10.4983L11.6701 13.75H16.9975C17.9963 13.75 18.7796 14.1104 19.3553 14.7048C19.9095 15.2771 20.2299 16.0224 20.4224 16.7443C20.7645 18.0276 20.7543 19.4618 20.7487 20.2544C20.7481 20.345 20.7475 20.4272 20.7475 20.4999L19.2475 20.5001C19.2475 20.4191 19.248 20.3319 19.2484 20.2394V20.2394C19.2526 19.4274 19.259 18.2035 18.973 17.1307C18.8156 16.5401 18.586 16.0666 18.2778 15.7483C17.9909 15.4521 17.5991 15.25 16.9975 15.25H11.8106L14.5303 17.9697L13.4696 19.0303L8.96956 14.5303L13.4394 9.50171L14.5605 10.4983Z\"\n })\n});\nexport default commentReplyLink;\n//# sourceMappingURL=comment-reply-link.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst comment = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12.9c0 .6.5 1.1 1.1 1.1.3 0 .5-.1.8-.3L8.5 17H18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H7.9l-2.4 2.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v9z\"\n })\n});\nexport default comment;\n//# sourceMappingURL=comment.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst connection = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fillRule: \"evenodd\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.53 4.47a.75.75 0 0 1 0 1.06L17.06 8l.77.769a3.155 3.155 0 0 1 .685 3.439 3.15 3.15 0 0 1-.685 1.022v.001L13.23 17.83v.001a3.15 3.15 0 0 1-4.462 0L8 17.06l-2.47 2.47a.75.75 0 0 1-1.06-1.06L6.94 16l-.77-.769a3.154 3.154 0 0 1-.685-3.439 3.15 3.15 0 0 1 .685-1.023l4.599-4.598a3.152 3.152 0 0 1 4.462 0l.769.768 2.47-2.47a.75.75 0 0 1 1.06 0Zm-2.76 7.7L15 13.94 10.06 9l1.771-1.77a1.65 1.65 0 0 1 2.338 0L16.77 9.83a1.649 1.649 0 0 1 0 2.338h-.001ZM13.94 15 9 10.06l-1.77 1.771a1.65 1.65 0 0 0 0 2.338l2.601 2.602a1.649 1.649 0 0 0 2.338 0v-.001L13.94 15Z\"\n })\n});\nexport default connection;\n//# sourceMappingURL=connection.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst copySmall = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.625 5.5h9.75c.069 0 .125.056.125.125v9.75a.125.125 0 0 1-.125.125h-9.75a.125.125 0 0 1-.125-.125v-9.75c0-.069.056-.125.125-.125ZM4 5.625C4 4.728 4.728 4 5.625 4h9.75C16.273 4 17 4.728 17 5.625v9.75c0 .898-.727 1.625-1.625 1.625h-9.75A1.625 1.625 0 0 1 4 15.375v-9.75Zm14.5 11.656v-9H20v9C20 18.8 18.77 20 17.251 20H6.25v-1.5h11.001c.69 0 1.249-.528 1.249-1.219Z\"\n })\n});\nexport default copySmall;\n//# sourceMappingURL=copy-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst copy = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5 4.5h11a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V5a.5.5 0 0 1 .5-.5ZM3 5a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5Zm17 3v10.75c0 .69-.56 1.25-1.25 1.25H6v1.5h12.75a2.75 2.75 0 0 0 2.75-2.75V8H20Z\"\n })\n});\nexport default copy;\n//# sourceMappingURL=copy.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cornerAll = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5Zm-12.5 9v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n});\nexport default cornerAll;\n//# sourceMappingURL=corner-all.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerBottomLeft = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.75 15v3c0 .138.112.25.25.25h3v1.5H6A1.75 1.75 0 0 1 4.25 18v-3h1.5Z\"\n })]\n});\nexport default cornerBottomLeft;\n//# sourceMappingURL=corner-bottom-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerBottomRight = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 18.25h3a.25.25 0 0 0 .25-.25v-3h1.5v3A1.75 1.75 0 0 1 18 19.75h-3v-1.5Z\"\n })]\n});\nexport default cornerBottomRight;\n//# sourceMappingURL=corner-bottom-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerTopLeft = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6 5.75a.25.25 0 0 0-.25.25v3h-1.5V6c0-.966.784-1.75 1.75-1.75h3v1.5H6Z\"\n })]\n});\nexport default cornerTopLeft;\n//# sourceMappingURL=corner-top-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path, G } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst cornerTopRight = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(G, {\n opacity: \".25\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5.75 6A.25.25 0 0 1 6 5.75h3v-1.5H6A1.75 1.75 0 0 0 4.25 6v3h1.5V6ZM18 18.25h-3v1.5h3A1.75 1.75 0 0 0 19.75 18v-3h-1.5v3a.25.25 0 0 1-.25.25ZM18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5ZM5.75 18v-3h-1.5v3c0 .966.784 1.75 1.75 1.75h3v-1.5H6a.25.25 0 0 1-.25-.25Z\"\n })\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.25 9V6a.25.25 0 0 0-.25-.25h-3v-1.5h3c.966 0 1.75.784 1.75 1.75v3h-1.5Z\"\n })]\n});\nexport default cornerTopRight;\n//# sourceMappingURL=corner-top-right.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst cover = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h6.2v8.9l2.5-3.1 2.5 3.1V4.5h2.2c.4 0 .8.4.8.8v13.4z\"\n })\n});\nexport default cover;\n//# sourceMappingURL=cover.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst create = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 11.2h-3.2V8h-1.6v3.2H8v1.6h3.2V16h1.6v-3.2H16z\"\n })\n});\nexport default create;\n//# sourceMappingURL=create.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst crop = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 20v-2h2v-1.5H7.75a.25.25 0 0 1-.25-.25V4H6v2H4v1.5h2v8.75c0 .966.784 1.75 1.75 1.75h8.75v2H18ZM9.273 7.5h6.977a.25.25 0 0 1 .25.25v6.977H18V7.75A1.75 1.75 0 0 0 16.25 6H9.273v1.5Z\"\n })\n});\nexport default crop;\n//# sourceMappingURL=crop.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst currencyDollar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.7 9.6c.3-.2.8-.4 1.3-.4s1 .2 1.3.4c.3.2.4.5.4.6 0 .4.3.8.8.8s.8-.3.8-.8c0-.8-.5-1.4-1.1-1.9-.4-.3-.9-.5-1.4-.6v-.3c0-.4-.3-.8-.8-.8s-.8.3-.8.8v.3c-.5 0-1 .3-1.4.6-.6.4-1.1 1.1-1.1 1.9s.5 1.4 1.1 1.9c.6.4 1.4.6 2.2.6h.2c.5 0 .9.2 1.1.4.3.2.4.5.4.6s0 .4-.4.6c-.3.2-.8.4-1.3.4s-1-.2-1.3-.4c-.3-.2-.4-.5-.4-.6 0-.4-.3-.8-.8-.8s-.8.3-.8.8c0 .8.5 1.4 1.1 1.9.4.3.9.5 1.4.6v.3c0 .4.3.8.8.8s.8-.3.8-.8v-.3c.5 0 1-.3 1.4-.6.6-.4 1.1-1.1 1.1-1.9s-.5-1.4-1.1-1.9c-.5-.4-1.2-.6-1.9-.6H12c-.6 0-1-.2-1.3-.4-.3-.2-.4-.5-.4-.6s0-.4.4-.6ZM12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5Z\"\n })\n});\nexport default currencyDollar;\n//# sourceMappingURL=currency-dollar.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst currencyEuro = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.9 9.3c.4 0 .8 0 1.1.2.4.1.7.3 1 .6.1.1.3.2.5.2s.4 0 .5-.2c.1-.1.2-.3.2-.5s0-.4-.2-.5c-.5-.5-1.1-.8-1.7-1.1-.7-.2-1.4-.2-2-.1-.7.1-1.3.4-1.9.8-.5.4-1 1-1.3 1.6h-.6c-.2 0-.4 0-.5.2-.1.1-.2.3-.2.5s0 .4.2.5c.1.1.3.2.5.2h.3v.5h-.3c-.2 0-.4 0-.5.2-.1.1-.2.3-.2.5s0 .4.2.5c.1.1.3.2.5.2h.6c.3.6.7 1.2 1.3 1.6.5.4 1.2.7 1.9.8.7.1 1.4 0 2-.1.7-.2 1.3-.6 1.7-1.1.1-.1.2-.3.2-.5s0-.4-.2-.5-.3-.2-.5-.2-.4 0-.5.2c-.3.3-.6.5-1 .6-.4.1-.7.2-1.1.2-.4 0-.8-.1-1.1-.3-.3-.2-.6-.4-.9-.7h.6c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2H9.3v-.5h2.2c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2H9.9c.2-.3.5-.5.9-.7s.7-.3 1.1-.3ZM12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5Z\"\n })\n});\nexport default currencyEuro;\n//# sourceMappingURL=currency-euro.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst currencyPound = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M14.4 14.5H11c.3-.4.5-1 .5-1.6v-.1h1c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2h-1.3c0-.1-.1-.3-.2-.4 0-.1-.1-.2-.1-.4v-.3c0-.8.6-1.4 1.4-1.4s.6 0 .8.2c.2.2.4.4.5.6 0 .2.2.3.4.4h.6c.2 0 .3-.2.4-.4v-.6c-.3-.6-.7-1.2-1.3-1.5-.6-.3-1.3-.4-2-.3s-1.3.5-1.7 1c-.4.5-.7 1.2-.7 1.9 0 .3 0 .5.2.8 0 0 0 .2.1.3-.2 0-.4 0-.5.2-.1.1-.2.3-.2.5s0 .4.2.5c.1.1.3.2.5.2h.5v.1c0 .4-.2.8-.5 1.2l-.6.6c-.1 0-.2.2-.3.4v.5c0 .1.1.3.3.4.1 0 .3.1.4.1h5.1c.2 0 .4 0 .5-.2.1-.1.2-.3.2-.5s0-.4-.2-.5c-.1-.1-.3-.2-.5-.2ZM12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5Z\"\n })\n});\nexport default currencyPound;\n//# sourceMappingURL=currency-pound.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst customLink = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5 14.5h-1V16h1c2.2 0 4-1.8 4-4s-1.8-4-4-4h-1v1.5h1c1.4 0 2.5 1.1 2.5 2.5s-1.1 2.5-2.5 2.5zm-4 1.5v-1.5h-1C6.1 14.5 5 13.4 5 12s1.1-2.5 2.5-2.5h1V8h-1c-2.2 0-4 1.8-4 4s1.8 4 4 4h1zm-1-3.2h5v-1.5h-5v1.5zM18 4H9c-1.1 0-2 .9-2 2v.5h1.5V6c0-.3.2-.5.5-.5h9c.3 0 .5.2.5.5v12c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5v-.5H7v.5c0 1.1.9 2 2 2h9c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2z\"\n })\n});\nexport default customLink;\n//# sourceMappingURL=custom-link.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst customPostType = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4zm.8-4l.7.7 2-2V12h1V9.2l2 2 .7-.7-2-2H12v-1H9.2l2-2-.7-.7-2 2V4h-1v2.8l-2-2-.7.7 2 2H4v1h2.8l-2 2z\"\n })\n});\nexport default customPostType;\n//# sourceMappingURL=custom-post-type.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst dashboard = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 5a8 8 0 0 1 3.842.984L14.726 7.1a6.502 6.502 0 0 0-7.323 1.303 6.5 6.5 0 0 0 0 9.194l-1.06 1.06A8 8 0 0 1 12 5Zm7.021 4.168a8 8 0 0 1-1.364 9.49l-1.06-1.061a6.5 6.5 0 0 0 1.307-7.312l1.117-1.117ZM17.47 6.47a.75.75 0 1 1 1.06 1.06l-5.083 5.082a1.5 1.5 0 1 1-1.06-1.06L17.47 6.47Z\"\n })\n});\nexport default dashboard;\n//# sourceMappingURL=dashboard.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst desktop = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.5 16h-.7V8c0-1.1-.9-2-2-2H6.2c-1.1 0-2 .9-2 2v8h-.7c-.8 0-1.5.7-1.5 1.5h20c0-.8-.7-1.5-1.5-1.5zM5.7 8c0-.3.2-.5.5-.5h11.6c.3 0 .5.2.5.5v7.6H5.7V8z\"\n })\n});\nexport default desktop;\n//# sourceMappingURL=desktop.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst details = /*#__PURE__*/_jsxs(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M4 16h10v1.5H4V16Zm0-4.5h16V13H4v-1.5ZM10 7h10v1.5H10V7Z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4 5.25 4 2.5-4 2.5v-5Z\"\n })]\n});\nexport default details;\n//# sourceMappingURL=details.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst download = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 11.3l-1-1.1-4 4V3h-1.5v11.3L7 10.2l-1 1.1 6.2 5.8 5.8-5.8zm.5 3.7v3.5h-13V15H4v5h16v-5h-1.5z\"\n })\n});\nexport default download;\n//# sourceMappingURL=download.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst drafts = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8 4a4 4 0 0 0 4-4H8a4 4 0 0 0 4 4Z\"\n })\n});\nexport default drafts;\n//# sourceMappingURL=drafts.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst dragHandle = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8 7h2V5H8v2zm0 6h2v-2H8v2zm0 6h2v-2H8v2zm6-14v2h2V5h-2zm0 8h2v-2h-2v2zm0 6h2v-2h-2v2z\"\n })\n});\nexport default dragHandle;\n//# sourceMappingURL=drag-handle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst drawerLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM8.5 18.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h2.5v13zm10-.5c0 .3-.2.5-.5.5h-8v-13h8c.3 0 .5.2.5.5v12z\"\n })\n});\nexport default drawerLeft;\n//# sourceMappingURL=drawer-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst drawerRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4 14.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h8v13zm4.5-.5c0 .3-.2.5-.5.5h-2.5v-13H18c.3 0 .5.2.5.5v12z\"\n })\n});\nexport default drawerRight;\n//# sourceMappingURL=drawer-right.js.map","/**\n * Internal dependencies\n */\n\nimport { default as pencil } from './pencil';\nexport default pencil;\n//# sourceMappingURL=edit.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst envelope = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 7c0-1.1.9-2 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Zm2-.5h14c.3 0 .5.2.5.5v1L12 13.5 4.5 7.9V7c0-.3.2-.5.5-.5Zm-.5 3.3V17c0 .3.2.5.5.5h14c.3 0 .5-.2.5-.5V9.8L12 15.4 4.5 9.8Z\"\n })\n});\nexport default envelope;\n//# sourceMappingURL=envelope.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst error = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.218 5.377a.25.25 0 0 0-.436 0l-7.29 12.96a.25.25 0 0 0 .218.373h14.58a.25.25 0 0 0 .218-.372l-7.29-12.96Zm-1.743-.735c.669-1.19 2.381-1.19 3.05 0l7.29 12.96a1.75 1.75 0 0 1-1.525 2.608H4.71a1.75 1.75 0 0 1-1.525-2.608l7.29-12.96ZM12.75 17.46h-1.5v-1.5h1.5v1.5Zm-1.5-3h1.5v-5h-1.5v5Z\"\n })\n});\nexport default error;\n//# sourceMappingURL=error.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst external = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.5 4.5h-7V6h4.44l-5.97 5.97 1.06 1.06L18 7.06v4.44h1.5v-7Zm-13 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3H17v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3V5.5h-3Z\"\n })\n});\nexport default external;\n//# sourceMappingURL=external.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst file = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.848 8a1 1 0 0 1-.914-.594l-.723-1.63a.5.5 0 0 0-.447-.276H5a.5.5 0 0 0-.5.5v11.5a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5v-9A.5.5 0 0 0 19 8h-6.152Zm.612-1.5a.5.5 0 0 1-.462-.31l-.445-1.084A2 2 0 0 0 10.763 4H5a2 2 0 0 0-2 2v11.5a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-5.54Z\"\n })\n});\nexport default file;\n//# sourceMappingURL=file.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst filter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4 4 19h16L12 4zm0 3.2 5.5 10.3H12V7.2z\"\n })\n});\nexport default filter;\n//# sourceMappingURL=filter.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst flipHorizontal = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 6v12c0 1.1.9 2 2 2h3v-1.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h3V4H6c-1.1 0-2 .9-2 2zm7.2 16h1.5V2h-1.5v20zM15 5.5h1.5V4H15v1.5zm3.5.5H20c0-1.1-.9-2-2-2v1.5c.3 0 .5.2.5.5zm0 10.5H20v-2h-1.5v2zm0-3.5H20v-2h-1.5v2zm-.5 5.5V20c1.1 0 2-.9 2-2h-1.5c0 .3-.2.5-.5.5zM15 20h1.5v-1.5H15V20zm3.5-10.5H20v-2h-1.5v2z\"\n })\n});\nexport default flipHorizontal;\n//# sourceMappingURL=flip-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst flipVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M2 11.2v1.5h20v-1.5H2zM5.5 6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v3H20V6c0-1.1-.9-2-2-2H6c-1.1 0-2 .9-2 2v3h1.5V6zm2 14h2v-1.5h-2V20zm3.5 0h2v-1.5h-2V20zm7-1.5V20c1.1 0 2-.9 2-2h-1.5c0 .3-.2.5-.5.5zm.5-2H20V15h-1.5v1.5zM5.5 18H4c0 1.1.9 2 2 2v-1.5c-.3 0-.5-.2-.5-.5zm0-3H4v1.5h1.5V15zm9 5h2v-1.5h-2V20z\"\n })\n});\nexport default flipVertical;\n//# sourceMappingURL=flip-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst footer = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M18 5.5h-8v8h8.5V6a.5.5 0 00-.5-.5zm-9.5 8h-3V6a.5.5 0 01.5-.5h2.5v8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default footer;\n//# sourceMappingURL=footer.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatBold = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.7 11.3c1-.6 1.5-1.6 1.5-3 0-2.3-1.3-3.4-4-3.4H7v14h5.8c1.4 0 2.5-.3 3.3-1 .8-.7 1.2-1.7 1.2-2.9.1-1.9-.8-3.1-2.6-3.7zm-5.1-4h2.3c.6 0 1.1.1 1.4.4.3.3.5.7.5 1.2s-.2 1-.5 1.2c-.3.3-.8.4-1.4.4H9.6V7.3zm4.6 9c-.4.3-1 .4-1.7.4H9.6v-3.9h2.9c.7 0 1.3.2 1.7.5.4.3.6.8.6 1.5s-.2 1.2-.6 1.5z\"\n })\n});\nexport default formatBold;\n//# sourceMappingURL=format-bold.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatCapitalize = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7.1 6.8L3.1 18h1.6l1.1-3h4.3l1.1 3h1.6l-4-11.2H7.1zm-.8 6.8L8 8.9l1.7 4.7H6.3zm14.5-1.5c-.3-.6-.7-1.1-1.2-1.5-.6-.4-1.2-.6-1.9-.6-.5 0-.9.1-1.4.3-.4.2-.8.5-1.1.8V6h-1.4v12h1.3l.2-1c.2.4.6.6 1 .8.4.2.9.3 1.4.3.7 0 1.2-.2 1.8-.5.5-.4 1-.9 1.3-1.5.3-.6.5-1.3.5-2.1-.1-.6-.2-1.3-.5-1.9zm-1.7 4c-.4.5-.9.8-1.6.8s-1.2-.2-1.7-.7c-.4-.5-.7-1.2-.7-2.1 0-.9.2-1.6.7-2.1.4-.5 1-.7 1.7-.7s1.2.3 1.6.8c.4.5.6 1.2.6 2 .1.8-.2 1.4-.6 2z\"\n })\n});\nexport default formatCapitalize;\n//# sourceMappingURL=format-capitalize.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatIndentRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM20.0303 9.03033L17.0607 12L20.0303 14.9697L18.9697 16.0303L15.4697 12.5303L14.9393 12L15.4697 11.4697L18.9697 7.96967L20.0303 9.03033Z\"\n })\n});\nexport default formatIndentRTL;\n//# sourceMappingURL=format-indent-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatIndent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-8-3.5l3 3-3 3 1 1 4-4-4-4-1 1z\"\n })\n});\nexport default formatIndent;\n//# sourceMappingURL=format-indent.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatItalic = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5 5L10 19h1.9l2.5-14z\"\n })\n});\nexport default formatItalic;\n//# sourceMappingURL=format-italic.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListBulletsRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 8.8h8.9V7.2H4v1.6zm0 7h8.9v-1.5H4v1.5zM18 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\n })\n});\nexport default formatListBulletsRTL;\n//# sourceMappingURL=format-list-bullets-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListBullets = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM6 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-7c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"\n })\n});\nexport default formatListBullets;\n//# sourceMappingURL=format-list-bullets.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListNumberedRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3.8 15.8h8.9v-1.5H3.8v1.5zm0-7h8.9V7.2H3.8v1.6zm14.7-2.1V10h1V5.3l-2.2.7.3 1 .9-.3zm1.2 6.1c-.5-.6-1.2-.5-1.7-.4-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5H20v-1h-.9c.3-.6.8-1.4.9-2.1 0-.3 0-.8-.3-1.1z\"\n })\n});\nexport default formatListNumberedRTL;\n//# sourceMappingURL=format-list-numbered-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatListNumbered = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM5 6.7V10h1V5.3L3.8 6l.4 1 .8-.3zm-.4 5.7c-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5h2.7v-1h-1c.3-.6.8-1.4.9-2.1.1-.3 0-.8-.2-1.1-.5-.6-1.3-.5-1.7-.4z\"\n })\n});\nexport default formatListNumbered;\n//# sourceMappingURL=format-list-numbered.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatLowercase = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 16.8c-.1-.1-.2-.3-.3-.5v-2.6c0-.9-.1-1.7-.3-2.2-.2-.5-.5-.9-.9-1.2-.4-.2-.9-.3-1.6-.3-.5 0-1 .1-1.5.2s-.9.3-1.2.6l.2 1.2c.4-.3.7-.4 1.1-.5.3-.1.7-.2 1-.2.6 0 1 .1 1.3.4.3.2.4.7.4 1.4-1.2 0-2.3.2-3.3.7s-1.4 1.1-1.4 2.1c0 .7.2 1.2.7 1.6.4.4 1 .6 1.8.6.9 0 1.7-.4 2.4-1.2.1.3.2.5.4.7.1.2.3.3.6.4.3.1.6.1 1.1.1h.1l.2-1.2h-.1c-.4.1-.6 0-.7-.1zM9.2 16c-.2.3-.5.6-.9.8-.3.1-.7.2-1.1.2-.4 0-.7-.1-.9-.3-.2-.2-.3-.5-.3-.9 0-.6.2-1 .7-1.3.5-.3 1.3-.4 2.5-.5v2zm10.6-3.9c-.3-.6-.7-1.1-1.2-1.5-.6-.4-1.2-.6-1.9-.6-.5 0-.9.1-1.4.3-.4.2-.8.5-1.1.8V6h-1.4v12h1.3l.2-1c.2.4.6.6 1 .8.4.2.9.3 1.4.3.7 0 1.2-.2 1.8-.5.5-.4 1-.9 1.3-1.5.3-.6.5-1.3.5-2.1-.1-.6-.2-1.3-.5-1.9zm-1.7 4c-.4.5-.9.8-1.6.8s-1.2-.2-1.7-.7c-.4-.5-.7-1.2-.7-2.1 0-.9.2-1.6.7-2.1.4-.5 1-.7 1.7-.7s1.2.3 1.6.8c.4.5.6 1.2.6 2s-.2 1.4-.6 2z\"\n })\n});\nexport default formatLowercase;\n//# sourceMappingURL=format-lowercase.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatLtr = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 9c0 2.8 2.2 5 5 5v-.2V20h1.5V5.5H12V20h1.5V5.5h3V4H8C5.2 4 3 6.2 3 9Zm15.9-1-1.1 1 2.6 3-2.6 3 1.1 1 3.4-4-3.4-4Z\"\n })\n});\nexport default formatLtr;\n//# sourceMappingURL=format-ltr.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatOutdentRTL = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM15.4697 14.9697L18.4393 12L15.4697 9.03033L16.5303 7.96967L20.0303 11.4697L20.5607 12L20.0303 12.5303L16.5303 16.0303L15.4697 14.9697Z\"\n })\n});\nexport default formatOutdentRTL;\n//# sourceMappingURL=format-outdent-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatOutdent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-4-4.6l-4 4 4 4 1-1-3-3 3-3-1-1z\"\n })\n});\nexport default formatOutdent;\n//# sourceMappingURL=format-outdent.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatRtl = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 9c0 2.8 2.2 5 5 5v-.2V20h1.5V5.5H12V20h1.5V5.5h3V4H8C5.2 4 3 6.2 3 9Zm19.3 0-1.1-1-3.4 4 3.4 4 1.1-1-2.6-3 2.6-3Z\"\n })\n});\nexport default formatRtl;\n//# sourceMappingURL=format-rtl.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatStrikethrough = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9.1 9v-.5c0-.6.2-1.1.7-1.4.5-.3 1.2-.5 2-.5.7 0 1.4.1 2.1.3.7.2 1.4.5 2.1.9l.2-1.9c-.6-.3-1.2-.5-1.9-.7-.8-.1-1.6-.2-2.4-.2-1.5 0-2.7.3-3.6 1-.8.7-1.2 1.5-1.2 2.6V9h2zM20 12H4v1h8.3c.3.1.6.2.8.3.5.2.9.5 1.1.8.3.3.4.7.4 1.2 0 .7-.2 1.1-.8 1.5-.5.3-1.2.5-2.1.5-.8 0-1.6-.1-2.4-.3-.8-.2-1.5-.5-2.2-.8L7 18.1c.5.2 1.2.4 2 .6.8.2 1.6.3 2.4.3 1.7 0 3-.3 3.9-1 .9-.7 1.3-1.6 1.3-2.8 0-.9-.2-1.7-.7-2.2H20v-1z\"\n })\n});\nexport default formatStrikethrough;\n//# sourceMappingURL=format-strikethrough.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatUnderline = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 18v1h10v-1H7zm5-2c1.5 0 2.6-.4 3.4-1.2.8-.8 1.1-2 1.1-3.5V5H15v5.8c0 1.2-.2 2.1-.6 2.8-.4.7-1.2 1-2.4 1s-2-.3-2.4-1c-.4-.7-.6-1.6-.6-2.8V5H7.5v6.2c0 1.5.4 2.7 1.1 3.5.8.9 1.9 1.3 3.4 1.3z\"\n })\n});\nexport default formatUnderline;\n//# sourceMappingURL=format-underline.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst formatUppercase = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.1 6.8L2.1 18h1.6l1.1-3h4.3l1.1 3h1.6l-4-11.2H6.1zm-.8 6.8L7 8.9l1.7 4.7H5.3zm15.1-.7c-.4-.5-.9-.8-1.6-1 .4-.2.7-.5.8-.9.2-.4.3-.9.3-1.4 0-.9-.3-1.6-.8-2-.6-.5-1.3-.7-2.4-.7h-3.5V18h4.2c1.1 0 2-.3 2.6-.8.6-.6 1-1.4 1-2.4-.1-.8-.3-1.4-.6-1.9zm-5.7-4.7h1.8c.6 0 1.1.1 1.4.4.3.2.5.7.5 1.3 0 .6-.2 1.1-.5 1.3-.3.2-.8.4-1.4.4h-1.8V8.2zm4 8c-.4.3-.9.5-1.5.5h-2.6v-3.8h2.6c1.4 0 2 .6 2 1.9.1.6-.1 1-.5 1.4z\"\n })\n});\nexport default formatUppercase;\n//# sourceMappingURL=format-uppercase.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst fullscreen = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 4a2 2 0 0 0-2 2v3h1.5V6a.5.5 0 0 1 .5-.5h3V4H6Zm3 14.5H6a.5.5 0 0 1-.5-.5v-3H4v3a2 2 0 0 0 2 2h3v-1.5Zm6 1.5v-1.5h3a.5.5 0 0 0 .5-.5v-3H20v3a2 2 0 0 1-2 2h-3Zm3-16a2 2 0 0 1 2 2v3h-1.5V6a.5.5 0 0 0-.5-.5h-3V4h3Z\"\n })\n});\nexport default fullscreen;\n//# sourceMappingURL=fullscreen.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst funnel = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z\"\n })\n});\nexport default funnel;\n//# sourceMappingURL=funnel.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const gallery = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.375 4.5H4.625a.125.125 0 0 0-.125.125v8.254l2.859-1.54a.75.75 0 0 1 .68-.016l2.384 1.142 2.89-2.074a.75.75 0 0 1 .874 0l2.313 1.66V4.625a.125.125 0 0 0-.125-.125Zm.125 9.398-2.75-1.975-2.813 2.02a.75.75 0 0 1-.76.067l-2.444-1.17L4.5 14.583v1.792c0 .069.056.125.125.125h11.75a.125.125 0 0 0 .125-.125v-2.477ZM4.625 3C3.728 3 3 3.728 3 4.625v11.75C3 17.273 3.728 18 4.625 18h11.75c.898 0 1.625-.727 1.625-1.625V4.625C18 3.728 17.273 3 16.375 3H4.625ZM20 8v11c0 .69-.31 1-.999 1H6v1.5h13.001c1.52 0 2.499-.982 2.499-2.5V8H20Z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default gallery;\n//# sourceMappingURL=gallery.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst globe = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm6.5 8c0 .6 0 1.2-.2 1.8h-2.7c0-.6.2-1.1.2-1.8s0-1.2-.2-1.8h2.7c.2.6.2 1.1.2 1.8Zm-.9-3.2h-2.4c-.3-.9-.7-1.8-1.1-2.4-.1-.2-.2-.4-.3-.5 1.6.5 3 1.6 3.8 3ZM12.8 17c-.3.5-.6 1-.8 1.3-.2-.3-.5-.8-.8-1.3-.3-.5-.6-1.1-.8-1.7h3.3c-.2.6-.5 1.2-.8 1.7Zm-2.9-3.2c-.1-.6-.2-1.1-.2-1.8s0-1.2.2-1.8H14c.1.6.2 1.1.2 1.8s0 1.2-.2 1.8H9.9ZM11.2 7c.3-.5.6-1 .8-1.3.2.3.5.8.8 1.3.3.5.6 1.1.8 1.7h-3.3c.2-.6.5-1.2.8-1.7Zm-1-1.2c-.1.2-.2.3-.3.5-.4.7-.8 1.5-1.1 2.4H6.4c.8-1.4 2.2-2.5 3.8-3Zm-1.8 8H5.7c-.2-.6-.2-1.1-.2-1.8s0-1.2.2-1.8h2.7c0 .6-.2 1.1-.2 1.8s0 1.2.2 1.8Zm-2 1.4h2.4c.3.9.7 1.8 1.1 2.4.1.2.2.4.3.5-1.6-.5-3-1.6-3.8-3Zm7.4 3c.1-.2.2-.3.3-.5.4-.7.8-1.5 1.1-2.4h2.4c-.8 1.4-2.2 2.5-3.8 3Z\"\n })\n});\nexport default globe;\n//# sourceMappingURL=globe.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst grid = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m3 5c0-1.10457.89543-2 2-2h13.5c1.1046 0 2 .89543 2 2v13.5c0 1.1046-.8954 2-2 2h-13.5c-1.10457 0-2-.8954-2-2zm2-.5h6v6.5h-6.5v-6c0-.27614.22386-.5.5-.5zm-.5 8v6c0 .2761.22386.5.5.5h6v-6.5zm8 0v6.5h6c.2761 0 .5-.2239.5-.5v-6zm0-8v6.5h6.5v-6c0-.27614-.2239-.5-.5-.5z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default grid;\n//# sourceMappingURL=grid.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst group = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4h-7c-1.1 0-2 .9-2 2v3H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-3h3c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h3V13c0 1.1.9 2 2 2h2.5v3zm0-4.5H11c-.3 0-.5-.2-.5-.5v-2.5H13c.3 0 .5.2.5.5v2.5zm5-.5c0 .3-.2.5-.5.5h-3V11c0-1.1-.9-2-2-2h-2.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7z\"\n })\n});\nexport default group;\n//# sourceMappingURL=group.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst handle = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 16.5h10V15H7v1.5zm0-9V9h10V7.5H7z\"\n })\n});\nexport default handle;\n//# sourceMappingURL=handle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst header = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 10.5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default header;\n//# sourceMappingURL=header.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel1 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.6 7c-.6.9-1.5 1.7-2.6 2v1h2v7h2V7h-1.4zM11 11H7V7H5v10h2v-4h4v4h2V7h-2v4z\"\n })\n});\nexport default headingLevel1;\n//# sourceMappingURL=heading-level-1.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel2 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11.1H5v-4H3v10h2v-4h4v4h2v-10H9v4zm8 4c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6v1.5h8v-2H17z\"\n })\n});\nexport default headingLevel2;\n//# sourceMappingURL=heading-level-2.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel3 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11H5V7H3v10h2v-4h4v4h2V7H9v4zm11.3 1.7c-.4-.4-1-.7-1.6-.8v-.1c.6-.2 1.1-.5 1.5-.9.3-.4.5-.8.5-1.3 0-.4-.1-.8-.3-1.1-.2-.3-.5-.6-.8-.8-.4-.2-.8-.4-1.2-.5-.6-.1-1.1-.2-1.6-.2-.6 0-1.3.1-1.8.3s-1.1.5-1.6.9l1.2 1.4c.4-.2.7-.4 1.1-.6.3-.2.7-.3 1.1-.3.4 0 .8.1 1.1.3.3.2.4.5.4.8 0 .4-.2.7-.6.9-.7.3-1.5.5-2.2.4v1.6c.5 0 1 0 1.5.1.3.1.7.2 1 .3.2.1.4.2.5.4s.1.4.1.6c0 .3-.2.7-.5.8-.4.2-.9.3-1.4.3s-1-.1-1.4-.3c-.4-.2-.8-.4-1.2-.7L13 15.6c.5.4 1 .8 1.6 1 .7.3 1.5.4 2.3.4.6 0 1.1-.1 1.6-.2.4-.1.9-.2 1.3-.5.4-.2.7-.5.9-.9.2-.4.3-.8.3-1.2 0-.6-.3-1.1-.7-1.5z\"\n })\n});\nexport default headingLevel3;\n//# sourceMappingURL=heading-level-3.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel4 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 13V7h-3l-4 6v2h5v2h2v-2h1v-2h-1zm-2 0h-2.8L18 9v4zm-9-2H5V7H3v10h2v-4h4v4h2V7H9v4z\"\n })\n});\nexport default headingLevel4;\n//# sourceMappingURL=heading-level-4.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel5 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11H5V7H3v10h2v-4h4v4h2V7H9v4zm11.7 1.2c-.2-.3-.5-.7-.8-.9-.3-.3-.7-.5-1.1-.6-.5-.1-.9-.2-1.4-.2-.2 0-.5.1-.7.1-.2.1-.5.1-.7.2l.1-1.9h4.3V7H14l-.3 5 1 .6.5-.2.4-.1c.1-.1.3-.1.4-.1h.5c.5 0 1 .1 1.4.4.4.2.6.7.6 1.1 0 .4-.2.8-.6 1.1-.4.3-.9.4-1.4.4-.4 0-.9-.1-1.3-.3-.4-.2-.7-.4-1.1-.7 0 0-1.1 1.4-1 1.5.5.4 1 .8 1.6 1 .7.3 1.5.4 2.3.4.5 0 1-.1 1.5-.3s.9-.4 1.3-.7c.4-.3.7-.7.9-1.1s.3-.9.3-1.4-.1-1-.3-1.4z\"\n })\n});\nexport default headingLevel5;\n//# sourceMappingURL=heading-level-5.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst headingLevel6 = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.7 12.4c-.2-.3-.4-.6-.7-.9s-.6-.5-1-.6c-.4-.2-.8-.2-1.2-.2-.5 0-.9.1-1.3.3s-.8.5-1.2.8c0-.5 0-.9.2-1.4l.6-.9c.2-.2.5-.4.8-.5.6-.2 1.3-.2 1.9 0 .3.1.6.3.8.5 0 0 1.3-1.3 1.3-1.4-.4-.3-.9-.6-1.4-.8-.6-.2-1.3-.3-2-.3-.6 0-1.1.1-1.7.4-.5.2-1 .5-1.4.9-.4.4-.8 1-1 1.6-.3.7-.4 1.5-.4 2.3s.1 1.5.3 2.1c.2.6.6 1.1 1 1.5.4.4.9.7 1.4.9 1 .3 2 .3 3 0 .4-.1.8-.3 1.2-.6.3-.3.6-.6.8-1 .2-.5.3-.9.3-1.4s-.1-.9-.3-1.3zm-2 2.1c-.1.2-.3.4-.4.5-.1.1-.3.2-.5.2-.2.1-.4.1-.6.1-.2.1-.5 0-.7-.1-.2 0-.3-.2-.5-.3-.1-.2-.3-.4-.4-.6-.2-.3-.3-.7-.3-1 .3-.3.6-.5 1-.7.3-.1.7-.2 1-.2.4 0 .8.1 1.1.3.3.3.4.7.4 1.1 0 .2 0 .5-.1.7zM9 11H5V7H3v10h2v-4h4v4h2V7H9v4z\"\n })\n});\nexport default headingLevel6;\n//# sourceMappingURL=heading-level-6.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst heading = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 5V18.5911L12 13.8473L18 18.5911V5H6Z\"\n })\n});\nexport default heading;\n//# sourceMappingURL=heading.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst helpFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm.8 12.5h-1.5V15h1.5v1.5Zm2.1-5.6c-.1.5-.4 1.1-.8 1.5-.4.4-.9.7-1.4.8v.8h-1.5v-1.2c0-.6.5-1 .9-1s.7-.2 1-.5c.2-.3.4-.7.4-1 0-.4-.2-.7-.5-1-.3-.3-.6-.4-1-.4s-.8.2-1.1.4c-.3.3-.4.7-.4 1.1H9c0-.6.2-1.1.5-1.6s.7-.9 1.2-1.1c.5-.2 1.1-.3 1.6-.3s1.1.3 1.5.6c.4.3.8.8 1 1.3.2.5.2 1.1.1 1.6Z\"\n })\n});\nexport default helpFilled;\n//# sourceMappingURL=help-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst help = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4a8 8 0 1 1 .001 16.001A8 8 0 0 1 12 4Zm0 1.5a6.5 6.5 0 1 0-.001 13.001A6.5 6.5 0 0 0 12 5.5Zm.75 11h-1.5V15h1.5v1.5Zm-.445-9.234a3 3 0 0 1 .445 5.89V14h-1.5v-1.25c0-.57.452-.958.917-1.01A1.5 1.5 0 0 0 12 8.75a1.5 1.5 0 0 0-1.5 1.5H9a3 3 0 0 1 3.305-2.984Z\"\n })\n});\nexport default help;\n//# sourceMappingURL=help.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst homeButton = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.25 7A2.75 2.75 0 0 1 7 4.25h10A2.75 2.75 0 0 1 19.75 7v10A2.75 2.75 0 0 1 17 19.75H7A2.75 2.75 0 0 1 4.25 17V7ZM7 5.75c-.69 0-1.25.56-1.25 1.25v10c0 .69.56 1.25 1.25 1.25h10c.69 0 1.25-.56 1.25-1.25V7c0-.69-.56-1.25-1.25-1.25H7Z\"\n })\n});\nexport default homeButton;\n//# sourceMappingURL=home-button.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst home = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4L4 7.9V20h16V7.9L12 4zm6.5 14.5H14V13h-4v5.5H5.5V8.8L12 5.7l6.5 3.1v9.7z\"\n })\n});\nexport default home;\n//# sourceMappingURL=home.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst html = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.8 11.4H2.1V9H1v6h1.1v-2.6h2.7V15h1.1V9H4.8v2.4zm1.9-1.3h1.7V15h1.1v-4.9h1.7V9H6.7v1.1zM16.2 9l-1.5 2.7L13.3 9h-.9l-.8 6h1.1l.5-4 1.5 2.8 1.5-2.8.5 4h1.1L17 9h-.8zm3.8 5V9h-1.1v6h3.6v-1H20z\"\n })\n});\nexport default html;\n//# sourceMappingURL=html.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst image = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z\"\n })\n});\nexport default image;\n//# sourceMappingURL=image.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst inbox = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M6 5.5h12a.5.5 0 01.5.5v7H14a2 2 0 11-4 0H5.5V6a.5.5 0 01.5-.5zm-.5 9V18a.5.5 0 00.5.5h12a.5.5 0 00.5-.5v-3.5h-3.337a3.5 3.5 0 01-6.326 0H5.5zM4 13V6a2 2 0 012-2h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2v-5z\",\n clipRule: \"evenodd\"\n })\n});\nexport default inbox;\n//# sourceMappingURL=inbox.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst info = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.75 4v1.5h-1.5V8h1.5Zm0 8v-5h-1.5v5h1.5Z\"\n })\n});\nexport default info;\n//# sourceMappingURL=info.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst insertAfter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 12h2v-2h2V8h-2V6H9v2H7v2h2v2zm1 4c3.9 0 7-3.1 7-7s-3.1-7-7-7-7 3.1-7 7 3.1 7 7 7zm0-12c2.8 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.2-5 5-5zM3 19h14v-2H3v2z\"\n })\n});\nexport default insertAfter;\n//# sourceMappingURL=insert-after.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst insertBefore = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 8H9v2H7v2h2v2h2v-2h2v-2h-2V8zm-1-4c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm0 12c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM3 1v2h14V1H3z\"\n })\n});\nexport default insertBefore;\n//# sourceMappingURL=insert-before.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst institute = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M18.646 9H20V8l-1-.5L12 4 5 7.5 4 8v1h14.646zm-3-1.5L12 5.677 8.354 7.5h7.292zm-7.897 9.44v-6.5h-1.5v6.5h1.5zm5-6.5v6.5h-1.5v-6.5h1.5zm5 0v6.5h-1.5v-6.5h1.5zm2.252 8.81c0 .414-.334.75-.748.75H4.752a.75.75 0 010-1.5h14.5a.75.75 0 01.749.75z\",\n clipRule: \"evenodd\"\n })\n});\nexport default institute;\n//# sourceMappingURL=institution.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyBottom = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15 4H9v11h6V4zM4 18.5V20h16v-1.5H4z\"\n })\n});\nexport default justifyBottom;\n//# sourceMappingURL=justify-bottom.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyCenterVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 11h-5V4H9v7H4v1.5h5V20h6v-7.5h5z\"\n })\n});\nexport default justifyCenterVertical;\n//# sourceMappingURL=justify-center-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyCenter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.5 15v5H11v-5H4V9h7V4h1.5v5h7v6h-7Z\"\n })\n});\nexport default justifyCenter;\n//# sourceMappingURL=justify-center.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 9v6h11V9H9zM4 20h1.5V4H4v16z\"\n })\n});\nexport default justifyLeft;\n//# sourceMappingURL=justify-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 15h11V9H4v6zM18.5 4v16H20V4h-1.5z\"\n })\n});\nexport default justifyRight;\n//# sourceMappingURL=justify-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifySpaceBetweenVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 4H17V8L7 8V4ZM7 16L17 16V20L7 20V16ZM20 11.25H4V12.75H20V11.25Z\"\n })\n});\nexport default justifySpaceBetweenVertical;\n//# sourceMappingURL=justify-space-between-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifySpaceBetween = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 15h6V9H9v6zm-5 5h1.5V4H4v16zM18.5 4v16H20V4h-1.5z\"\n })\n});\nexport default justifySpaceBetween;\n//# sourceMappingURL=justify-space-between.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyStretchVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 4L20 4L20 5.5L4 5.5L4 4ZM10 7L14 7L14 17L10 17L10 7ZM20 18.5L4 18.5L4 20L20 20L20 18.5Z\"\n })\n});\nexport default justifyStretchVertical;\n//# sourceMappingURL=justify-stretch-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyStretch = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 4H5.5V20H4V4ZM7 10L17 10V14L7 14V10ZM20 4H18.5V20H20V4Z\"\n })\n});\nexport default justifyStretch;\n//# sourceMappingURL=justify-stretch.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst justifyTop = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 20h6V9H9v11zM4 4v1.5h16V4H4z\"\n })\n});\nexport default justifyTop;\n//# sourceMappingURL=justify-top.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst key = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 13.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM9 16a4.002 4.002 0 003.8-2.75H15V16h2.5v-2.75H19v-2.5h-6.2A4.002 4.002 0 005 12a4 4 0 004 4z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default key;\n//# sourceMappingURL=key.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst keyboardClose = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"-2 -2 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18,0 L2,0 C0.9,0 0.01,0.9 0.01,2 L0,12 C0,13.1 0.9,14 2,14 L18,14 C19.1,14 20,13.1 20,12 L20,2 C20,0.9 19.1,0 18,0 Z M18,12 L2,12 L2,2 L18,2 L18,12 Z M9,3 L11,3 L11,5 L9,5 L9,3 Z M9,6 L11,6 L11,8 L9,8 L9,6 Z M6,3 L8,3 L8,5 L6,5 L6,3 Z M6,6 L8,6 L8,8 L6,8 L6,6 Z M3,6 L5,6 L5,8 L3,8 L3,6 Z M3,3 L5,3 L5,5 L3,5 L3,3 Z M6,9 L14,9 L14,11 L6,11 L6,9 Z M12,6 L14,6 L14,8 L12,8 L12,6 Z M12,3 L14,3 L14,5 L12,5 L12,3 Z M15,6 L17,6 L17,8 L15,8 L15,6 Z M15,3 L17,3 L17,5 L15,5 L15,3 Z M10,20 L14,16 L6,16 L10,20 Z\"\n })\n});\nexport default keyboardClose;\n//# sourceMappingURL=keyboard-close.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst keyboardReturn = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m6.734 16.106 2.176-2.38-1.093-1.028-3.846 4.158 3.846 4.158 1.093-1.028-2.176-2.38h2.811c1.125 0 2.25.03 3.374 0 1.428-.001 3.362-.25 4.963-1.277 1.66-1.065 2.868-2.906 2.868-5.859 0-2.479-1.327-4.896-3.65-5.93-1.82-.813-3.044-.8-4.806-.788l-.567.002v1.5c.184 0 .368 0 .553-.002 1.82-.007 2.704-.014 4.21.657 1.854.827 2.76 2.657 2.76 4.561 0 2.472-.973 3.824-2.178 4.596-1.258.807-2.864 1.04-4.163 1.04h-.02c-1.115.03-2.229 0-3.344 0H6.734Z\"\n })\n});\nexport default keyboardReturn;\n//# sourceMappingURL=keyboard-return.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst keyboard = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m16 15.5h-8v-1.5h8zm-7.5-2.5h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm-9-3h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18.5 6.5h-13a.5.5 0 0 0 -.5.5v9.5a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9.5a.5.5 0 0 0 -.5-.5zm-13-1.5h13a2 2 0 0 1 2 2v9.5a2 2 0 0 1 -2 2h-13a2 2 0 0 1 -2-2v-9.5a2 2 0 0 1 2-2z\"\n })]\n});\nexport default keyboard;\n//# sourceMappingURL=keyboard.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst language = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 10h-1.7l-3.7 10.5h1.7l.9-2.6h3.9l.9 2.6h1.7L17.5 10zm-2.2 6.3 1.4-4 1.4 4h-2.8zm-4.8-3.8c1.6-1.8 2.9-3.6 3.7-5.7H16V5.2h-5.8V3H8.8v2.2H3v1.5h9.6c-.7 1.6-1.8 3.1-3.1 4.6C8.6 10.2 7.8 9 7.2 8H5.6c.6 1.4 1.7 2.9 2.9 4.4l-2.4 2.4c-.3.4-.7.8-1.1 1.2l1 1 1.2-1.2c.8-.8 1.6-1.5 2.3-2.3.8.9 1.7 1.7 2.5 2.5l.6-1.5c-.7-.6-1.4-1.3-2.1-2z\"\n })\n});\nexport default language;\n//# sourceMappingURL=language.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst layout = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default layout;\n//# sourceMappingURL=layout.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst levelUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m13.53 8.47-1.06 1.06-2.72-2.72V12h-1.5V6.81L5.53 9.53 4.47 8.47 9 3.94l4.53 4.53Zm-1.802 7.968c1.307.697 3.235.812 5.772.812v1.5c-2.463 0-4.785-.085-6.478-.988a4.721 4.721 0 0 1-2.07-2.13C8.48 14.67 8.25 13.471 8.25 12h1.5c0 1.328.208 2.28.548 2.969.332.675.81 1.138 1.43 1.47Z\"\n })\n});\nexport default levelUp;\n//# sourceMappingURL=level-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lifesaver = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M17.375 15.656A6.47 6.47 0 0018.5 12a6.47 6.47 0 00-.943-3.374l-1.262.813c.448.749.705 1.625.705 2.561a4.977 4.977 0 01-.887 2.844l1.262.813zm-1.951 1.87l-.813-1.261A4.976 4.976 0 0112 17c-.958 0-1.852-.27-2.613-.736l-.812 1.261A6.47 6.47 0 0012 18.5a6.47 6.47 0 003.424-.974zm-8.8-1.87A6.47 6.47 0 015.5 12c0-1.235.344-2.39.943-3.373l1.261.812A4.977 4.977 0 007 12c0 1.056.328 2.036.887 2.843l-1.262.813zm2.581-7.803A4.977 4.977 0 0112 7c1.035 0 1.996.314 2.794.853l.812-1.262A6.47 6.47 0 0012 5.5a6.47 6.47 0 00-3.607 1.092l.812 1.261zM12 20a8 8 0 100-16 8 8 0 000 16zm0-4.5a3.5 3.5 0 100-7 3.5 3.5 0 000 7z\",\n clipRule: \"evenodd\"\n })\n});\nexport default lifesaver;\n//# sourceMappingURL=lifesaver.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lineDashed = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5 11.25h3v1.5H5v-1.5zm5.5 0h3v1.5h-3v-1.5zm8.5 0h-3v1.5h3v-1.5z\",\n clipRule: \"evenodd\"\n })\n});\nexport default lineDashed;\n//# sourceMappingURL=line-dashed.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lineDotted = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5.25 11.25h1.5v1.5h-1.5v-1.5zm3 0h1.5v1.5h-1.5v-1.5zm4.5 0h-1.5v1.5h1.5v-1.5zm1.5 0h1.5v1.5h-1.5v-1.5zm4.5 0h-1.5v1.5h1.5v-1.5z\",\n clipRule: \"evenodd\"\n })\n});\nexport default lineDotted;\n//# sourceMappingURL=line-dotted.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lineSolid = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 11.25h14v1.5H5z\"\n })\n});\nexport default lineSolid;\n//# sourceMappingURL=line-solid.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst linkOff = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.031 4.703 15.576 4l-1.56 3H14v.03l-2.324 4.47H9.5V13h1.396l-1.502 2.889h-.95a3.694 3.694 0 0 1 0-7.389H10V7H8.444a5.194 5.194 0 1 0 0 10.389h.17L7.5 19.53l1.416.719L15.049 8.5h.507a3.694 3.694 0 0 1 0 7.39H14v1.5h1.556a5.194 5.194 0 0 0 .273-10.383l1.202-2.304Z\"\n })\n});\nexport default linkOff;\n//# sourceMappingURL=link-off.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst link = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 17.389H8.444A5.194 5.194 0 1 1 8.444 7H10v1.5H8.444a3.694 3.694 0 0 0 0 7.389H10v1.5ZM14 7h1.556a5.194 5.194 0 0 1 0 10.39H14v-1.5h1.556a3.694 3.694 0 0 0 0-7.39H14V7Zm-4.5 6h5v-1.5h-5V13Z\"\n })\n});\nexport default link;\n//# sourceMappingURL=link.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst listItem = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 11v1.5h8V11h-8zm-6-1c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"\n })\n});\nexport default listItem;\n//# sourceMappingURL=list-item.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst listView = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 6h11v1.5H3V6Zm3.5 5.5h11V13h-11v-1.5ZM21 17H10v1.5h11V17Z\"\n })\n});\nexport default listView;\n//# sourceMappingURL=list-view.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst list = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 4v1.5h16V4H4zm8 8.5h8V11h-8v1.5zM4 20h16v-1.5H4V20zm4-8c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2z\"\n })\n});\nexport default list;\n//# sourceMappingURL=list.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lockOutline = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1zM9.8 7c0-1.2 1-2.2 2.2-2.2 1.2 0 2.2 1 2.2 2.2v3H9.8V7zm6.7 11.5h-9v-7h9v7z\"\n })\n});\nexport default lockOutline;\n//# sourceMappingURL=lock-outline.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lockSmall = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 11h-.2V9c0-1.5-1.2-2.8-2.8-2.8S9.2 7.5 9.2 9v2H9c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1zm-1.8 0h-2.5V9c0-.7.6-1.2 1.2-1.2s1.2.6 1.2 1.2v2z\"\n })\n});\nexport default lockSmall;\n//# sourceMappingURL=lock-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst lock = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1zm-2.8 0H9.8V7c0-1.2 1-2.2 2.2-2.2s2.2 1 2.2 2.2v3z\"\n })\n});\nexport default lock;\n//# sourceMappingURL=lock.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst login = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 14.5l1.1 1.1 3-3 .5-.5-.6-.6-3-3-1 1 1.7 1.7H5v1.5h7.7L11 14.5zM16.8 5h-7c-1.1 0-2 .9-2 2v1.5h1.5V7c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v10c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5v-1.5H7.8V17c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2z\"\n })\n});\nexport default login;\n//# sourceMappingURL=login.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst loop = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.1823 11.6392C18.1823 13.0804 17.0139 14.2487 15.5727 14.2487C14.3579 14.2487 13.335 13.4179 13.0453 12.2922L13.0377 12.2625L13.0278 12.2335L12.3985 10.377L12.3942 10.3785C11.8571 8.64997 10.246 7.39405 8.33961 7.39405C5.99509 7.39405 4.09448 9.29465 4.09448 11.6392C4.09448 13.9837 5.99509 15.8843 8.33961 15.8843C8.88499 15.8843 9.40822 15.781 9.88943 15.5923L9.29212 14.0697C8.99812 14.185 8.67729 14.2487 8.33961 14.2487C6.89838 14.2487 5.73003 13.0804 5.73003 11.6392C5.73003 10.1979 6.89838 9.02959 8.33961 9.02959C9.55444 9.02959 10.5773 9.86046 10.867 10.9862L10.8772 10.9836L11.4695 12.7311C11.9515 14.546 13.6048 15.8843 15.5727 15.8843C17.9172 15.8843 19.8178 13.9837 19.8178 11.6392C19.8178 9.29465 17.9172 7.39404 15.5727 7.39404C15.0287 7.39404 14.5066 7.4968 14.0264 7.6847L14.6223 9.20781C14.9158 9.093 15.2358 9.02959 15.5727 9.02959C17.0139 9.02959 18.1823 10.1979 18.1823 11.6392Z\"\n })\n});\nexport default loop;\n//# sourceMappingURL=loop.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst mapMarker = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 9c-.8 0-1.5.7-1.5 1.5S11.2 12 12 12s1.5-.7 1.5-1.5S12.8 9 12 9zm0-5c-3.6 0-6.5 2.8-6.5 6.2 0 .8.3 1.8.9 3.1.5 1.1 1.2 2.3 2 3.6.7 1 3 3.8 3.2 3.9l.4.5.4-.5c.2-.2 2.6-2.9 3.2-3.9.8-1.2 1.5-2.5 2-3.6.6-1.3.9-2.3.9-3.1C18.5 6.8 15.6 4 12 4zm4.3 8.7c-.5 1-1.1 2.2-1.9 3.4-.5.7-1.7 2.2-2.4 3-.7-.8-1.9-2.3-2.4-3-.8-1.2-1.4-2.3-1.9-3.3-.6-1.4-.7-2.2-.7-2.5 0-2.6 2.2-4.7 5-4.7s5 2.1 5 4.7c0 .2-.1 1-.7 2.4z\"\n })\n});\nexport default mapMarker;\n//# sourceMappingURL=map-marker.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst mediaAndText = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 6v11.5h8V6H3Zm11 3h7V7.5h-7V9Zm7 3.5h-7V11h7v1.5ZM14 16h7v-1.5h-7V16Z\"\n })\n});\nexport default mediaAndText;\n//# sourceMappingURL=media-and-text.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst media = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7 6.5 4 2.5-4 2.5z\"\n }), /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"m5 3c-1.10457 0-2 .89543-2 2v14c0 1.1046.89543 2 2 2h14c1.1046 0 2-.8954 2-2v-14c0-1.10457-.8954-2-2-2zm14 1.5h-14c-.27614 0-.5.22386-.5.5v10.7072l3.62953-2.6465c.25108-.1831.58905-.1924.84981-.0234l2.92666 1.8969 3.5712-3.4719c.2911-.2831.7545-.2831 1.0456 0l2.9772 2.8945v-9.3568c0-.27614-.2239-.5-.5-.5zm-14.5 14.5v-1.4364l4.09643-2.987 2.99567 1.9417c.2936.1903.6798.1523.9307-.0917l3.4772-3.3806 3.4772 3.3806.0228-.0234v2.5968c0 .2761-.2239.5-.5.5h-14c-.27614 0-.5-.2239-.5-.5z\"\n })]\n});\nexport default media;\n//# sourceMappingURL=media.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst megaphone = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M6.863 13.644L5 13.25h-.5a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5H5L18 6.5h2V16h-2l-3.854-.815.026.008a3.75 3.75 0 01-7.31-1.549zm1.477.313a2.251 2.251 0 004.356.921l-4.356-.921zm-2.84-3.28L18.157 8h.343v6.5h-.343L5.5 11.823v-1.146z\",\n clipRule: \"evenodd\"\n })\n});\nexport default megaphone;\n//# sourceMappingURL=megaphone.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst menu = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 5v1.5h14V5H5zm0 7.8h14v-1.5H5v1.5zM5 19h14v-1.5H5V19z\"\n })\n});\nexport default menu;\n//# sourceMappingURL=menu.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst mobile = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15 4H9c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h6c.3 0 .5.2.5.5v12zm-4.5-.5h2V16h-2v1.5z\"\n })\n});\nexport default mobile;\n//# sourceMappingURL=mobile.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst moreHorizontal = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 13h2v-2h-2v2zm-6 0h2v-2H5v2zm12-2v2h2v-2h-2z\"\n })\n});\nexport default moreHorizontal;\n//# sourceMappingURL=more-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst moreVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z\"\n })\n});\nexport default moreVertical;\n//# sourceMappingURL=more-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst more = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 9v1.5h16V9H4zm12 5.5h4V13h-4v1.5zm-6 0h4V13h-4v1.5zm-6 0h4V13H4v1.5z\"\n })\n});\nexport default more;\n//# sourceMappingURL=more.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst moveTo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.75 9c0-1.257-.565-2.197-1.39-2.858-.797-.64-1.827-1.017-2.815-1.247-1.802-.42-3.703-.403-4.383-.396L11 4.5V6l.177-.001c.696-.006 2.416-.02 4.028.356.887.207 1.67.518 2.216.957.52.416.829.945.829 1.688 0 .592-.167.966-.407 1.23-.255.281-.656.508-1.236.674-1.19.34-2.82.346-4.607.346h-.077c-1.692 0-3.527 0-4.942.404-.732.209-1.424.545-1.935 1.108-.526.579-.796 1.33-.796 2.238 0 1.257.565 2.197 1.39 2.858.797.64 1.827 1.017 2.815 1.247 1.802.42 3.703.403 4.383.396L13 19.5h.714V22L18 18.5 13.714 15v3H13l-.177.001c-.696.006-2.416.02-4.028-.356-.887-.207-1.67-.518-2.216-.957-.52-.416-.829-.945-.829-1.688 0-.592.167-.966.407-1.23.255-.281.656-.508 1.237-.674 1.189-.34 2.819-.346 4.606-.346h.077c1.692 0 3.527 0 4.941-.404.732-.209 1.425-.545 1.936-1.108.526-.579.796-1.33.796-2.238z\"\n })\n});\nexport default moveTo;\n//# sourceMappingURL=move-to.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst navigation = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5zM9 16l4.5-3L15 8.4l-4.5 3L9 16z\"\n })\n});\nexport default navigation;\n//# sourceMappingURL=navigation.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst next = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.6 6L5.4 7l4.5 5-4.5 5 1.1 1 5.5-6-5.4-6zm6 0l-1.1 1 4.5 5-4.5 5 1.1 1 5.5-6-5.5-6z\"\n })\n});\nexport default next;\n//# sourceMappingURL=next.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst notAllowed = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5A6.5 6.5 0 0 1 6.93 7.931l9.139 9.138A6.473 6.473 0 0 1 12 18.5Zm5.123-2.498a6.5 6.5 0 0 0-9.124-9.124l9.124 9.124ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z\"\n })\n});\nexport default notAllowed;\n//# sourceMappingURL=not-allowed.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst notFound = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5H5c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm.5 12c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V7c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v10zm-11-7.6h-.7l-3.1 4.3h2.8V15h1v-1.3h.7v-.8h-.7V9.4zm-.9 3.5H6.3l1.2-1.7v1.7zm5.6-3.2c-.4-.2-.8-.4-1.2-.4-.5 0-.9.1-1.2.4-.4.2-.6.6-.8 1-.2.4-.3.9-.3 1.5s.1 1.1.3 1.6c.2.4.5.8.8 1 .4.2.8.4 1.2.4.5 0 .9-.1 1.2-.4.4-.2.6-.6.8-1 .2-.4.3-1 .3-1.6 0-.6-.1-1.1-.3-1.5-.1-.5-.4-.8-.8-1zm0 3.6c-.1.3-.3.5-.5.7-.2.1-.4.2-.7.2-.3 0-.5-.1-.7-.2-.2-.1-.4-.4-.5-.7-.1-.3-.2-.7-.2-1.2 0-.7.1-1.2.4-1.5.3-.3.6-.5 1-.5s.7.2 1 .5c.3.3.4.8.4 1.5-.1.5-.1.9-.2 1.2zm5-3.9h-.7l-3.1 4.3h2.8V15h1v-1.3h.7v-.8h-.7V9.4zm-1 3.5H16l1.2-1.7v1.7z\"\n })\n});\nexport default notFound;\n//# sourceMappingURL=not-found.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst offline = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M1.36605 2.81332L2.30144 1.87332L13.5592 13.1867L12.6239 14.1267L7.92702 9.40666C6.74618 9.41999 5.57861 9.87999 4.68302 10.78L3.35623 9.44665C4.19874 8.60665 5.2071 8.03999 6.2818 7.75332L4.7958 6.25999C3.78744 6.67332 2.84542 7.29332 2.02944 8.11332L0.702656 6.77999C1.512 5.97332 2.42085 5.33332 3.3894 4.84665L1.36605 2.81332ZM15.2973 6.77999L13.9705 8.11332C12.3054 6.43999 10.1096 5.61332 7.92039 5.62666L6.20883 3.90665C9.41303 3.34665 12.8229 4.29332 15.2973 6.77999ZM10.1759 7.89332C11.0781 8.21332 11.9273 8.72665 12.6438 9.44665L12.1794 9.90665L10.1759 7.89332ZM6.00981 12.1133L8 14.1133L9.99018 12.1133C8.89558 11.0067 7.11105 11.0067 6.00981 12.1133Z\"\n })\n});\nexport default offline;\n//# sourceMappingURL=offline.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst overlayText = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12-9.8c.4 0 .8-.3.9-.7l1.1-3h3.6l.5 1.7h1.9L13 9h-2.2l-3.4 9.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12H20V6c0-1.1-.9-2-2-2zm-6 7l1.4 3.9h-2.7L12 11z\"\n })\n});\nexport default overlayText;\n//# sourceMappingURL=overlay-text.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pageBreak = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 9V6a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v3H8V6a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v3h1.5Zm0 6.5V18a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2v-2.5H8V18a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2.5h1.5ZM4 13h16v-1.5H4V13Z\"\n })\n});\nexport default pageBreak;\n//# sourceMappingURL=page-break.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst page = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M15.5 7.5h-7V9h7V7.5Zm-7 3.5h7v1.5h-7V11Zm7 3.5h-7V16h7v-1.5Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M17 4H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2ZM7 5.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H7a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5Z\"\n })]\n});\nexport default page;\n//# sourceMappingURL=page.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst pages = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M14.5 5.5h-7V7h7V5.5ZM7.5 9h7v1.5h-7V9Zm7 3.5h-7V14h7v-1.5Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M16 2H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2ZM6 3.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V4a.5.5 0 0 1 .5-.5Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M20 8v11c0 .69-.31 1-.999 1H6v1.5h13.001c1.52 0 2.499-.982 2.499-2.5V8H20Z\"\n })]\n});\nexport default pages;\n//# sourceMappingURL=pages.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst paragraph = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m9.99609 14v-.2251l.00391.0001v6.225h1.5v-14.5h2.5v14.5h1.5v-14.5h3v-1.5h-8.50391c-2.76142 0-5 2.23858-5 5 0 2.7614 2.23858 5 5 5z\"\n })\n});\nexport default paragraph;\n//# sourceMappingURL=paragraph.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst payment = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M5.5 9.5v-2h13v2h-13zm0 3v4h13v-4h-13zM4 7a1 1 0 011-1h14a1 1 0 011 1v10a1 1 0 01-1 1H5a1 1 0 01-1-1V7z\",\n clipRule: \"evenodd\"\n })\n});\nexport default payment;\n//# sourceMappingURL=payment.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pencil = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m19 7-3-3-8.5 8.5-1 4 4-1L19 7Zm-7 11.5H5V20h7v-1.5Z\"\n })\n});\nexport default pencil;\n//# sourceMappingURL=pencil.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pending = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8 4a4 4 0 0 1-4-4h4V8a4 4 0 0 1 0 8Z\"\n })\n});\nexport default pending;\n//# sourceMappingURL=pending.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst people = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15.5 9.5a1 1 0 100-2 1 1 0 000 2zm0 1.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zm-2.25 6v-2a2.75 2.75 0 00-2.75-2.75h-4A2.75 2.75 0 003.75 15v2h1.5v-2c0-.69.56-1.25 1.25-1.25h4c.69 0 1.25.56 1.25 1.25v2h1.5zm7-2v2h-1.5v-2c0-.69-.56-1.25-1.25-1.25H15v-1.5h2.5A2.75 2.75 0 0120.25 15zM9.5 8.5a1 1 0 11-2 0 1 1 0 012 0zm1.5 0a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0z\",\n fillRule: \"evenodd\"\n })\n});\nexport default people;\n//# sourceMappingURL=people.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst percent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M6.5 8a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zM8 5a3 3 0 100 6 3 3 0 000-6zm6.5 11a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zm1.5-3a3 3 0 100 6 3 3 0 000-6zM5.47 17.41a.75.75 0 001.06 1.06L18.47 6.53a.75.75 0 10-1.06-1.06L5.47 17.41z\",\n clipRule: \"evenodd\"\n })\n});\nexport default percent;\n//# sourceMappingURL=percent.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pinSmall = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.97 10.159a3.382 3.382 0 0 0-2.857.955l1.724 1.723-2.836 2.913L7 17h1.25l2.913-2.837 1.723 1.723a3.38 3.38 0 0 0 .606-.825c.33-.63.446-1.343.35-2.032L17 10.695 13.305 7l-2.334 3.159Z\"\n })\n});\nexport default pinSmall;\n//# sourceMappingURL=pin-small.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pin = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m21.5 9.1-6.6-6.6-4.2 5.6c-1.2-.1-2.4.1-3.6.7-.1 0-.1.1-.2.1-.5.3-.9.6-1.2.9l3.7 3.7-5.7 5.7v1.1h1.1l5.7-5.7 3.7 3.7c.4-.4.7-.8.9-1.2.1-.1.1-.2.2-.3.6-1.1.8-2.4.6-3.6l5.6-4.1zm-7.3 3.5.1.9c.1.9 0 1.8-.4 2.6l-6-6c.8-.4 1.7-.5 2.6-.4l.9.1L15 4.9 19.1 9l-4.9 3.6z\"\n })\n});\nexport default pin;\n//# sourceMappingURL=pin.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plugins = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10.5 4v4h3V4H15v4h1.5a1 1 0 011 1v4l-3 4v2a1 1 0 01-1 1h-3a1 1 0 01-1-1v-2l-3-4V9a1 1 0 011-1H9V4h1.5zm.5 12.5v2h2v-2l3-4v-3H8v3l3 4z\"\n })\n});\nexport default plugins;\n//# sourceMappingURL=plugins.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plusCircleFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm3.8 8.8h-3v3h-1.5v-3h-3v-1.5h3v-3h1.5v3h3v1.5Z\"\n })\n});\nexport default plusCircleFilled;\n//# sourceMappingURL=plus-circle-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plusCircle = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.404 16.596a6.5 6.5 0 1 0 9.192-9.192 6.5 6.5 0 0 0-9.192 9.192ZM6.344 6.343a8 8 0 1 0 11.313 11.314A8 8 0 0 0 6.343 6.343Zm4.906 9.407v-3h-3v-1.5h3v-3h1.5v3h3v1.5h-3v3h-1.5Z\"\n })\n});\nexport default plusCircle;\n//# sourceMappingURL=plus-circle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst plus = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z\"\n })\n});\nexport default plus;\n//# sourceMappingURL=plus.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst positionCenter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM7 9h10v6H7V9Z\"\n })\n});\nexport default positionCenter;\n//# sourceMappingURL=position-center.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst positionLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 5.5h8V4H5v1.5ZM5 20h8v-1.5H5V20ZM19 9H5v6h14V9Z\"\n })\n});\nexport default positionLeft;\n//# sourceMappingURL=position-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst positionRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 5.5h-8V4h8v1.5ZM19 20h-8v-1.5h8V20ZM5 9h14v6H5V9Z\"\n })\n});\nexport default positionRight;\n//# sourceMappingURL=position-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postAuthor = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M10 4.5a1 1 0 11-2 0 1 1 0 012 0zm1.5 0a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm2.25 7.5v-1A2.75 2.75 0 0011 8.25H7A2.75 2.75 0 004.25 11v1h1.5v-1c0-.69.56-1.25 1.25-1.25h4c.69 0 1.25.56 1.25 1.25v1h1.5zM4 20h9v-1.5H4V20zm16-4H4v-1.5h16V16z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default postAuthor;\n//# sourceMappingURL=post-author.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postCategories = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 4H4v1.5h16V4zm-2 9h-3c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zm.5 5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-3c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3zM4 9.5h9V8H4v1.5zM9 13H6c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zm.5 5c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-3c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default postCategories;\n//# sourceMappingURL=post-categories.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postCommentsCount = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 8H4v1.5h9V8zM4 4v1.5h16V4H4zm9 8H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1V13c0-.6-.4-1-1-1zm-2.2 6.6H7l1.6-2.2c.3-.4.5-.7.6-.9.1-.2.2-.4.2-.5 0-.2-.1-.3-.1-.4-.1-.1-.2-.1-.4-.1s-.4 0-.6.1c-.3.1-.5.3-.7.4l-.2.2-.2-1.2.1-.1c.3-.2.5-.3.8-.4.3-.1.6-.1.9-.1.3 0 .6.1.9.2.2.1.4.3.6.5.1.2.2.5.2.7 0 .3-.1.6-.2.9-.1.3-.4.7-.7 1.1l-.5.6h1.6v1.2z\"\n })\n});\nexport default postCommentsCount;\n//# sourceMappingURL=post-comments-count.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postCommentsForm = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 8H4v1.5h9V8zM4 4v1.5h16V4H4zm9 8H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1V13c0-.6-.4-1-1-1zm-.5 6.6H6.7l-1.2 1.2v-6.3h7v5.1z\"\n })\n});\nexport default postCommentsForm;\n//# sourceMappingURL=post-comments-form.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postComments = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 10.1V4c0-.6-.4-1-1-1H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1zm-1.5-.5H6.7l-1.2 1.2V4.5h7v5.1zM19 12h-8c-.6 0-1 .4-1 1v6.1c0 .6.4 1 1 1h5.7l1.8 1.8c.1.2.4.3.6.3.1 0 .2 0 .3-.1.4-.1.6-.5.6-.8V13c0-.6-.4-1-1-1zm-.5 7.8l-1.2-1.2h-5.8v-5.1h7v6.3z\"\n })\n});\nexport default postComments;\n//# sourceMappingURL=post-comments.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postContent = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 6h12V4.5H4V6Zm16 4.5H4V9h16v1.5ZM4 15h16v-1.5H4V15Zm0 4.5h16V18H4v1.5Z\"\n })\n});\nexport default postContent;\n//# sourceMappingURL=post-content.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst postDate = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"M11.696 13.972c.356-.546.599-.958.728-1.235a1.79 1.79 0 00.203-.783c0-.264-.077-.47-.23-.618-.148-.153-.354-.23-.618-.23-.295 0-.569.07-.82.212a3.413 3.413 0 00-.738.571l-.147-1.188c.289-.234.59-.41.903-.526.313-.117.66-.175 1.041-.175.375 0 .695.08.959.24.264.153.46.362.59.626.135.265.203.556.203.876 0 .362-.08.734-.24 1.115-.154.381-.427.87-.82 1.466l-.756 1.152H14v1.106h-4l1.696-2.609z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M19.5 7h-15v12a.5.5 0 00.5.5h14a.5.5 0 00.5-.5V7zM3 7V5a2 2 0 012-2h14a2 2 0 012 2v14a2 2 0 01-2 2H5a2 2 0 01-2-2V7z\"\n })]\n});\nexport default postDate;\n//# sourceMappingURL=post-date.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postExcerpt = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.001 3.984V9.47c0 1.518-.98 2.5-2.499 2.5h-.5v-1.5h.5c.69 0 1-.31 1-1V6.984H4v-3h4.001ZM4 20h9v-1.5H4V20Zm16-4H4v-1.5h16V16ZM13.001 3.984V9.47c0 1.518-.98 2.5-2.499 2.5h-.5v-1.5h.5c.69 0 1-.31 1-1V6.984H9v-3h4.001Z\"\n })\n});\nexport default postExcerpt;\n//# sourceMappingURL=post-excerpt.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postFeaturedImage = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-.6 0-1 .4-1 1v7c0 .5.4 1 1 1h14c.5 0 1-.4 1-1V4c0-.6-.4-1-1-1zM5.5 10.5v-.4l1.8-1.3 1.3.8c.3.2.7.2.9-.1L11 8.1l2.4 2.4H5.5zm13 0h-2.9l-4-4c-.3-.3-.8-.3-1.1 0L8.9 8l-1.2-.8c-.3-.2-.6-.2-.9 0l-1.3 1V4.5h13v6zM4 20h9v-1.5H4V20zm0-4h16v-1.5H4V16z\"\n })\n});\nexport default postFeaturedImage;\n//# sourceMappingURL=post-featured-image.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postList = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 5.5H6a.5.5 0 0 0-.5.5v12a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.5-.5ZM6 4h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Zm1 5h1.5v1.5H7V9Zm1.5 4.5H7V15h1.5v-1.5ZM10 9h7v1.5h-7V9Zm7 4.5h-7V15h7v-1.5Z\"\n })\n});\nexport default postList;\n//# sourceMappingURL=post-list.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst postTerms = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.1 12.3c.1.1.3.3.5.3.2.1.4.1.6.1.2 0 .4 0 .6-.1.2-.1.4-.2.5-.3l3-3c.3-.3.5-.7.5-1.1 0-.4-.2-.8-.5-1.1L9.7 3.5c-.1-.2-.3-.3-.5-.3H5c-.4 0-.8.4-.8.8v4.2c0 .2.1.4.2.5l3.7 3.6zM5.8 4.8h3.1l3.4 3.4v.1l-3 3 .5.5-.7-.5-3.3-3.4V4.8zM4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4z\"\n })\n});\nexport default postTerms;\n//# sourceMappingURL=post-terms.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst post = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m7.3 9.7 1.4 1.4c.2-.2.3-.3.4-.5 0 0 0-.1.1-.1.3-.5.4-1.1.3-1.6L12 7 9 4 7.2 6.5c-.6-.1-1.1 0-1.6.3 0 0-.1 0-.1.1-.3.1-.4.2-.6.4l1.4 1.4L4 11v1h1l2.3-2.3zM4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4z\"\n })\n});\nexport default post;\n//# sourceMappingURL=post.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst preformatted = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12zM7 16.5h6V15H7v1.5zm4-4h6V11h-6v1.5zM9 11H7v1.5h2V11zm6 5.5h2V15h-2v1.5z\"\n })\n});\nexport default preformatted;\n//# sourceMappingURL=preformatted.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst previous = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.6 7l-1.1-1L5 12l5.5 6 1.1-1L7 12l4.6-5zm6 0l-1.1-1-5.5 6 5.5 6 1.1-1-4.6-5 4.6-5z\"\n })\n});\nexport default previous;\n//# sourceMappingURL=previous.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst published = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm11.53-1.47-1.06-1.06L11 12.94l-1.47-1.47-1.06 1.06L11 15.06l4.53-4.53Z\"\n })\n});\nexport default published;\n//# sourceMappingURL=published.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pullLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 18h6V6H4v12zm9-9.5V10h7V8.5h-7zm0 7h7V14h-7v1.5z\"\n })\n});\nexport default pullLeft;\n//# sourceMappingURL=pull-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pullRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14 6v12h6V6h-6zM4 10h7V8.5H4V10zm0 5.5h7V14H4v1.5z\"\n })\n});\nexport default pullRight;\n//# sourceMappingURL=pull-right.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst pullquote = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 8H6c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-4c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v4zM4 4v1.5h16V4H4zm0 16h16v-1.5H4V20z\"\n })\n});\nexport default pullquote;\n//# sourceMappingURL=pullquote.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPaginationNext = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 13.5h3v-3H5v3zm5 0h3v-3h-3v3zM17 9l-1 1 2 2-2 2 1 1 3-3-3-3z\"\n })\n});\nexport default queryPaginationNext;\n//# sourceMappingURL=query-pagination-next.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPaginationNumbers = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 13.5h6v-3H4v3zm8.2-2.5.8-.3V14h1V9.3l-2.2.7.4 1zm7.1-1.2c-.5-.6-1.2-.5-1.7-.4-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5h2.7v-1h-.9c.3-.6.8-1.4.9-2.1 0-.3-.1-.8-.3-1.1z\"\n })\n});\nexport default queryPaginationNumbers;\n//# sourceMappingURL=query-pagination-numbers.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPaginationPrevious = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 10.5v3h3v-3h-3zm-5 3h3v-3h-3v3zM7 9l-3 3 3 3 1-1-2-2 2-2-1-1z\"\n })\n});\nexport default queryPaginationPrevious;\n//# sourceMappingURL=query-pagination-previous.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst queryPagination = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 13.5h6v-3H4v3zm8 0h3v-3h-3v3zm5-3v3h3v-3h-3z\"\n })\n});\nexport default queryPagination;\n//# sourceMappingURL=query-pagination.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst quote = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 6v6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H13zm-9 6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H4v6z\"\n })\n});\nexport default quote;\n//# sourceMappingURL=quote.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst receipt = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M16.83 6.342l.602.3.625-.25.443-.176v12.569l-.443-.178-.625-.25-.603.301-1.444.723-2.41-.804-.475-.158-.474.158-2.41.803-1.445-.722-.603-.3-.625.25-.443.177V6.215l.443.178.625.25.603-.301 1.444-.722 2.41.803.475.158.474-.158 2.41-.803 1.445.722zM20 4l-1.5.6-1 .4-2-1-3 1-3-1-2 1-1-.4L5 4v17l1.5-.6 1-.4 2 1 3-1 3 1 2-1 1 .4 1.5.6V4zm-3.5 6.25v-1.5h-8v1.5h8zm0 3v-1.5h-8v1.5h8zm-8 3v-1.5h8v1.5h-8z\",\n clipRule: \"evenodd\"\n })\n});\nexport default receipt;\n//# sourceMappingURL=receipt.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst redo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15.6 6.5l-1.1 1 2.9 3.3H8c-.9 0-1.7.3-2.3.9-1.4 1.5-1.4 4.2-1.4 5.6v.2h1.5v-.3c0-1.1 0-3.5 1-4.5.3-.3.7-.5 1.3-.5h9.2L14.5 15l1.1 1.1 4.6-4.6-4.6-5z\"\n })\n});\nexport default redo;\n//# sourceMappingURL=redo.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst removeBug = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.45474 21.2069L16.4547 3.7069L15.5453 3.29114L14.2837 6.05081C13.5991 5.69873 12.8228 5.49999 12 5.49999C10.9385 5.49999 9.95431 5.83076 9.1448 6.39485L7.18994 4.44L6.12928 5.50066L8.05556 7.42694C7.49044 8.15127 7.12047 9.0353 7.02469 9.99999H5V11.5H7V13H5V14.5H7.10002C7.35089 15.7359 8.0576 16.8062 9.03703 17.5279L7.54526 20.7911L8.45474 21.2069ZM9.68024 16.1209C8.95633 15.4796 8.5 14.5431 8.5 13.5V10.5C8.5 8.567 10.067 6.99999 12 6.99999C12.6003 6.99999 13.1653 7.15111 13.659 7.41738L9.68024 16.1209ZM15.3555 9.50155L16.1645 7.73191C16.6053 8.39383 16.8926 9.16683 16.9753 9.99999H19V11.5H17V13H19V14.5H16.9C16.4367 16.7822 14.419 18.5 12 18.5C11.7508 18.5 11.5058 18.4818 11.2664 18.4466L11.928 16.9993C11.9519 16.9998 11.9759 17 12 17C13.933 17 15.5 15.433 15.5 13.5V10.5C15.5 10.1531 15.4495 9.81794 15.3555 9.50155Z\"\n })\n});\nexport default removeBug;\n//# sourceMappingURL=remove-bug.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst removeSubmenu = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"m13.955 20.748 8-17.5-.91-.416L19.597 6H13.5v1.5h5.411l-1.6 3.5H13.5v1.5h3.126l-1.6 3.5H13.5l.028 1.5h.812l-1.295 2.832.91.416ZM17.675 16l-.686 1.5h4.539L21.5 16h-3.825Zm2.286-5-.686 1.5H21.5V11h-1.54ZM2 12c0 3.58 2.42 5.5 6 5.5h.5V19l3-2.5-3-2.5v2H8c-2.48 0-4.5-1.52-4.5-4S5.52 7.5 8 7.5h3.5V6H8c-3.58 0-6 2.42-6 6Z\"\n })\n});\nexport default removeSubmenu;\n//# sourceMappingURL=remove-submenu.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst replace = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 10h4c.6 0 1-.4 1-1V5c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1zm-8 4H4c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1zm10-2.6L14.5 15l1.1 1.1 1.7-1.7c-.1 1.1-.3 2.3-.9 2.9-.3.3-.7.5-1.3.5h-4.5v1.5H15c.9 0 1.7-.3 2.3-.9 1-1 1.3-2.7 1.4-4l1.8 1.8 1.1-1.1-3.6-3.7zM6.8 9.7c.1-1.1.3-2.3.9-2.9.4-.4.8-.6 1.3-.6h4.5V4.8H9c-.9 0-1.7.3-2.3.9-1 1-1.3 2.7-1.4 4L3.5 8l-1 1L6 12.6 9.5 9l-1-1-1.7 1.7z\"\n })\n});\nexport default replace;\n//# sourceMappingURL=replace.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst reset = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 11.5h10V13H7z\"\n })\n});\nexport default reset;\n//# sourceMappingURL=reset.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst resizeCornerNE = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 18h4.5v1.5h-7v-7H6V17L17 6h-4.5V4.5h7v7H18V7L7 18Z\"\n })\n});\nexport default resizeCornerNE;\n//# sourceMappingURL=resize-corner-n-e.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst reusableBlock = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 7.2h8.2L13.5 9l1.1 1.1 3.6-3.6-3.5-4-1.1 1 1.9 2.3H7c-.9 0-1.7.3-2.3.9-1.4 1.5-1.4 4.2-1.4 5.6v.2h1.5v-.3c0-1.1 0-3.5 1-4.5.3-.3.7-.5 1.2-.5zm13.8 4V11h-1.5v.3c0 1.1 0 3.5-1 4.5-.3.3-.7.5-1.3.5H8.8l1.7-1.7-1.1-1.1L5.9 17l3.5 4 1.1-1-1.9-2.3H17c.9 0 1.7-.3 2.3-.9 1.5-1.4 1.5-4.2 1.5-5.6z\"\n })\n});\nexport default reusableBlock;\n//# sourceMappingURL=reusable-block.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst rotateLeft = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4V2.2L9 4.8l3 2.5V5.5c3.6 0 6.5 2.9 6.5 6.5 0 2.9-1.9 5.3-4.5 6.2v.2l-.1-.2c-.4.1-.7.2-1.1.2l.2 1.5c.3 0 .6-.1 1-.2 3.5-.9 6-4 6-7.7 0-4.4-3.6-8-8-8zm-7.9 7l1.5.2c.1-1.2.5-2.3 1.2-3.2l-1.1-.9C4.8 8.2 4.3 9.6 4.1 11zm1.5 1.8l-1.5.2c.1.7.3 1.4.5 2 .3.7.6 1.3 1 1.8l1.2-.8c-.3-.5-.6-1-.8-1.5s-.4-1.1-.4-1.7zm1.5 5.5c1.1.9 2.4 1.4 3.8 1.6l.2-1.5c-1.1-.1-2.2-.5-3.1-1.2l-.9 1.1z\"\n })\n});\nexport default rotateLeft;\n//# sourceMappingURL=rotate-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst rotateRight = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M15.1 4.8l-3-2.5V4c-4.4 0-8 3.6-8 8 0 3.7 2.5 6.9 6 7.7.3.1.6.1 1 .2l.2-1.5c-.4 0-.7-.1-1.1-.2l-.1.2v-.2c-2.6-.8-4.5-3.3-4.5-6.2 0-3.6 2.9-6.5 6.5-6.5v1.8l3-2.5zM20 11c-.2-1.4-.7-2.7-1.6-3.8l-1.2.8c.7.9 1.1 2 1.3 3.1L20 11zm-1.5 1.8c-.1.5-.2 1.1-.4 1.6s-.5 1-.8 1.5l1.2.9c.4-.5.8-1.1 1-1.8s.5-1.3.5-2l-1.5-.2zm-5.6 5.6l.2 1.5c1.4-.2 2.7-.7 3.8-1.6l-.9-1.1c-.9.7-2 1.1-3.1 1.2z\"\n })\n});\nexport default rotateRight;\n//# sourceMappingURL=rotate-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst row = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4 6.5h5a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H4V16h5a.5.5 0 0 0 .5-.5v-7A.5.5 0 0 0 9 8H4V6.5Zm16 0h-5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h5V16h-5a.5.5 0 0 1-.5-.5v-7A.5.5 0 0 1 15 8h5V6.5Z\"\n })\n});\nexport default row;\n//# sourceMappingURL=row.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst rss = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 10.2h-.8v1.5H5c1.9 0 3.8.8 5.1 2.1 1.4 1.4 2.1 3.2 2.1 5.1v.8h1.5V19c0-2.3-.9-4.5-2.6-6.2-1.6-1.6-3.8-2.6-6.1-2.6zm10.4-1.6C12.6 5.8 8.9 4.2 5 4.2h-.8v1.5H5c3.5 0 6.9 1.4 9.4 3.9s3.9 5.8 3.9 9.4v.8h1.5V19c0-3.9-1.6-7.6-4.4-10.4zM4 20h3v-3H4v3z\"\n })\n});\nexport default rss;\n//# sourceMappingURL=rss.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst scheduled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm9 1V8h-1.5v3.5h-2V13H13Z\"\n })\n});\nexport default scheduled;\n//# sourceMappingURL=scheduled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst search = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z\"\n })\n});\nexport default search;\n//# sourceMappingURL=search.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst seen = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3.99961 13C4.67043 13.3354 4.6703 13.3357 4.67017 13.3359L4.67298 13.3305C4.67621 13.3242 4.68184 13.3135 4.68988 13.2985C4.70595 13.2686 4.7316 13.2218 4.76695 13.1608C4.8377 13.0385 4.94692 12.8592 5.09541 12.6419C5.39312 12.2062 5.84436 11.624 6.45435 11.0431C7.67308 9.88241 9.49719 8.75 11.9996 8.75C14.502 8.75 16.3261 9.88241 17.5449 11.0431C18.1549 11.624 18.6061 12.2062 18.9038 12.6419C19.0523 12.8592 19.1615 13.0385 19.2323 13.1608C19.2676 13.2218 19.2933 13.2686 19.3093 13.2985C19.3174 13.3135 19.323 13.3242 19.3262 13.3305L19.3291 13.3359C19.3289 13.3357 19.3288 13.3354 19.9996 13C20.6704 12.6646 20.6703 12.6643 20.6701 12.664L20.6697 12.6632L20.6688 12.6614L20.6662 12.6563L20.6583 12.6408C20.6517 12.6282 20.6427 12.6108 20.631 12.5892C20.6078 12.5459 20.5744 12.4852 20.5306 12.4096C20.4432 12.2584 20.3141 12.0471 20.1423 11.7956C19.7994 11.2938 19.2819 10.626 18.5794 9.9569C17.1731 8.61759 14.9972 7.25 11.9996 7.25C9.00203 7.25 6.82614 8.61759 5.41987 9.9569C4.71736 10.626 4.19984 11.2938 3.85694 11.7956C3.68511 12.0471 3.55605 12.2584 3.4686 12.4096C3.42484 12.4852 3.39142 12.5459 3.36818 12.5892C3.35656 12.6108 3.34748 12.6282 3.34092 12.6408L3.33297 12.6563L3.33041 12.6614L3.32948 12.6632L3.32911 12.664C3.32894 12.6643 3.32879 12.6646 3.99961 13ZM11.9996 16C13.9326 16 15.4996 14.433 15.4996 12.5C15.4996 10.567 13.9326 9 11.9996 9C10.0666 9 8.49961 10.567 8.49961 12.5C8.49961 14.433 10.0666 16 11.9996 16Z\"\n })\n});\nexport default seen;\n//# sourceMappingURL=seen.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst send = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.332 5.748c-1.03-.426-2.06.607-1.632 1.636l1.702 3.93 7.481.575c.123.01.123.19 0 .2l-7.483.575-1.7 3.909c-.429 1.029.602 2.062 1.632 1.636l12.265-5.076c1.03-.426 1.03-1.884 0-2.31L6.332 5.748Z\"\n })\n});\nexport default send;\n//# sourceMappingURL=send.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst separator = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.5 12.5v4H3V7h1.5v3.987h15V7H21v9.5h-1.5v-4h-15Z\"\n })\n});\nexport default separator;\n//# sourceMappingURL=separator.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst settings = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m19 7.5h-7.628c-.3089-.87389-1.1423-1.5-2.122-1.5-.97966 0-1.81309.62611-2.12197 1.5h-2.12803v1.5h2.12803c.30888.87389 1.14231 1.5 2.12197 1.5.9797 0 1.8131-.62611 2.122-1.5h7.628z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m19 15h-2.128c-.3089-.8739-1.1423-1.5-2.122-1.5s-1.8131.6261-2.122 1.5h-7.628v1.5h7.628c.3089.8739 1.1423 1.5 2.122 1.5s1.8131-.6261 2.122-1.5h2.128z\"\n })]\n});\nexport default settings;\n//# sourceMappingURL=settings.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shadow = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 8c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm0 6.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zM12.8 3h-1.5v3h1.5V3zm-1.6 18h1.5v-3h-1.5v3zm6.8-9.8v1.5h3v-1.5h-3zm-12 0H3v1.5h3v-1.5zm9.7 5.6 2.1 2.1 1.1-1.1-2.1-2.1-1.1 1.1zM8.3 7.2 6.2 5.1 5.1 6.2l2.1 2.1 1.1-1.1zM5.1 17.8l1.1 1.1 2.1-2.1-1.1-1.1-2.1 2.1zM18.9 6.2l-1.1-1.1-2.1 2.1 1.1 1.1 2.1-2.1z\"\n })\n});\nexport default shadow;\n//# sourceMappingURL=shadow.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst share = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9 11.8l6.1-4.5c.1.4.4.7.9.7h2c.6 0 1-.4 1-1V5c0-.6-.4-1-1-1h-2c-.6 0-1 .4-1 1v.4l-6.4 4.8c-.2-.1-.4-.2-.6-.2H6c-.6 0-1 .4-1 1v2c0 .6.4 1 1 1h2c.2 0 .4-.1.6-.2l6.4 4.8v.4c0 .6.4 1 1 1h2c.6 0 1-.4 1-1v-2c0-.6-.4-1-1-1h-2c-.5 0-.8.3-.9.7L9 12.2v-.4z\"\n })\n});\nexport default share;\n//# sourceMappingURL=share.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shield = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 3.176l6.75 3.068v4.574c0 3.9-2.504 7.59-6.035 8.755a2.283 2.283 0 01-1.43 0c-3.53-1.164-6.035-4.856-6.035-8.755V6.244L12 3.176zM6.75 7.21v3.608c0 3.313 2.145 6.388 5.005 7.33.159.053.331.053.49 0 2.86-.942 5.005-4.017 5.005-7.33V7.21L12 4.824 6.75 7.21z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })\n});\nexport default shield;\n//# sourceMappingURL=shield.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shipping = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3 6.75C3 5.784 3.784 5 4.75 5H15V7.313l.05.027 5.056 2.73.394.212v3.468a1.75 1.75 0 01-1.75 1.75h-.012a2.5 2.5 0 11-4.975 0H9.737a2.5 2.5 0 11-4.975 0H3V6.75zM13.5 14V6.5H4.75a.25.25 0 00-.25.25V14h.965a2.493 2.493 0 011.785-.75c.7 0 1.332.287 1.785.75H13.5zm4.535 0h.715a.25.25 0 00.25-.25v-2.573l-4-2.16v4.568a2.487 2.487 0 011.25-.335c.7 0 1.332.287 1.785.75zM6.282 15.5a1.002 1.002 0 00.968 1.25 1 1 0 10-.968-1.25zm9 0a1 1 0 101.937.498 1 1 0 00-1.938-.498z\"\n })\n});\nexport default shipping;\n//# sourceMappingURL=shipping.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shortcode = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 4.2v1.5h2.5v12.5H16v1.5h4V4.2h-4zM4.2 19.8h4v-1.5H5.8V5.8h2.5V4.2h-4l-.1 15.6zm5.1-3.1l1.4.6 4-10-1.4-.6-4 10z\"\n })\n});\nexport default shortcode;\n//# sourceMappingURL=shortcode.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst shuffle = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/SVG\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.192 6.75L15.47 5.03l1.06-1.06 3.537 3.53-3.537 3.53-1.06-1.06 1.723-1.72h-3.19c-.602 0-.993.202-1.28.498-.309.319-.538.792-.695 1.383-.13.488-.222 1.023-.296 1.508-.034.664-.116 1.413-.303 2.117-.193.721-.513 1.467-1.068 2.04-.575.594-1.359.954-2.357.954H4v-1.5h4.003c.601 0 .993-.202 1.28-.498.308-.319.538-.792.695-1.383.149-.557.216-1.093.288-1.662l.039-.31a9.653 9.653 0 0 1 .272-1.653c.193-.722.513-1.467 1.067-2.04.576-.594 1.36-.954 2.358-.954h3.19zM8.004 6.75c.8 0 1.46.23 1.988.628a6.24 6.24 0 0 0-.684 1.396 1.725 1.725 0 0 0-.024-.026c-.287-.296-.679-.498-1.28-.498H4v-1.5h4.003zM12.699 14.726c-.161.459-.38.94-.684 1.396.527.397 1.188.628 1.988.628h3.19l-1.722 1.72 1.06 1.06L20.067 16l-3.537-3.53-1.06 1.06 1.723 1.72h-3.19c-.602 0-.993-.202-1.28-.498a1.96 1.96 0 0 1-.024-.026z\"\n })\n});\nexport default shuffle;\n//# sourceMappingURL=shuffle.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst sidebar = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z\"\n })\n});\nexport default sidebar;\n//# sourceMappingURL=sidebar.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst sidesAll = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\"\n })\n});\nexport default sidesAll;\n//# sourceMappingURL=sides-all.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst sidesAxial = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.2 5.3h8V3.8h-8v1.5zm0 14.5h8v-1.5h-8v1.5zm3.5-6.5h1v-1h-1v1zm1-6.5h-1v.5h1v-.5zm-1 4.5h1v-1h-1v1zm0-2h1v-1h-1v1zm0 7.5h1v-.5h-1v.5zm1-2.5h-1v1h1v-1zm-8.5 1.5h1.5v-8H4.2v8zm14.5-8v8h1.5v-8h-1.5zm-5 4.5v-1h-1v1h1zm-6.5 0h.5v-1h-.5v1zm3.5-1v1h1v-1h-1zm6 1h.5v-1h-.5v1zm-8-1v1h1v-1h-1zm6 0v1h1v-1h-1z\"\n })\n});\nexport default sidesAxial;\n//# sourceMappingURL=sides-axial.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesBottom = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m16.5 19.5h-9v-1.5h9z\"\n })]\n});\nexport default sidesBottom;\n//# sourceMappingURL=sides-bottom.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesHorizontal = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4.5 7.5v9h1.5v-9z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18 7.5v9h1.5v-9z\"\n })]\n});\nexport default sidesHorizontal;\n//# sourceMappingURL=sides-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesLeft = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4.5 16.5v-9h1.5v9z\"\n })]\n});\nexport default sidesLeft;\n//# sourceMappingURL=sides-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesRight = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18 16.5v-9h1.5v9z\"\n })]\n});\nexport default sidesRight;\n//# sourceMappingURL=sides-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesTop = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m16.5 6h-9v-1.5h9z\"\n })]\n});\nexport default sidesTop;\n//# sourceMappingURL=sides-top.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesVertical = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 19.5h9v-1.5h-9z\"\n })]\n});\nexport default sidesVertical;\n//# sourceMappingURL=sides-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst siteLogo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 1.5c3.4 0 6.2 2.7 6.5 6l-1.2-.6-.8-.4c-.1 0-.2 0-.3-.1H16c-.1-.2-.4-.2-.7 0l-2.9 2.1L9 11.3h-.7L5.5 13v-1.1c0-3.6 2.9-6.5 6.5-6.5Zm0 13c-2.7 0-5-1.7-6-4l2.8-1.7 3.5 1.2h.4s.2 0 .4-.2l2.9-2.1.4.2c.6.3 1.4.7 2.1 1.1-.5 3.1-3.2 5.4-6.4 5.4Z\"\n })\n});\nexport default siteLogo;\n//# sourceMappingURL=site-logo.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst square = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fill: \"none\",\n d: \"M5.75 12.75V18.25H11.25M12.75 5.75H18.25V11.25\",\n stroke: \"currentColor\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"square\"\n })\n});\nexport default square;\n//# sourceMappingURL=square.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stack = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.5 4v5a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2V4H8v5a.5.5 0 0 0 .5.5h7A.5.5 0 0 0 16 9V4h1.5Zm0 16v-5a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v5H8v-5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v5h1.5Z\"\n })\n});\nexport default stack;\n//# sourceMappingURL=stack.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst starEmpty = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M9.706 8.646a.25.25 0 01-.188.137l-4.626.672a.25.25 0 00-.139.427l3.348 3.262a.25.25 0 01.072.222l-.79 4.607a.25.25 0 00.362.264l4.138-2.176a.25.25 0 01.233 0l4.137 2.175a.25.25 0 00.363-.263l-.79-4.607a.25.25 0 01.072-.222l3.347-3.262a.25.25 0 00-.139-.427l-4.626-.672a.25.25 0 01-.188-.137l-2.069-4.192a.25.25 0 00-.448 0L9.706 8.646zM12 7.39l-.948 1.921a1.75 1.75 0 01-1.317.957l-2.12.308 1.534 1.495c.412.402.6.982.503 1.55l-.362 2.11 1.896-.997a1.75 1.75 0 011.629 0l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39z\",\n clipRule: \"evenodd\"\n })\n});\nexport default starEmpty;\n//# sourceMappingURL=star-empty.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst starFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z\"\n })\n});\nexport default starFilled;\n//# sourceMappingURL=star-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst starHalf = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M9.518 8.783a.25.25 0 00.188-.137l2.069-4.192a.25.25 0 01.448 0l2.07 4.192a.25.25 0 00.187.137l4.626.672a.25.25 0 01.139.427l-3.347 3.262a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.363.264l-4.137-2.176a.25.25 0 00-.233 0l-4.138 2.175a.25.25 0 01-.362-.263l.79-4.607a.25.25 0 00-.072-.222L4.753 9.882a.25.25 0 01.14-.427l4.625-.672zM12 14.533c.28 0 .559.067.814.2l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39v7.143z\"\n })\n});\nexport default starHalf;\n//# sourceMappingURL=star-half.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst store = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n d: \"M19.75 11H21V8.667L19.875 4H4.125L3 8.667V11h1.25v8.75h15.5V11zm-1.5 0H5.75v7.25H10V13h4v5.25h4.25V11zm-5.5-5.5h2.067l.486 3.24.028.76H12.75v-4zm-3.567 0h2.067v4H8.669l.028-.76.486-3.24zm7.615 3.1l-.464-3.1h2.36l.806 3.345V9.5h-2.668l-.034-.9zM7.666 5.5h-2.36L4.5 8.845V9.5h2.668l.034-.9.464-3.1z\",\n clipRule: \"evenodd\"\n })\n});\nexport default store;\n//# sourceMappingURL=store.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stretchFullWidth = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M5 4h14v11H5V4Zm11 16H8v-1.5h8V20Z\"\n })\n});\nexport default stretchFullWidth;\n//# sourceMappingURL=stretch-full-width.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stretchWide = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16 5.5H8V4h8v1.5ZM16 20H8v-1.5h8V20ZM5 9h14v6H5V9Z\"\n })\n});\nexport default stretchWide;\n//# sourceMappingURL=stretch-wide.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const styles = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20 12a8 8 0 1 1-16 0 8 8 0 0 1 16 0Zm-1.5 0a6.5 6.5 0 0 1-6.5 6.5v-13a6.5 6.5 0 0 1 6.5 6.5Z\"\n })\n});\nexport default styles;\n//# sourceMappingURL=styles.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst subscript = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.9 18.3l.8-1.2c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.1-.3-.4-.5-.6-.7-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.2 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3L15 19.4h4.3v-1.2h-2.4zM14.1 7.2h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z\"\n })\n});\nexport default subscript;\n//# sourceMappingURL=subscript.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst superscript = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M16.9 10.3l.8-1.3c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.2-.2-.4-.4-.7-.6-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.1 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3l-1.8 2.8h4.3v-1.2h-2.2zm-2.8-3.1h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z\"\n })\n});\nexport default superscript;\n//# sourceMappingURL=superscript.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst swatch = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7.1 5.7 8 6.9c.4-.3.9-.6 1.5-.8l-.6-1.4c-.7.3-1.3.6-1.8 1ZM4.6 8.9l1.4.6c.2-.5.5-1 .8-1.5l-1.2-.9c-.4.6-.8 1.2-1 1.8Zm14.8 0c-.3-.7-.6-1.3-1-1.8l-1.2.9c.3.4.6.9.8 1.5l1.4-.6ZM7.1 18.3c.6.4 1.2.8 1.8 1l.6-1.4c-.5-.2-1-.5-1.5-.8l-.9 1.2ZM5.5 12v-.9h-.7l-.7-.2v2l1.5-.2v-.9Zm-.7 3h-.2c.3.7.6 1.3 1 1.9l1.2-.9c-.3-.4-.6-.9-.8-1.5l-1.2.5Zm9.7 3 .5 1.2v.2c.7-.3 1.3-.6 1.9-1l-.9-1.2c-.4.3-.9.6-1.5.8Zm-2.5.5h-.9l-.2 1.3v.2h2l-.2-1.5h-.9Zm7.9-7.5-1.5.2V13h.7l.7.2v-2ZM18 14.5c-.2.5-.5 1-.8 1.5l1.2.9c.4-.6.8-1.2 1-1.8h-.2l-1.2-.6ZM11 4.1l.2 1.5H13V4.2h-1.9ZM14.5 6c.5.2 1 .5 1.5.8l.9-1.2c-.6-.4-1.2-.8-1.8-1L14.5 6Z\"\n })\n});\nexport default swatch;\n//# sourceMappingURL=swatch.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst symbolFilled = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-17.6 1L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z\"\n })\n});\nexport default symbolFilled;\n//# sourceMappingURL=symbol-filled.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst symbol = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-1 1.4l-5.6 5.6c-.1.1-.3.1-.4 0l-5.6-5.6c-.1-.1-.1-.3 0-.4l5.6-5.6s.1-.1.2-.1.1 0 .2.1l5.6 5.6c.1.1.1.3 0 .4zm-16.6-.4L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z\"\n })\n});\nexport default symbol;\n//# sourceMappingURL=symbol.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableColumnAfter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14.2c.1.9.9 1.7 1.8 1.8H19.2c1-.1 1.8-1 1.8-2V5c0-1.1-.9-2-2-2ZM8.5 19.5H5c-.3 0-.5-.2-.5-.5v-3.5h4v4Zm0-5.5h-4v-4h4v4Zm0-5.5h-4V5c0-.3.2-.5.5-.5h3.5v4Zm11 10.5c0 .3-.2.5-.5.5h-9v-15h9c.3 0 .5.2.5.5v14Zm-4-10.8H14v3h-3v1.5h3v3h1.5v-3h3v-1.5h-3v-3Z\"\n })\n});\nexport default tableColumnAfter;\n//# sourceMappingURL=table-column-after.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableColumnBefore = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1 .8 1.9 1.8 2H19.2c.9-.1 1.7-.9 1.8-1.8V5c0-1.1-.9-2-2-2Zm-5 16.5H5c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h9v15Zm5.5-.5c0 .3-.2.5-.5.5h-3.5v-4h4V19Zm0-5h-4v-4h4v4Zm0-5.5h-4v-4H19c.3 0 .5.2.5.5v3.5Zm-11 7.3H10v-3h3v-1.5h-3v-3H8.5v3h-3v1.5h3v3Z\"\n })\n});\nexport default tableColumnBefore;\n//# sourceMappingURL=table-column-before.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableColumnDelete = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14.2c.1.9.9 1.7 1.8 1.8H19.2c1-.1 1.8-1 1.8-2V5c0-1.1-.9-2-2-2ZM8.5 19.5H5c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h3.5v15Zm11-.5c0 .3-.2.5-.5.5h-9v-15h9c.3 0 .5.2.5.5v14ZM16.9 8.8l-2.1 2.1-2.1-2.1-1.1 1.1 2.1 2.1-2.1 2.1 1.1 1.1 2.1-2.1 2.1 2.1 1.1-1.1-2.1-2.1L18 9.9l-1.1-1.1Z\"\n })\n});\nexport default tableColumnDelete;\n//# sourceMappingURL=table-column-delete.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst tableOfContents = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20 9.484h-8.889v-1.5H20v1.5Zm0 7h-4.889v-1.5H20v1.5Zm-14 .032a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"M13 15.516a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM8 8.484a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\"\n })]\n});\nexport default tableOfContents;\n//# sourceMappingURL=table-of-contents.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableRowAfter = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H4.8c-.9.1-1.7.9-1.8 1.8V19.2c.1 1 1 1.8 2 1.8h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm-9 1.5h4v4h-4v-4ZM4.5 5c0-.3.2-.5.5-.5h3.5v4h-4V5Zm15 14c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-9h15v9Zm0-10.5h-4v-4H19c.3 0 .5.2.5.5v3.5Zm-8.3 10h1.5v-3h3V14h-3v-3h-1.5v3h-3v1.5h3v3Z\"\n })\n});\nexport default tableRowAfter;\n//# sourceMappingURL=table-row-after.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableRowBefore = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M21 5c0-1.1-.9-2-2-2H5c-1 0-1.9.8-2 1.8V19.2c.1.9.9 1.7 1.8 1.8H19c1.1 0 2-.9 2-2V5ZM4.5 14V5c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v9h-15Zm4 5.5H5c-.3 0-.5-.2-.5-.5v-3.5h4v4Zm5.5 0h-4v-4h4v4Zm5.5-.5c0 .3-.2.5-.5.5h-3.5v-4h4V19ZM11.2 10h-3V8.5h3v-3h1.5v3h3V10h-3v3h-1.5v-3Z\"\n })\n});\nexport default tableRowBefore;\n//# sourceMappingURL=table-row-before.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tableRowDelete = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H4.8c-.9.1-1.7.9-1.8 1.8V19.2c.1 1 1 1.8 2 1.8h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-9h15v9Zm0-10.5h-15V5c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v3.5Zm-9.6 9.4 2.1-2.1 2.1 2.1 1.1-1.1-2.1-2.1 2.1-2.1-1.1-1.1-2.1 2.1-2.1-2.1-1.1 1.1 2.1 2.1-2.1 2.1 1.1 1.1Z\"\n })\n});\nexport default tableRowDelete;\n//# sourceMappingURL=table-row-delete.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst table = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm.5 2v6.2h-6.8V4.4h6.2c.3 0 .5.2.5.5ZM5 4.5h6.2v6.8H4.4V5.1c0-.3.2-.5.5-.5ZM4.5 19v-6.2h6.8v6.8H5.1c-.3 0-.5-.2-.5-.5Zm14.5.5h-6.2v-6.8h6.8v6.2c0 .3-.2.5-.5.5Z\"\n })\n});\nexport default table;\n//# sourceMappingURL=table.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tablet = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 4H7c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H7c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v12zm-7.5-.5h4V16h-4v1.5z\"\n })\n});\nexport default tablet;\n//# sourceMappingURL=tablet.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tag = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.75 4a.75.75 0 0 0-.75.75v7.826c0 .2.08.39.22.53l6.72 6.716a2.313 2.313 0 0 0 3.276-.001l5.61-5.611-.531-.53.532.528a2.315 2.315 0 0 0 0-3.264L13.104 4.22a.75.75 0 0 0-.53-.22H4.75ZM19 12.576a.815.815 0 0 1-.236.574l-5.61 5.611a.814.814 0 0 1-1.153 0L5.5 12.264V5.5h6.763l6.5 6.502a.816.816 0 0 1 .237.574ZM8.75 9.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"\n })\n});\nexport default tag;\n//# sourceMappingURL=tag.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tag = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6.08 10.103h2.914L9.657 12h1.417L8.23 4H6.846L4 12h1.417l.663-1.897Zm1.463-4.137.994 2.857h-2l1.006-2.857ZM11 16H4v-1.5h7V16Zm1 0h8v-1.5h-8V16Zm-4 4H4v-1.5h4V20Zm7-1.5V20H9v-1.5h6Z\"\n })\n});\nexport default tag;\n//# sourceMappingURL=term-description.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textColor = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12.9 6h-2l-4 11h1.9l1.1-3h4.2l1.1 3h1.9L12.9 6zm-2.5 6.5l1.5-4.9 1.7 4.9h-3.2z\"\n })\n});\nexport default textColor;\n//# sourceMappingURL=text-color.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textHorizontal = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M8.2 14.4h3.9L13 17h1.7L11 6.5H9.3L5.6 17h1.7l.9-2.6zm2-5.5 1.4 4H8.8l1.4-4zm7.4 7.5-1.3.8.8 1.4H5.5V20h14.3l-2.2-3.6z\"\n })\n});\nexport default textHorizontal;\n//# sourceMappingURL=text-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textVertical = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M7 5.6v1.7l2.6.9v3.9L7 13v1.7L17.5 11V9.3L7 5.6zm4.2 6V8.8l4 1.4-4 1.4zm-5.7 5.6V5.5H4v14.3l3.6-2.2-.8-1.3-1.3.9z\"\n })\n});\nexport default textVertical;\n//# sourceMappingURL=text-vertical.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst thumbsDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M19.8 4h-1.5l1 8h1.5l-1-8ZM17 5.8c-.1-1-1-1.8-2-1.8H6.8c-.9 0-1.7.6-1.9 1.4l-1.8 6C2.7 12.7 3.7 14 5 14h4.4l-.8 3.6c-.3 1.3.7 2.4 1.9 2.4h.2c.6 0 1.2-.3 1.6-.8l5-6.6c.3-.4.5-.9.4-1.5L17 5.7Zm-.9 5.9-5 6.6c0 .1-.2.2-.4.2h-.2c-.3 0-.6-.3-.5-.6l.8-3.6c.1-.4 0-.9-.3-1.3s-.7-.6-1.2-.6H4.9c-.3 0-.6-.3-.5-.6l1.8-6c0-.2.3-.4.5-.4h8.2c.3 0 .5.2.5.4l.7 5.4v.4Z\"\n })\n});\nexport default thumbsDown;\n//# sourceMappingURL=thumbs-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst thumbsUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m3 12 1 8h1.5l-1-8H3Zm15.8-2h-4.4l.8-3.6c.3-1.3-.7-2.4-1.9-2.4h-.2c-.6 0-1.2.3-1.6.8l-5 6.6c-.3.4-.4.8-.4 1.2v.2l.7 5.4v.2c.2.9 1 1.5 1.9 1.5h8.2c.9 0 1.7-.6 1.9-1.4l1.8-6c.4-1.3-.6-2.6-1.9-2.6Zm.5 2.1-1.8 6c0 .2-.3.4-.5.4H8.8c-.3 0-.5-.2-.5-.4l-.7-5.4v-.4l5-6.6c0-.1.2-.2.4-.2h.2c.3 0 .6.3.5.6l-.8 3.6c-.1.4 0 .9.3 1.3s.7.6 1.2.6h4.4c.3 0 .6.3.5.6Z\"\n })\n});\nexport default thumbsUp;\n//# sourceMappingURL=thumbs-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tip = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M12 15.8c-3.7 0-6.8-3-6.8-6.8s3-6.8 6.8-6.8c3.7 0 6.8 3 6.8 6.8s-3.1 6.8-6.8 6.8zm0-12C9.1 3.8 6.8 6.1 6.8 9s2.4 5.2 5.2 5.2c2.9 0 5.2-2.4 5.2-5.2S14.9 3.8 12 3.8zM8 17.5h8V19H8zM10 20.5h4V22h-4z\"\n })\n});\nexport default tip;\n//# sourceMappingURL=tip.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst title = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m4 5.5h2v6.5h1.5v-6.5h2v-1.5h-5.5zm16 10.5h-16v-1.5h16zm-7 4h-9v-1.5h9z\"\n })\n});\nexport default title;\n//# sourceMappingURL=title.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst tool = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M14.103 7.128l2.26-2.26a4 4 0 00-5.207 4.804L5.828 15a2 2 0 102.828 2.828l5.329-5.328a4 4 0 004.804-5.208l-2.261 2.26-1.912-.512-.513-1.912zm-7.214 9.64a.5.5 0 11.707-.707.5.5 0 01-.707.707z\"\n })\n});\nexport default tool;\n//# sourceMappingURL=tool.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst trash = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 5.5A2.25 2.25 0 0 0 9.878 7h4.244A2.251 2.251 0 0 0 12 5.5ZM12 4a3.751 3.751 0 0 0-3.675 3H5v1.5h1.27l.818 8.997a2.75 2.75 0 0 0 2.739 2.501h4.347a2.75 2.75 0 0 0 2.738-2.5L17.73 8.5H19V7h-3.325A3.751 3.751 0 0 0 12 4Zm4.224 4.5H7.776l.806 8.861a1.25 1.25 0 0 0 1.245 1.137h4.347a1.25 1.25 0 0 0 1.245-1.137l.805-8.861Z\"\n })\n});\nexport default trash;\n//# sourceMappingURL=trash.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst trendingDown = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M4.195 8.245a.75.75 0 011.06-.05l5.004 4.55 4.025-3.521L19 13.939V10.75h1.5v5.75h-5.75V15h3.19l-3.724-3.723-3.975 3.478-5.995-5.45a.75.75 0 01-.051-1.06z\"\n })\n});\nexport default trendingDown;\n//# sourceMappingURL=trending-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst trendingUp = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M3.445 16.505a.75.75 0 001.06.05l5.005-4.55 4.024 3.521 4.716-4.715V14h1.5V8.25H14v1.5h3.19l-3.724 3.723L9.49 9.995l-5.995 5.45a.75.75 0 00-.05 1.06z\"\n })\n});\nexport default trendingUp;\n//# sourceMappingURL=trending-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst typography = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m8.6 7 3.9 10.8h-1.7l-1-2.8H5.7l-1 2.8H3L6.9 7h1.7Zm-2.4 6.6h3L7.7 9.3l-1.5 4.3ZM17.691 8.879c.473 0 .88.055 1.221.165.352.1.643.264.875.495.274.253.456.572.544.957.088.374.132.83.132 1.37v4.554c0 .274.033.472.099.593.077.11.198.166.363.166.11 0 .215-.028.313-.083.11-.055.237-.137.38-.247l.165.28a3.304 3.304 0 0 1-.71.446c-.23.11-.527.165-.89.165-.352 0-.639-.055-.858-.165-.22-.11-.386-.27-.495-.479-.1-.209-.149-.468-.149-.775-.286.462-.627.814-1.023 1.056-.396.242-.858.363-1.386.363-.462 0-.858-.088-1.188-.264a1.752 1.752 0 0 1-.742-.726 2.201 2.201 0 0 1-.248-1.056c0-.484.11-.875.33-1.172.22-.308.5-.556.841-.742.352-.187.721-.341 1.106-.462.396-.132.765-.253 1.106-.363.351-.121.637-.259.857-.413.232-.154.347-.357.347-.61V10.81c0-.396-.066-.71-.198-.941a1.05 1.05 0 0 0-.511-.511 1.763 1.763 0 0 0-.76-.149c-.253 0-.522.039-.808.116a1.165 1.165 0 0 0-.677.412 1.1 1.1 0 0 1 .595.396c.165.187.247.424.247.71 0 .307-.104.55-.313.726-.198.176-.451.263-.76.263-.34 0-.594-.104-.758-.313a1.231 1.231 0 0 1-.248-.759c0-.297.072-.539.214-.726.154-.187.352-.363.595-.528.264-.176.6-.324 1.006-.445.418-.121.88-.182 1.386-.182Zm.99 3.729a1.57 1.57 0 0 1-.528.462c-.231.121-.479.248-.742.38a5.377 5.377 0 0 0-.76.462c-.23.165-.423.38-.577.643-.154.264-.231.6-.231 1.007 0 .429.11.77.33 1.023.22.242.517.363.891.363.308 0 .594-.088.858-.264.275-.176.528-.44.759-.792v-3.284Z\"\n })\n});\nexport default typography;\n//# sourceMappingURL=typography.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst undo = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.3 11.7c-.6-.6-1.4-.9-2.3-.9H6.7l2.9-3.3-1.1-1-4.5 5L8.5 16l1-1-2.7-2.7H16c.5 0 .9.2 1.3.5 1 1 1 3.4 1 4.5v.3h1.5v-.2c0-1.5 0-4.3-1.5-5.7z\"\n })\n});\nexport default undo;\n//# sourceMappingURL=undo.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ungroup = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18 4h-7c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 9c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7zm-5 5c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h1V9H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-1h-1.5v1z\"\n })\n});\nexport default ungroup;\n//# sourceMappingURL=ungroup.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst unlock = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17 10h-1.2V7c0-2.1-1.7-3.8-3.8-3.8-2.1 0-3.8 1.7-3.8 3.8h1.5c0-1.2 1-2.2 2.2-2.2s2.2 1 2.2 2.2v3H7c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-8c0-.6-.4-1-1-1z\"\n })\n});\nexport default unlock;\n//# sourceMappingURL=unlock.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst unseen = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20.7 12.7s0-.1-.1-.2c0-.2-.2-.4-.4-.6-.3-.5-.9-1.2-1.6-1.8-.7-.6-1.5-1.3-2.6-1.8l-.6 1.4c.9.4 1.6 1 2.1 1.5.6.6 1.1 1.2 1.4 1.6.1.2.3.4.3.5v.1l.7-.3.7-.3Zm-5.2-9.3-1.8 4c-.5-.1-1.1-.2-1.7-.2-3 0-5.2 1.4-6.6 2.7-.7.7-1.2 1.3-1.6 1.8-.2.3-.3.5-.4.6 0 0 0 .1-.1.2s0 0 .7.3l.7.3V13c0-.1.2-.3.3-.5.3-.4.7-1 1.4-1.6 1.2-1.2 3-2.3 5.5-2.3H13v.3c-.4 0-.8-.1-1.1-.1-1.9 0-3.5 1.6-3.5 3.5s.6 2.3 1.6 2.9l-2 4.4.9.4 7.6-16.2-.9-.4Zm-3 12.6c1.7-.2 3-1.7 3-3.5s-.2-1.4-.6-1.9L12.4 16Z\"\n })\n});\nexport default unseen;\n//# sourceMappingURL=unseen.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst update = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"m11.3 17.2-5-5c-.1-.1-.1-.3 0-.4l2.3-2.3-1.1-1-2.3 2.3c-.7.7-.7 1.8 0 2.5l5 5H7.5v1.5h5.3v-5.2h-1.5v2.6zm7.5-6.4-5-5h2.7V4.2h-5.2v5.2h1.5V6.8l5 5c.1.1.1.3 0 .4l-2.3 2.3 1.1 1.1 2.3-2.3c.6-.7.6-1.9-.1-2.5z\"\n })\n});\nexport default update;\n//# sourceMappingURL=update.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst upload = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.5 15v3.5H13V6.7l4.5 4.1 1-1.1-6.2-5.8-5.8 5.8 1 1.1 4-4v11.7h-6V15H4v5h16v-5z\"\n })\n});\nexport default upload;\n//# sourceMappingURL=upload.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst verse = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M17.8 2l-.9.3c-.1 0-3.6 1-5.2 2.1C10 5.5 9.3 6.5 8.9 7.1c-.6.9-1.7 4.7-1.7 6.3l-.9 2.3c-.2.4 0 .8.4 1 .1 0 .2.1.3.1.3 0 .6-.2.7-.5l.6-1.5c.3 0 .7-.1 1.2-.2.7-.1 1.4-.3 2.2-.5.8-.2 1.6-.5 2.4-.8.7-.3 1.4-.7 1.9-1.2s.8-1.2 1-1.9c.2-.7.3-1.6.4-2.4.1-.8.1-1.7.2-2.5 0-.8.1-1.5.2-2.1V2zm-1.9 5.6c-.1.8-.2 1.5-.3 2.1-.2.6-.4 1-.6 1.3-.3.3-.8.6-1.4.9-.7.3-1.4.5-2.2.8-.6.2-1.3.3-1.8.4L15 7.5c.3-.3.6-.7 1-1.1 0 .4 0 .8-.1 1.2zM6 20h8v-1.5H6V20z\"\n })\n});\nexport default verse;\n//# sourceMappingURL=verse.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst video = /*#__PURE__*/_jsx(SVG, {\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h13.4c.4 0 .8.4.8.8v13.4zM10 15l5-3-5-3v6z\"\n })\n});\nexport default video;\n//# sourceMappingURL=video.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst widget = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M6 3H8V5H16V3H18V5C19.1046 5 20 5.89543 20 7V19C20 20.1046 19.1046 21 18 21H6C4.89543 21 4 20.1046 4 19V7C4 5.89543 4.89543 5 6 5V3ZM18 6.5H6C5.72386 6.5 5.5 6.72386 5.5 7V8H18.5V7C18.5 6.72386 18.2761 6.5 18 6.5ZM18.5 9.5H5.5V19C5.5 19.2761 5.72386 19.5 6 19.5H18C18.2761 19.5 18.5 19.2761 18.5 19V9.5ZM11 11H13V13H11V11ZM7 11V13H9V11H7ZM15 13V11H17V13H15Z\"\n })\n});\nexport default widget;\n//# sourceMappingURL=widget.js.map","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst wordpress = /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"-2 -2 24 24\",\n children: /*#__PURE__*/_jsx(Path, {\n d: \"M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z\"\n })\n});\nexport default wordpress;\n//# sourceMappingURL=wordpress.js.map","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","/**\n * react-router-dom v7.1.1\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\n\n// index.ts\nimport { HydratedRouter, RouterProvider } from \"react-router/dom\";\nexport * from \"react-router\";\nexport {\n HydratedRouter,\n RouterProvider\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parse = parse;\nexports.serialize = serialize;\n/**\n * RegExp to match cookie-name in RFC 6265 sec 4.1.1\n * This refers out to the obsoleted definition of token in RFC 2616 sec 2.2\n * which has been replaced by the token definition in RFC 7230 appendix B.\n *\n * cookie-name = token\n * token = 1*tchar\n * tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" /\n * \"*\" / \"+\" / \"-\" / \".\" / \"^\" / \"_\" /\n * \"`\" / \"|\" / \"~\" / DIGIT / ALPHA\n *\n * Note: Allowing more characters - https://github.com/jshttp/cookie/issues/191\n * Allow same range as cookie value, except `=`, which delimits end of name.\n */\nconst cookieNameRegExp = /^[\\u0021-\\u003A\\u003C\\u003E-\\u007E]+$/;\n/**\n * RegExp to match cookie-value in RFC 6265 sec 4.1.1\n *\n * cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )\n * cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E\n * ; US-ASCII characters excluding CTLs,\n * ; whitespace DQUOTE, comma, semicolon,\n * ; and backslash\n *\n * Allowing more characters: https://github.com/jshttp/cookie/issues/191\n * Comma, backslash, and DQUOTE are not part of the parsing algorithm.\n */\nconst cookieValueRegExp = /^[\\u0021-\\u003A\\u003C-\\u007E]*$/;\n/**\n * RegExp to match domain-value in RFC 6265 sec 4.1.1\n *\n * domain-value = <subdomain>\n * ; defined in [RFC1034], Section 3.5, as\n * ; enhanced by [RFC1123], Section 2.1\n * <subdomain> = <label> | <subdomain> \".\" <label>\n * <label> = <let-dig> [ [ <ldh-str> ] <let-dig> ]\n * Labels must be 63 characters or less.\n * 'let-dig' not 'letter' in the first char, per RFC1123\n * <ldh-str> = <let-dig-hyp> | <let-dig-hyp> <ldh-str>\n * <let-dig-hyp> = <let-dig> | \"-\"\n * <let-dig> = <letter> | <digit>\n * <letter> = any one of the 52 alphabetic characters A through Z in\n * upper case and a through z in lower case\n * <digit> = any one of the ten digits 0 through 9\n *\n * Keep support for leading dot: https://github.com/jshttp/cookie/issues/173\n *\n * > (Note that a leading %x2E (\".\"), if present, is ignored even though that\n * character is not permitted, but a trailing %x2E (\".\"), if present, will\n * cause the user agent to ignore the attribute.)\n */\nconst domainValueRegExp = /^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i;\n/**\n * RegExp to match path-value in RFC 6265 sec 4.1.1\n *\n * path-value = <any CHAR except CTLs or \";\">\n * CHAR = %x01-7F\n * ; defined in RFC 5234 appendix B.1\n */\nconst pathValueRegExp = /^[\\u0020-\\u003A\\u003D-\\u007E]*$/;\nconst __toString = Object.prototype.toString;\nconst NullObject = /* @__PURE__ */ (() => {\n const C = function () { };\n C.prototype = Object.create(null);\n return C;\n})();\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n */\nfunction parse(str, options) {\n const obj = new NullObject();\n const len = str.length;\n // RFC 6265 sec 4.1.1, RFC 2616 2.2 defines a cookie name consists of one char minimum, plus '='.\n if (len < 2)\n return obj;\n const dec = options?.decode || decode;\n let index = 0;\n do {\n const eqIdx = str.indexOf(\"=\", index);\n if (eqIdx === -1)\n break; // No more cookie pairs.\n const colonIdx = str.indexOf(\";\", index);\n const endIdx = colonIdx === -1 ? len : colonIdx;\n if (eqIdx > endIdx) {\n // backtrack on prior semicolon\n index = str.lastIndexOf(\";\", eqIdx - 1) + 1;\n continue;\n }\n const keyStartIdx = startIndex(str, index, eqIdx);\n const keyEndIdx = endIndex(str, eqIdx, keyStartIdx);\n const key = str.slice(keyStartIdx, keyEndIdx);\n // only assign once\n if (obj[key] === undefined) {\n let valStartIdx = startIndex(str, eqIdx + 1, endIdx);\n let valEndIdx = endIndex(str, endIdx, valStartIdx);\n const value = dec(str.slice(valStartIdx, valEndIdx));\n obj[key] = value;\n }\n index = endIdx + 1;\n } while (index < len);\n return obj;\n}\nfunction startIndex(str, index, max) {\n do {\n const code = str.charCodeAt(index);\n if (code !== 0x20 /* */ && code !== 0x09 /* \\t */)\n return index;\n } while (++index < max);\n return max;\n}\nfunction endIndex(str, index, min) {\n while (index > min) {\n const code = str.charCodeAt(--index);\n if (code !== 0x20 /* */ && code !== 0x09 /* \\t */)\n return index + 1;\n }\n return min;\n}\n/**\n * Serialize data into a cookie header.\n *\n * Serialize a name value pair into a cookie string suitable for\n * http headers. An optional options object specifies cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n */\nfunction serialize(name, val, options) {\n const enc = options?.encode || encodeURIComponent;\n if (!cookieNameRegExp.test(name)) {\n throw new TypeError(`argument name is invalid: ${name}`);\n }\n const value = enc(val);\n if (!cookieValueRegExp.test(value)) {\n throw new TypeError(`argument val is invalid: ${val}`);\n }\n let str = name + \"=\" + value;\n if (!options)\n return str;\n if (options.maxAge !== undefined) {\n if (!Number.isInteger(options.maxAge)) {\n throw new TypeError(`option maxAge is invalid: ${options.maxAge}`);\n }\n str += \"; Max-Age=\" + options.maxAge;\n }\n if (options.domain) {\n if (!domainValueRegExp.test(options.domain)) {\n throw new TypeError(`option domain is invalid: ${options.domain}`);\n }\n str += \"; Domain=\" + options.domain;\n }\n if (options.path) {\n if (!pathValueRegExp.test(options.path)) {\n throw new TypeError(`option path is invalid: ${options.path}`);\n }\n str += \"; Path=\" + options.path;\n }\n if (options.expires) {\n if (!isDate(options.expires) ||\n !Number.isFinite(options.expires.valueOf())) {\n throw new TypeError(`option expires is invalid: ${options.expires}`);\n }\n str += \"; Expires=\" + options.expires.toUTCString();\n }\n if (options.httpOnly) {\n str += \"; HttpOnly\";\n }\n if (options.secure) {\n str += \"; Secure\";\n }\n if (options.partitioned) {\n str += \"; Partitioned\";\n }\n if (options.priority) {\n const priority = typeof options.priority === \"string\"\n ? options.priority.toLowerCase()\n : undefined;\n switch (priority) {\n case \"low\":\n str += \"; Priority=Low\";\n break;\n case \"medium\":\n str += \"; Priority=Medium\";\n break;\n case \"high\":\n str += \"; Priority=High\";\n break;\n default:\n throw new TypeError(`option priority is invalid: ${options.priority}`);\n }\n }\n if (options.sameSite) {\n const sameSite = typeof options.sameSite === \"string\"\n ? options.sameSite.toLowerCase()\n : options.sameSite;\n switch (sameSite) {\n case true:\n case \"strict\":\n str += \"; SameSite=Strict\";\n break;\n case \"lax\":\n str += \"; SameSite=Lax\";\n break;\n case \"none\":\n str += \"; SameSite=None\";\n break;\n default:\n throw new TypeError(`option sameSite is invalid: ${options.sameSite}`);\n }\n }\n return str;\n}\n/**\n * URL-decode string value. Optimized to skip native call when no %.\n */\nfunction decode(str) {\n if (str.indexOf(\"%\") === -1)\n return str;\n try {\n return decodeURIComponent(str);\n }\n catch (e) {\n return str;\n }\n}\n/**\n * Determine if value is a Date.\n */\nfunction isDate(val) {\n return __toString.call(val) === \"[object Date]\";\n}\n//# sourceMappingURL=index.js.map","/**\n * react-router v7.1.1\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\n\n// lib/router/history.ts\nvar Action = /* @__PURE__ */ ((Action2) => {\n Action2[\"Pop\"] = \"POP\";\n Action2[\"Push\"] = \"PUSH\";\n Action2[\"Replace\"] = \"REPLACE\";\n return Action2;\n})(Action || {});\nvar PopStateEventType = \"popstate\";\nfunction createMemoryHistory(options = {}) {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries;\n entries = initialEntries.map(\n (entry, index2) => createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index2 === 0 ? \"default\" : void 0\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = \"POP\" /* Pop */;\n let listener = null;\n function clampIndex(n) {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation() {\n return entries[index];\n }\n function createMemoryLocation(to, state = null, key) {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n function createHref2(to) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n let history = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref: createHref2,\n createURL(to) {\n return new URL(createHref2(to), \"http://localhost\");\n },\n encodeLocation(to) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\"\n };\n },\n push(to, state) {\n action = \"PUSH\" /* Push */;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 1 });\n }\n },\n replace(to, state) {\n action = \"REPLACE\" /* Replace */;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 0 });\n }\n },\n go(delta) {\n action = \"POP\" /* Pop */;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({ action, location: nextLocation, delta });\n }\n },\n listen(fn) {\n listener = fn;\n return () => {\n listener = null;\n };\n }\n };\n return history;\n}\nfunction createBrowserHistory(options = {}) {\n function createBrowserLocation(window2, globalHistory) {\n let { pathname, search, hash } = window2.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n globalHistory.state && globalHistory.state.usr || null,\n globalHistory.state && globalHistory.state.key || \"default\"\n );\n }\n function createBrowserHref(window2, to) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\nfunction createHashHistory(options = {}) {\n function createHashLocation(window2, globalHistory) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\"\n } = parsePath(window2.location.hash.substring(1));\n if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n pathname = \"/\" + pathname;\n }\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n globalHistory.state && globalHistory.state.usr || null,\n globalHistory.state && globalHistory.state.key || \"default\"\n );\n }\n function createHashHref(window2, to) {\n let base = window2.document.querySelector(\"base\");\n let href = \"\";\n if (base && base.getAttribute(\"href\")) {\n let url = window2.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n function validateHashLocation(location, to) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\nfunction invariant(value, message) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\nfunction warning(cond, message) {\n if (!cond) {\n if (typeof console !== \"undefined\") console.warn(message);\n try {\n throw new Error(message);\n } catch (e) {\n }\n }\n}\nfunction createKey() {\n return Math.random().toString(36).substring(2, 10);\n}\nfunction getHistoryState(location, index) {\n return {\n usr: location.state,\n key: location.key,\n idx: index\n };\n}\nfunction createLocation(current, to, state = null, key) {\n let location = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...typeof to === \"string\" ? parsePath(to) : to,\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: to && to.key || key || createKey()\n };\n return location;\n}\nfunction createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\"\n}) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\nfunction parsePath(path) {\n let parsedPath = {};\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substring(hashIndex);\n path = path.substring(0, hashIndex);\n }\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substring(searchIndex);\n path = path.substring(0, searchIndex);\n }\n if (path) {\n parsedPath.pathname = path;\n }\n }\n return parsedPath;\n}\nfunction getUrlBasedHistory(getLocation, createHref2, validateLocation, options = {}) {\n let { window: window2 = document.defaultView, v5Compat = false } = options;\n let globalHistory = window2.history;\n let action = \"POP\" /* Pop */;\n let listener = null;\n let index = getIndex();\n if (index == null) {\n index = 0;\n globalHistory.replaceState({ ...globalHistory.state, idx: index }, \"\");\n }\n function getIndex() {\n let state = globalHistory.state || { idx: null };\n return state.idx;\n }\n function handlePop() {\n action = \"POP\" /* Pop */;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({ action, location: history.location, delta });\n }\n }\n function push(to, state) {\n action = \"PUSH\" /* Push */;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\n window2.location.assign(url);\n }\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 1 });\n }\n }\n function replace2(to, state) {\n action = \"REPLACE\" /* Replace */;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 0 });\n }\n }\n function createURL(to) {\n let base = window2.location.origin !== \"null\" ? window2.location.origin : window2.location.href;\n let href = typeof to === \"string\" ? to : createPath(to);\n href = href.replace(/ $/, \"%20\");\n invariant(\n base,\n `No window.location.(origin|href) available to create URL for href: ${href}`\n );\n return new URL(href, base);\n }\n let history = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window2, globalHistory);\n },\n listen(fn) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window2.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n return () => {\n window2.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref2(window2, to);\n },\n createURL,\n encodeLocation(to) {\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash\n };\n },\n push,\n replace: replace2,\n go(n) {\n return globalHistory.go(n);\n }\n };\n return history;\n}\n\n// lib/router/utils.ts\nvar immutableRouteKeys = /* @__PURE__ */ new Set([\n \"lazy\",\n \"caseSensitive\",\n \"path\",\n \"id\",\n \"index\",\n \"children\"\n]);\nfunction isIndexRoute(route) {\n return route.index === true;\n}\nfunction convertRoutesToDataRoutes(routes, mapRouteProperties2, parentPath = [], manifest = {}) {\n return routes.map((route, index) => {\n let treePath = [...parentPath, String(index)];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(\n route.index !== true || !route.children,\n `Cannot specify children on an index route`\n );\n invariant(\n !manifest[id],\n `Found a route id collision on id \"${id}\". Route id's must be globally unique within Data Router usages`\n );\n if (isIndexRoute(route)) {\n let indexRoute = {\n ...route,\n ...mapRouteProperties2(route),\n id\n };\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute = {\n ...route,\n ...mapRouteProperties2(route),\n id,\n children: void 0\n };\n manifest[id] = pathOrLayoutRoute;\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(\n route.children,\n mapRouteProperties2,\n treePath,\n manifest\n );\n }\n return pathOrLayoutRoute;\n }\n });\n}\nfunction matchRoutes(routes, locationArg, basename = \"/\") {\n return matchRoutesImpl(routes, locationArg, basename, false);\n}\nfunction matchRoutesImpl(routes, locationArg, basename, allowPartial) {\n let location = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n let pathname = stripBasename(location.pathname || \"/\", basename);\n if (pathname == null) {\n return null;\n }\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n let decoded = decodePath(pathname);\n matches = matchRouteBranch(\n branches[i],\n decoded,\n allowPartial\n );\n }\n return matches;\n}\nfunction convertRouteMatchToUiMatch(match, loaderData) {\n let { route, pathname, params } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id],\n handle: route.handle\n };\n}\nfunction flattenRoutes(routes, branches = [], parentsMeta = [], parentPath = \"\") {\n let flattenRoute = (route, index, relativePath) => {\n let meta = {\n relativePath: relativePath === void 0 ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route\n };\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path \"${parentPath}\" is not valid. An absolute child route path must start with the combined path of all its parent routes.`\n );\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true,\n `Index routes must not have child routes. Please remove all child routes from route path \"${path}\".`\n );\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n if (route.path == null && !route.index) {\n return;\n }\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta\n });\n };\n routes.forEach((route, index) => {\n if (route.path === \"\" || !route.path?.includes(\"?\")) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n return branches;\n}\nfunction explodeOptionalSegments(path) {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n let [first, ...rest] = segments;\n let isOptional = first.endsWith(\"?\");\n let required = first.replace(/\\?$/, \"\");\n if (rest.length === 0) {\n return isOptional ? [required, \"\"] : [required];\n }\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n let result = [];\n result.push(\n ...restExploded.map(\n (subpath) => subpath === \"\" ? required : [required, subpath].join(\"/\")\n )\n );\n if (isOptional) {\n result.push(...restExploded);\n }\n return result.map(\n (exploded) => path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded\n );\n}\nfunction rankRouteBranches(branches) {\n branches.sort(\n (a, b) => a.score !== b.score ? b.score - a.score : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\nvar paramRe = /^:[\\w-]+$/;\nvar dynamicSegmentValue = 3;\nvar indexRouteValue = 2;\nvar emptySegmentValue = 1;\nvar staticSegmentValue = 10;\nvar splatPenalty = -2;\nvar isSplat = (s) => s === \"*\";\nfunction computeScore(path, index) {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n if (index) {\n initialScore += indexRouteValue;\n }\n return segments.filter((s) => !isSplat(s)).reduce(\n (score, segment) => score + (paramRe.test(segment) ? dynamicSegmentValue : segment === \"\" ? emptySegmentValue : staticSegmentValue),\n initialScore\n );\n}\nfunction compareIndexes(a, b) {\n let siblings = a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n return siblings ? (\n // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n ) : (\n // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0\n );\n}\nfunction matchRouteBranch(branch, pathname, allowPartial = false) {\n let { routesMeta } = branch;\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname = matchedPathname === \"/\" ? pathname : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n let route = meta.route;\n if (!match && end && allowPartial && !routesMeta[routesMeta.length - 1].route.index) {\n match = matchPath(\n {\n path: meta.relativePath,\n caseSensitive: meta.caseSensitive,\n end: false\n },\n remainingPathname\n );\n }\n if (!match) {\n return null;\n }\n Object.assign(matchedParams, match.params);\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route\n });\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n return matches;\n}\nfunction generatePath(originalPath, params = {}) {\n let path = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(\n false,\n `Route path \"${path}\" will be treated as if it were \"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must always follow a \\`/\\` in the pattern. To get rid of this warning, please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n path = path.replace(/\\*$/, \"/*\");\n }\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n const stringify = (p) => p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n const segments = path.split(/\\/+/).map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n if (isLastSegment && segment === \"*\") {\n const star = \"*\";\n return stringify(params[star]);\n }\n const keyMatch = segment.match(/^:([\\w-]+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key];\n invariant(optional === \"?\" || param != null, `Missing \":${key}\" param`);\n return stringify(param);\n }\n return segment.replace(/\\?$/g, \"\");\n }).filter((segment) => !!segment);\n return prefix + segments.join(\"/\");\n}\nfunction matchPath(pattern, pathname) {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n let [matcher, compiledParams] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n let match = pathname.match(matcher);\n if (!match) return null;\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params = compiledParams.reduce(\n (memo2, { paramName, isOptional }, index) => {\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\\/+$/, \"$1\");\n }\n const value = captureGroups[index];\n if (isOptional && !value) {\n memo2[paramName] = void 0;\n } else {\n memo2[paramName] = (value || \"\").replace(/%2F/g, \"/\");\n }\n return memo2;\n },\n {}\n );\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern\n };\n}\nfunction compilePath(path, caseSensitive = false, end = true) {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were \"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must always follow a \\`/\\` in the pattern. To get rid of this warning, please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n let params = [];\n let regexpSource = \"^\" + path.replace(/\\/*\\*?$/, \"\").replace(/^\\/*/, \"/\").replace(/[\\\\.*+^${}|()[\\]]/g, \"\\\\$&\").replace(\n /\\/:([\\w-]+)(\\?)?/g,\n (_, paramName, isOptional) => {\n params.push({ paramName, isOptional: isOptional != null });\n return isOptional ? \"/?([^\\\\/]+)?\" : \"/([^\\\\/]+)\";\n }\n );\n if (path.endsWith(\"*\")) {\n params.push({ paramName: \"*\" });\n regexpSource += path === \"*\" || path === \"/*\" ? \"(.*)$\" : \"(?:\\\\/(.+)|\\\\/*)$\";\n } else if (end) {\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else {\n }\n let matcher = new RegExp(regexpSource, caseSensitive ? void 0 : \"i\");\n return [matcher, params];\n}\nfunction decodePath(value) {\n try {\n return value.split(\"/\").map((v) => decodeURIComponent(v).replace(/\\//g, \"%2F\")).join(\"/\");\n } catch (error) {\n warning(\n false,\n `The URL path \"${value}\" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding (${error}).`\n );\n return value;\n }\n}\nfunction stripBasename(pathname, basename) {\n if (basename === \"/\") return pathname;\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n let startIndex = basename.endsWith(\"/\") ? basename.length - 1 : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n return null;\n }\n return pathname.slice(startIndex) || \"/\";\n}\nfunction resolvePath(to, fromPathname = \"/\") {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\"\n } = typeof to === \"string\" ? parsePath(to) : to;\n let pathname = toPathname ? toPathname.startsWith(\"/\") ? toPathname : resolvePathname(toPathname, fromPathname) : fromPathname;\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash)\n };\n}\nfunction resolvePathname(relativePath, fromPathname) {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\nfunction getInvalidPathError(char, field, dest, path) {\n return `Cannot include a '${char}' character in a manually specified \\`to.${field}\\` field [${JSON.stringify(\n path\n )}]. Please separate it out to the \\`to.${dest}\\` field. Alternatively you may provide the full path as a string in <Link to=\"...\"> and the router will parse it for you.`;\n}\nfunction getPathContributingMatches(matches) {\n return matches.filter(\n (match, index) => index === 0 || match.route.path && match.route.path.length > 0\n );\n}\nfunction getResolveToMatches(matches) {\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches.map(\n (match, idx) => idx === pathMatches.length - 1 ? match.pathname : match.pathnameBase\n );\n}\nfunction resolveTo(toArg, routePathnames, locationPathname, isPathRelative = false) {\n let to;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = { ...toArg };\n invariant(\n !to.pathname || !to.pathname.includes(\"?\"),\n getInvalidPathError(\"?\", \"pathname\", \"search\", to)\n );\n invariant(\n !to.pathname || !to.pathname.includes(\"#\"),\n getInvalidPathError(\"#\", \"pathname\", \"hash\", to)\n );\n invariant(\n !to.search || !to.search.includes(\"#\"),\n getInvalidPathError(\"#\", \"search\", \"hash\", to)\n );\n }\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n let from;\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n if (!isPathRelative && toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n to.pathname = toSegments.join(\"/\");\n }\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n let path = resolvePath(to, from);\n let hasExplicitTrailingSlash = toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n let hasCurrentTrailingSlash = (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (!path.pathname.endsWith(\"/\") && (hasExplicitTrailingSlash || hasCurrentTrailingSlash)) {\n path.pathname += \"/\";\n }\n return path;\n}\nvar joinPaths = (paths) => paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\nvar normalizePathname = (pathname) => pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\nvar normalizeSearch = (search) => !search || search === \"?\" ? \"\" : search.startsWith(\"?\") ? search : \"?\" + search;\nvar normalizeHash = (hash) => !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\nvar DataWithResponseInit = class {\n constructor(data2, init) {\n this.type = \"DataWithResponseInit\";\n this.data = data2;\n this.init = init || null;\n }\n};\nfunction data(data2, init) {\n return new DataWithResponseInit(\n data2,\n typeof init === \"number\" ? { status: init } : init\n );\n}\nvar redirect = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = { status: responseInit };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n return new Response(null, {\n ...responseInit,\n headers\n });\n};\nvar redirectDocument = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n return response;\n};\nvar replace = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Replace\", \"true\");\n return response;\n};\nvar ErrorResponseImpl = class {\n constructor(status, statusText, data2, internal = false) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data2 instanceof Error) {\n this.data = data2.toString();\n this.error = data2;\n } else {\n this.data = data2;\n }\n }\n};\nfunction isRouteErrorResponse(error) {\n return error != null && typeof error.status === \"number\" && typeof error.statusText === \"string\" && typeof error.internal === \"boolean\" && \"data\" in error;\n}\n\n// lib/router/router.ts\nvar validMutationMethodsArr = [\n \"POST\",\n \"PUT\",\n \"PATCH\",\n \"DELETE\"\n];\nvar validMutationMethods = new Set(\n validMutationMethodsArr\n);\nvar validRequestMethodsArr = [\n \"GET\",\n ...validMutationMethodsArr\n];\nvar validRequestMethods = new Set(validRequestMethodsArr);\nvar redirectStatusCodes = /* @__PURE__ */ new Set([301, 302, 303, 307, 308]);\nvar redirectPreserveMethodStatusCodes = /* @__PURE__ */ new Set([307, 308]);\nvar IDLE_NAVIGATION = {\n state: \"idle\",\n location: void 0,\n formMethod: void 0,\n formAction: void 0,\n formEncType: void 0,\n formData: void 0,\n json: void 0,\n text: void 0\n};\nvar IDLE_FETCHER = {\n state: \"idle\",\n data: void 0,\n formMethod: void 0,\n formAction: void 0,\n formEncType: void 0,\n formData: void 0,\n json: void 0,\n text: void 0\n};\nvar IDLE_BLOCKER = {\n state: \"unblocked\",\n proceed: void 0,\n reset: void 0,\n location: void 0\n};\nvar ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\nvar defaultMapRouteProperties = (route) => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary)\n});\nvar TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\nvar ResetLoaderDataSymbol = Symbol(\"ResetLoaderData\");\nfunction createRouter(init) {\n const routerWindow = init.window ? init.window : typeof window !== \"undefined\" ? window : void 0;\n const isBrowser2 = typeof routerWindow !== \"undefined\" && typeof routerWindow.document !== \"undefined\" && typeof routerWindow.document.createElement !== \"undefined\";\n invariant(\n init.routes.length > 0,\n \"You must provide a non-empty routes array to createRouter\"\n );\n let mapRouteProperties2 = init.mapRouteProperties || defaultMapRouteProperties;\n let manifest = {};\n let dataRoutes = convertRoutesToDataRoutes(\n init.routes,\n mapRouteProperties2,\n void 0,\n manifest\n );\n let inFlightDataRoutes;\n let basename = init.basename || \"/\";\n let dataStrategyImpl = init.dataStrategy || defaultDataStrategy;\n let patchRoutesOnNavigationImpl = init.patchRoutesOnNavigation;\n let future = {\n ...init.future\n };\n let unlistenHistory = null;\n let subscribers = /* @__PURE__ */ new Set();\n let savedScrollPositions2 = null;\n let getScrollRestorationKey2 = null;\n let getScrollPosition = null;\n let initialScrollRestored = init.hydrationData != null;\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialErrors = null;\n if (initialMatches == null && !patchRoutesOnNavigationImpl) {\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname\n });\n let { matches, route } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = { [route.id]: error };\n }\n if (initialMatches && !init.hydrationData) {\n let fogOfWar = checkFogOfWar(\n initialMatches,\n dataRoutes,\n init.history.location.pathname\n );\n if (fogOfWar.active) {\n initialMatches = null;\n }\n }\n let initialized;\n if (!initialMatches) {\n initialized = false;\n initialMatches = [];\n let fogOfWar = checkFogOfWar(\n null,\n dataRoutes,\n init.history.location.pathname\n );\n if (fogOfWar.active && fogOfWar.matches) {\n initialMatches = fogOfWar.matches;\n }\n } else if (initialMatches.some((m) => m.route.lazy)) {\n initialized = false;\n } else if (!initialMatches.some((m) => m.route.loader)) {\n initialized = true;\n } else {\n let loaderData = init.hydrationData ? init.hydrationData.loaderData : null;\n let errors = init.hydrationData ? init.hydrationData.errors : null;\n if (errors) {\n let idx = initialMatches.findIndex(\n (m) => errors[m.route.id] !== void 0\n );\n initialized = initialMatches.slice(0, idx + 1).every((m) => !shouldLoadRouteOnHydration(m.route, loaderData, errors));\n } else {\n initialized = initialMatches.every(\n (m) => !shouldLoadRouteOnHydration(m.route, loaderData, errors)\n );\n }\n }\n let router;\n let state = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: init.hydrationData && init.hydrationData.loaderData || {},\n actionData: init.hydrationData && init.hydrationData.actionData || null,\n errors: init.hydrationData && init.hydrationData.errors || initialErrors,\n fetchers: /* @__PURE__ */ new Map(),\n blockers: /* @__PURE__ */ new Map()\n };\n let pendingAction = \"POP\" /* Pop */;\n let pendingPreventScrollReset = false;\n let pendingNavigationController;\n let pendingViewTransitionEnabled = false;\n let appliedViewTransitions = /* @__PURE__ */ new Map();\n let removePageHideEventListener = null;\n let isUninterruptedRevalidation = false;\n let isRevalidationRequired = false;\n let cancelledFetcherLoads = /* @__PURE__ */ new Set();\n let fetchControllers = /* @__PURE__ */ new Map();\n let incrementingLoadId = 0;\n let pendingNavigationLoadId = -1;\n let fetchReloadIds = /* @__PURE__ */ new Map();\n let fetchRedirectIds = /* @__PURE__ */ new Set();\n let fetchLoadMatches = /* @__PURE__ */ new Map();\n let activeFetchers = /* @__PURE__ */ new Map();\n let fetchersQueuedForDeletion = /* @__PURE__ */ new Set();\n let blockerFunctions = /* @__PURE__ */ new Map();\n let unblockBlockerHistoryUpdate = void 0;\n let pendingRevalidationDfd = null;\n function initialize() {\n unlistenHistory = init.history.listen(\n ({ action: historyAction, location, delta }) => {\n if (unblockBlockerHistoryUpdate) {\n unblockBlockerHistoryUpdate();\n unblockBlockerHistoryUpdate = void 0;\n return;\n }\n warning(\n blockerFunctions.size === 0 || delta != null,\n \"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.\"\n );\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction\n });\n if (blockerKey && delta != null) {\n let nextHistoryUpdatePromise = new Promise((resolve) => {\n unblockBlockerHistoryUpdate = resolve;\n });\n init.history.go(delta * -1);\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey, {\n state: \"proceeding\",\n proceed: void 0,\n reset: void 0,\n location\n });\n nextHistoryUpdatePromise.then(() => init.history.go(delta));\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey, IDLE_BLOCKER);\n updateState({ blockers });\n }\n });\n return;\n }\n return startNavigation(historyAction, location);\n }\n );\n if (isBrowser2) {\n restoreAppliedTransitions(routerWindow, appliedViewTransitions);\n let _saveAppliedTransitions = () => persistAppliedTransitions(routerWindow, appliedViewTransitions);\n routerWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n removePageHideEventListener = () => routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\n }\n if (!state.initialized) {\n startNavigation(\"POP\" /* Pop */, state.location, {\n initialHydration: true\n });\n }\n return router;\n }\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n if (removePageHideEventListener) {\n removePageHideEventListener();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n function subscribe(fn) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n function updateState(newState, opts = {}) {\n state = {\n ...state,\n ...newState\n };\n let unmountedFetchers = [];\n let mountedFetchers = [];\n state.fetchers.forEach((fetcher, key) => {\n if (fetcher.state === \"idle\") {\n if (fetchersQueuedForDeletion.has(key)) {\n unmountedFetchers.push(key);\n } else {\n mountedFetchers.push(key);\n }\n }\n });\n [...subscribers].forEach(\n (subscriber) => subscriber(state, {\n deletedFetchers: unmountedFetchers,\n viewTransitionOpts: opts.viewTransitionOpts,\n flushSync: opts.flushSync === true\n })\n );\n unmountedFetchers.forEach((key) => deleteFetcher(key));\n mountedFetchers.forEach((key) => state.fetchers.delete(key));\n }\n function completeNavigation(location, newState, { flushSync } = {}) {\n let isActionReload = state.actionData != null && state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && state.navigation.state === \"loading\" && location.state?._isRedirect !== true;\n let actionData;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n actionData = null;\n }\n } else if (isActionReload) {\n actionData = state.actionData;\n } else {\n actionData = null;\n }\n let loaderData = newState.loaderData ? mergeLoaderData(\n state.loaderData,\n newState.loaderData,\n newState.matches || [],\n newState.errors\n ) : state.loaderData;\n let blockers = state.blockers;\n if (blockers.size > 0) {\n blockers = new Map(blockers);\n blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n }\n let preventScrollReset = pendingPreventScrollReset === true || state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && location.state?._isRedirect !== true;\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = void 0;\n }\n if (isUninterruptedRevalidation) {\n } else if (pendingAction === \"POP\" /* Pop */) {\n } else if (pendingAction === \"PUSH\" /* Push */) {\n init.history.push(location, location.state);\n } else if (pendingAction === \"REPLACE\" /* Replace */) {\n init.history.replace(location, location.state);\n }\n let viewTransitionOpts;\n if (pendingAction === \"POP\" /* Pop */) {\n let priorPaths = appliedViewTransitions.get(state.location.pathname);\n if (priorPaths && priorPaths.has(location.pathname)) {\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location\n };\n } else if (appliedViewTransitions.has(location.pathname)) {\n viewTransitionOpts = {\n currentLocation: location,\n nextLocation: state.location\n };\n }\n } else if (pendingViewTransitionEnabled) {\n let toPaths = appliedViewTransitions.get(state.location.pathname);\n if (toPaths) {\n toPaths.add(location.pathname);\n } else {\n toPaths = /* @__PURE__ */ new Set([location.pathname]);\n appliedViewTransitions.set(state.location.pathname, toPaths);\n }\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location\n };\n }\n updateState(\n {\n ...newState,\n // matches, errors, fetchers go through as-is\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(\n location,\n newState.matches || state.matches\n ),\n preventScrollReset,\n blockers\n },\n {\n viewTransitionOpts,\n flushSync: flushSync === true\n }\n );\n pendingAction = \"POP\" /* Pop */;\n pendingPreventScrollReset = false;\n pendingViewTransitionEnabled = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n pendingRevalidationDfd?.resolve();\n pendingRevalidationDfd = null;\n }\n async function navigate(to, opts) {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n to,\n opts?.fromRouteId,\n opts?.relative\n );\n let { path, submission, error } = normalizeNavigateOptions(\n false,\n normalizedPath,\n opts\n );\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n nextLocation = {\n ...nextLocation,\n ...init.history.encodeLocation(nextLocation)\n };\n let userReplace = opts && opts.replace != null ? opts.replace : void 0;\n let historyAction = \"PUSH\" /* Push */;\n if (userReplace === true) {\n historyAction = \"REPLACE\" /* Replace */;\n } else if (userReplace === false) {\n } else if (submission != null && isMutationMethod(submission.formMethod) && submission.formAction === state.location.pathname + state.location.search) {\n historyAction = \"REPLACE\" /* Replace */;\n }\n let preventScrollReset = opts && \"preventScrollReset\" in opts ? opts.preventScrollReset === true : void 0;\n let flushSync = (opts && opts.flushSync) === true;\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction\n });\n if (blockerKey) {\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey, {\n state: \"proceeding\",\n proceed: void 0,\n reset: void 0,\n location: nextLocation\n });\n navigate(to, opts);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey, IDLE_BLOCKER);\n updateState({ blockers });\n }\n });\n return;\n }\n await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n enableViewTransition: opts && opts.viewTransition,\n flushSync\n });\n }\n function revalidate() {\n if (!pendingRevalidationDfd) {\n pendingRevalidationDfd = createDeferred();\n }\n interruptActiveLoads();\n updateState({ revalidation: \"loading\" });\n let promise = pendingRevalidationDfd.promise;\n if (state.navigation.state === \"submitting\") {\n return promise;\n }\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true\n });\n return promise;\n }\n startNavigation(\n pendingAction || state.historyAction,\n state.navigation.location,\n {\n overrideNavigation: state.navigation,\n // Proxy through any rending view transition\n enableViewTransition: pendingViewTransitionEnabled === true\n }\n );\n return promise;\n }\n async function startNavigation(historyAction, location, opts) {\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation = (opts && opts.startUninterruptedRevalidation) === true;\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n pendingViewTransitionEnabled = (opts && opts.enableViewTransition) === true;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, basename);\n let flushSync = (opts && opts.flushSync) === true;\n let fogOfWar = checkFogOfWar(matches, routesToUse, location.pathname);\n if (fogOfWar.active && fogOfWar.matches) {\n matches = fogOfWar.matches;\n }\n if (!matches) {\n let { error, notFoundMatches, route } = handleNavigational404(\n location.pathname\n );\n completeNavigation(\n location,\n {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error\n }\n },\n { flushSync }\n );\n return;\n }\n if (state.initialized && !isRevalidationRequired && isHashChangeOnly(state.location, location) && !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))) {\n completeNavigation(location, { matches }, { flushSync });\n return;\n }\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(\n init.history,\n location,\n pendingNavigationController.signal,\n opts && opts.submission\n );\n let pendingActionResult;\n if (opts && opts.pendingError) {\n pendingActionResult = [\n findNearestBoundary(matches).route.id,\n { type: \"error\" /* error */, error: opts.pendingError }\n ];\n } else if (opts && opts.submission && isMutationMethod(opts.submission.formMethod)) {\n let actionResult = await handleAction(\n request,\n location,\n opts.submission,\n matches,\n fogOfWar.active,\n { replace: opts.replace, flushSync }\n );\n if (actionResult.shortCircuited) {\n return;\n }\n if (actionResult.pendingActionResult) {\n let [routeId, result] = actionResult.pendingActionResult;\n if (isErrorResult(result) && isRouteErrorResponse(result.error) && result.error.status === 404) {\n pendingNavigationController = null;\n completeNavigation(location, {\n matches: actionResult.matches,\n loaderData: {},\n errors: {\n [routeId]: result.error\n }\n });\n return;\n }\n }\n matches = actionResult.matches || matches;\n pendingActionResult = actionResult.pendingActionResult;\n loadingNavigation = getLoadingNavigation(location, opts.submission);\n flushSync = false;\n fogOfWar.active = false;\n request = createClientSideRequest(\n init.history,\n request.url,\n request.signal\n );\n }\n let {\n shortCircuited,\n matches: updatedMatches,\n loaderData,\n errors\n } = await handleLoaders(\n request,\n location,\n matches,\n fogOfWar.active,\n loadingNavigation,\n opts && opts.submission,\n opts && opts.fetcherSubmission,\n opts && opts.replace,\n opts && opts.initialHydration === true,\n flushSync,\n pendingActionResult\n );\n if (shortCircuited) {\n return;\n }\n pendingNavigationController = null;\n completeNavigation(location, {\n matches: updatedMatches || matches,\n ...getActionDataForCommit(pendingActionResult),\n loaderData,\n errors\n });\n }\n async function handleAction(request, location, submission, matches, isFogOfWar, opts = {}) {\n interruptActiveLoads();\n let navigation = getSubmittingNavigation(location, submission);\n updateState({ navigation }, { flushSync: opts.flushSync === true });\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n matches,\n location.pathname,\n request.signal\n );\n if (discoverResult.type === \"aborted\") {\n return { shortCircuited: true };\n } else if (discoverResult.type === \"error\") {\n let boundaryId = findNearestBoundary(discoverResult.partialMatches).route.id;\n return {\n matches: discoverResult.partialMatches,\n pendingActionResult: [\n boundaryId,\n {\n type: \"error\" /* error */,\n error: discoverResult.error\n }\n ]\n };\n } else if (!discoverResult.matches) {\n let { notFoundMatches, error, route } = handleNavigational404(\n location.pathname\n );\n return {\n matches: notFoundMatches,\n pendingActionResult: [\n route.id,\n {\n type: \"error\" /* error */,\n error\n }\n ]\n };\n } else {\n matches = discoverResult.matches;\n }\n }\n let result;\n let actionMatch = getTargetMatch(matches, location);\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: \"error\" /* error */,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id\n })\n };\n } else {\n let results = await callDataStrategy(\n \"action\",\n state,\n request,\n [actionMatch],\n matches,\n null\n );\n result = results[actionMatch.route.id];\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n }\n if (isRedirectResult(result)) {\n let replace2;\n if (opts && opts.replace != null) {\n replace2 = opts.replace;\n } else {\n let location2 = normalizeRedirectLocation(\n result.response.headers.get(\"Location\"),\n new URL(request.url),\n basename\n );\n replace2 = location2 === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(request, result, true, {\n submission,\n replace: replace2\n });\n return { shortCircuited: true };\n }\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n if ((opts && opts.replace) !== true) {\n pendingAction = \"PUSH\" /* Push */;\n }\n return {\n matches,\n pendingActionResult: [boundaryMatch.route.id, result]\n };\n }\n return {\n matches,\n pendingActionResult: [actionMatch.route.id, result]\n };\n }\n async function handleLoaders(request, location, matches, isFogOfWar, overrideNavigation, submission, fetcherSubmission, replace2, initialHydration, flushSync, pendingActionResult) {\n let loadingNavigation = overrideNavigation || getLoadingNavigation(location, submission);\n let activeSubmission = submission || fetcherSubmission || getSubmissionFromNavigation(loadingNavigation);\n let shouldUpdateNavigationState = !isUninterruptedRevalidation && !initialHydration;\n if (isFogOfWar) {\n if (shouldUpdateNavigationState) {\n let actionData = getUpdatedActionData(pendingActionResult);\n updateState(\n {\n navigation: loadingNavigation,\n ...actionData !== void 0 ? { actionData } : {}\n },\n {\n flushSync\n }\n );\n }\n let discoverResult = await discoverRoutes(\n matches,\n location.pathname,\n request.signal\n );\n if (discoverResult.type === \"aborted\") {\n return { shortCircuited: true };\n } else if (discoverResult.type === \"error\") {\n let boundaryId = findNearestBoundary(discoverResult.partialMatches).route.id;\n return {\n matches: discoverResult.partialMatches,\n loaderData: {},\n errors: {\n [boundaryId]: discoverResult.error\n }\n };\n } else if (!discoverResult.matches) {\n let { error, notFoundMatches, route } = handleNavigational404(\n location.pathname\n );\n return {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error\n }\n };\n } else {\n matches = discoverResult.matches;\n }\n }\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n activeSubmission,\n location,\n initialHydration === true,\n isRevalidationRequired,\n cancelledFetcherLoads,\n fetchersQueuedForDeletion,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n pendingActionResult\n );\n pendingNavigationLoadId = ++incrementingLoadId;\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers2 = markFetchRedirectsDone();\n completeNavigation(\n location,\n {\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors: pendingActionResult && isErrorResult(pendingActionResult[1]) ? { [pendingActionResult[0]]: pendingActionResult[1].error } : null,\n ...getActionDataForCommit(pendingActionResult),\n ...updatedFetchers2 ? { fetchers: new Map(state.fetchers) } : {}\n },\n { flushSync }\n );\n return { shortCircuited: true };\n }\n if (shouldUpdateNavigationState) {\n let updates = {};\n if (!isFogOfWar) {\n updates.navigation = loadingNavigation;\n let actionData = getUpdatedActionData(pendingActionResult);\n if (actionData !== void 0) {\n updates.actionData = actionData;\n }\n }\n if (revalidatingFetchers.length > 0) {\n updates.fetchers = getUpdatedRevalidatingFetchers(revalidatingFetchers);\n }\n updateState(updates, { flushSync });\n }\n revalidatingFetchers.forEach((rf) => {\n abortFetcher(rf.key);\n if (rf.controller) {\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach((f) => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n let { loaderResults, fetcherResults } = await callLoadersAndMaybeResolveData(\n state,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n request\n );\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n revalidatingFetchers.forEach((rf) => fetchControllers.delete(rf.key));\n let redirect2 = findRedirect(loaderResults);\n if (redirect2) {\n await startRedirectNavigation(request, redirect2.result, true, {\n replace: replace2\n });\n return { shortCircuited: true };\n }\n redirect2 = findRedirect(fetcherResults);\n if (redirect2) {\n fetchRedirectIds.add(redirect2.key);\n await startRedirectNavigation(request, redirect2.result, true, {\n replace: replace2\n });\n return { shortCircuited: true };\n }\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n loaderResults,\n pendingActionResult,\n revalidatingFetchers,\n fetcherResults\n );\n if (initialHydration && state.errors) {\n errors = { ...state.errors, ...errors };\n }\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers = updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n return {\n matches,\n loaderData,\n errors,\n ...shouldUpdateFetchers ? { fetchers: new Map(state.fetchers) } : {}\n };\n }\n function getUpdatedActionData(pendingActionResult) {\n if (pendingActionResult && !isErrorResult(pendingActionResult[1])) {\n return {\n [pendingActionResult[0]]: pendingActionResult[1].data\n };\n } else if (state.actionData) {\n if (Object.keys(state.actionData).length === 0) {\n return null;\n } else {\n return state.actionData;\n }\n }\n }\n function getUpdatedRevalidatingFetchers(revalidatingFetchers) {\n revalidatingFetchers.forEach((rf) => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher = getLoadingFetcher(\n void 0,\n fetcher ? fetcher.data : void 0\n );\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n return new Map(state.fetchers);\n }\n async function fetch2(key, routeId, href, opts) {\n abortFetcher(key);\n let flushSync = (opts && opts.flushSync) === true;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n href,\n routeId,\n opts?.relative\n );\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n let fogOfWar = checkFogOfWar(matches, routesToUse, normalizedPath);\n if (fogOfWar.active && fogOfWar.matches) {\n matches = fogOfWar.matches;\n }\n if (!matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: normalizedPath }),\n { flushSync }\n );\n return;\n }\n let { path, submission, error } = normalizeNavigateOptions(\n true,\n normalizedPath,\n opts\n );\n if (error) {\n setFetcherError(key, routeId, error, { flushSync });\n return;\n }\n let match = getTargetMatch(matches, path);\n let preventScrollReset = (opts && opts.preventScrollReset) === true;\n if (submission && isMutationMethod(submission.formMethod)) {\n await handleFetcherAction(\n key,\n routeId,\n path,\n match,\n matches,\n fogOfWar.active,\n flushSync,\n preventScrollReset,\n submission\n );\n return;\n }\n fetchLoadMatches.set(key, { routeId, path });\n await handleFetcherLoader(\n key,\n routeId,\n path,\n match,\n matches,\n fogOfWar.active,\n flushSync,\n preventScrollReset,\n submission\n );\n }\n async function handleFetcherAction(key, routeId, path, match, requestMatches, isFogOfWar, flushSync, preventScrollReset, submission) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n function detectAndHandle405Error(m) {\n if (!m.route.action && !m.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId\n });\n setFetcherError(key, routeId, error, { flushSync });\n return true;\n }\n return false;\n }\n if (!isFogOfWar && detectAndHandle405Error(match)) {\n return;\n }\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(key, getSubmittingFetcher(submission, existingFetcher), {\n flushSync\n });\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal,\n submission\n );\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n requestMatches,\n path,\n fetchRequest.signal\n );\n if (discoverResult.type === \"aborted\") {\n return;\n } else if (discoverResult.type === \"error\") {\n setFetcherError(key, routeId, discoverResult.error, { flushSync });\n return;\n } else if (!discoverResult.matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: path }),\n { flushSync }\n );\n return;\n } else {\n requestMatches = discoverResult.matches;\n match = getTargetMatch(requestMatches, path);\n if (detectAndHandle405Error(match)) {\n return;\n }\n }\n }\n fetchControllers.set(key, abortController);\n let originatingLoadId = incrementingLoadId;\n let actionResults = await callDataStrategy(\n \"action\",\n state,\n fetchRequest,\n [match],\n requestMatches,\n key\n );\n let actionResult = actionResults[match.route.id];\n if (fetchRequest.signal.aborted) {\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n if (fetchersQueuedForDeletion.has(key)) {\n if (isRedirectResult(actionResult) || isErrorResult(actionResult)) {\n updateFetcherState(key, getDoneFetcher(void 0));\n return;\n }\n } else {\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n if (pendingNavigationLoadId > originatingLoadId) {\n updateFetcherState(key, getDoneFetcher(void 0));\n return;\n } else {\n fetchRedirectIds.add(key);\n updateFetcherState(key, getLoadingFetcher(submission));\n return startRedirectNavigation(fetchRequest, actionResult, false, {\n fetcherSubmission: submission,\n preventScrollReset\n });\n }\n }\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n }\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(\n init.history,\n nextLocation,\n abortController.signal\n );\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches = state.navigation.state !== \"idle\" ? matchRoutes(routesToUse, state.navigation.location, basename) : state.matches;\n invariant(matches, \"Didn't find any matches after fetcher action\");\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n state.fetchers.set(key, loadFetcher);\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n submission,\n nextLocation,\n false,\n isRevalidationRequired,\n cancelledFetcherLoads,\n fetchersQueuedForDeletion,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n [match.route.id, actionResult]\n );\n revalidatingFetchers.filter((rf) => rf.key !== key).forEach((rf) => {\n let staleKey = rf.key;\n let existingFetcher2 = state.fetchers.get(staleKey);\n let revalidatingFetcher = getLoadingFetcher(\n void 0,\n existingFetcher2 ? existingFetcher2.data : void 0\n );\n state.fetchers.set(staleKey, revalidatingFetcher);\n abortFetcher(staleKey);\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n updateState({ fetchers: new Map(state.fetchers) });\n let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach((rf) => abortFetcher(rf.key));\n abortController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n let { loaderResults, fetcherResults } = await callLoadersAndMaybeResolveData(\n state,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n revalidationRequest\n );\n if (abortController.signal.aborted) {\n return;\n }\n abortController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach((r) => fetchControllers.delete(r.key));\n let redirect2 = findRedirect(loaderResults);\n if (redirect2) {\n return startRedirectNavigation(\n revalidationRequest,\n redirect2.result,\n false,\n { preventScrollReset }\n );\n }\n redirect2 = findRedirect(fetcherResults);\n if (redirect2) {\n fetchRedirectIds.add(redirect2.key);\n return startRedirectNavigation(\n revalidationRequest,\n redirect2.result,\n false,\n { preventScrollReset }\n );\n }\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n loaderResults,\n void 0,\n revalidatingFetchers,\n fetcherResults\n );\n if (state.fetchers.has(key)) {\n let doneFetcher = getDoneFetcher(actionResult.data);\n state.fetchers.set(key, doneFetcher);\n }\n abortStaleFetchLoads(loadId);\n if (state.navigation.state === \"loading\" && loadId > pendingNavigationLoadId) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers)\n });\n } else {\n updateState({\n errors,\n loaderData: mergeLoaderData(\n state.loaderData,\n loaderData,\n matches,\n errors\n ),\n fetchers: new Map(state.fetchers)\n });\n isRevalidationRequired = false;\n }\n }\n async function handleFetcherLoader(key, routeId, path, match, matches, isFogOfWar, flushSync, preventScrollReset, submission) {\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(\n key,\n getLoadingFetcher(\n submission,\n existingFetcher ? existingFetcher.data : void 0\n ),\n { flushSync }\n );\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal\n );\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n matches,\n path,\n fetchRequest.signal\n );\n if (discoverResult.type === \"aborted\") {\n return;\n } else if (discoverResult.type === \"error\") {\n setFetcherError(key, routeId, discoverResult.error, { flushSync });\n return;\n } else if (!discoverResult.matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: path }),\n { flushSync }\n );\n return;\n } else {\n matches = discoverResult.matches;\n match = getTargetMatch(matches, path);\n }\n }\n fetchControllers.set(key, abortController);\n let originatingLoadId = incrementingLoadId;\n let results = await callDataStrategy(\n \"loader\",\n state,\n fetchRequest,\n [match],\n matches,\n key\n );\n let result = results[match.route.id];\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n if (fetchRequest.signal.aborted) {\n return;\n }\n if (fetchersQueuedForDeletion.has(key)) {\n updateFetcherState(key, getDoneFetcher(void 0));\n return;\n }\n if (isRedirectResult(result)) {\n if (pendingNavigationLoadId > originatingLoadId) {\n updateFetcherState(key, getDoneFetcher(void 0));\n return;\n } else {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(fetchRequest, result, false, {\n preventScrollReset\n });\n return;\n }\n }\n if (isErrorResult(result)) {\n setFetcherError(key, routeId, result.error);\n return;\n }\n updateFetcherState(key, getDoneFetcher(result.data));\n }\n async function startRedirectNavigation(request, redirect2, isNavigation, {\n submission,\n fetcherSubmission,\n preventScrollReset,\n replace: replace2\n } = {}) {\n if (redirect2.response.headers.has(\"X-Remix-Revalidate\")) {\n isRevalidationRequired = true;\n }\n let location = redirect2.response.headers.get(\"Location\");\n invariant(location, \"Expected a Location header on the redirect Response\");\n location = normalizeRedirectLocation(\n location,\n new URL(request.url),\n basename\n );\n let redirectLocation = createLocation(state.location, location, {\n _isRedirect: true\n });\n if (isBrowser2) {\n let isDocumentReload = false;\n if (redirect2.response.headers.has(\"X-Remix-Reload-Document\")) {\n isDocumentReload = true;\n } else if (ABSOLUTE_URL_REGEX.test(location)) {\n const url = init.history.createURL(location);\n isDocumentReload = // Hard reload if it's an absolute URL to a new origin\n url.origin !== routerWindow.location.origin || // Hard reload if it's an absolute URL that does not match our basename\n stripBasename(url.pathname, basename) == null;\n }\n if (isDocumentReload) {\n if (replace2) {\n routerWindow.location.replace(location);\n } else {\n routerWindow.location.assign(location);\n }\n return;\n }\n }\n pendingNavigationController = null;\n let redirectNavigationType = replace2 === true || redirect2.response.headers.has(\"X-Remix-Replace\") ? \"REPLACE\" /* Replace */ : \"PUSH\" /* Push */;\n let { formMethod, formAction, formEncType } = state.navigation;\n if (!submission && !fetcherSubmission && formMethod && formAction && formEncType) {\n submission = getSubmissionFromNavigation(state.navigation);\n }\n let activeSubmission = submission || fetcherSubmission;\n if (redirectPreserveMethodStatusCodes.has(redirect2.response.status) && activeSubmission && isMutationMethod(activeSubmission.formMethod)) {\n await startNavigation(redirectNavigationType, redirectLocation, {\n submission: {\n ...activeSubmission,\n formAction: location\n },\n // Preserve these flags across redirects\n preventScrollReset: preventScrollReset || pendingPreventScrollReset,\n enableViewTransition: isNavigation ? pendingViewTransitionEnabled : void 0\n });\n } else {\n let overrideNavigation = getLoadingNavigation(\n redirectLocation,\n submission\n );\n await startNavigation(redirectNavigationType, redirectLocation, {\n overrideNavigation,\n // Send fetcher submissions through for shouldRevalidate\n fetcherSubmission,\n // Preserve these flags across redirects\n preventScrollReset: preventScrollReset || pendingPreventScrollReset,\n enableViewTransition: isNavigation ? pendingViewTransitionEnabled : void 0\n });\n }\n }\n async function callDataStrategy(type, state2, request, matchesToLoad, matches, fetcherKey) {\n let results;\n let dataResults = {};\n try {\n results = await callDataStrategyImpl(\n dataStrategyImpl,\n type,\n state2,\n request,\n matchesToLoad,\n matches,\n fetcherKey,\n manifest,\n mapRouteProperties2\n );\n } catch (e) {\n matchesToLoad.forEach((m) => {\n dataResults[m.route.id] = {\n type: \"error\" /* error */,\n error: e\n };\n });\n return dataResults;\n }\n for (let [routeId, result] of Object.entries(results)) {\n if (isRedirectDataStrategyResult(result)) {\n let response = result.result;\n dataResults[routeId] = {\n type: \"redirect\" /* redirect */,\n response: normalizeRelativeRoutingRedirectResponse(\n response,\n request,\n routeId,\n matches,\n basename\n )\n };\n } else {\n dataResults[routeId] = await convertDataStrategyResultToDataResult(\n result\n );\n }\n }\n return dataResults;\n }\n async function callLoadersAndMaybeResolveData(state2, matches, matchesToLoad, fetchersToLoad, request) {\n let loaderResultsPromise = callDataStrategy(\n \"loader\",\n state2,\n request,\n matchesToLoad,\n matches,\n null\n );\n let fetcherResultsPromise = Promise.all(\n fetchersToLoad.map(async (f) => {\n if (f.matches && f.match && f.controller) {\n let results = await callDataStrategy(\n \"loader\",\n state2,\n createClientSideRequest(init.history, f.path, f.controller.signal),\n [f.match],\n f.matches,\n f.key\n );\n let result = results[f.match.route.id];\n return { [f.key]: result };\n } else {\n return Promise.resolve({\n [f.key]: {\n type: \"error\" /* error */,\n error: getInternalRouterError(404, {\n pathname: f.path\n })\n }\n });\n }\n })\n );\n let loaderResults = await loaderResultsPromise;\n let fetcherResults = (await fetcherResultsPromise).reduce(\n (acc, r) => Object.assign(acc, r),\n {}\n );\n return {\n loaderResults,\n fetcherResults\n };\n }\n function interruptActiveLoads() {\n isRevalidationRequired = true;\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.add(key);\n }\n abortFetcher(key);\n });\n }\n function updateFetcherState(key, fetcher, opts = {}) {\n state.fetchers.set(key, fetcher);\n updateState(\n { fetchers: new Map(state.fetchers) },\n { flushSync: (opts && opts.flushSync) === true }\n );\n }\n function setFetcherError(key, routeId, error, opts = {}) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState(\n {\n errors: {\n [boundaryMatch.route.id]: error\n },\n fetchers: new Map(state.fetchers)\n },\n { flushSync: (opts && opts.flushSync) === true }\n );\n }\n function getFetcher(key) {\n activeFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n if (fetchersQueuedForDeletion.has(key)) {\n fetchersQueuedForDeletion.delete(key);\n }\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n function deleteFetcher(key) {\n let fetcher = state.fetchers.get(key);\n if (fetchControllers.has(key) && !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))) {\n abortFetcher(key);\n }\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n fetchersQueuedForDeletion.delete(key);\n cancelledFetcherLoads.delete(key);\n state.fetchers.delete(key);\n }\n function queueFetcherForDeletion(key) {\n let count = (activeFetchers.get(key) || 0) - 1;\n if (count <= 0) {\n activeFetchers.delete(key);\n fetchersQueuedForDeletion.add(key);\n } else {\n activeFetchers.set(key, count);\n }\n updateState({ fetchers: new Map(state.fetchers) });\n }\n function abortFetcher(key) {\n let controller = fetchControllers.get(key);\n if (controller) {\n controller.abort();\n fetchControllers.delete(key);\n }\n }\n function markFetchersDone(keys) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher = getDoneFetcher(fetcher.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n function markFetchRedirectsDone() {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n function abortStaleFetchLoads(landedId) {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n function getBlocker(key, fn) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n return blocker;\n }\n function deleteBlocker(key) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n function updateBlocker(key, newBlocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n invariant(\n blocker.state === \"unblocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"proceeding\" || blocker.state === \"blocked\" && newBlocker.state === \"unblocked\" || blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\",\n `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`\n );\n let blockers = new Map(state.blockers);\n blockers.set(key, newBlocker);\n updateState({ blockers });\n }\n function shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction\n }) {\n if (blockerFunctions.size === 0) {\n return;\n }\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n if (blocker && blocker.state === \"proceeding\") {\n return;\n }\n if (blockerFunction({ currentLocation, nextLocation, historyAction })) {\n return blockerKey;\n }\n }\n function handleNavigational404(pathname) {\n let error = getInternalRouterError(404, { pathname });\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let { matches, route } = getShortCircuitMatches(routesToUse);\n return { notFoundMatches: matches, route, error };\n }\n function enableScrollRestoration(positions, getPosition, getKey) {\n savedScrollPositions2 = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey2 = getKey || null;\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({ restoreScrollPosition: y });\n }\n }\n return () => {\n savedScrollPositions2 = null;\n getScrollPosition = null;\n getScrollRestorationKey2 = null;\n };\n }\n function getScrollKey(location, matches) {\n if (getScrollRestorationKey2) {\n let key = getScrollRestorationKey2(\n location,\n matches.map((m) => convertRouteMatchToUiMatch(m, state.loaderData))\n );\n return key || location.key;\n }\n return location.key;\n }\n function saveScrollPosition(location, matches) {\n if (savedScrollPositions2 && getScrollPosition) {\n let key = getScrollKey(location, matches);\n savedScrollPositions2[key] = getScrollPosition();\n }\n }\n function getSavedScrollPosition(location, matches) {\n if (savedScrollPositions2) {\n let key = getScrollKey(location, matches);\n let y = savedScrollPositions2[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n function checkFogOfWar(matches, routesToUse, pathname) {\n if (patchRoutesOnNavigationImpl) {\n if (!matches) {\n let fogMatches = matchRoutesImpl(\n routesToUse,\n pathname,\n basename,\n true\n );\n return { active: true, matches: fogMatches || [] };\n } else {\n if (Object.keys(matches[0].params).length > 0) {\n let partialMatches = matchRoutesImpl(\n routesToUse,\n pathname,\n basename,\n true\n );\n return { active: true, matches: partialMatches };\n }\n }\n }\n return { active: false, matches: null };\n }\n async function discoverRoutes(matches, pathname, signal) {\n if (!patchRoutesOnNavigationImpl) {\n return { type: \"success\", matches };\n }\n let partialMatches = matches;\n while (true) {\n let isNonHMR = inFlightDataRoutes == null;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let localManifest = manifest;\n try {\n await patchRoutesOnNavigationImpl({\n path: pathname,\n matches: partialMatches,\n patch: (routeId, children) => {\n if (signal.aborted) return;\n patchRoutesImpl(\n routeId,\n children,\n routesToUse,\n localManifest,\n mapRouteProperties2\n );\n }\n });\n } catch (e) {\n return { type: \"error\", error: e, partialMatches };\n } finally {\n if (isNonHMR && !signal.aborted) {\n dataRoutes = [...dataRoutes];\n }\n }\n if (signal.aborted) {\n return { type: \"aborted\" };\n }\n let newMatches = matchRoutes(routesToUse, pathname, basename);\n if (newMatches) {\n return { type: \"success\", matches: newMatches };\n }\n let newPartialMatches = matchRoutesImpl(\n routesToUse,\n pathname,\n basename,\n true\n );\n if (!newPartialMatches || partialMatches.length === newPartialMatches.length && partialMatches.every(\n (m, i) => m.route.id === newPartialMatches[i].route.id\n )) {\n return { type: \"success\", matches: null };\n }\n partialMatches = newPartialMatches;\n }\n }\n function _internalSetRoutes(newRoutes) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(\n newRoutes,\n mapRouteProperties2,\n void 0,\n manifest\n );\n }\n function patchRoutes(routeId, children) {\n let isNonHMR = inFlightDataRoutes == null;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n patchRoutesImpl(\n routeId,\n children,\n routesToUse,\n manifest,\n mapRouteProperties2\n );\n if (isNonHMR) {\n dataRoutes = [...dataRoutes];\n updateState({});\n }\n }\n router = {\n get basename() {\n return basename;\n },\n get future() {\n return future;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n get window() {\n return routerWindow;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch: fetch2,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: (to) => init.history.createHref(to),\n encodeLocation: (to) => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher: queueFetcherForDeletion,\n dispose,\n getBlocker,\n deleteBlocker,\n patchRoutes,\n _internalFetchControllers: fetchControllers,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes\n };\n return router;\n}\nfunction createStaticHandler(routes, opts) {\n invariant(\n routes.length > 0,\n \"You must provide a non-empty routes array to createStaticHandler\"\n );\n let manifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties2 = opts?.mapRouteProperties || defaultMapRouteProperties;\n let dataRoutes = convertRoutesToDataRoutes(\n routes,\n mapRouteProperties2,\n void 0,\n manifest\n );\n async function query(request, {\n requestContext,\n skipLoaderErrorBubbling,\n dataStrategy\n } = {}) {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, { method });\n let { matches: methodNotAllowedMatches, route } = getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {}\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } = getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {}\n };\n }\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n dataStrategy || null,\n skipLoaderErrorBubbling === true,\n null\n );\n if (isResponse(result)) {\n return result;\n }\n return { location, basename, ...result };\n }\n async function queryRoute(request, {\n routeId,\n requestContext,\n dataStrategy\n } = {}) {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, { method });\n } else if (!matches) {\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n let match = routeId ? matches.find((m) => m.route.id === routeId) : getTargetMatch(matches, location);\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId\n });\n } else if (!match) {\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n dataStrategy || null,\n false,\n match\n );\n if (isResponse(result)) {\n return result;\n }\n let error = result.errors ? Object.values(result.errors)[0] : void 0;\n if (error !== void 0) {\n throw error;\n }\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n if (result.loaderData) {\n return Object.values(result.loaderData)[0];\n }\n return void 0;\n }\n async function queryImpl(request, location, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, routeMatch) {\n invariant(\n request.signal,\n \"query()/queryRoute() requests must contain an AbortController signal\"\n );\n try {\n if (isMutationMethod(request.method)) {\n let result2 = await submit(\n request,\n matches,\n routeMatch || getTargetMatch(matches, location),\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n routeMatch != null\n );\n return result2;\n }\n let result = await loadRouteData(\n request,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n routeMatch\n );\n return isResponse(result) ? result : {\n ...result,\n actionData: null,\n actionHeaders: {}\n };\n } catch (e) {\n if (isDataStrategyResult(e) && isResponse(e.result)) {\n if (e.type === \"error\" /* error */) {\n throw e.result;\n }\n return e.result;\n }\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n async function submit(request, matches, actionMatch, requestContext, dataStrategy, skipLoaderErrorBubbling, isRouteRequest) {\n let result;\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: \"error\" /* error */,\n error\n };\n } else {\n let results = await callDataStrategy(\n \"action\",\n request,\n [actionMatch],\n matches,\n isRouteRequest,\n requestContext,\n dataStrategy\n );\n result = results[actionMatch.route.id];\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest);\n }\n }\n if (isRedirectResult(result)) {\n throw new Response(null, {\n status: result.response.status,\n headers: {\n Location: result.response.headers.get(\"Location\")\n }\n });\n }\n if (isRouteRequest) {\n if (isErrorResult(result)) {\n throw result.error;\n }\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: { [actionMatch.route.id]: result.data },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {}\n };\n }\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal\n });\n if (isErrorResult(result)) {\n let boundaryMatch = skipLoaderErrorBubbling ? actionMatch : findNearestBoundary(matches, actionMatch.route.id);\n let context2 = await loadRouteData(\n loaderRequest,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n null,\n [boundaryMatch.route.id, result]\n );\n return {\n ...context2,\n statusCode: isRouteErrorResponse(result.error) ? result.error.status : result.statusCode != null ? result.statusCode : 500,\n actionData: null,\n actionHeaders: {\n ...result.headers ? { [actionMatch.route.id]: result.headers } : {}\n }\n };\n }\n let context = await loadRouteData(\n loaderRequest,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n null\n );\n return {\n ...context,\n actionData: {\n [actionMatch.route.id]: result.data\n },\n // action status codes take precedence over loader status codes\n ...result.statusCode ? { statusCode: result.statusCode } : {},\n actionHeaders: result.headers ? { [actionMatch.route.id]: result.headers } : {}\n };\n }\n async function loadRouteData(request, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, routeMatch, pendingActionResult) {\n let isRouteRequest = routeMatch != null;\n if (isRouteRequest && !routeMatch?.route.loader && !routeMatch?.route.lazy) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch?.route.id\n });\n }\n let requestMatches = routeMatch ? [routeMatch] : pendingActionResult && isErrorResult(pendingActionResult[1]) ? getLoaderMatchesUntilBoundary(matches, pendingActionResult[0]) : matches;\n let matchesToLoad = requestMatches.filter(\n (m) => m.route.loader || m.route.lazy\n );\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce(\n (acc, m) => Object.assign(acc, { [m.route.id]: null }),\n {}\n ),\n errors: pendingActionResult && isErrorResult(pendingActionResult[1]) ? {\n [pendingActionResult[0]]: pendingActionResult[1].error\n } : null,\n statusCode: 200,\n loaderHeaders: {}\n };\n }\n let results = await callDataStrategy(\n \"loader\",\n request,\n matchesToLoad,\n matches,\n isRouteRequest,\n requestContext,\n dataStrategy\n );\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest);\n }\n let context = processRouteLoaderData(\n matches,\n results,\n pendingActionResult,\n true,\n skipLoaderErrorBubbling\n );\n let executedLoaders = new Set(\n matchesToLoad.map((match) => match.route.id)\n );\n matches.forEach((match) => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n return {\n ...context,\n matches\n };\n }\n async function callDataStrategy(type, request, matchesToLoad, matches, isRouteRequest, requestContext, dataStrategy) {\n let results = await callDataStrategyImpl(\n dataStrategy || defaultDataStrategy,\n type,\n null,\n request,\n matchesToLoad,\n matches,\n null,\n manifest,\n mapRouteProperties2,\n requestContext\n );\n let dataResults = {};\n await Promise.all(\n matches.map(async (match) => {\n if (!(match.route.id in results)) {\n return;\n }\n let result = results[match.route.id];\n if (isRedirectDataStrategyResult(result)) {\n let response = result.result;\n throw normalizeRelativeRoutingRedirectResponse(\n response,\n request,\n match.route.id,\n matches,\n basename\n );\n }\n if (isResponse(result.result) && isRouteRequest) {\n throw result;\n }\n dataResults[match.route.id] = await convertDataStrategyResultToDataResult(result);\n })\n );\n return dataResults;\n }\n return {\n dataRoutes,\n query,\n queryRoute\n };\n}\nfunction getStaticContextFromError(routes, context, error) {\n let newContext = {\n ...context,\n statusCode: isRouteErrorResponse(error) ? error.status : 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error\n }\n };\n return newContext;\n}\nfunction throwStaticHandlerAbortedError(request, isRouteRequest) {\n if (request.signal.reason !== void 0) {\n throw request.signal.reason;\n }\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(\n `${method}() call aborted without an \\`AbortSignal.reason\\`: ${request.method} ${request.url}`\n );\n}\nfunction isSubmissionNavigation(opts) {\n return opts != null && (\"formData\" in opts && opts.formData != null || \"body\" in opts && opts.body !== void 0);\n}\nfunction normalizeTo(location, matches, basename, to, fromRouteId, relative) {\n let contextualMatches;\n let activeRouteMatch;\n if (fromRouteId) {\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n let path = resolveTo(\n to ? to : \".\",\n getResolveToMatches(contextualMatches),\n stripBasename(location.pathname, basename) || location.pathname,\n relative === \"path\"\n );\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n if ((to == null || to === \"\" || to === \".\") && activeRouteMatch) {\n let nakedIndex = hasNakedIndexQuery(path.search);\n if (activeRouteMatch.route.index && !nakedIndex) {\n path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n } else if (!activeRouteMatch.route.index && nakedIndex) {\n let params = new URLSearchParams(path.search);\n let indexValues = params.getAll(\"index\");\n params.delete(\"index\");\n indexValues.filter((v) => v).forEach((v) => params.append(\"index\", v));\n let qs = params.toString();\n path.search = qs ? `?${qs}` : \"\";\n }\n }\n if (basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n return createPath(path);\n}\nfunction normalizeNavigateOptions(isFetcher, path, opts) {\n if (!opts || !isSubmissionNavigation(opts)) {\n return { path };\n }\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, { method: opts.formMethod })\n };\n }\n let getInvalidBodyError = () => ({\n path,\n error: getInternalRouterError(400, { type: \"invalid-body\" })\n });\n let rawFormMethod = opts.formMethod || \"get\";\n let formMethod = rawFormMethod.toUpperCase();\n let formAction = stripHashFromPath(path);\n if (opts.body !== void 0) {\n if (opts.formEncType === \"text/plain\") {\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n let text = typeof opts.body === \"string\" ? opts.body : opts.body instanceof FormData || opts.body instanceof URLSearchParams ? (\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n Array.from(opts.body.entries()).reduce(\n (acc, [name, value]) => `${acc}${name}=${value}\n`,\n \"\"\n )\n ) : String(opts.body);\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: void 0,\n json: void 0,\n text\n }\n };\n } else if (opts.formEncType === \"application/json\") {\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n try {\n let json = typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: void 0,\n json,\n text: void 0\n }\n };\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n }\n invariant(\n typeof FormData === \"function\",\n \"FormData is not available in this environment\"\n );\n let searchParams;\n let formData;\n if (opts.formData) {\n searchParams = convertFormDataToSearchParams(opts.formData);\n formData = opts.formData;\n } else if (opts.body instanceof FormData) {\n searchParams = convertFormDataToSearchParams(opts.body);\n formData = opts.body;\n } else if (opts.body instanceof URLSearchParams) {\n searchParams = opts.body;\n formData = convertSearchParamsToFormData(searchParams);\n } else if (opts.body == null) {\n searchParams = new URLSearchParams();\n formData = new FormData();\n } else {\n try {\n searchParams = new URLSearchParams(opts.body);\n formData = convertSearchParamsToFormData(searchParams);\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n let submission = {\n formMethod,\n formAction,\n formEncType: opts && opts.formEncType || \"application/x-www-form-urlencoded\",\n formData,\n json: void 0,\n text: void 0\n };\n if (isMutationMethod(submission.formMethod)) {\n return { path, submission };\n }\n let parsedPath = parsePath(path);\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = `?${searchParams}`;\n return { path: createPath(parsedPath), submission };\n}\nfunction getLoaderMatchesUntilBoundary(matches, boundaryId, includeBoundary = false) {\n let index = matches.findIndex((m) => m.route.id === boundaryId);\n if (index >= 0) {\n return matches.slice(0, includeBoundary ? index + 1 : index);\n }\n return matches;\n}\nfunction getMatchesToLoad(history, state, matches, submission, location, initialHydration, isRevalidationRequired, cancelledFetcherLoads, fetchersQueuedForDeletion, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionResult) {\n let actionResult = pendingActionResult ? isErrorResult(pendingActionResult[1]) ? pendingActionResult[1].error : pendingActionResult[1].data : void 0;\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n let boundaryMatches = matches;\n if (initialHydration && state.errors) {\n boundaryMatches = getLoaderMatchesUntilBoundary(\n matches,\n Object.keys(state.errors)[0],\n true\n );\n } else if (pendingActionResult && isErrorResult(pendingActionResult[1])) {\n boundaryMatches = getLoaderMatchesUntilBoundary(\n matches,\n pendingActionResult[0]\n );\n }\n let actionStatus = pendingActionResult ? pendingActionResult[1].statusCode : void 0;\n let shouldSkipRevalidation = actionStatus && actionStatus >= 400;\n let navigationMatches = boundaryMatches.filter((match, index) => {\n let { route } = match;\n if (route.lazy) {\n return true;\n }\n if (route.loader == null) {\n return false;\n }\n if (initialHydration) {\n return shouldLoadRouteOnHydration(route, state.loaderData, state.errors);\n }\n if (isNewLoader(state.loaderData, state.matches[index], match)) {\n return true;\n }\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n return shouldRevalidateLoader(match, {\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params,\n ...submission,\n actionResult,\n actionStatus,\n defaultShouldRevalidate: shouldSkipRevalidation ? false : (\n // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired || currentUrl.pathname + currentUrl.search === nextUrl.pathname + nextUrl.search || // Search params affect all loaders\n currentUrl.search !== nextUrl.search || isNewRouteInstance(currentRouteMatch, nextRouteMatch)\n )\n });\n });\n let revalidatingFetchers = [];\n fetchLoadMatches.forEach((f, key) => {\n if (initialHydration || !matches.some((m) => m.route.id === f.routeId) || fetchersQueuedForDeletion.has(key)) {\n return;\n }\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null\n });\n return;\n }\n let fetcher = state.fetchers.get(key);\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n let shouldRevalidate = false;\n if (fetchRedirectIds.has(key)) {\n shouldRevalidate = false;\n } else if (cancelledFetcherLoads.has(key)) {\n cancelledFetcherLoads.delete(key);\n shouldRevalidate = true;\n } else if (fetcher && fetcher.state !== \"idle\" && fetcher.data === void 0) {\n shouldRevalidate = isRevalidationRequired;\n } else {\n shouldRevalidate = shouldRevalidateLoader(fetcherMatch, {\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params,\n ...submission,\n actionResult,\n actionStatus,\n defaultShouldRevalidate: shouldSkipRevalidation ? false : isRevalidationRequired\n });\n }\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController()\n });\n }\n });\n return [navigationMatches, revalidatingFetchers];\n}\nfunction shouldLoadRouteOnHydration(route, loaderData, errors) {\n if (route.lazy) {\n return true;\n }\n if (!route.loader) {\n return false;\n }\n let hasData = loaderData != null && loaderData[route.id] !== void 0;\n let hasError = errors != null && errors[route.id] !== void 0;\n if (!hasData && hasError) {\n return false;\n }\n if (typeof route.loader === \"function\" && route.loader.hydrate === true) {\n return true;\n }\n return !hasData && !hasError;\n}\nfunction isNewLoader(currentLoaderData, currentMatch, match) {\n let isNew = (\n // [a] -> [a, b]\n !currentMatch || // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id\n );\n let isMissingData = !currentLoaderData.hasOwnProperty(match.route.id);\n return isNew || isMissingData;\n}\nfunction isNewRouteInstance(currentMatch, match) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname || // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n currentPath != null && currentPath.endsWith(\"*\") && currentMatch.params[\"*\"] !== match.params[\"*\"]\n );\n}\nfunction shouldRevalidateLoader(loaderMatch, arg) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n return arg.defaultShouldRevalidate;\n}\nfunction patchRoutesImpl(routeId, children, routesToUse, manifest, mapRouteProperties2) {\n let childrenToPatch;\n if (routeId) {\n let route = manifest[routeId];\n invariant(\n route,\n `No route found to patch children into: routeId = ${routeId}`\n );\n if (!route.children) {\n route.children = [];\n }\n childrenToPatch = route.children;\n } else {\n childrenToPatch = routesToUse;\n }\n let uniqueChildren = children.filter(\n (newRoute) => !childrenToPatch.some(\n (existingRoute) => isSameRoute(newRoute, existingRoute)\n )\n );\n let newRoutes = convertRoutesToDataRoutes(\n uniqueChildren,\n mapRouteProperties2,\n [routeId || \"_\", \"patch\", String(childrenToPatch?.length || \"0\")],\n manifest\n );\n childrenToPatch.push(...newRoutes);\n}\nfunction isSameRoute(newRoute, existingRoute) {\n if (\"id\" in newRoute && \"id\" in existingRoute && newRoute.id === existingRoute.id) {\n return true;\n }\n if (!(newRoute.index === existingRoute.index && newRoute.path === existingRoute.path && newRoute.caseSensitive === existingRoute.caseSensitive)) {\n return false;\n }\n if ((!newRoute.children || newRoute.children.length === 0) && (!existingRoute.children || existingRoute.children.length === 0)) {\n return true;\n }\n return newRoute.children.every(\n (aChild, i) => existingRoute.children?.some((bChild) => isSameRoute(aChild, bChild))\n );\n}\nasync function loadLazyRouteModule(route, mapRouteProperties2, manifest) {\n if (!route.lazy) {\n return;\n }\n let lazyRoute = await route.lazy();\n if (!route.lazy) {\n return;\n }\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n let routeUpdates = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue = routeToUpdate[lazyRouteProperty];\n let isPropertyStaticallyDefined = staticRouteValue !== void 0 && // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n warning(\n !isPropertyStaticallyDefined,\n `Route \"${routeToUpdate.id}\" has a static property \"${lazyRouteProperty}\" defined but its lazy function is also returning a value for this property. The lazy route property \"${lazyRouteProperty}\" will be ignored.`\n );\n if (!isPropertyStaticallyDefined && !immutableRouteKeys.has(lazyRouteProperty)) {\n routeUpdates[lazyRouteProperty] = lazyRoute[lazyRouteProperty];\n }\n }\n Object.assign(routeToUpdate, routeUpdates);\n Object.assign(routeToUpdate, {\n // To keep things framework agnostic, we use the provided `mapRouteProperties`\n // function to set the framework-aware properties (`element`/`hasErrorBoundary`)\n // since the logic will differ between frameworks.\n ...mapRouteProperties2(routeToUpdate),\n lazy: void 0\n });\n}\nasync function defaultDataStrategy({\n matches\n}) {\n let matchesToLoad = matches.filter((m) => m.shouldLoad);\n let results = await Promise.all(matchesToLoad.map((m) => m.resolve()));\n return results.reduce(\n (acc, result, i) => Object.assign(acc, { [matchesToLoad[i].route.id]: result }),\n {}\n );\n}\nasync function callDataStrategyImpl(dataStrategyImpl, type, state, request, matchesToLoad, matches, fetcherKey, manifest, mapRouteProperties2, requestContext) {\n let loadRouteDefinitionsPromises = matches.map(\n (m) => m.route.lazy ? loadLazyRouteModule(m.route, mapRouteProperties2, manifest) : void 0\n );\n let dsMatches = matches.map((match, i) => {\n let loadRoutePromise = loadRouteDefinitionsPromises[i];\n let shouldLoad = matchesToLoad.some((m) => m.route.id === match.route.id);\n let resolve = async (handlerOverride) => {\n if (handlerOverride && request.method === \"GET\" && (match.route.lazy || match.route.loader)) {\n shouldLoad = true;\n }\n return shouldLoad ? callLoaderOrAction(\n type,\n request,\n match,\n loadRoutePromise,\n handlerOverride,\n requestContext\n ) : Promise.resolve({ type: \"data\" /* data */, result: void 0 });\n };\n return {\n ...match,\n shouldLoad,\n resolve\n };\n });\n let results = await dataStrategyImpl({\n matches: dsMatches,\n request,\n params: matches[0].params,\n fetcherKey,\n context: requestContext\n });\n try {\n await Promise.all(loadRouteDefinitionsPromises);\n } catch (e) {\n }\n return results;\n}\nasync function callLoaderOrAction(type, request, match, loadRoutePromise, handlerOverride, staticContext) {\n let result;\n let onReject;\n let runHandler = (handler) => {\n let reject;\n let abortPromise = new Promise((_, r) => reject = r);\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n let actualHandler = (ctx) => {\n if (typeof handler !== \"function\") {\n return Promise.reject(\n new Error(\n `You cannot call the handler for a route which defines a boolean \"${type}\" [routeId: ${match.route.id}]`\n )\n );\n }\n return handler(\n {\n request,\n params: match.params,\n context: staticContext\n },\n ...ctx !== void 0 ? [ctx] : []\n );\n };\n let handlerPromise = (async () => {\n try {\n let val = await (handlerOverride ? handlerOverride((ctx) => actualHandler(ctx)) : actualHandler());\n return { type: \"data\", result: val };\n } catch (e) {\n return { type: \"error\", result: e };\n }\n })();\n return Promise.race([handlerPromise, abortPromise]);\n };\n try {\n let handler = match.route[type];\n if (loadRoutePromise) {\n if (handler) {\n let handlerError;\n let [value] = await Promise.all([\n // If the handler throws, don't let it immediately bubble out,\n // since we need to let the lazy() execution finish so we know if this\n // route has a boundary that can handle the error\n runHandler(handler).catch((e) => {\n handlerError = e;\n }),\n loadRoutePromise\n ]);\n if (handlerError !== void 0) {\n throw handlerError;\n }\n result = value;\n } else {\n await loadRoutePromise;\n handler = match.route[type];\n if (handler) {\n result = await runHandler(handler);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id\n });\n } else {\n return { type: \"data\" /* data */, result: void 0 };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname\n });\n } else {\n result = await runHandler(handler);\n }\n } catch (e) {\n return { type: \"error\" /* error */, result: e };\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n return result;\n}\nasync function convertDataStrategyResultToDataResult(dataStrategyResult) {\n let { result, type } = dataStrategyResult;\n if (isResponse(result)) {\n let data2;\n try {\n let contentType = result.headers.get(\"Content-Type\");\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n if (result.body == null) {\n data2 = null;\n } else {\n data2 = await result.json();\n }\n } else {\n data2 = await result.text();\n }\n } catch (e) {\n return { type: \"error\" /* error */, error: e };\n }\n if (type === \"error\" /* error */) {\n return {\n type: \"error\" /* error */,\n error: new ErrorResponseImpl(result.status, result.statusText, data2),\n statusCode: result.status,\n headers: result.headers\n };\n }\n return {\n type: \"data\" /* data */,\n data: data2,\n statusCode: result.status,\n headers: result.headers\n };\n }\n if (type === \"error\" /* error */) {\n if (isDataWithResponseInit(result)) {\n if (result.data instanceof Error) {\n return {\n type: \"error\" /* error */,\n error: result.data,\n statusCode: result.init?.status\n };\n }\n result = new ErrorResponseImpl(\n result.init?.status || 500,\n void 0,\n result.data\n );\n }\n return {\n type: \"error\" /* error */,\n error: result,\n statusCode: isRouteErrorResponse(result) ? result.status : void 0\n };\n }\n if (isDataWithResponseInit(result)) {\n return {\n type: \"data\" /* data */,\n data: result.data,\n statusCode: result.init?.status,\n headers: result.init?.headers ? new Headers(result.init.headers) : void 0\n };\n }\n return { type: \"data\" /* data */, data: result };\n}\nfunction normalizeRelativeRoutingRedirectResponse(response, request, routeId, matches, basename) {\n let location = response.headers.get(\"Location\");\n invariant(\n location,\n \"Redirects returned/thrown from loaders/actions must have a Location header\"\n );\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n let trimmedMatches = matches.slice(\n 0,\n matches.findIndex((m) => m.route.id === routeId) + 1\n );\n location = normalizeTo(\n new URL(request.url),\n trimmedMatches,\n basename,\n location\n );\n response.headers.set(\"Location\", location);\n }\n return response;\n}\nfunction normalizeRedirectLocation(location, currentUrl, basename) {\n if (ABSOLUTE_URL_REGEX.test(location)) {\n let normalizedLocation = location;\n let url = normalizedLocation.startsWith(\"//\") ? new URL(currentUrl.protocol + normalizedLocation) : new URL(normalizedLocation);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n return url.pathname + url.search + url.hash;\n }\n }\n return location;\n}\nfunction createClientSideRequest(history, location, signal, submission) {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init = { signal };\n if (submission && isMutationMethod(submission.formMethod)) {\n let { formMethod, formEncType } = submission;\n init.method = formMethod.toUpperCase();\n if (formEncType === \"application/json\") {\n init.headers = new Headers({ \"Content-Type\": formEncType });\n init.body = JSON.stringify(submission.json);\n } else if (formEncType === \"text/plain\") {\n init.body = submission.text;\n } else if (formEncType === \"application/x-www-form-urlencoded\" && submission.formData) {\n init.body = convertFormDataToSearchParams(submission.formData);\n } else {\n init.body = submission.formData;\n }\n }\n return new Request(url, init);\n}\nfunction convertFormDataToSearchParams(formData) {\n let searchParams = new URLSearchParams();\n for (let [key, value] of formData.entries()) {\n searchParams.append(key, typeof value === \"string\" ? value : value.name);\n }\n return searchParams;\n}\nfunction convertSearchParamsToFormData(searchParams) {\n let formData = new FormData();\n for (let [key, value] of searchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n}\nfunction processRouteLoaderData(matches, results, pendingActionResult, isStaticHandler = false, skipLoaderErrorBubbling = false) {\n let loaderData = {};\n let errors = null;\n let statusCode;\n let foundError = false;\n let loaderHeaders = {};\n let pendingError = pendingActionResult && isErrorResult(pendingActionResult[1]) ? pendingActionResult[1].error : void 0;\n matches.forEach((match) => {\n if (!(match.route.id in results)) {\n return;\n }\n let id = match.route.id;\n let result = results[id];\n invariant(\n !isRedirectResult(result),\n \"Cannot handle redirect results in processLoaderData\"\n );\n if (isErrorResult(result)) {\n let error = result.error;\n if (pendingError !== void 0) {\n error = pendingError;\n pendingError = void 0;\n }\n errors = errors || {};\n if (skipLoaderErrorBubbling) {\n errors[id] = error;\n } else {\n let boundaryMatch = findNearestBoundary(matches, id);\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n }\n if (!isStaticHandler) {\n loaderData[id] = ResetLoaderDataSymbol;\n }\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error) ? result.error.status : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n loaderData[id] = result.data;\n if (result.statusCode && result.statusCode !== 200 && !foundError) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n if (pendingError !== void 0 && pendingActionResult) {\n errors = { [pendingActionResult[0]]: pendingError };\n loaderData[pendingActionResult[0]] = void 0;\n }\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders\n };\n}\nfunction processLoaderData(state, matches, results, pendingActionResult, revalidatingFetchers, fetcherResults) {\n let { loaderData, errors } = processRouteLoaderData(\n matches,\n results,\n pendingActionResult\n );\n revalidatingFetchers.forEach((rf) => {\n let { key, match, controller } = rf;\n let result = fetcherResults[key];\n invariant(result, \"Did not find corresponding fetcher result\");\n if (controller && controller.signal.aborted) {\n return;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = {\n ...errors,\n [boundaryMatch.route.id]: result.error\n };\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else {\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n }\n });\n return { loaderData, errors };\n}\nfunction mergeLoaderData(loaderData, newLoaderData, matches, errors) {\n let mergedLoaderData = Object.entries(newLoaderData).filter(([, v]) => v !== ResetLoaderDataSymbol).reduce((merged, [k, v]) => {\n merged[k] = v;\n return merged;\n }, {});\n for (let match of matches) {\n let id = match.route.id;\n if (!newLoaderData.hasOwnProperty(id) && loaderData.hasOwnProperty(id) && match.route.loader) {\n mergedLoaderData[id] = loaderData[id];\n }\n if (errors && errors.hasOwnProperty(id)) {\n break;\n }\n }\n return mergedLoaderData;\n}\nfunction getActionDataForCommit(pendingActionResult) {\n if (!pendingActionResult) {\n return {};\n }\n return isErrorResult(pendingActionResult[1]) ? {\n // Clear out prior actionData on errors\n actionData: {}\n } : {\n actionData: {\n [pendingActionResult[0]]: pendingActionResult[1].data\n }\n };\n}\nfunction findNearestBoundary(matches, routeId) {\n let eligibleMatches = routeId ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1) : [...matches];\n return eligibleMatches.reverse().find((m) => m.route.hasErrorBoundary === true) || matches[0];\n}\nfunction getShortCircuitMatches(routes) {\n let route = routes.length === 1 ? routes[0] : routes.find((r) => r.index || !r.path || r.path === \"/\") || {\n id: `__shim-error-route__`\n };\n return {\n matches: [\n {\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route\n }\n ],\n route\n };\n}\nfunction getInternalRouterError(status, {\n pathname,\n routeId,\n method,\n type,\n message\n} = {}) {\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage = `You made a ${method} request to \"${pathname}\" but did not provide a \\`loader\\` for route \"${routeId}\", so there is no way to handle the request.`;\n } else if (type === \"invalid-body\") {\n errorMessage = \"Unable to encode submission body\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = `No route matches URL \"${pathname}\"`;\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage = `You made a ${method.toUpperCase()} request to \"${pathname}\" but did not provide an \\`action\\` for route \"${routeId}\", so there is no way to handle the request.`;\n } else if (method) {\n errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n }\n }\n return new ErrorResponseImpl(\n status || 500,\n statusText,\n new Error(errorMessage),\n true\n );\n}\nfunction findRedirect(results) {\n let entries = Object.entries(results);\n for (let i = entries.length - 1; i >= 0; i--) {\n let [key, result] = entries[i];\n if (isRedirectResult(result)) {\n return { key, result };\n }\n }\n}\nfunction stripHashFromPath(path) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath({ ...parsedPath, hash: \"\" });\n}\nfunction isHashChangeOnly(a, b) {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n if (a.hash === \"\") {\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n return true;\n } else if (b.hash !== \"\") {\n return true;\n }\n return false;\n}\nfunction isDataStrategyResult(result) {\n return result != null && typeof result === \"object\" && \"type\" in result && \"result\" in result && (result.type === \"data\" /* data */ || result.type === \"error\" /* error */);\n}\nfunction isRedirectDataStrategyResult(result) {\n return isResponse(result.result) && redirectStatusCodes.has(result.result.status);\n}\nfunction isErrorResult(result) {\n return result.type === \"error\" /* error */;\n}\nfunction isRedirectResult(result) {\n return (result && result.type) === \"redirect\" /* redirect */;\n}\nfunction isDataWithResponseInit(value) {\n return typeof value === \"object\" && value != null && \"type\" in value && \"data\" in value && \"init\" in value && value.type === \"DataWithResponseInit\";\n}\nfunction isResponse(value) {\n return value != null && typeof value.status === \"number\" && typeof value.statusText === \"string\" && typeof value.headers === \"object\" && typeof value.body !== \"undefined\";\n}\nfunction isRedirectStatusCode(statusCode) {\n return redirectStatusCodes.has(statusCode);\n}\nfunction isRedirectResponse(result) {\n return isResponse(result) && isRedirectStatusCode(result.status) && result.headers.has(\"Location\");\n}\nfunction isValidMethod(method) {\n return validRequestMethods.has(method.toUpperCase());\n}\nfunction isMutationMethod(method) {\n return validMutationMethods.has(method.toUpperCase());\n}\nfunction hasNakedIndexQuery(search) {\n return new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\nfunction getTargetMatch(matches, location) {\n let search = typeof location === \"string\" ? parsePath(location).search : location.search;\n if (matches[matches.length - 1].route.index && hasNakedIndexQuery(search || \"\")) {\n return matches[matches.length - 1];\n }\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\nfunction getSubmissionFromNavigation(navigation) {\n let { formMethod, formAction, formEncType, text, formData, json } = navigation;\n if (!formMethod || !formAction || !formEncType) {\n return;\n }\n if (text != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: void 0,\n json: void 0,\n text\n };\n } else if (formData != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData,\n json: void 0,\n text: void 0\n };\n } else if (json !== void 0) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: void 0,\n json,\n text: void 0\n };\n }\n}\nfunction getLoadingNavigation(location, submission) {\n if (submission) {\n let navigation = {\n state: \"loading\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text\n };\n return navigation;\n } else {\n let navigation = {\n state: \"loading\",\n location,\n formMethod: void 0,\n formAction: void 0,\n formEncType: void 0,\n formData: void 0,\n json: void 0,\n text: void 0\n };\n return navigation;\n }\n}\nfunction getSubmittingNavigation(location, submission) {\n let navigation = {\n state: \"submitting\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text\n };\n return navigation;\n}\nfunction getLoadingFetcher(submission, data2) {\n if (submission) {\n let fetcher = {\n state: \"loading\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: data2\n };\n return fetcher;\n } else {\n let fetcher = {\n state: \"loading\",\n formMethod: void 0,\n formAction: void 0,\n formEncType: void 0,\n formData: void 0,\n json: void 0,\n text: void 0,\n data: data2\n };\n return fetcher;\n }\n}\nfunction getSubmittingFetcher(submission, existingFetcher) {\n let fetcher = {\n state: \"submitting\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: existingFetcher ? existingFetcher.data : void 0\n };\n return fetcher;\n}\nfunction getDoneFetcher(data2) {\n let fetcher = {\n state: \"idle\",\n formMethod: void 0,\n formAction: void 0,\n formEncType: void 0,\n formData: void 0,\n json: void 0,\n text: void 0,\n data: data2\n };\n return fetcher;\n}\nfunction restoreAppliedTransitions(_window, transitions) {\n try {\n let sessionPositions = _window.sessionStorage.getItem(\n TRANSITIONS_STORAGE_KEY\n );\n if (sessionPositions) {\n let json = JSON.parse(sessionPositions);\n for (let [k, v] of Object.entries(json || {})) {\n if (v && Array.isArray(v)) {\n transitions.set(k, new Set(v || []));\n }\n }\n }\n } catch (e) {\n }\n}\nfunction persistAppliedTransitions(_window, transitions) {\n if (transitions.size > 0) {\n let json = {};\n for (let [k, v] of transitions) {\n json[k] = [...v];\n }\n try {\n _window.sessionStorage.setItem(\n TRANSITIONS_STORAGE_KEY,\n JSON.stringify(json)\n );\n } catch (error) {\n warning(\n false,\n `Failed to save applied view transitions in sessionStorage (${error}).`\n );\n }\n }\n}\nfunction createDeferred() {\n let resolve;\n let reject;\n let promise = new Promise((res, rej) => {\n resolve = async (val) => {\n res(val);\n try {\n await promise;\n } catch (e) {\n }\n };\n reject = async (error) => {\n rej(error);\n try {\n await promise;\n } catch (e) {\n }\n };\n });\n return {\n promise,\n //@ts-ignore\n resolve,\n //@ts-ignore\n reject\n };\n}\n\n// lib/components.tsx\nimport * as React3 from \"react\";\n\n// lib/context.ts\nimport * as React from \"react\";\nvar DataRouterContext = React.createContext(null);\nDataRouterContext.displayName = \"DataRouter\";\nvar DataRouterStateContext = React.createContext(null);\nDataRouterStateContext.displayName = \"DataRouterState\";\nvar ViewTransitionContext = React.createContext({\n isTransitioning: false\n});\nViewTransitionContext.displayName = \"ViewTransition\";\nvar FetchersContext = React.createContext(\n /* @__PURE__ */ new Map()\n);\nFetchersContext.displayName = \"Fetchers\";\nvar AwaitContext = React.createContext(null);\nAwaitContext.displayName = \"Await\";\nvar NavigationContext = React.createContext(\n null\n);\nNavigationContext.displayName = \"Navigation\";\nvar LocationContext = React.createContext(\n null\n);\nLocationContext.displayName = \"Location\";\nvar RouteContext = React.createContext({\n outlet: null,\n matches: [],\n isDataRoute: false\n});\nRouteContext.displayName = \"Route\";\nvar RouteErrorContext = React.createContext(null);\nRouteErrorContext.displayName = \"RouteError\";\n\n// lib/hooks.tsx\nimport * as React2 from \"react\";\nvar ENABLE_DEV_WARNINGS = true;\nfunction useHref(to, { relative } = {}) {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a <Router> component.`\n );\n let { basename, navigator: navigator2 } = React2.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to, { relative });\n let joinedPathname = pathname;\n if (basename !== \"/\") {\n joinedPathname = pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n return navigator2.createHref({ pathname: joinedPathname, search, hash });\n}\nfunction useInRouterContext() {\n return React2.useContext(LocationContext) != null;\n}\nfunction useLocation() {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a <Router> component.`\n );\n return React2.useContext(LocationContext).location;\n}\nfunction useNavigationType() {\n return React2.useContext(LocationContext).navigationType;\n}\nfunction useMatch(pattern) {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a <Router> component.`\n );\n let { pathname } = useLocation();\n return React2.useMemo(\n () => matchPath(pattern, decodePath(pathname)),\n [pathname, pattern]\n );\n}\nvar navigateEffectWarning = `You should call navigate() in a React.useEffect(), not when your component is first rendered.`;\nfunction useIsomorphicLayoutEffect(cb) {\n let isStatic = React2.useContext(NavigationContext).static;\n if (!isStatic) {\n React2.useLayoutEffect(cb);\n }\n}\nfunction useNavigate() {\n let { isDataRoute } = React2.useContext(RouteContext);\n return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\nfunction useNavigateUnstable() {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a <Router> component.`\n );\n let dataRouterContext = React2.useContext(DataRouterContext);\n let { basename, navigator: navigator2 } = React2.useContext(NavigationContext);\n let { matches } = React2.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n let routePathnamesJson = JSON.stringify(getResolveToMatches(matches));\n let activeRef = React2.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n let navigate = React2.useCallback(\n (to, options = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n navigator2.go(to);\n return;\n }\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n options.relative === \"path\"\n );\n if (dataRouterContext == null && basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n (!!options.replace ? navigator2.replace : navigator2.push)(\n path,\n options.state,\n options\n );\n },\n [\n basename,\n navigator2,\n routePathnamesJson,\n locationPathname,\n dataRouterContext\n ]\n );\n return navigate;\n}\nvar OutletContext = React2.createContext(null);\nfunction useOutletContext() {\n return React2.useContext(OutletContext);\n}\nfunction useOutlet(context) {\n let outlet = React2.useContext(RouteContext).outlet;\n if (outlet) {\n return /* @__PURE__ */ React2.createElement(OutletContext.Provider, { value: context }, outlet);\n }\n return outlet;\n}\nfunction useParams() {\n let { matches } = React2.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? routeMatch.params : {};\n}\nfunction useResolvedPath(to, { relative } = {}) {\n let { matches } = React2.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n let routePathnamesJson = JSON.stringify(getResolveToMatches(matches));\n return React2.useMemo(\n () => resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n relative === \"path\"\n ),\n [to, routePathnamesJson, locationPathname, relative]\n );\n}\nfunction useRoutes(routes, locationArg) {\n return useRoutesImpl(routes, locationArg);\n}\nfunction useRoutesImpl(routes, locationArg, dataRouterState, future) {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a <Router> component.`\n );\n let { navigator: navigator2 } = React2.useContext(NavigationContext);\n let { matches: parentMatches } = React2.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n if (ENABLE_DEV_WARNINGS) {\n let parentPath = parentRoute && parentRoute.path || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\") || parentPath.endsWith(\"*?\"),\n `You rendered descendant <Routes> (or called \\`useRoutes()\\`) at \"${parentPathname}\" (under <Route path=\"${parentPath}\">) but the parent route path has no trailing \"*\". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.\n\nPlease change the parent <Route path=\"${parentPath}\"> to <Route path=\"${parentPath === \"/\" ? \"*\" : `${parentPath}/*`}\">.`\n );\n }\n let locationFromContext = useLocation();\n let location;\n if (locationArg) {\n let parsedLocationArg = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n invariant(\n parentPathnameBase === \"/\" || parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`<Routes location>\\` or \\`useRoutes(routes, location)\\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n let pathname = location.pathname || \"/\";\n let remainingPathname = pathname;\n if (parentPathnameBase !== \"/\") {\n let parentSegments = parentPathnameBase.replace(/^\\//, \"\").split(\"/\");\n let segments = pathname.replace(/^\\//, \"\").split(\"/\");\n remainingPathname = \"/\" + segments.slice(parentSegments.length).join(\"/\");\n }\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n if (ENABLE_DEV_WARNINGS) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n warning(\n matches == null || matches[matches.length - 1].route.element !== void 0 || matches[matches.length - 1].route.Component !== void 0 || matches[matches.length - 1].route.lazy !== void 0,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an \"empty\" page.`\n );\n }\n let renderedMatches = _renderMatches(\n matches && matches.map(\n (match) => Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator2.encodeLocation ? navigator2.encodeLocation(match.pathname).pathname : match.pathname\n ]),\n pathnameBase: match.pathnameBase === \"/\" ? parentPathnameBase : joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator2.encodeLocation ? navigator2.encodeLocation(match.pathnameBase).pathname : match.pathnameBase\n ])\n })\n ),\n parentMatches,\n dataRouterState,\n future\n );\n if (locationArg && renderedMatches) {\n return /* @__PURE__ */ React2.createElement(\n LocationContext.Provider,\n {\n value: {\n location: {\n pathname: \"/\",\n search: \"\",\n hash: \"\",\n state: null,\n key: \"default\",\n ...location\n },\n navigationType: \"POP\" /* Pop */\n }\n },\n renderedMatches\n );\n }\n return renderedMatches;\n}\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error) ? `${error.status} ${error.statusText}` : error instanceof Error ? error.message : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = { padding: \"0.5rem\", backgroundColor: lightgrey };\n let codeStyles = { padding: \"2px 4px\", backgroundColor: lightgrey };\n let devInfo = null;\n if (ENABLE_DEV_WARNINGS) {\n console.error(\n \"Error handled by React Router default ErrorBoundary:\",\n error\n );\n devInfo = /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(\"p\", null, \"\\u{1F4BF} Hey developer \\u{1F44B}\"), /* @__PURE__ */ React2.createElement(\"p\", null, \"You can provide a way better UX than this when your app throws errors by providing your own \", /* @__PURE__ */ React2.createElement(\"code\", { style: codeStyles }, \"ErrorBoundary\"), \" or\", \" \", /* @__PURE__ */ React2.createElement(\"code\", { style: codeStyles }, \"errorElement\"), \" prop on your route.\"));\n }\n return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(\"h2\", null, \"Unexpected Application Error!\"), /* @__PURE__ */ React2.createElement(\"h3\", { style: { fontStyle: \"italic\" } }, message), stack ? /* @__PURE__ */ React2.createElement(\"pre\", { style: preStyles }, stack) : null, devInfo);\n}\nvar defaultErrorElement = /* @__PURE__ */ React2.createElement(DefaultErrorComponent, null);\nvar RenderErrorBoundary = class extends React2.Component {\n constructor(props) {\n super(props);\n this.state = {\n location: props.location,\n revalidation: props.revalidation,\n error: props.error\n };\n }\n static getDerivedStateFromError(error) {\n return { error };\n }\n static getDerivedStateFromProps(props, state) {\n if (state.location !== props.location || state.revalidation !== \"idle\" && props.revalidation === \"idle\") {\n return {\n error: props.error,\n location: props.location,\n revalidation: props.revalidation\n };\n }\n return {\n error: props.error !== void 0 ? props.error : state.error,\n location: state.location,\n revalidation: props.revalidation || state.revalidation\n };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\n \"React Router caught the following error during render\",\n error,\n errorInfo\n );\n }\n render() {\n return this.state.error !== void 0 ? /* @__PURE__ */ React2.createElement(RouteContext.Provider, { value: this.props.routeContext }, /* @__PURE__ */ React2.createElement(\n RouteErrorContext.Provider,\n {\n value: this.state.error,\n children: this.props.component\n }\n )) : this.props.children;\n }\n};\nfunction RenderedRoute({ routeContext, match, children }) {\n let dataRouterContext = React2.useContext(DataRouterContext);\n if (dataRouterContext && dataRouterContext.static && dataRouterContext.staticContext && (match.route.errorElement || match.route.ErrorBoundary)) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n return /* @__PURE__ */ React2.createElement(RouteContext.Provider, { value: routeContext }, children);\n}\nfunction _renderMatches(matches, parentMatches = [], dataRouterState = null, future = null) {\n if (matches == null) {\n if (!dataRouterState) {\n return null;\n }\n if (dataRouterState.errors) {\n matches = dataRouterState.matches;\n } else if (parentMatches.length === 0 && !dataRouterState.initialized && dataRouterState.matches.length > 0) {\n matches = dataRouterState.matches;\n } else {\n return null;\n }\n }\n let renderedMatches = matches;\n let errors = dataRouterState?.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(\n (m) => m.route.id && errors?.[m.route.id] !== void 0\n );\n invariant(\n errorIndex >= 0,\n `Could not find a matching route for errors on route IDs: ${Object.keys(\n errors\n ).join(\",\")}`\n );\n renderedMatches = renderedMatches.slice(\n 0,\n Math.min(renderedMatches.length, errorIndex + 1)\n );\n }\n let renderFallback = false;\n let fallbackIndex = -1;\n if (dataRouterState) {\n for (let i = 0; i < renderedMatches.length; i++) {\n let match = renderedMatches[i];\n if (match.route.HydrateFallback || match.route.hydrateFallbackElement) {\n fallbackIndex = i;\n }\n if (match.route.id) {\n let { loaderData, errors: errors2 } = dataRouterState;\n let needsToRunLoader = match.route.loader && !loaderData.hasOwnProperty(match.route.id) && (!errors2 || errors2[match.route.id] === void 0);\n if (match.route.lazy || needsToRunLoader) {\n renderFallback = true;\n if (fallbackIndex >= 0) {\n renderedMatches = renderedMatches.slice(0, fallbackIndex + 1);\n } else {\n renderedMatches = [renderedMatches[0]];\n }\n break;\n }\n }\n }\n }\n return renderedMatches.reduceRight((outlet, match, index) => {\n let error;\n let shouldRenderHydrateFallback = false;\n let errorElement = null;\n let hydrateFallbackElement = null;\n if (dataRouterState) {\n error = errors && match.route.id ? errors[match.route.id] : void 0;\n errorElement = match.route.errorElement || defaultErrorElement;\n if (renderFallback) {\n if (fallbackIndex < 0 && index === 0) {\n warningOnce(\n \"route-fallback\",\n false,\n \"No `HydrateFallback` element provided to render during initial hydration\"\n );\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = null;\n } else if (fallbackIndex === index) {\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = match.route.hydrateFallbackElement || null;\n }\n }\n }\n let matches2 = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children;\n if (error) {\n children = errorElement;\n } else if (shouldRenderHydrateFallback) {\n children = hydrateFallbackElement;\n } else if (match.route.Component) {\n children = /* @__PURE__ */ React2.createElement(match.route.Component, null);\n } else if (match.route.element) {\n children = match.route.element;\n } else {\n children = outlet;\n }\n return /* @__PURE__ */ React2.createElement(\n RenderedRoute,\n {\n match,\n routeContext: {\n outlet,\n matches: matches2,\n isDataRoute: dataRouterState != null\n },\n children\n }\n );\n };\n return dataRouterState && (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? /* @__PURE__ */ React2.createElement(\n RenderErrorBoundary,\n {\n location: dataRouterState.location,\n revalidation: dataRouterState.revalidation,\n component: errorElement,\n error,\n children: getChildren(),\n routeContext: { outlet: null, matches: matches2, isDataRoute: true }\n }\n ) : getChildren();\n }, null);\n}\nfunction getDataRouterConsoleError(hookName) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`;\n}\nfunction useDataRouterContext(hookName) {\n let ctx = React2.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\nfunction useDataRouterState(hookName) {\n let state = React2.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\nfunction useRouteContext(hookName) {\n let route = React2.useContext(RouteContext);\n invariant(route, getDataRouterConsoleError(hookName));\n return route;\n}\nfunction useCurrentRouteId(hookName) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n invariant(\n thisRoute.route.id,\n `${hookName} can only be used on routes that contain a unique \"id\"`\n );\n return thisRoute.route.id;\n}\nfunction useRouteId() {\n return useCurrentRouteId(\"useRouteId\" /* UseRouteId */);\n}\nfunction useNavigation() {\n let state = useDataRouterState(\"useNavigation\" /* UseNavigation */);\n return state.navigation;\n}\nfunction useRevalidator() {\n let dataRouterContext = useDataRouterContext(\"useRevalidator\" /* UseRevalidator */);\n let state = useDataRouterState(\"useRevalidator\" /* UseRevalidator */);\n return React2.useMemo(\n () => ({\n async revalidate() {\n await dataRouterContext.router.revalidate();\n },\n state: state.revalidation\n }),\n [dataRouterContext.router, state.revalidation]\n );\n}\nfunction useMatches() {\n let { matches, loaderData } = useDataRouterState(\n \"useMatches\" /* UseMatches */\n );\n return React2.useMemo(\n () => matches.map((m) => convertRouteMatchToUiMatch(m, loaderData)),\n [matches, loaderData]\n );\n}\nfunction useLoaderData() {\n let state = useDataRouterState(\"useLoaderData\" /* UseLoaderData */);\n let routeId = useCurrentRouteId(\"useLoaderData\" /* UseLoaderData */);\n return state.loaderData[routeId];\n}\nfunction useRouteLoaderData(routeId) {\n let state = useDataRouterState(\"useRouteLoaderData\" /* UseRouteLoaderData */);\n return state.loaderData[routeId];\n}\nfunction useActionData() {\n let state = useDataRouterState(\"useActionData\" /* UseActionData */);\n let routeId = useCurrentRouteId(\"useLoaderData\" /* UseLoaderData */);\n return state.actionData ? state.actionData[routeId] : void 0;\n}\nfunction useRouteError() {\n let error = React2.useContext(RouteErrorContext);\n let state = useDataRouterState(\"useRouteError\" /* UseRouteError */);\n let routeId = useCurrentRouteId(\"useRouteError\" /* UseRouteError */);\n if (error !== void 0) {\n return error;\n }\n return state.errors?.[routeId];\n}\nfunction useAsyncValue() {\n let value = React2.useContext(AwaitContext);\n return value?._data;\n}\nfunction useAsyncError() {\n let value = React2.useContext(AwaitContext);\n return value?._error;\n}\nvar blockerId = 0;\nfunction useBlocker(shouldBlock) {\n let { router, basename } = useDataRouterContext(\"useBlocker\" /* UseBlocker */);\n let state = useDataRouterState(\"useBlocker\" /* UseBlocker */);\n let [blockerKey, setBlockerKey] = React2.useState(\"\");\n let blockerFunction = React2.useCallback(\n (arg) => {\n if (typeof shouldBlock !== \"function\") {\n return !!shouldBlock;\n }\n if (basename === \"/\") {\n return shouldBlock(arg);\n }\n let { currentLocation, nextLocation, historyAction } = arg;\n return shouldBlock({\n currentLocation: {\n ...currentLocation,\n pathname: stripBasename(currentLocation.pathname, basename) || currentLocation.pathname\n },\n nextLocation: {\n ...nextLocation,\n pathname: stripBasename(nextLocation.pathname, basename) || nextLocation.pathname\n },\n historyAction\n });\n },\n [basename, shouldBlock]\n );\n React2.useEffect(() => {\n let key = String(++blockerId);\n setBlockerKey(key);\n return () => router.deleteBlocker(key);\n }, [router]);\n React2.useEffect(() => {\n if (blockerKey !== \"\") {\n router.getBlocker(blockerKey, blockerFunction);\n }\n }, [router, blockerKey, blockerFunction]);\n return blockerKey && state.blockers.has(blockerKey) ? state.blockers.get(blockerKey) : IDLE_BLOCKER;\n}\nfunction useNavigateStable() {\n let { router } = useDataRouterContext(\"useNavigate\" /* UseNavigateStable */);\n let id = useCurrentRouteId(\"useNavigate\" /* UseNavigateStable */);\n let activeRef = React2.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n let navigate = React2.useCallback(\n async (to, options = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n router.navigate(to);\n } else {\n await router.navigate(to, { fromRouteId: id, ...options });\n }\n },\n [router, id]\n );\n return navigate;\n}\nvar alreadyWarned = {};\nfunction warningOnce(key, cond, message) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n\n// lib/server-runtime/warnings.ts\nvar alreadyWarned2 = {};\nfunction warnOnce(condition, message) {\n if (!condition && !alreadyWarned2[message]) {\n alreadyWarned2[message] = true;\n console.warn(message);\n }\n}\n\n// lib/components.tsx\nvar ENABLE_DEV_WARNINGS2 = true;\nfunction mapRouteProperties(route) {\n let updates = {\n // Note: this check also occurs in createRoutesFromChildren so update\n // there if you change this -- please and thank you!\n hasErrorBoundary: route.hasErrorBoundary || route.ErrorBoundary != null || route.errorElement != null\n };\n if (route.Component) {\n if (ENABLE_DEV_WARNINGS2) {\n if (route.element) {\n warning(\n false,\n \"You should not include both `Component` and `element` on your route - `Component` will be used.\"\n );\n }\n }\n Object.assign(updates, {\n element: React3.createElement(route.Component),\n Component: void 0\n });\n }\n if (route.HydrateFallback) {\n if (ENABLE_DEV_WARNINGS2) {\n if (route.hydrateFallbackElement) {\n warning(\n false,\n \"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used.\"\n );\n }\n }\n Object.assign(updates, {\n hydrateFallbackElement: React3.createElement(route.HydrateFallback),\n HydrateFallback: void 0\n });\n }\n if (route.ErrorBoundary) {\n if (ENABLE_DEV_WARNINGS2) {\n if (route.errorElement) {\n warning(\n false,\n \"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used.\"\n );\n }\n }\n Object.assign(updates, {\n errorElement: React3.createElement(route.ErrorBoundary),\n ErrorBoundary: void 0\n });\n }\n return updates;\n}\nfunction createMemoryRouter(routes, opts) {\n return createRouter({\n basename: opts?.basename,\n future: opts?.future,\n history: createMemoryHistory({\n initialEntries: opts?.initialEntries,\n initialIndex: opts?.initialIndex\n }),\n hydrationData: opts?.hydrationData,\n routes,\n mapRouteProperties,\n dataStrategy: opts?.dataStrategy,\n patchRoutesOnNavigation: opts?.patchRoutesOnNavigation\n }).initialize();\n}\nvar Deferred = class {\n constructor() {\n this.status = \"pending\";\n this.promise = new Promise((resolve, reject) => {\n this.resolve = (value) => {\n if (this.status === \"pending\") {\n this.status = \"resolved\";\n resolve(value);\n }\n };\n this.reject = (reason) => {\n if (this.status === \"pending\") {\n this.status = \"rejected\";\n reject(reason);\n }\n };\n });\n }\n};\nfunction RouterProvider({\n router,\n flushSync: reactDomFlushSyncImpl\n}) {\n let [state, setStateImpl] = React3.useState(router.state);\n let [pendingState, setPendingState] = React3.useState();\n let [vtContext, setVtContext] = React3.useState({\n isTransitioning: false\n });\n let [renderDfd, setRenderDfd] = React3.useState();\n let [transition, setTransition] = React3.useState();\n let [interruption, setInterruption] = React3.useState();\n let fetcherData = React3.useRef(/* @__PURE__ */ new Map());\n let setState = React3.useCallback(\n (newState, { deletedFetchers, flushSync, viewTransitionOpts }) => {\n deletedFetchers.forEach((key) => fetcherData.current.delete(key));\n newState.fetchers.forEach((fetcher, key) => {\n if (fetcher.data !== void 0) {\n fetcherData.current.set(key, fetcher.data);\n }\n });\n warnOnce(\n flushSync === false || reactDomFlushSyncImpl != null,\n 'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from \"react-router/dom\"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.'\n );\n let isViewTransitionAvailable = router.window != null && router.window.document != null && typeof router.window.document.startViewTransition === \"function\";\n warnOnce(\n viewTransitionOpts == null || isViewTransitionAvailable,\n \"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available.\"\n );\n if (!viewTransitionOpts || !isViewTransitionAvailable) {\n if (reactDomFlushSyncImpl && flushSync) {\n reactDomFlushSyncImpl(() => setStateImpl(newState));\n } else {\n React3.startTransition(() => setStateImpl(newState));\n }\n return;\n }\n if (reactDomFlushSyncImpl && flushSync) {\n reactDomFlushSyncImpl(() => {\n if (transition) {\n renderDfd && renderDfd.resolve();\n transition.skipTransition();\n }\n setVtContext({\n isTransitioning: true,\n flushSync: true,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation\n });\n });\n let t = router.window.document.startViewTransition(() => {\n reactDomFlushSyncImpl(() => setStateImpl(newState));\n });\n t.finished.finally(() => {\n reactDomFlushSyncImpl(() => {\n setRenderDfd(void 0);\n setTransition(void 0);\n setPendingState(void 0);\n setVtContext({ isTransitioning: false });\n });\n });\n reactDomFlushSyncImpl(() => setTransition(t));\n return;\n }\n if (transition) {\n renderDfd && renderDfd.resolve();\n transition.skipTransition();\n setInterruption({\n state: newState,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation\n });\n } else {\n setPendingState(newState);\n setVtContext({\n isTransitioning: true,\n flushSync: false,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation\n });\n }\n },\n [router.window, reactDomFlushSyncImpl, transition, renderDfd]\n );\n React3.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n React3.useEffect(() => {\n if (vtContext.isTransitioning && !vtContext.flushSync) {\n setRenderDfd(new Deferred());\n }\n }, [vtContext]);\n React3.useEffect(() => {\n if (renderDfd && pendingState && router.window) {\n let newState = pendingState;\n let renderPromise = renderDfd.promise;\n let transition2 = router.window.document.startViewTransition(async () => {\n React3.startTransition(() => setStateImpl(newState));\n await renderPromise;\n });\n transition2.finished.finally(() => {\n setRenderDfd(void 0);\n setTransition(void 0);\n setPendingState(void 0);\n setVtContext({ isTransitioning: false });\n });\n setTransition(transition2);\n }\n }, [pendingState, renderDfd, router.window]);\n React3.useEffect(() => {\n if (renderDfd && pendingState && state.location.key === pendingState.location.key) {\n renderDfd.resolve();\n }\n }, [renderDfd, transition, state.location, pendingState]);\n React3.useEffect(() => {\n if (!vtContext.isTransitioning && interruption) {\n setPendingState(interruption.state);\n setVtContext({\n isTransitioning: true,\n flushSync: false,\n currentLocation: interruption.currentLocation,\n nextLocation: interruption.nextLocation\n });\n setInterruption(void 0);\n }\n }, [vtContext.isTransitioning, interruption]);\n let navigator2 = React3.useMemo(() => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: (n) => router.navigate(n),\n push: (to, state2, opts) => router.navigate(to, {\n state: state2,\n preventScrollReset: opts?.preventScrollReset\n }),\n replace: (to, state2, opts) => router.navigate(to, {\n replace: true,\n state: state2,\n preventScrollReset: opts?.preventScrollReset\n })\n };\n }, [router]);\n let basename = router.basename || \"/\";\n let dataRouterContext = React3.useMemo(\n () => ({\n router,\n navigator: navigator2,\n static: false,\n basename\n }),\n [router, navigator2, basename]\n );\n return /* @__PURE__ */ React3.createElement(React3.Fragment, null, /* @__PURE__ */ React3.createElement(DataRouterContext.Provider, { value: dataRouterContext }, /* @__PURE__ */ React3.createElement(DataRouterStateContext.Provider, { value: state }, /* @__PURE__ */ React3.createElement(FetchersContext.Provider, { value: fetcherData.current }, /* @__PURE__ */ React3.createElement(ViewTransitionContext.Provider, { value: vtContext }, /* @__PURE__ */ React3.createElement(\n Router,\n {\n basename,\n location: state.location,\n navigationType: state.historyAction,\n navigator: navigator2\n },\n /* @__PURE__ */ React3.createElement(\n MemoizedDataRoutes,\n {\n routes: router.routes,\n future: router.future,\n state\n }\n )\n ))))), null);\n}\nvar MemoizedDataRoutes = React3.memo(DataRoutes);\nfunction DataRoutes({\n routes,\n future,\n state\n}) {\n return useRoutesImpl(routes, void 0, state, future);\n}\nfunction MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex\n}) {\n let historyRef = React3.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({\n initialEntries,\n initialIndex,\n v5Compat: true\n });\n }\n let history = historyRef.current;\n let [state, setStateImpl] = React3.useState({\n action: history.action,\n location: history.location\n });\n let setState = React3.useCallback(\n (newState) => {\n React3.startTransition(() => setStateImpl(newState));\n },\n [setStateImpl]\n );\n React3.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /* @__PURE__ */ React3.createElement(\n Router,\n {\n basename,\n children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n }\n );\n}\nfunction Navigate({\n to,\n replace: replace2,\n state,\n relative\n}) {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n `<Navigate> may be used only in the context of a <Router> component.`\n );\n let { static: isStatic } = React3.useContext(NavigationContext);\n warning(\n !isStatic,\n `<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.`\n );\n let { matches } = React3.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n let navigate = useNavigate();\n let path = resolveTo(\n to,\n getResolveToMatches(matches),\n locationPathname,\n relative === \"path\"\n );\n let jsonPath = JSON.stringify(path);\n React3.useEffect(() => {\n navigate(JSON.parse(jsonPath), { replace: replace2, state, relative });\n }, [navigate, jsonPath, relative, replace2, state]);\n return null;\n}\nfunction Outlet(props) {\n return useOutlet(props.context);\n}\nfunction Route(_props) {\n invariant(\n false,\n `A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.`\n );\n}\nfunction Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = \"POP\" /* Pop */,\n navigator: navigator2,\n static: staticProp = false\n}) {\n invariant(\n !useInRouterContext(),\n `You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`\n );\n let basename = basenameProp.replace(/^\\/*/, \"/\");\n let navigationContext = React3.useMemo(\n () => ({\n basename,\n navigator: navigator2,\n static: staticProp,\n future: {}\n }),\n [basename, navigator2, staticProp]\n );\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\"\n } = locationProp;\n let locationContext = React3.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n if (trailingPathname == null) {\n return null;\n }\n return {\n location: {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key\n },\n navigationType\n };\n }, [basename, pathname, search, hash, state, key, navigationType]);\n warning(\n locationContext != null,\n `<Router basename=\"${basename}\"> is not able to match the URL \"${pathname}${search}${hash}\" because it does not start with the basename, so the <Router> won't render anything.`\n );\n if (locationContext == null) {\n return null;\n }\n return /* @__PURE__ */ React3.createElement(NavigationContext.Provider, { value: navigationContext }, /* @__PURE__ */ React3.createElement(LocationContext.Provider, { children, value: locationContext }));\n}\nfunction Routes({\n children,\n location\n}) {\n return useRoutes(createRoutesFromChildren(children), location);\n}\nfunction Await({\n children,\n errorElement,\n resolve\n}) {\n return /* @__PURE__ */ React3.createElement(AwaitErrorBoundary, { resolve, errorElement }, /* @__PURE__ */ React3.createElement(ResolveAwait, null, children));\n}\nvar AwaitErrorBoundary = class extends React3.Component {\n constructor(props) {\n super(props);\n this.state = { error: null };\n }\n static getDerivedStateFromError(error) {\n return { error };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\n \"<Await> caught the following error during render\",\n error,\n errorInfo\n );\n }\n render() {\n let { children, errorElement, resolve } = this.props;\n let promise = null;\n let status = 0 /* pending */;\n if (!(resolve instanceof Promise)) {\n status = 1 /* success */;\n promise = Promise.resolve();\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n Object.defineProperty(promise, \"_data\", { get: () => resolve });\n } else if (this.state.error) {\n status = 2 /* error */;\n let renderError = this.state.error;\n promise = Promise.reject().catch(() => {\n });\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n Object.defineProperty(promise, \"_error\", { get: () => renderError });\n } else if (resolve._tracked) {\n promise = resolve;\n status = \"_error\" in promise ? 2 /* error */ : \"_data\" in promise ? 1 /* success */ : 0 /* pending */;\n } else {\n status = 0 /* pending */;\n Object.defineProperty(resolve, \"_tracked\", { get: () => true });\n promise = resolve.then(\n (data2) => Object.defineProperty(resolve, \"_data\", { get: () => data2 }),\n (error) => Object.defineProperty(resolve, \"_error\", { get: () => error })\n );\n }\n if (status === 2 /* error */ && !errorElement) {\n throw promise._error;\n }\n if (status === 2 /* error */) {\n return /* @__PURE__ */ React3.createElement(AwaitContext.Provider, { value: promise, children: errorElement });\n }\n if (status === 1 /* success */) {\n return /* @__PURE__ */ React3.createElement(AwaitContext.Provider, { value: promise, children });\n }\n throw promise;\n }\n};\nfunction ResolveAwait({\n children\n}) {\n let data2 = useAsyncValue();\n let toRender = typeof children === \"function\" ? children(data2) : children;\n return /* @__PURE__ */ React3.createElement(React3.Fragment, null, toRender);\n}\nfunction createRoutesFromChildren(children, parentPath = []) {\n let routes = [];\n React3.Children.forEach(children, (element, index) => {\n if (!React3.isValidElement(element)) {\n return;\n }\n let treePath = [...parentPath, index];\n if (element.type === React3.Fragment) {\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children, treePath)\n );\n return;\n }\n invariant(\n element.type === Route,\n `[${typeof element.type === \"string\" ? element.type : element.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`\n );\n invariant(\n !element.props.index || !element.props.children,\n \"An index route cannot have child routes.\"\n );\n let route = {\n id: element.props.id || treePath.join(\"-\"),\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n Component: element.props.Component,\n index: element.props.index,\n path: element.props.path,\n loader: element.props.loader,\n action: element.props.action,\n hydrateFallbackElement: element.props.hydrateFallbackElement,\n HydrateFallback: element.props.HydrateFallback,\n errorElement: element.props.errorElement,\n ErrorBoundary: element.props.ErrorBoundary,\n hasErrorBoundary: element.props.hasErrorBoundary === true || element.props.ErrorBoundary != null || element.props.errorElement != null,\n shouldRevalidate: element.props.shouldRevalidate,\n handle: element.props.handle,\n lazy: element.props.lazy\n };\n if (element.props.children) {\n route.children = createRoutesFromChildren(\n element.props.children,\n treePath\n );\n }\n routes.push(route);\n });\n return routes;\n}\nvar createRoutesFromElements = createRoutesFromChildren;\nfunction renderMatches(matches) {\n return _renderMatches(matches);\n}\n\n// lib/dom/lib.tsx\nimport * as React10 from \"react\";\n\n// lib/dom/dom.ts\nvar defaultMethod = \"get\";\nvar defaultEncType = \"application/x-www-form-urlencoded\";\nfunction isHtmlElement(object) {\n return object != null && typeof object.tagName === \"string\";\n}\nfunction isButtonElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\nfunction isFormElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\nfunction isInputElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\nfunction shouldProcessLinkClick(event, target) {\n return event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event);\n}\nfunction createSearchParams(init = \"\") {\n return new URLSearchParams(\n typeof init === \"string\" || Array.isArray(init) || init instanceof URLSearchParams ? init : Object.keys(init).reduce((memo2, key) => {\n let value = init[key];\n return memo2.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [])\n );\n}\nfunction getSearchParamsForLocation(locationSearch, defaultSearchParams) {\n let searchParams = createSearchParams(locationSearch);\n if (defaultSearchParams) {\n defaultSearchParams.forEach((_, key) => {\n if (!searchParams.has(key)) {\n defaultSearchParams.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n });\n }\n return searchParams;\n}\nvar _formDataSupportsSubmitter = null;\nfunction isFormDataSubmitterSupported() {\n if (_formDataSupportsSubmitter === null) {\n try {\n new FormData(\n document.createElement(\"form\"),\n // @ts-expect-error if FormData supports the submitter parameter, this will throw\n 0\n );\n _formDataSupportsSubmitter = false;\n } catch (e) {\n _formDataSupportsSubmitter = true;\n }\n }\n return _formDataSupportsSubmitter;\n}\nvar supportedFormEncTypes = /* @__PURE__ */ new Set([\n \"application/x-www-form-urlencoded\",\n \"multipart/form-data\",\n \"text/plain\"\n]);\nfunction getFormEncType(encType) {\n if (encType != null && !supportedFormEncTypes.has(encType)) {\n warning(\n false,\n `\"${encType}\" is not a valid \\`encType\\` for \\`<Form>\\`/\\`<fetcher.Form>\\` and will default to \"${defaultEncType}\"`\n );\n return null;\n }\n return encType;\n}\nfunction getFormSubmissionInfo(target, basename) {\n let method;\n let action;\n let encType;\n let formData;\n let body;\n if (isFormElement(target)) {\n let attr = target.getAttribute(\"action\");\n action = attr ? stripBasename(attr, basename) : null;\n method = target.getAttribute(\"method\") || defaultMethod;\n encType = getFormEncType(target.getAttribute(\"enctype\")) || defaultEncType;\n formData = new FormData(target);\n } else if (isButtonElement(target) || isInputElement(target) && (target.type === \"submit\" || target.type === \"image\")) {\n let form = target.form;\n if (form == null) {\n throw new Error(\n `Cannot submit a <button> or <input type=\"submit\"> without a <form>`\n );\n }\n let attr = target.getAttribute(\"formaction\") || form.getAttribute(\"action\");\n action = attr ? stripBasename(attr, basename) : null;\n method = target.getAttribute(\"formmethod\") || form.getAttribute(\"method\") || defaultMethod;\n encType = getFormEncType(target.getAttribute(\"formenctype\")) || getFormEncType(form.getAttribute(\"enctype\")) || defaultEncType;\n formData = new FormData(form, target);\n if (!isFormDataSubmitterSupported()) {\n let { name, type, value } = target;\n if (type === \"image\") {\n let prefix = name ? `${name}.` : \"\";\n formData.append(`${prefix}x`, \"0\");\n formData.append(`${prefix}y`, \"0\");\n } else if (name) {\n formData.append(name, value);\n }\n }\n } else if (isHtmlElement(target)) {\n throw new Error(\n `Cannot submit element that is not <form>, <button>, or <input type=\"submit|image\">`\n );\n } else {\n method = defaultMethod;\n action = null;\n encType = defaultEncType;\n body = target;\n }\n if (formData && encType === \"text/plain\") {\n body = formData;\n formData = void 0;\n }\n return { action, method: method.toLowerCase(), encType, formData, body };\n}\n\n// lib/dom/ssr/components.tsx\nimport * as React9 from \"react\";\n\n// lib/dom/ssr/invariant.ts\nfunction invariant2(value, message) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\n// lib/dom/ssr/routeModules.ts\nasync function loadRouteModule(route, routeModulesCache) {\n if (route.id in routeModulesCache) {\n return routeModulesCache[route.id];\n }\n try {\n let routeModule = await import(\n /* @vite-ignore */\n /* webpackIgnore: true */\n route.module\n );\n routeModulesCache[route.id] = routeModule;\n return routeModule;\n } catch (error) {\n console.error(\n `Error loading route module \\`${route.module}\\`, reloading page...`\n );\n console.error(error);\n if (window.__reactRouterContext && window.__reactRouterContext.isSpaMode && // @ts-expect-error\n import.meta.hot) {\n throw error;\n }\n window.location.reload();\n return new Promise(() => {\n });\n }\n}\n\n// lib/dom/ssr/links.ts\nfunction getKeyedLinksForMatches(matches, routeModules, manifest) {\n let descriptors = matches.map((match) => {\n let module = routeModules[match.route.id];\n let route = manifest.routes[match.route.id];\n return [\n route && route.css ? route.css.map((href) => ({ rel: \"stylesheet\", href })) : [],\n module?.links?.() || []\n ];\n }).flat(2);\n let preloads = getCurrentPageModulePreloadHrefs(matches, manifest);\n return dedupeLinkDescriptors(descriptors, preloads);\n}\nasync function prefetchStyleLinks(route, routeModule) {\n if (!route.css && !routeModule.links || !isPreloadSupported()) return;\n let descriptors = [];\n if (route.css) {\n descriptors.push(...route.css.map((href) => ({ rel: \"stylesheet\", href })));\n }\n if (routeModule.links) {\n descriptors.push(...routeModule.links());\n }\n if (descriptors.length === 0) return;\n let styleLinks = [];\n for (let descriptor of descriptors) {\n if (!isPageLinkDescriptor(descriptor) && descriptor.rel === \"stylesheet\") {\n styleLinks.push({\n ...descriptor,\n rel: \"preload\",\n as: \"style\"\n });\n }\n }\n let matchingLinks = styleLinks.filter(\n (link) => (!link.media || window.matchMedia(link.media).matches) && !document.querySelector(`link[rel=\"stylesheet\"][href=\"${link.href}\"]`)\n );\n await Promise.all(matchingLinks.map(prefetchStyleLink));\n}\nasync function prefetchStyleLink(descriptor) {\n return new Promise((resolve) => {\n let link = document.createElement(\"link\");\n Object.assign(link, descriptor);\n function removeLink() {\n if (document.head.contains(link)) {\n document.head.removeChild(link);\n }\n }\n link.onload = () => {\n removeLink();\n resolve();\n };\n link.onerror = () => {\n removeLink();\n resolve();\n };\n document.head.appendChild(link);\n });\n}\nfunction isPageLinkDescriptor(object) {\n return object != null && typeof object.page === \"string\";\n}\nfunction isHtmlLinkDescriptor(object) {\n if (object == null) {\n return false;\n }\n if (object.href == null) {\n return object.rel === \"preload\" && typeof object.imageSrcSet === \"string\" && typeof object.imageSizes === \"string\";\n }\n return typeof object.rel === \"string\" && typeof object.href === \"string\";\n}\nasync function getKeyedPrefetchLinks(matches, manifest, routeModules) {\n let links = await Promise.all(\n matches.map(async (match) => {\n let route = manifest.routes[match.route.id];\n if (route) {\n let mod = await loadRouteModule(route, routeModules);\n return mod.links ? mod.links() : [];\n }\n return [];\n })\n );\n return dedupeLinkDescriptors(\n links.flat(1).filter(isHtmlLinkDescriptor).filter((link) => link.rel === \"stylesheet\" || link.rel === \"preload\").map(\n (link) => link.rel === \"stylesheet\" ? { ...link, rel: \"prefetch\", as: \"style\" } : { ...link, rel: \"prefetch\" }\n )\n );\n}\nfunction getNewMatchesForLinks(page, nextMatches, currentMatches, manifest, location, mode) {\n let isNew = (match, index) => {\n if (!currentMatches[index]) return true;\n return match.route.id !== currentMatches[index].route.id;\n };\n let matchPathChanged = (match, index) => {\n return (\n // param change, /users/123 -> /users/456\n currentMatches[index].pathname !== match.pathname || // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n currentMatches[index].route.path?.endsWith(\"*\") && currentMatches[index].params[\"*\"] !== match.params[\"*\"]\n );\n };\n if (mode === \"assets\") {\n return nextMatches.filter(\n (match, index) => isNew(match, index) || matchPathChanged(match, index)\n );\n }\n if (mode === \"data\") {\n return nextMatches.filter((match, index) => {\n let manifestRoute = manifest.routes[match.route.id];\n if (!manifestRoute || !manifestRoute.hasLoader) {\n return false;\n }\n if (isNew(match, index) || matchPathChanged(match, index)) {\n return true;\n }\n if (match.route.shouldRevalidate) {\n let routeChoice = match.route.shouldRevalidate({\n currentUrl: new URL(\n location.pathname + location.search + location.hash,\n window.origin\n ),\n currentParams: currentMatches[0]?.params || {},\n nextUrl: new URL(page, window.origin),\n nextParams: match.params,\n defaultShouldRevalidate: true\n });\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n return true;\n });\n }\n return [];\n}\nfunction getModuleLinkHrefs(matches, manifestPatch) {\n return dedupeHrefs(\n matches.map((match) => {\n let route = manifestPatch.routes[match.route.id];\n if (!route) return [];\n let hrefs = [route.module];\n if (route.imports) {\n hrefs = hrefs.concat(route.imports);\n }\n return hrefs;\n }).flat(1)\n );\n}\nfunction getCurrentPageModulePreloadHrefs(matches, manifest) {\n return dedupeHrefs(\n matches.map((match) => {\n let route = manifest.routes[match.route.id];\n if (!route) return [];\n let hrefs = [route.module];\n if (route.imports) {\n hrefs = hrefs.concat(route.imports);\n }\n return hrefs;\n }).flat(1)\n );\n}\nfunction dedupeHrefs(hrefs) {\n return [...new Set(hrefs)];\n}\nfunction sortKeys(obj) {\n let sorted = {};\n let keys = Object.keys(obj).sort();\n for (let key of keys) {\n sorted[key] = obj[key];\n }\n return sorted;\n}\nfunction dedupeLinkDescriptors(descriptors, preloads) {\n let set = /* @__PURE__ */ new Set();\n let preloadsSet = new Set(preloads);\n return descriptors.reduce((deduped, descriptor) => {\n let alreadyModulePreload = preloads && !isPageLinkDescriptor(descriptor) && descriptor.as === \"script\" && descriptor.href && preloadsSet.has(descriptor.href);\n if (alreadyModulePreload) {\n return deduped;\n }\n let key = JSON.stringify(sortKeys(descriptor));\n if (!set.has(key)) {\n set.add(key);\n deduped.push({ key, link: descriptor });\n }\n return deduped;\n }, []);\n}\nvar _isPreloadSupported;\nfunction isPreloadSupported() {\n if (_isPreloadSupported !== void 0) {\n return _isPreloadSupported;\n }\n let el = document.createElement(\"link\");\n _isPreloadSupported = el.relList.supports(\"preload\");\n el = null;\n return _isPreloadSupported;\n}\n\n// lib/dom/ssr/markup.ts\nvar ESCAPE_LOOKUP = {\n \"&\": \"\\\\u0026\",\n \">\": \"\\\\u003e\",\n \"<\": \"\\\\u003c\",\n \"\\u2028\": \"\\\\u2028\",\n \"\\u2029\": \"\\\\u2029\"\n};\nvar ESCAPE_REGEX = /[&><\\u2028\\u2029]/g;\nfunction escapeHtml(html) {\n return html.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match]);\n}\nfunction createHtml(html) {\n return { __html: html };\n}\n\n// lib/dom/ssr/single-fetch.tsx\nimport * as React4 from \"react\";\nimport { decode } from \"turbo-stream\";\n\n// lib/dom/ssr/data.ts\nasync function createRequestInit(request) {\n let init = { signal: request.signal };\n if (request.method !== \"GET\") {\n init.method = request.method;\n let contentType = request.headers.get(\"Content-Type\");\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n init.headers = { \"Content-Type\": contentType };\n init.body = JSON.stringify(await request.json());\n } else if (contentType && /\\btext\\/plain\\b/.test(contentType)) {\n init.headers = { \"Content-Type\": contentType };\n init.body = await request.text();\n } else if (contentType && /\\bapplication\\/x-www-form-urlencoded\\b/.test(contentType)) {\n init.body = new URLSearchParams(await request.text());\n } else {\n init.body = await request.formData();\n }\n }\n return init;\n}\n\n// lib/dom/ssr/single-fetch.tsx\nvar SingleFetchRedirectSymbol = Symbol(\"SingleFetchRedirect\");\nfunction StreamTransfer({\n context,\n identifier,\n reader,\n textDecoder,\n nonce\n}) {\n if (!context.renderMeta || !context.renderMeta.didRenderScripts) {\n return null;\n }\n if (!context.renderMeta.streamCache) {\n context.renderMeta.streamCache = {};\n }\n let { streamCache } = context.renderMeta;\n let promise = streamCache[identifier];\n if (!promise) {\n promise = streamCache[identifier] = reader.read().then((result) => {\n streamCache[identifier].result = {\n done: result.done,\n value: textDecoder.decode(result.value, { stream: true })\n };\n }).catch((e) => {\n streamCache[identifier].error = e;\n });\n }\n if (promise.error) {\n throw promise.error;\n }\n if (promise.result === void 0) {\n throw promise;\n }\n let { done, value } = promise.result;\n let scriptTag = value ? /* @__PURE__ */ React4.createElement(\n \"script\",\n {\n nonce,\n dangerouslySetInnerHTML: {\n __html: `window.__reactRouterContext.streamController.enqueue(${escapeHtml(\n JSON.stringify(value)\n )});`\n }\n }\n ) : null;\n if (done) {\n return /* @__PURE__ */ React4.createElement(React4.Fragment, null, scriptTag, /* @__PURE__ */ React4.createElement(\n \"script\",\n {\n nonce,\n dangerouslySetInnerHTML: {\n __html: `window.__reactRouterContext.streamController.close();`\n }\n }\n ));\n } else {\n return /* @__PURE__ */ React4.createElement(React4.Fragment, null, scriptTag, /* @__PURE__ */ React4.createElement(React4.Suspense, null, /* @__PURE__ */ React4.createElement(\n StreamTransfer,\n {\n context,\n identifier: identifier + 1,\n reader,\n textDecoder,\n nonce\n }\n )));\n }\n}\nfunction getSingleFetchDataStrategy(manifest, routeModules, getRouter) {\n return async ({ request, matches, fetcherKey }) => {\n if (request.method !== \"GET\") {\n return singleFetchActionStrategy(request, matches);\n }\n if (fetcherKey) {\n return singleFetchLoaderFetcherStrategy(request, matches);\n }\n return singleFetchLoaderNavigationStrategy(\n manifest,\n routeModules,\n getRouter(),\n request,\n matches\n );\n };\n}\nasync function singleFetchActionStrategy(request, matches) {\n let actionMatch = matches.find((m) => m.shouldLoad);\n invariant2(actionMatch, \"No action match found\");\n let actionStatus = void 0;\n let result = await actionMatch.resolve(async (handler) => {\n let result2 = await handler(async () => {\n let url = singleFetchUrl(request.url);\n let init = await createRequestInit(request);\n let { data: data2, status } = await fetchAndDecode(url, init);\n actionStatus = status;\n return unwrapSingleFetchResult(\n data2,\n actionMatch.route.id\n );\n });\n return result2;\n });\n if (isResponse(result.result) || isRouteErrorResponse(result.result)) {\n return { [actionMatch.route.id]: result };\n }\n return {\n [actionMatch.route.id]: {\n type: result.type,\n result: data(result.result, actionStatus)\n }\n };\n}\nasync function singleFetchLoaderNavigationStrategy(manifest, routeModules, router, request, matches) {\n let routesParams = /* @__PURE__ */ new Set();\n let foundOptOutRoute = false;\n let routeDfds = matches.map(() => createDeferred2());\n let routesLoadedPromise = Promise.all(routeDfds.map((d) => d.promise));\n let singleFetchDfd = createDeferred2();\n let url = stripIndexParam(singleFetchUrl(request.url));\n let init = await createRequestInit(request);\n let results = {};\n let resolvePromise = Promise.all(\n matches.map(\n async (m, i) => m.resolve(async (handler) => {\n routeDfds[i].resolve();\n let manifestRoute = manifest.routes[m.route.id];\n if (!m.shouldLoad) {\n if (!router.state.initialized) {\n return;\n }\n if (m.route.id in router.state.loaderData && manifestRoute && manifestRoute.hasLoader && routeModules[m.route.id]?.shouldRevalidate) {\n foundOptOutRoute = true;\n return;\n }\n }\n if (manifestRoute && manifestRoute.hasClientLoader) {\n if (manifestRoute.hasLoader) {\n foundOptOutRoute = true;\n }\n try {\n let result = await fetchSingleLoader(\n handler,\n url,\n init,\n m.route.id\n );\n results[m.route.id] = { type: \"data\", result };\n } catch (e) {\n results[m.route.id] = { type: \"error\", result: e };\n }\n return;\n }\n if (manifestRoute && manifestRoute.hasLoader) {\n routesParams.add(m.route.id);\n }\n try {\n let result = await handler(async () => {\n let data2 = await singleFetchDfd.promise;\n return unwrapSingleFetchResults(data2, m.route.id);\n });\n results[m.route.id] = {\n type: \"data\",\n result\n };\n } catch (e) {\n results[m.route.id] = {\n type: \"error\",\n result: e\n };\n }\n })\n )\n );\n await routesLoadedPromise;\n if ((!router.state.initialized || routesParams.size === 0) && !window.__reactRouterHdrActive) {\n singleFetchDfd.resolve({});\n } else {\n try {\n if (foundOptOutRoute && routesParams.size > 0) {\n url.searchParams.set(\n \"_routes\",\n matches.filter((m) => routesParams.has(m.route.id)).map((m) => m.route.id).join(\",\")\n );\n }\n let data2 = await fetchAndDecode(url, init);\n singleFetchDfd.resolve(data2.data);\n } catch (e) {\n singleFetchDfd.reject(e);\n }\n }\n await resolvePromise;\n return results;\n}\nasync function singleFetchLoaderFetcherStrategy(request, matches) {\n let fetcherMatch = matches.find((m) => m.shouldLoad);\n invariant2(fetcherMatch, \"No fetcher match found\");\n let result = await fetcherMatch.resolve(async (handler) => {\n let url = stripIndexParam(singleFetchUrl(request.url));\n let init = await createRequestInit(request);\n return fetchSingleLoader(handler, url, init, fetcherMatch.route.id);\n });\n return { [fetcherMatch.route.id]: result };\n}\nfunction fetchSingleLoader(handler, url, init, routeId) {\n return handler(async () => {\n let singleLoaderUrl = new URL(url);\n singleLoaderUrl.searchParams.set(\"_routes\", routeId);\n let { data: data2 } = await fetchAndDecode(singleLoaderUrl, init);\n return unwrapSingleFetchResults(data2, routeId);\n });\n}\nfunction stripIndexParam(url) {\n let indexValues = url.searchParams.getAll(\"index\");\n url.searchParams.delete(\"index\");\n let indexValuesToKeep = [];\n for (let indexValue of indexValues) {\n if (indexValue) {\n indexValuesToKeep.push(indexValue);\n }\n }\n for (let toKeep of indexValuesToKeep) {\n url.searchParams.append(\"index\", toKeep);\n }\n return url;\n}\nfunction singleFetchUrl(reqUrl) {\n let url = typeof reqUrl === \"string\" ? new URL(\n reqUrl,\n // This can be called during the SSR flow via PrefetchPageLinksImpl so\n // don't assume window is available\n typeof window === \"undefined\" ? \"server://singlefetch/\" : window.location.origin\n ) : reqUrl;\n if (url.pathname === \"/\") {\n url.pathname = \"_root.data\";\n } else {\n url.pathname = `${url.pathname.replace(/\\/$/, \"\")}.data`;\n }\n return url;\n}\nasync function fetchAndDecode(url, init) {\n let res = await fetch(url, init);\n if (res.status === 404 && !res.headers.has(\"X-Remix-Response\")) {\n throw new ErrorResponseImpl(404, \"Not Found\", true);\n }\n invariant2(res.body, \"No response body to decode\");\n try {\n let decoded = await decodeViaTurboStream(res.body, window);\n return { status: res.status, data: decoded.value };\n } catch (e) {\n throw new Error(\"Unable to decode turbo-stream response\");\n }\n}\nfunction decodeViaTurboStream(body, global2) {\n return decode(body, {\n plugins: [\n (type, ...rest) => {\n if (type === \"SanitizedError\") {\n let [name, message, stack] = rest;\n let Constructor = Error;\n if (name && name in global2 && typeof global2[name] === \"function\") {\n Constructor = global2[name];\n }\n let error = new Constructor(message);\n error.stack = stack;\n return { value: error };\n }\n if (type === \"ErrorResponse\") {\n let [data2, status, statusText] = rest;\n return {\n value: new ErrorResponseImpl(status, statusText, data2)\n };\n }\n if (type === \"SingleFetchRedirect\") {\n return { value: { [SingleFetchRedirectSymbol]: rest[0] } };\n }\n if (type === \"SingleFetchClassInstance\") {\n return { value: rest[0] };\n }\n if (type === \"SingleFetchFallback\") {\n return { value: void 0 };\n }\n }\n ]\n });\n}\nfunction unwrapSingleFetchResults(results, routeId) {\n let redirect2 = results[SingleFetchRedirectSymbol];\n if (redirect2) {\n return unwrapSingleFetchResult(redirect2, routeId);\n }\n return results[routeId] !== void 0 ? unwrapSingleFetchResult(results[routeId], routeId) : null;\n}\nfunction unwrapSingleFetchResult(result, routeId) {\n if (\"error\" in result) {\n throw result.error;\n } else if (\"redirect\" in result) {\n let headers = {};\n if (result.revalidate) {\n headers[\"X-Remix-Revalidate\"] = \"yes\";\n }\n if (result.reload) {\n headers[\"X-Remix-Reload-Document\"] = \"yes\";\n }\n if (result.replace) {\n headers[\"X-Remix-Replace\"] = \"yes\";\n }\n throw redirect(result.redirect, { status: result.status, headers });\n } else if (\"data\" in result) {\n return result.data;\n } else {\n throw new Error(`No response found for routeId \"${routeId}\"`);\n }\n}\nfunction createDeferred2() {\n let resolve;\n let reject;\n let promise = new Promise((res, rej) => {\n resolve = async (val) => {\n res(val);\n try {\n await promise;\n } catch (e) {\n }\n };\n reject = async (error) => {\n rej(error);\n try {\n await promise;\n } catch (e) {\n }\n };\n });\n return {\n promise,\n //@ts-ignore\n resolve,\n //@ts-ignore\n reject\n };\n}\n\n// lib/dom/ssr/fog-of-war.ts\nimport * as React8 from \"react\";\n\n// lib/dom/ssr/routes.tsx\nimport * as React7 from \"react\";\n\n// lib/dom/ssr/errorBoundaries.tsx\nimport * as React5 from \"react\";\nvar RemixErrorBoundary = class extends React5.Component {\n constructor(props) {\n super(props);\n this.state = { error: props.error || null, location: props.location };\n }\n static getDerivedStateFromError(error) {\n return { error };\n }\n static getDerivedStateFromProps(props, state) {\n if (state.location !== props.location) {\n return { error: props.error || null, location: props.location };\n }\n return { error: props.error || state.error, location: state.location };\n }\n render() {\n if (this.state.error) {\n return /* @__PURE__ */ React5.createElement(\n RemixRootDefaultErrorBoundary,\n {\n error: this.state.error,\n isOutsideRemixApp: true\n }\n );\n } else {\n return this.props.children;\n }\n }\n};\nfunction RemixRootDefaultErrorBoundary({\n error,\n isOutsideRemixApp\n}) {\n console.error(error);\n let heyDeveloper = /* @__PURE__ */ React5.createElement(\n \"script\",\n {\n dangerouslySetInnerHTML: {\n __html: `\n console.log(\n \"\\u{1F4BF} Hey developer \\u{1F44B}. You can provide a way better UX than this when your app throws errors. Check out https://remix.run/guides/errors for more information.\"\n );\n `\n }\n }\n );\n if (isRouteErrorResponse(error)) {\n return /* @__PURE__ */ React5.createElement(BoundaryShell, { title: \"Unhandled Thrown Response!\" }, /* @__PURE__ */ React5.createElement(\"h1\", { style: { fontSize: \"24px\" } }, error.status, \" \", error.statusText), heyDeveloper);\n }\n let errorInstance;\n if (error instanceof Error) {\n errorInstance = error;\n } else {\n let errorString = error == null ? \"Unknown Error\" : typeof error === \"object\" && \"toString\" in error ? error.toString() : JSON.stringify(error);\n errorInstance = new Error(errorString);\n }\n return /* @__PURE__ */ React5.createElement(\n BoundaryShell,\n {\n title: \"Application Error!\",\n isOutsideRemixApp\n },\n /* @__PURE__ */ React5.createElement(\"h1\", { style: { fontSize: \"24px\" } }, \"Application Error\"),\n /* @__PURE__ */ React5.createElement(\n \"pre\",\n {\n style: {\n padding: \"2rem\",\n background: \"hsla(10, 50%, 50%, 0.1)\",\n color: \"red\",\n overflow: \"auto\"\n }\n },\n errorInstance.stack\n ),\n heyDeveloper\n );\n}\nfunction BoundaryShell({\n title,\n renderScripts,\n isOutsideRemixApp,\n children\n}) {\n let { routeModules } = useFrameworkContext();\n if (routeModules.root?.Layout && !isOutsideRemixApp) {\n return children;\n }\n return /* @__PURE__ */ React5.createElement(\"html\", { lang: \"en\" }, /* @__PURE__ */ React5.createElement(\"head\", null, /* @__PURE__ */ React5.createElement(\"meta\", { charSet: \"utf-8\" }), /* @__PURE__ */ React5.createElement(\n \"meta\",\n {\n name: \"viewport\",\n content: \"width=device-width,initial-scale=1,viewport-fit=cover\"\n }\n ), /* @__PURE__ */ React5.createElement(\"title\", null, title)), /* @__PURE__ */ React5.createElement(\"body\", null, /* @__PURE__ */ React5.createElement(\"main\", { style: { fontFamily: \"system-ui, sans-serif\", padding: \"2rem\" } }, children, renderScripts ? /* @__PURE__ */ React5.createElement(Scripts, null) : null)));\n}\n\n// lib/dom/ssr/fallback.tsx\nimport * as React6 from \"react\";\nfunction RemixRootDefaultHydrateFallback() {\n return /* @__PURE__ */ React6.createElement(BoundaryShell, { title: \"Loading...\", renderScripts: true }, /* @__PURE__ */ React6.createElement(\n \"script\",\n {\n dangerouslySetInnerHTML: {\n __html: `\n console.log(\n \"\\u{1F4BF} Hey developer \\u{1F44B}. You can provide a way better UX than this \" +\n \"when your app is loading JS modules and/or running \\`clientLoader\\` \" +\n \"functions. Check out https://remix.run/route/hydrate-fallback \" +\n \"for more information.\"\n );\n `\n }\n }\n ));\n}\n\n// lib/dom/ssr/routes.tsx\nfunction groupRoutesByParentId(manifest) {\n let routes = {};\n Object.values(manifest).forEach((route) => {\n if (route) {\n let parentId = route.parentId || \"\";\n if (!routes[parentId]) {\n routes[parentId] = [];\n }\n routes[parentId].push(route);\n }\n });\n return routes;\n}\nfunction getRouteComponents(route, routeModule, isSpaMode) {\n let Component4 = getRouteModuleComponent(routeModule);\n let HydrateFallback = routeModule.HydrateFallback && (!isSpaMode || route.id === \"root\") ? routeModule.HydrateFallback : route.id === \"root\" ? RemixRootDefaultHydrateFallback : void 0;\n let ErrorBoundary = routeModule.ErrorBoundary ? routeModule.ErrorBoundary : route.id === \"root\" ? () => /* @__PURE__ */ React7.createElement(RemixRootDefaultErrorBoundary, { error: useRouteError() }) : void 0;\n if (route.id === \"root\" && routeModule.Layout) {\n return {\n ...Component4 ? {\n element: /* @__PURE__ */ React7.createElement(routeModule.Layout, null, /* @__PURE__ */ React7.createElement(Component4, null))\n } : { Component: Component4 },\n ...ErrorBoundary ? {\n errorElement: /* @__PURE__ */ React7.createElement(routeModule.Layout, null, /* @__PURE__ */ React7.createElement(ErrorBoundary, null))\n } : { ErrorBoundary },\n ...HydrateFallback ? {\n hydrateFallbackElement: /* @__PURE__ */ React7.createElement(routeModule.Layout, null, /* @__PURE__ */ React7.createElement(HydrateFallback, null))\n } : { HydrateFallback }\n };\n }\n return { Component: Component4, ErrorBoundary, HydrateFallback };\n}\nfunction createServerRoutes(manifest, routeModules, future, isSpaMode, parentId = \"\", routesByParentId = groupRoutesByParentId(manifest), spaModeLazyPromise = Promise.resolve({ Component: () => null })) {\n return (routesByParentId[parentId] || []).map((route) => {\n let routeModule = routeModules[route.id];\n invariant2(\n routeModule,\n \"No `routeModule` available to create server routes\"\n );\n let dataRoute = {\n ...getRouteComponents(route, routeModule, isSpaMode),\n caseSensitive: route.caseSensitive,\n id: route.id,\n index: route.index,\n path: route.path,\n handle: routeModule.handle,\n // For SPA Mode, all routes are lazy except root. However we tell the\n // router root is also lazy here too since we don't need a full\n // implementation - we just need a `lazy` prop to tell the RR rendering\n // where to stop which is always at the root route in SPA mode\n lazy: isSpaMode ? () => spaModeLazyPromise : void 0,\n // For partial hydration rendering, we need to indicate when the route\n // has a loader/clientLoader, but it won't ever be called during the static\n // render, so just give it a no-op function so we can render down to the\n // proper fallback\n loader: route.hasLoader || route.hasClientLoader ? () => null : void 0\n // We don't need action/shouldRevalidate on these routes since they're\n // for a static render\n };\n let children = createServerRoutes(\n manifest,\n routeModules,\n future,\n isSpaMode,\n route.id,\n routesByParentId,\n spaModeLazyPromise\n );\n if (children.length > 0) dataRoute.children = children;\n return dataRoute;\n });\n}\nfunction createClientRoutesWithHMRRevalidationOptOut(needsRevalidation, manifest, routeModulesCache, initialState, future, isSpaMode) {\n return createClientRoutes(\n manifest,\n routeModulesCache,\n initialState,\n isSpaMode,\n \"\",\n groupRoutesByParentId(manifest),\n needsRevalidation\n );\n}\nfunction preventInvalidServerHandlerCall(type, route, isSpaMode) {\n if (isSpaMode) {\n let fn2 = type === \"action\" ? \"serverAction()\" : \"serverLoader()\";\n let msg2 = `You cannot call ${fn2} in SPA Mode (routeId: \"${route.id}\")`;\n console.error(msg2);\n throw new ErrorResponseImpl(400, \"Bad Request\", new Error(msg2), true);\n }\n let fn = type === \"action\" ? \"serverAction()\" : \"serverLoader()\";\n let msg = `You are trying to call ${fn} on a route that does not have a server ${type} (routeId: \"${route.id}\")`;\n if (type === \"loader\" && !route.hasLoader || type === \"action\" && !route.hasAction) {\n console.error(msg);\n throw new ErrorResponseImpl(400, \"Bad Request\", new Error(msg), true);\n }\n}\nfunction noActionDefinedError(type, routeId) {\n let article = type === \"clientAction\" ? \"a\" : \"an\";\n let msg = `Route \"${routeId}\" does not have ${article} ${type}, but you are trying to submit to it. To fix this, please add ${article} \\`${type}\\` function to the route`;\n console.error(msg);\n throw new ErrorResponseImpl(405, \"Method Not Allowed\", new Error(msg), true);\n}\nfunction createClientRoutes(manifest, routeModulesCache, initialState, isSpaMode, parentId = \"\", routesByParentId = groupRoutesByParentId(manifest), needsRevalidation) {\n return (routesByParentId[parentId] || []).map((route) => {\n let routeModule = routeModulesCache[route.id];\n function fetchServerHandler(singleFetch) {\n invariant2(\n typeof singleFetch === \"function\",\n \"No single fetch function available for route handler\"\n );\n return singleFetch();\n }\n function fetchServerLoader(singleFetch) {\n if (!route.hasLoader) return Promise.resolve(null);\n return fetchServerHandler(singleFetch);\n }\n function fetchServerAction(singleFetch) {\n if (!route.hasAction) {\n throw noActionDefinedError(\"action\", route.id);\n }\n return fetchServerHandler(singleFetch);\n }\n async function prefetchStylesAndCallHandler(handler) {\n let cachedModule = routeModulesCache[route.id];\n let linkPrefetchPromise = cachedModule ? prefetchStyleLinks(route, cachedModule) : Promise.resolve();\n try {\n return handler();\n } finally {\n await linkPrefetchPromise;\n }\n }\n let dataRoute = {\n id: route.id,\n index: route.index,\n path: route.path\n };\n if (routeModule) {\n Object.assign(dataRoute, {\n ...dataRoute,\n ...getRouteComponents(route, routeModule, isSpaMode),\n handle: routeModule.handle,\n shouldRevalidate: getShouldRevalidateFunction(\n routeModule,\n route.id,\n needsRevalidation\n )\n });\n let hasInitialData = initialState && initialState.loaderData && route.id in initialState.loaderData;\n let initialData = hasInitialData ? initialState?.loaderData?.[route.id] : void 0;\n let hasInitialError = initialState && initialState.errors && route.id in initialState.errors;\n let initialError = hasInitialError ? initialState?.errors?.[route.id] : void 0;\n let isHydrationRequest = needsRevalidation == null && (routeModule.clientLoader?.hydrate === true || !route.hasLoader);\n dataRoute.loader = async ({ request, params }, singleFetch) => {\n try {\n let result = await prefetchStylesAndCallHandler(async () => {\n invariant2(\n routeModule,\n \"No `routeModule` available for critical-route loader\"\n );\n if (!routeModule.clientLoader) {\n if (isSpaMode) return null;\n return fetchServerLoader(singleFetch);\n }\n return routeModule.clientLoader({\n request,\n params,\n async serverLoader() {\n preventInvalidServerHandlerCall(\"loader\", route, isSpaMode);\n if (isHydrationRequest) {\n if (hasInitialData) {\n return initialData;\n }\n if (hasInitialError) {\n throw initialError;\n }\n }\n return fetchServerLoader(singleFetch);\n }\n });\n });\n return result;\n } finally {\n isHydrationRequest = false;\n }\n };\n dataRoute.loader.hydrate = shouldHydrateRouteLoader(\n route,\n routeModule,\n isSpaMode\n );\n dataRoute.action = ({ request, params }, singleFetch) => {\n return prefetchStylesAndCallHandler(async () => {\n invariant2(\n routeModule,\n \"No `routeModule` available for critical-route action\"\n );\n if (!routeModule.clientAction) {\n if (isSpaMode) {\n throw noActionDefinedError(\"clientAction\", route.id);\n }\n return fetchServerAction(singleFetch);\n }\n return routeModule.clientAction({\n request,\n params,\n async serverAction() {\n preventInvalidServerHandlerCall(\"action\", route, isSpaMode);\n return fetchServerAction(singleFetch);\n }\n });\n });\n };\n } else {\n if (!route.hasClientLoader) {\n dataRoute.loader = ({ request }, singleFetch) => prefetchStylesAndCallHandler(() => {\n if (isSpaMode) return Promise.resolve(null);\n return fetchServerLoader(singleFetch);\n });\n }\n if (!route.hasClientAction) {\n dataRoute.action = ({ request }, singleFetch) => prefetchStylesAndCallHandler(() => {\n if (isSpaMode) {\n throw noActionDefinedError(\"clientAction\", route.id);\n }\n return fetchServerAction(singleFetch);\n });\n }\n dataRoute.lazy = async () => {\n let mod = await loadRouteModuleWithBlockingLinks(\n route,\n routeModulesCache\n );\n let lazyRoute = { ...mod };\n if (mod.clientLoader) {\n let clientLoader = mod.clientLoader;\n lazyRoute.loader = (args, singleFetch) => clientLoader({\n ...args,\n async serverLoader() {\n preventInvalidServerHandlerCall(\"loader\", route, isSpaMode);\n return fetchServerLoader(singleFetch);\n }\n });\n }\n if (mod.clientAction) {\n let clientAction = mod.clientAction;\n lazyRoute.action = (args, singleFetch) => clientAction({\n ...args,\n async serverAction() {\n preventInvalidServerHandlerCall(\"action\", route, isSpaMode);\n return fetchServerAction(singleFetch);\n }\n });\n }\n return {\n ...lazyRoute.loader ? { loader: lazyRoute.loader } : {},\n ...lazyRoute.action ? { action: lazyRoute.action } : {},\n hasErrorBoundary: lazyRoute.hasErrorBoundary,\n shouldRevalidate: getShouldRevalidateFunction(\n lazyRoute,\n route.id,\n needsRevalidation\n ),\n handle: lazyRoute.handle,\n // No need to wrap these in layout since the root route is never\n // loaded via route.lazy()\n Component: lazyRoute.Component,\n ErrorBoundary: lazyRoute.ErrorBoundary\n };\n };\n }\n let children = createClientRoutes(\n manifest,\n routeModulesCache,\n initialState,\n isSpaMode,\n route.id,\n routesByParentId,\n needsRevalidation\n );\n if (children.length > 0) dataRoute.children = children;\n return dataRoute;\n });\n}\nfunction getShouldRevalidateFunction(route, routeId, needsRevalidation) {\n if (needsRevalidation) {\n return wrapShouldRevalidateForHdr(\n routeId,\n route.shouldRevalidate,\n needsRevalidation\n );\n }\n if (route.shouldRevalidate) {\n let fn = route.shouldRevalidate;\n return (opts) => fn({ ...opts, defaultShouldRevalidate: true });\n }\n return route.shouldRevalidate;\n}\nfunction wrapShouldRevalidateForHdr(routeId, routeShouldRevalidate, needsRevalidation) {\n let handledRevalidation = false;\n return (arg) => {\n if (!handledRevalidation) {\n handledRevalidation = true;\n return needsRevalidation.has(routeId);\n }\n return routeShouldRevalidate ? routeShouldRevalidate(arg) : arg.defaultShouldRevalidate;\n };\n}\nasync function loadRouteModuleWithBlockingLinks(route, routeModules) {\n let routeModule = await loadRouteModule(route, routeModules);\n await prefetchStyleLinks(route, routeModule);\n return {\n Component: getRouteModuleComponent(routeModule),\n ErrorBoundary: routeModule.ErrorBoundary,\n clientAction: routeModule.clientAction,\n clientLoader: routeModule.clientLoader,\n handle: routeModule.handle,\n links: routeModule.links,\n meta: routeModule.meta,\n shouldRevalidate: routeModule.shouldRevalidate\n };\n}\nfunction getRouteModuleComponent(routeModule) {\n if (routeModule.default == null) return void 0;\n let isEmptyObject = typeof routeModule.default === \"object\" && Object.keys(routeModule.default).length === 0;\n if (!isEmptyObject) {\n return routeModule.default;\n }\n}\nfunction shouldHydrateRouteLoader(route, routeModule, isSpaMode) {\n return isSpaMode && route.id !== \"root\" || routeModule.clientLoader != null && (routeModule.clientLoader.hydrate === true || route.hasLoader !== true);\n}\n\n// lib/dom/ssr/fog-of-war.ts\nvar nextPaths = /* @__PURE__ */ new Set();\nvar discoveredPathsMaxSize = 1e3;\nvar discoveredPaths = /* @__PURE__ */ new Set();\nvar URL_LIMIT = 7680;\nfunction isFogOfWarEnabled(isSpaMode) {\n return !isSpaMode;\n}\nfunction getPartialManifest(manifest, router) {\n let routeIds = new Set(router.state.matches.map((m) => m.route.id));\n let segments = router.state.location.pathname.split(\"/\").filter(Boolean);\n let paths = [\"/\"];\n segments.pop();\n while (segments.length > 0) {\n paths.push(`/${segments.join(\"/\")}`);\n segments.pop();\n }\n paths.forEach((path) => {\n let matches = matchRoutes(router.routes, path, router.basename);\n if (matches) {\n matches.forEach((m) => routeIds.add(m.route.id));\n }\n });\n let initialRoutes = [...routeIds].reduce(\n (acc, id) => Object.assign(acc, { [id]: manifest.routes[id] }),\n {}\n );\n return {\n ...manifest,\n routes: initialRoutes\n };\n}\nfunction getPatchRoutesOnNavigationFunction(manifest, routeModules, isSpaMode, basename) {\n if (!isFogOfWarEnabled(isSpaMode)) {\n return void 0;\n }\n return async ({ path, patch }) => {\n if (discoveredPaths.has(path)) {\n return;\n }\n await fetchAndApplyManifestPatches(\n [path],\n manifest,\n routeModules,\n isSpaMode,\n basename,\n patch\n );\n };\n}\nfunction useFogOFWarDiscovery(router, manifest, routeModules, isSpaMode) {\n React8.useEffect(() => {\n if (!isFogOfWarEnabled(isSpaMode) || navigator.connection?.saveData === true) {\n return;\n }\n function registerElement(el) {\n let path = el.tagName === \"FORM\" ? el.getAttribute(\"action\") : el.getAttribute(\"href\");\n if (!path) {\n return;\n }\n let url = new URL(path, window.location.origin);\n if (!discoveredPaths.has(url.pathname)) {\n nextPaths.add(url.pathname);\n }\n }\n async function fetchPatches() {\n let lazyPaths = Array.from(nextPaths.keys()).filter((path) => {\n if (discoveredPaths.has(path)) {\n nextPaths.delete(path);\n return false;\n }\n return true;\n });\n if (lazyPaths.length === 0) {\n return;\n }\n try {\n await fetchAndApplyManifestPatches(\n lazyPaths,\n manifest,\n routeModules,\n isSpaMode,\n router.basename,\n router.patchRoutes\n );\n } catch (e) {\n console.error(\"Failed to fetch manifest patches\", e);\n }\n }\n document.body.querySelectorAll(\"a[data-discover], form[data-discover]\").forEach((el) => registerElement(el));\n fetchPatches();\n let debouncedFetchPatches = debounce(fetchPatches, 100);\n function isElement(node) {\n return node.nodeType === Node.ELEMENT_NODE;\n }\n let observer = new MutationObserver((records) => {\n let elements = /* @__PURE__ */ new Set();\n records.forEach((r) => {\n [r.target, ...r.addedNodes].forEach((node) => {\n if (!isElement(node)) return;\n if (node.tagName === \"A\" && node.getAttribute(\"data-discover\")) {\n elements.add(node);\n } else if (node.tagName === \"FORM\" && node.getAttribute(\"data-discover\")) {\n elements.add(node);\n }\n if (node.tagName !== \"A\") {\n node.querySelectorAll(\"a[data-discover], form[data-discover]\").forEach((el) => elements.add(el));\n }\n });\n });\n elements.forEach((el) => registerElement(el));\n debouncedFetchPatches();\n });\n observer.observe(document.documentElement, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: [\"data-discover\", \"href\", \"action\"]\n });\n return () => observer.disconnect();\n }, [isSpaMode, manifest, routeModules, router]);\n}\nasync function fetchAndApplyManifestPatches(paths, manifest, routeModules, isSpaMode, basename, patchRoutes) {\n let manifestPath = `${basename != null ? basename : \"/\"}/__manifest`.replace(\n /\\/+/g,\n \"/\"\n );\n let url = new URL(manifestPath, window.location.origin);\n paths.sort().forEach((path) => url.searchParams.append(\"p\", path));\n url.searchParams.set(\"version\", manifest.version);\n if (url.toString().length > URL_LIMIT) {\n nextPaths.clear();\n return;\n }\n let res = await fetch(url);\n if (!res.ok) {\n throw new Error(`${res.status} ${res.statusText}`);\n } else if (res.status >= 400) {\n throw new Error(await res.text());\n }\n let serverPatches = await res.json();\n let knownRoutes = new Set(Object.keys(manifest.routes));\n let patches = Object.values(serverPatches).reduce((acc, route) => {\n if (route && !knownRoutes.has(route.id)) {\n acc[route.id] = route;\n }\n return acc;\n }, {});\n Object.assign(manifest.routes, patches);\n paths.forEach((p) => addToFifoQueue(p, discoveredPaths));\n let parentIds = /* @__PURE__ */ new Set();\n Object.values(patches).forEach((patch) => {\n if (patch && (!patch.parentId || !patches[patch.parentId])) {\n parentIds.add(patch.parentId);\n }\n });\n parentIds.forEach(\n (parentId) => patchRoutes(\n parentId || null,\n createClientRoutes(patches, routeModules, null, isSpaMode, parentId)\n )\n );\n}\nfunction addToFifoQueue(path, queue) {\n if (queue.size >= discoveredPathsMaxSize) {\n let first = queue.values().next().value;\n queue.delete(first);\n }\n queue.add(path);\n}\nfunction debounce(callback, wait) {\n let timeoutId;\n return (...args) => {\n window.clearTimeout(timeoutId);\n timeoutId = window.setTimeout(() => callback(...args), wait);\n };\n}\n\n// lib/dom/ssr/components.tsx\nfunction useDataRouterContext2() {\n let context = React9.useContext(DataRouterContext);\n invariant2(\n context,\n \"You must render this element inside a <DataRouterContext.Provider> element\"\n );\n return context;\n}\nfunction useDataRouterStateContext() {\n let context = React9.useContext(DataRouterStateContext);\n invariant2(\n context,\n \"You must render this element inside a <DataRouterStateContext.Provider> element\"\n );\n return context;\n}\nvar FrameworkContext = React9.createContext(void 0);\nFrameworkContext.displayName = \"FrameworkContext\";\nfunction useFrameworkContext() {\n let context = React9.useContext(FrameworkContext);\n invariant2(\n context,\n \"You must render this element inside a <HydratedRouter> element\"\n );\n return context;\n}\nfunction usePrefetchBehavior(prefetch, theirElementProps) {\n let frameworkContext = React9.useContext(FrameworkContext);\n let [maybePrefetch, setMaybePrefetch] = React9.useState(false);\n let [shouldPrefetch, setShouldPrefetch] = React9.useState(false);\n let { onFocus, onBlur, onMouseEnter, onMouseLeave, onTouchStart } = theirElementProps;\n let ref = React9.useRef(null);\n React9.useEffect(() => {\n if (prefetch === \"render\") {\n setShouldPrefetch(true);\n }\n if (prefetch === \"viewport\") {\n let callback = (entries) => {\n entries.forEach((entry) => {\n setShouldPrefetch(entry.isIntersecting);\n });\n };\n let observer = new IntersectionObserver(callback, { threshold: 0.5 });\n if (ref.current) observer.observe(ref.current);\n return () => {\n observer.disconnect();\n };\n }\n }, [prefetch]);\n React9.useEffect(() => {\n if (maybePrefetch) {\n let id = setTimeout(() => {\n setShouldPrefetch(true);\n }, 100);\n return () => {\n clearTimeout(id);\n };\n }\n }, [maybePrefetch]);\n let setIntent = () => {\n setMaybePrefetch(true);\n };\n let cancelIntent = () => {\n setMaybePrefetch(false);\n setShouldPrefetch(false);\n };\n if (!frameworkContext) {\n return [false, ref, {}];\n }\n if (prefetch !== \"intent\") {\n return [shouldPrefetch, ref, {}];\n }\n return [\n shouldPrefetch,\n ref,\n {\n onFocus: composeEventHandlers(onFocus, setIntent),\n onBlur: composeEventHandlers(onBlur, cancelIntent),\n onMouseEnter: composeEventHandlers(onMouseEnter, setIntent),\n onMouseLeave: composeEventHandlers(onMouseLeave, cancelIntent),\n onTouchStart: composeEventHandlers(onTouchStart, setIntent)\n }\n ];\n}\nfunction composeEventHandlers(theirHandler, ourHandler) {\n return (event) => {\n theirHandler && theirHandler(event);\n if (!event.defaultPrevented) {\n ourHandler(event);\n }\n };\n}\nfunction getActiveMatches(matches, errors, isSpaMode) {\n if (isSpaMode && !isHydrated) {\n return [matches[0]];\n }\n if (errors) {\n let errorIdx = matches.findIndex((m) => errors[m.route.id] !== void 0);\n return matches.slice(0, errorIdx + 1);\n }\n return matches;\n}\nfunction Links() {\n let { isSpaMode, manifest, routeModules, criticalCss } = useFrameworkContext();\n let { errors, matches: routerMatches } = useDataRouterStateContext();\n let matches = getActiveMatches(routerMatches, errors, isSpaMode);\n let keyedLinks = React9.useMemo(\n () => getKeyedLinksForMatches(matches, routeModules, manifest),\n [matches, routeModules, manifest]\n );\n return /* @__PURE__ */ React9.createElement(React9.Fragment, null, criticalCss ? /* @__PURE__ */ React9.createElement(\"style\", { dangerouslySetInnerHTML: { __html: criticalCss } }) : null, keyedLinks.map(\n ({ key, link }) => isPageLinkDescriptor(link) ? /* @__PURE__ */ React9.createElement(PrefetchPageLinks, { key, ...link }) : /* @__PURE__ */ React9.createElement(\"link\", { key, ...link })\n ));\n}\nfunction PrefetchPageLinks({\n page,\n ...dataLinkProps\n}) {\n let { router } = useDataRouterContext2();\n let matches = React9.useMemo(\n () => matchRoutes(router.routes, page, router.basename),\n [router.routes, page, router.basename]\n );\n if (!matches) {\n return null;\n }\n return /* @__PURE__ */ React9.createElement(PrefetchPageLinksImpl, { page, matches, ...dataLinkProps });\n}\nfunction useKeyedPrefetchLinks(matches) {\n let { manifest, routeModules } = useFrameworkContext();\n let [keyedPrefetchLinks, setKeyedPrefetchLinks] = React9.useState([]);\n React9.useEffect(() => {\n let interrupted = false;\n void getKeyedPrefetchLinks(matches, manifest, routeModules).then(\n (links) => {\n if (!interrupted) {\n setKeyedPrefetchLinks(links);\n }\n }\n );\n return () => {\n interrupted = true;\n };\n }, [matches, manifest, routeModules]);\n return keyedPrefetchLinks;\n}\nfunction PrefetchPageLinksImpl({\n page,\n matches: nextMatches,\n ...linkProps\n}) {\n let location = useLocation();\n let { manifest, routeModules } = useFrameworkContext();\n let { loaderData, matches } = useDataRouterStateContext();\n let newMatchesForData = React9.useMemo(\n () => getNewMatchesForLinks(\n page,\n nextMatches,\n matches,\n manifest,\n location,\n \"data\"\n ),\n [page, nextMatches, matches, manifest, location]\n );\n let newMatchesForAssets = React9.useMemo(\n () => getNewMatchesForLinks(\n page,\n nextMatches,\n matches,\n manifest,\n location,\n \"assets\"\n ),\n [page, nextMatches, matches, manifest, location]\n );\n let dataHrefs = React9.useMemo(() => {\n if (page === location.pathname + location.search + location.hash) {\n return [];\n }\n let routesParams = /* @__PURE__ */ new Set();\n let foundOptOutRoute = false;\n nextMatches.forEach((m) => {\n let manifestRoute = manifest.routes[m.route.id];\n if (!manifestRoute || !manifestRoute.hasLoader) {\n return;\n }\n if (!newMatchesForData.some((m2) => m2.route.id === m.route.id) && m.route.id in loaderData && routeModules[m.route.id]?.shouldRevalidate) {\n foundOptOutRoute = true;\n } else if (manifestRoute.hasClientLoader) {\n foundOptOutRoute = true;\n } else {\n routesParams.add(m.route.id);\n }\n });\n if (routesParams.size === 0) {\n return [];\n }\n let url = singleFetchUrl(page);\n if (foundOptOutRoute && routesParams.size > 0) {\n url.searchParams.set(\n \"_routes\",\n nextMatches.filter((m) => routesParams.has(m.route.id)).map((m) => m.route.id).join(\",\")\n );\n }\n return [url.pathname + url.search];\n }, [\n loaderData,\n location,\n manifest,\n newMatchesForData,\n nextMatches,\n page,\n routeModules\n ]);\n let moduleHrefs = React9.useMemo(\n () => getModuleLinkHrefs(newMatchesForAssets, manifest),\n [newMatchesForAssets, manifest]\n );\n let keyedPrefetchLinks = useKeyedPrefetchLinks(newMatchesForAssets);\n return /* @__PURE__ */ React9.createElement(React9.Fragment, null, dataHrefs.map((href) => /* @__PURE__ */ React9.createElement(\"link\", { key: href, rel: \"prefetch\", as: \"fetch\", href, ...linkProps })), moduleHrefs.map((href) => /* @__PURE__ */ React9.createElement(\"link\", { key: href, rel: \"modulepreload\", href, ...linkProps })), keyedPrefetchLinks.map(({ key, link }) => (\n // these don't spread `linkProps` because they are full link descriptors\n // already with their own props\n /* @__PURE__ */ React9.createElement(\"link\", { key, ...link })\n )));\n}\nfunction Meta() {\n let { isSpaMode, routeModules } = useFrameworkContext();\n let {\n errors,\n matches: routerMatches,\n loaderData\n } = useDataRouterStateContext();\n let location = useLocation();\n let _matches = getActiveMatches(routerMatches, errors, isSpaMode);\n let error = null;\n if (errors) {\n error = errors[_matches[_matches.length - 1].route.id];\n }\n let meta = [];\n let leafMeta = null;\n let matches = [];\n for (let i = 0; i < _matches.length; i++) {\n let _match = _matches[i];\n let routeId = _match.route.id;\n let data2 = loaderData[routeId];\n let params = _match.params;\n let routeModule = routeModules[routeId];\n let routeMeta = [];\n let match = {\n id: routeId,\n data: data2,\n meta: [],\n params: _match.params,\n pathname: _match.pathname,\n handle: _match.route.handle,\n error\n };\n matches[i] = match;\n if (routeModule?.meta) {\n routeMeta = typeof routeModule.meta === \"function\" ? routeModule.meta({\n data: data2,\n params,\n location,\n matches,\n error\n }) : Array.isArray(routeModule.meta) ? [...routeModule.meta] : routeModule.meta;\n } else if (leafMeta) {\n routeMeta = [...leafMeta];\n }\n routeMeta = routeMeta || [];\n if (!Array.isArray(routeMeta)) {\n throw new Error(\n \"The route at \" + _match.route.path + \" returns an invalid value. All route meta functions must return an array of meta objects.\\n\\nTo reference the meta function API, see https://remix.run/route/meta\"\n );\n }\n match.meta = routeMeta;\n matches[i] = match;\n meta = [...routeMeta];\n leafMeta = meta;\n }\n return /* @__PURE__ */ React9.createElement(React9.Fragment, null, meta.flat().map((metaProps) => {\n if (!metaProps) {\n return null;\n }\n if (\"tagName\" in metaProps) {\n let { tagName, ...rest } = metaProps;\n if (!isValidMetaTag(tagName)) {\n console.warn(\n `A meta object uses an invalid tagName: ${tagName}. Expected either 'link' or 'meta'`\n );\n return null;\n }\n let Comp = tagName;\n return /* @__PURE__ */ React9.createElement(Comp, { key: JSON.stringify(rest), ...rest });\n }\n if (\"title\" in metaProps) {\n return /* @__PURE__ */ React9.createElement(\"title\", { key: \"title\" }, String(metaProps.title));\n }\n if (\"charset\" in metaProps) {\n metaProps.charSet ?? (metaProps.charSet = metaProps.charset);\n delete metaProps.charset;\n }\n if (\"charSet\" in metaProps && metaProps.charSet != null) {\n return typeof metaProps.charSet === \"string\" ? /* @__PURE__ */ React9.createElement(\"meta\", { key: \"charSet\", charSet: metaProps.charSet }) : null;\n }\n if (\"script:ld+json\" in metaProps) {\n try {\n let json = JSON.stringify(metaProps[\"script:ld+json\"]);\n return /* @__PURE__ */ React9.createElement(\n \"script\",\n {\n key: `script:ld+json:${json}`,\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: { __html: json }\n }\n );\n } catch (err) {\n return null;\n }\n }\n return /* @__PURE__ */ React9.createElement(\"meta\", { key: JSON.stringify(metaProps), ...metaProps });\n }));\n}\nfunction isValidMetaTag(tagName) {\n return typeof tagName === \"string\" && /^(meta|link)$/.test(tagName);\n}\nvar isHydrated = false;\nfunction Scripts(props) {\n let { manifest, serverHandoffString, isSpaMode, renderMeta } = useFrameworkContext();\n let { router, static: isStatic, staticContext } = useDataRouterContext2();\n let { matches: routerMatches } = useDataRouterStateContext();\n let enableFogOfWar = isFogOfWarEnabled(isSpaMode);\n if (renderMeta) {\n renderMeta.didRenderScripts = true;\n }\n let matches = getActiveMatches(routerMatches, null, isSpaMode);\n React9.useEffect(() => {\n isHydrated = true;\n }, []);\n let initialScripts = React9.useMemo(() => {\n let streamScript = \"window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());\";\n let contextScript = staticContext ? `window.__reactRouterContext = ${serverHandoffString};${streamScript}` : \" \";\n let routeModulesScript = !isStatic ? \" \" : `${manifest.hmr?.runtime ? `import ${JSON.stringify(manifest.hmr.runtime)};` : \"\"}${!enableFogOfWar ? `import ${JSON.stringify(manifest.url)}` : \"\"};\n${matches.map(\n (match, index) => `import * as route${index} from ${JSON.stringify(\n manifest.routes[match.route.id].module\n )};`\n ).join(\"\\n\")}\n ${enableFogOfWar ? (\n // Inline a minimal manifest with the SSR matches\n `window.__reactRouterManifest = ${JSON.stringify(\n getPartialManifest(manifest, router),\n null,\n 2\n )};`\n ) : \"\"}\n window.__reactRouterRouteModules = {${matches.map((match, index) => `${JSON.stringify(match.route.id)}:route${index}`).join(\",\")}};\n\nimport(${JSON.stringify(manifest.entry.module)});`;\n return /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement(\n \"script\",\n {\n ...props,\n suppressHydrationWarning: true,\n dangerouslySetInnerHTML: createHtml(contextScript),\n type: void 0\n }\n ), /* @__PURE__ */ React9.createElement(\n \"script\",\n {\n ...props,\n suppressHydrationWarning: true,\n dangerouslySetInnerHTML: createHtml(routeModulesScript),\n type: \"module\",\n async: true\n }\n ));\n }, []);\n let routePreloads = matches.map((match) => {\n let route = manifest.routes[match.route.id];\n return route ? (route.imports || []).concat([route.module]) : [];\n }).flat(1);\n let preloads = isHydrated ? [] : manifest.entry.imports.concat(routePreloads);\n return isHydrated ? null : /* @__PURE__ */ React9.createElement(React9.Fragment, null, !enableFogOfWar ? /* @__PURE__ */ React9.createElement(\n \"link\",\n {\n rel: \"modulepreload\",\n href: manifest.url,\n crossOrigin: props.crossOrigin\n }\n ) : null, /* @__PURE__ */ React9.createElement(\n \"link\",\n {\n rel: \"modulepreload\",\n href: manifest.entry.module,\n crossOrigin: props.crossOrigin\n }\n ), dedupe(preloads).map((path) => /* @__PURE__ */ React9.createElement(\n \"link\",\n {\n key: path,\n rel: \"modulepreload\",\n href: path,\n crossOrigin: props.crossOrigin\n }\n )), initialScripts);\n}\nfunction dedupe(array) {\n return [...new Set(array)];\n}\nfunction mergeRefs(...refs) {\n return (value) => {\n refs.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref != null) {\n ref.current = value;\n }\n });\n };\n}\n\n// lib/dom/lib.tsx\nvar isBrowser = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\";\ntry {\n if (isBrowser) {\n window.__reactRouterVersion = \"7.1.1\";\n }\n} catch (e) {\n}\nfunction createBrowserRouter(routes, opts) {\n return createRouter({\n basename: opts?.basename,\n future: opts?.future,\n history: createBrowserHistory({ window: opts?.window }),\n hydrationData: opts?.hydrationData || parseHydrationData(),\n routes,\n mapRouteProperties,\n dataStrategy: opts?.dataStrategy,\n patchRoutesOnNavigation: opts?.patchRoutesOnNavigation,\n window: opts?.window\n }).initialize();\n}\nfunction createHashRouter(routes, opts) {\n return createRouter({\n basename: opts?.basename,\n future: opts?.future,\n history: createHashHistory({ window: opts?.window }),\n hydrationData: opts?.hydrationData || parseHydrationData(),\n routes,\n mapRouteProperties,\n dataStrategy: opts?.dataStrategy,\n patchRoutesOnNavigation: opts?.patchRoutesOnNavigation,\n window: opts?.window\n }).initialize();\n}\nfunction parseHydrationData() {\n let state = window?.__staticRouterHydrationData;\n if (state && state.errors) {\n state = {\n ...state,\n errors: deserializeErrors(state.errors)\n };\n }\n return state;\n}\nfunction deserializeErrors(errors) {\n if (!errors) return null;\n let entries = Object.entries(errors);\n let serialized = {};\n for (let [key, val] of entries) {\n if (val && val.__type === \"RouteErrorResponse\") {\n serialized[key] = new ErrorResponseImpl(\n val.status,\n val.statusText,\n val.data,\n val.internal === true\n );\n } else if (val && val.__type === \"Error\") {\n if (val.__subType) {\n let ErrorConstructor = window[val.__subType];\n if (typeof ErrorConstructor === \"function\") {\n try {\n let error = new ErrorConstructor(val.message);\n error.stack = \"\";\n serialized[key] = error;\n } catch (e) {\n }\n }\n }\n if (serialized[key] == null) {\n let error = new Error(val.message);\n error.stack = \"\";\n serialized[key] = error;\n }\n } else {\n serialized[key] = val;\n }\n }\n return serialized;\n}\nfunction BrowserRouter({\n basename,\n children,\n window: window2\n}) {\n let historyRef = React10.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window: window2, v5Compat: true });\n }\n let history = historyRef.current;\n let [state, setStateImpl] = React10.useState({\n action: history.action,\n location: history.location\n });\n let setState = React10.useCallback(\n (newState) => {\n React10.startTransition(() => setStateImpl(newState));\n },\n [setStateImpl]\n );\n React10.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /* @__PURE__ */ React10.createElement(\n Router,\n {\n basename,\n children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n }\n );\n}\nfunction HashRouter({ basename, children, window: window2 }) {\n let historyRef = React10.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window: window2, v5Compat: true });\n }\n let history = historyRef.current;\n let [state, setStateImpl] = React10.useState({\n action: history.action,\n location: history.location\n });\n let setState = React10.useCallback(\n (newState) => {\n React10.startTransition(() => setStateImpl(newState));\n },\n [setStateImpl]\n );\n React10.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /* @__PURE__ */ React10.createElement(\n Router,\n {\n basename,\n children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n }\n );\n}\nfunction HistoryRouter({\n basename,\n children,\n history\n}) {\n let [state, setStateImpl] = React10.useState({\n action: history.action,\n location: history.location\n });\n let setState = React10.useCallback(\n (newState) => {\n React10.startTransition(() => setStateImpl(newState));\n },\n [setStateImpl]\n );\n React10.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /* @__PURE__ */ React10.createElement(\n Router,\n {\n basename,\n children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n }\n );\n}\nHistoryRouter.displayName = \"unstable_HistoryRouter\";\nvar ABSOLUTE_URL_REGEX2 = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\nvar Link = React10.forwardRef(\n function LinkWithRef({\n onClick,\n discover = \"render\",\n prefetch = \"none\",\n relative,\n reloadDocument,\n replace: replace2,\n state,\n target,\n to,\n preventScrollReset,\n viewTransition,\n ...rest\n }, forwardedRef) {\n let { basename } = React10.useContext(NavigationContext);\n let isAbsolute = typeof to === \"string\" && ABSOLUTE_URL_REGEX2.test(to);\n let absoluteHref;\n let isExternal = false;\n if (typeof to === \"string\" && isAbsolute) {\n absoluteHref = to;\n if (isBrowser) {\n try {\n let currentUrl = new URL(window.location.href);\n let targetUrl = to.startsWith(\"//\") ? new URL(currentUrl.protocol + to) : new URL(to);\n let path = stripBasename(targetUrl.pathname, basename);\n if (targetUrl.origin === currentUrl.origin && path != null) {\n to = path + targetUrl.search + targetUrl.hash;\n } else {\n isExternal = true;\n }\n } catch (e) {\n warning(\n false,\n `<Link to=\"${to}\"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`\n );\n }\n }\n }\n let href = useHref(to, { relative });\n let [shouldPrefetch, prefetchRef, prefetchHandlers] = usePrefetchBehavior(\n prefetch,\n rest\n );\n let internalOnClick = useLinkClickHandler(to, {\n replace: replace2,\n state,\n target,\n preventScrollReset,\n relative,\n viewTransition\n });\n function handleClick(event) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented) {\n internalOnClick(event);\n }\n }\n let link = (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n /* @__PURE__ */ React10.createElement(\n \"a\",\n {\n ...rest,\n ...prefetchHandlers,\n href: absoluteHref || href,\n onClick: isExternal || reloadDocument ? onClick : handleClick,\n ref: mergeRefs(forwardedRef, prefetchRef),\n target,\n \"data-discover\": !isAbsolute && discover === \"render\" ? \"true\" : void 0\n }\n )\n );\n return shouldPrefetch && !isAbsolute ? /* @__PURE__ */ React10.createElement(React10.Fragment, null, link, /* @__PURE__ */ React10.createElement(PrefetchPageLinks, { page: href })) : link;\n }\n);\nLink.displayName = \"Link\";\nvar NavLink = React10.forwardRef(\n function NavLinkWithRef({\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n viewTransition,\n children,\n ...rest\n }, ref) {\n let path = useResolvedPath(to, { relative: rest.relative });\n let location = useLocation();\n let routerState = React10.useContext(DataRouterStateContext);\n let { navigator: navigator2, basename } = React10.useContext(NavigationContext);\n let isTransitioning = routerState != null && // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useViewTransitionState(path) && viewTransition === true;\n let toPathname = navigator2.encodeLocation ? navigator2.encodeLocation(path).pathname : path.pathname;\n let locationPathname = location.pathname;\n let nextLocationPathname = routerState && routerState.navigation && routerState.navigation.location ? routerState.navigation.location.pathname : null;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n nextLocationPathname = nextLocationPathname ? nextLocationPathname.toLowerCase() : null;\n toPathname = toPathname.toLowerCase();\n }\n if (nextLocationPathname && basename) {\n nextLocationPathname = stripBasename(nextLocationPathname, basename) || nextLocationPathname;\n }\n const endSlashPosition = toPathname !== \"/\" && toPathname.endsWith(\"/\") ? toPathname.length - 1 : toPathname.length;\n let isActive = locationPathname === toPathname || !end && locationPathname.startsWith(toPathname) && locationPathname.charAt(endSlashPosition) === \"/\";\n let isPending = nextLocationPathname != null && (nextLocationPathname === toPathname || !end && nextLocationPathname.startsWith(toPathname) && nextLocationPathname.charAt(toPathname.length) === \"/\");\n let renderProps = {\n isActive,\n isPending,\n isTransitioning\n };\n let ariaCurrent = isActive ? ariaCurrentProp : void 0;\n let className;\n if (typeof classNameProp === \"function\") {\n className = classNameProp(renderProps);\n } else {\n className = [\n classNameProp,\n isActive ? \"active\" : null,\n isPending ? \"pending\" : null,\n isTransitioning ? \"transitioning\" : null\n ].filter(Boolean).join(\" \");\n }\n let style = typeof styleProp === \"function\" ? styleProp(renderProps) : styleProp;\n return /* @__PURE__ */ React10.createElement(\n Link,\n {\n ...rest,\n \"aria-current\": ariaCurrent,\n className,\n ref,\n style,\n to,\n viewTransition\n },\n typeof children === \"function\" ? children(renderProps) : children\n );\n }\n);\nNavLink.displayName = \"NavLink\";\nvar Form = React10.forwardRef(\n ({\n discover = \"render\",\n fetcherKey,\n navigate,\n reloadDocument,\n replace: replace2,\n state,\n method = defaultMethod,\n action,\n onSubmit,\n relative,\n preventScrollReset,\n viewTransition,\n ...props\n }, forwardedRef) => {\n let submit = useSubmit();\n let formAction = useFormAction(action, { relative });\n let formMethod = method.toLowerCase() === \"get\" ? \"get\" : \"post\";\n let isAbsolute = typeof action === \"string\" && ABSOLUTE_URL_REGEX2.test(action);\n let submitHandler = (event) => {\n onSubmit && onSubmit(event);\n if (event.defaultPrevented) return;\n event.preventDefault();\n let submitter = event.nativeEvent.submitter;\n let submitMethod = submitter?.getAttribute(\"formmethod\") || method;\n submit(submitter || event.currentTarget, {\n fetcherKey,\n method: submitMethod,\n navigate,\n replace: replace2,\n state,\n relative,\n preventScrollReset,\n viewTransition\n });\n };\n return /* @__PURE__ */ React10.createElement(\n \"form\",\n {\n ref: forwardedRef,\n method: formMethod,\n action: formAction,\n onSubmit: reloadDocument ? onSubmit : submitHandler,\n ...props,\n \"data-discover\": !isAbsolute && discover === \"render\" ? \"true\" : void 0\n }\n );\n }\n);\nForm.displayName = \"Form\";\nfunction ScrollRestoration({\n getKey,\n storageKey,\n ...props\n}) {\n let remixContext = React10.useContext(FrameworkContext);\n let { basename } = React10.useContext(NavigationContext);\n let location = useLocation();\n let matches = useMatches();\n useScrollRestoration({ getKey, storageKey });\n let ssrKey = React10.useMemo(\n () => {\n if (!remixContext || !getKey) return null;\n let userKey = getScrollRestorationKey(\n location,\n matches,\n basename,\n getKey\n );\n return userKey !== location.key ? userKey : null;\n },\n // Nah, we only need this the first time for the SSR render\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n if (!remixContext || remixContext.isSpaMode) {\n return null;\n }\n let restoreScroll = ((storageKey2, restoreKey) => {\n if (!window.history.state || !window.history.state.key) {\n let key = Math.random().toString(32).slice(2);\n window.history.replaceState({ key }, \"\");\n }\n try {\n let positions = JSON.parse(sessionStorage.getItem(storageKey2) || \"{}\");\n let storedY = positions[restoreKey || window.history.state.key];\n if (typeof storedY === \"number\") {\n window.scrollTo(0, storedY);\n }\n } catch (error) {\n console.error(error);\n sessionStorage.removeItem(storageKey2);\n }\n }).toString();\n return /* @__PURE__ */ React10.createElement(\n \"script\",\n {\n ...props,\n suppressHydrationWarning: true,\n dangerouslySetInnerHTML: {\n __html: `(${restoreScroll})(${JSON.stringify(\n storageKey || SCROLL_RESTORATION_STORAGE_KEY\n )}, ${JSON.stringify(ssrKey)})`\n }\n }\n );\n}\nScrollRestoration.displayName = \"ScrollRestoration\";\nfunction getDataRouterConsoleError2(hookName) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`;\n}\nfunction useDataRouterContext3(hookName) {\n let ctx = React10.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError2(hookName));\n return ctx;\n}\nfunction useDataRouterState2(hookName) {\n let state = React10.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError2(hookName));\n return state;\n}\nfunction useLinkClickHandler(to, {\n target,\n replace: replaceProp,\n state,\n preventScrollReset,\n relative,\n viewTransition\n} = {}) {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to, { relative });\n return React10.useCallback(\n (event) => {\n if (shouldProcessLinkClick(event, target)) {\n event.preventDefault();\n let replace2 = replaceProp !== void 0 ? replaceProp : createPath(location) === createPath(path);\n navigate(to, {\n replace: replace2,\n state,\n preventScrollReset,\n relative,\n viewTransition\n });\n }\n },\n [\n location,\n navigate,\n path,\n replaceProp,\n state,\n target,\n to,\n preventScrollReset,\n relative,\n viewTransition\n ]\n );\n}\nfunction useSearchParams(defaultInit) {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.`\n );\n let defaultSearchParamsRef = React10.useRef(createSearchParams(defaultInit));\n let hasSetSearchParamsRef = React10.useRef(false);\n let location = useLocation();\n let searchParams = React10.useMemo(\n () => (\n // Only merge in the defaults if we haven't yet called setSearchParams.\n // Once we call that we want those to take precedence, otherwise you can't\n // remove a param with setSearchParams({}) if it has an initial value\n getSearchParamsForLocation(\n location.search,\n hasSetSearchParamsRef.current ? null : defaultSearchParamsRef.current\n )\n ),\n [location.search]\n );\n let navigate = useNavigate();\n let setSearchParams = React10.useCallback(\n (nextInit, navigateOptions) => {\n const newSearchParams = createSearchParams(\n typeof nextInit === \"function\" ? nextInit(searchParams) : nextInit\n );\n hasSetSearchParamsRef.current = true;\n navigate(\"?\" + newSearchParams, navigateOptions);\n },\n [navigate, searchParams]\n );\n return [searchParams, setSearchParams];\n}\nvar fetcherId = 0;\nvar getUniqueFetcherId = () => `__${String(++fetcherId)}__`;\nfunction useSubmit() {\n let { router } = useDataRouterContext3(\"useSubmit\" /* UseSubmit */);\n let { basename } = React10.useContext(NavigationContext);\n let currentRouteId = useRouteId();\n return React10.useCallback(\n async (target, options = {}) => {\n let { action, method, encType, formData, body } = getFormSubmissionInfo(\n target,\n basename\n );\n if (options.navigate === false) {\n let key = options.fetcherKey || getUniqueFetcherId();\n await router.fetch(key, currentRouteId, options.action || action, {\n preventScrollReset: options.preventScrollReset,\n formData,\n body,\n formMethod: options.method || method,\n formEncType: options.encType || encType,\n flushSync: options.flushSync\n });\n } else {\n await router.navigate(options.action || action, {\n preventScrollReset: options.preventScrollReset,\n formData,\n body,\n formMethod: options.method || method,\n formEncType: options.encType || encType,\n replace: options.replace,\n state: options.state,\n fromRouteId: currentRouteId,\n flushSync: options.flushSync,\n viewTransition: options.viewTransition\n });\n }\n },\n [router, basename, currentRouteId]\n );\n}\nfunction useFormAction(action, { relative } = {}) {\n let { basename } = React10.useContext(NavigationContext);\n let routeContext = React10.useContext(RouteContext);\n invariant(routeContext, \"useFormAction must be used inside a RouteContext\");\n let [match] = routeContext.matches.slice(-1);\n let path = { ...useResolvedPath(action ? action : \".\", { relative }) };\n let location = useLocation();\n if (action == null) {\n path.search = location.search;\n let params = new URLSearchParams(path.search);\n let indexValues = params.getAll(\"index\");\n let hasNakedIndexParam = indexValues.some((v) => v === \"\");\n if (hasNakedIndexParam) {\n params.delete(\"index\");\n indexValues.filter((v) => v).forEach((v) => params.append(\"index\", v));\n let qs = params.toString();\n path.search = qs ? `?${qs}` : \"\";\n }\n }\n if ((!action || action === \".\") && match.route.index) {\n path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n }\n if (basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n return createPath(path);\n}\nfunction useFetcher({\n key\n} = {}) {\n let { router } = useDataRouterContext3(\"useFetcher\" /* UseFetcher */);\n let state = useDataRouterState2(\"useFetcher\" /* UseFetcher */);\n let fetcherData = React10.useContext(FetchersContext);\n let route = React10.useContext(RouteContext);\n let routeId = route.matches[route.matches.length - 1]?.route.id;\n invariant(fetcherData, `useFetcher must be used inside a FetchersContext`);\n invariant(route, `useFetcher must be used inside a RouteContext`);\n invariant(\n routeId != null,\n `useFetcher can only be used on routes that contain a unique \"id\"`\n );\n let defaultKey = React10.useId();\n let [fetcherKey, setFetcherKey] = React10.useState(key || defaultKey);\n if (key && key !== fetcherKey) {\n setFetcherKey(key);\n }\n React10.useEffect(() => {\n router.getFetcher(fetcherKey);\n return () => router.deleteFetcher(fetcherKey);\n }, [router, fetcherKey]);\n let load = React10.useCallback(\n async (href, opts) => {\n invariant(routeId, \"No routeId available for fetcher.load()\");\n await router.fetch(fetcherKey, routeId, href, opts);\n },\n [fetcherKey, routeId, router]\n );\n let submitImpl = useSubmit();\n let submit = React10.useCallback(\n async (target, opts) => {\n await submitImpl(target, {\n ...opts,\n navigate: false,\n fetcherKey\n });\n },\n [fetcherKey, submitImpl]\n );\n let FetcherForm = React10.useMemo(() => {\n let FetcherForm2 = React10.forwardRef(\n (props, ref) => {\n return /* @__PURE__ */ React10.createElement(Form, { ...props, navigate: false, fetcherKey, ref });\n }\n );\n FetcherForm2.displayName = \"fetcher.Form\";\n return FetcherForm2;\n }, [fetcherKey]);\n let fetcher = state.fetchers.get(fetcherKey) || IDLE_FETCHER;\n let data2 = fetcherData.get(fetcherKey);\n let fetcherWithComponents = React10.useMemo(\n () => ({\n Form: FetcherForm,\n submit,\n load,\n ...fetcher,\n data: data2\n }),\n [FetcherForm, submit, load, fetcher, data2]\n );\n return fetcherWithComponents;\n}\nfunction useFetchers() {\n let state = useDataRouterState2(\"useFetchers\" /* UseFetchers */);\n return Array.from(state.fetchers.entries()).map(([key, fetcher]) => ({\n ...fetcher,\n key\n }));\n}\nvar SCROLL_RESTORATION_STORAGE_KEY = \"react-router-scroll-positions\";\nvar savedScrollPositions = {};\nfunction getScrollRestorationKey(location, matches, basename, getKey) {\n let key = null;\n if (getKey) {\n if (basename !== \"/\") {\n key = getKey(\n {\n ...location,\n pathname: stripBasename(location.pathname, basename) || location.pathname\n },\n matches\n );\n } else {\n key = getKey(location, matches);\n }\n }\n if (key == null) {\n key = location.key;\n }\n return key;\n}\nfunction useScrollRestoration({\n getKey,\n storageKey\n} = {}) {\n let { router } = useDataRouterContext3(\"useScrollRestoration\" /* UseScrollRestoration */);\n let { restoreScrollPosition, preventScrollReset } = useDataRouterState2(\n \"useScrollRestoration\" /* UseScrollRestoration */\n );\n let { basename } = React10.useContext(NavigationContext);\n let location = useLocation();\n let matches = useMatches();\n let navigation = useNavigation();\n React10.useEffect(() => {\n window.history.scrollRestoration = \"manual\";\n return () => {\n window.history.scrollRestoration = \"auto\";\n };\n }, []);\n usePageHide(\n React10.useCallback(() => {\n if (navigation.state === \"idle\") {\n let key = getScrollRestorationKey(location, matches, basename, getKey);\n savedScrollPositions[key] = window.scrollY;\n }\n try {\n sessionStorage.setItem(\n storageKey || SCROLL_RESTORATION_STORAGE_KEY,\n JSON.stringify(savedScrollPositions)\n );\n } catch (error) {\n warning(\n false,\n `Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${error}).`\n );\n }\n window.history.scrollRestoration = \"auto\";\n }, [navigation.state, getKey, basename, location, matches, storageKey])\n );\n if (typeof document !== \"undefined\") {\n React10.useLayoutEffect(() => {\n try {\n let sessionPositions = sessionStorage.getItem(\n storageKey || SCROLL_RESTORATION_STORAGE_KEY\n );\n if (sessionPositions) {\n savedScrollPositions = JSON.parse(sessionPositions);\n }\n } catch (e) {\n }\n }, [storageKey]);\n React10.useLayoutEffect(() => {\n let disableScrollRestoration = router?.enableScrollRestoration(\n savedScrollPositions,\n () => window.scrollY,\n getKey ? (location2, matches2) => getScrollRestorationKey(location2, matches2, basename, getKey) : void 0\n );\n return () => disableScrollRestoration && disableScrollRestoration();\n }, [router, basename, getKey]);\n React10.useLayoutEffect(() => {\n if (restoreScrollPosition === false) {\n return;\n }\n if (typeof restoreScrollPosition === \"number\") {\n window.scrollTo(0, restoreScrollPosition);\n return;\n }\n if (location.hash) {\n let el = document.getElementById(\n decodeURIComponent(location.hash.slice(1))\n );\n if (el) {\n el.scrollIntoView();\n return;\n }\n }\n if (preventScrollReset === true) {\n return;\n }\n window.scrollTo(0, 0);\n }, [location, restoreScrollPosition, preventScrollReset]);\n }\n}\nfunction useBeforeUnload(callback, options) {\n let { capture } = options || {};\n React10.useEffect(() => {\n let opts = capture != null ? { capture } : void 0;\n window.addEventListener(\"beforeunload\", callback, opts);\n return () => {\n window.removeEventListener(\"beforeunload\", callback, opts);\n };\n }, [callback, capture]);\n}\nfunction usePageHide(callback, options) {\n let { capture } = options || {};\n React10.useEffect(() => {\n let opts = capture != null ? { capture } : void 0;\n window.addEventListener(\"pagehide\", callback, opts);\n return () => {\n window.removeEventListener(\"pagehide\", callback, opts);\n };\n }, [callback, capture]);\n}\nfunction usePrompt({\n when,\n message\n}) {\n let blocker = useBlocker(when);\n React10.useEffect(() => {\n if (blocker.state === \"blocked\") {\n let proceed = window.confirm(message);\n if (proceed) {\n setTimeout(blocker.proceed, 0);\n } else {\n blocker.reset();\n }\n }\n }, [blocker, message]);\n React10.useEffect(() => {\n if (blocker.state === \"blocked\" && !when) {\n blocker.reset();\n }\n }, [blocker, when]);\n}\nfunction useViewTransitionState(to, opts = {}) {\n let vtContext = React10.useContext(ViewTransitionContext);\n invariant(\n vtContext != null,\n \"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?\"\n );\n let { basename } = useDataRouterContext3(\n \"useViewTransitionState\" /* useViewTransitionState */\n );\n let path = useResolvedPath(to, { relative: opts.relative });\n if (!vtContext.isTransitioning) {\n return false;\n }\n let currentPath = stripBasename(vtContext.currentLocation.pathname, basename) || vtContext.currentLocation.pathname;\n let nextPath = stripBasename(vtContext.nextLocation.pathname, basename) || vtContext.nextLocation.pathname;\n return matchPath(path.pathname, nextPath) != null || matchPath(path.pathname, currentPath) != null;\n}\n\n// lib/dom/server.tsx\nimport * as React11 from \"react\";\nfunction StaticRouter({\n basename,\n children,\n location: locationProp = \"/\"\n}) {\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n let action = \"POP\" /* Pop */;\n let location = {\n pathname: locationProp.pathname || \"/\",\n search: locationProp.search || \"\",\n hash: locationProp.hash || \"\",\n state: locationProp.state != null ? locationProp.state : null,\n key: locationProp.key || \"default\"\n };\n let staticNavigator = getStatelessNavigator();\n return /* @__PURE__ */ React11.createElement(\n Router,\n {\n basename,\n children,\n location,\n navigationType: action,\n navigator: staticNavigator,\n static: true\n }\n );\n}\nfunction StaticRouterProvider({\n context,\n router,\n hydrate = true,\n nonce\n}) {\n invariant(\n router && context,\n \"You must provide `router` and `context` to <StaticRouterProvider>\"\n );\n let dataRouterContext = {\n router,\n navigator: getStatelessNavigator(),\n static: true,\n staticContext: context,\n basename: context.basename || \"/\"\n };\n let fetchersContext = /* @__PURE__ */ new Map();\n let hydrateScript = \"\";\n if (hydrate !== false) {\n let data2 = {\n loaderData: context.loaderData,\n actionData: context.actionData,\n errors: serializeErrors(context.errors)\n };\n let json = htmlEscape(JSON.stringify(JSON.stringify(data2)));\n hydrateScript = `window.__staticRouterHydrationData = JSON.parse(${json});`;\n }\n let { state } = dataRouterContext.router;\n return /* @__PURE__ */ React11.createElement(React11.Fragment, null, /* @__PURE__ */ React11.createElement(DataRouterContext.Provider, { value: dataRouterContext }, /* @__PURE__ */ React11.createElement(DataRouterStateContext.Provider, { value: state }, /* @__PURE__ */ React11.createElement(FetchersContext.Provider, { value: fetchersContext }, /* @__PURE__ */ React11.createElement(ViewTransitionContext.Provider, { value: { isTransitioning: false } }, /* @__PURE__ */ React11.createElement(\n Router,\n {\n basename: dataRouterContext.basename,\n location: state.location,\n navigationType: state.historyAction,\n navigator: dataRouterContext.navigator,\n static: dataRouterContext.static\n },\n /* @__PURE__ */ React11.createElement(\n DataRoutes2,\n {\n routes: router.routes,\n future: router.future,\n state\n }\n )\n ))))), hydrateScript ? /* @__PURE__ */ React11.createElement(\n \"script\",\n {\n suppressHydrationWarning: true,\n nonce,\n dangerouslySetInnerHTML: { __html: hydrateScript }\n }\n ) : null);\n}\nfunction DataRoutes2({\n routes,\n future,\n state\n}) {\n return useRoutesImpl(routes, void 0, state, future);\n}\nfunction serializeErrors(errors) {\n if (!errors) return null;\n let entries = Object.entries(errors);\n let serialized = {};\n for (let [key, val] of entries) {\n if (isRouteErrorResponse(val)) {\n serialized[key] = { ...val, __type: \"RouteErrorResponse\" };\n } else if (val instanceof Error) {\n serialized[key] = {\n message: val.message,\n __type: \"Error\",\n // If this is a subclass (i.e., ReferenceError), send up the type so we\n // can re-create the same type during hydration.\n ...val.name !== \"Error\" ? {\n __subType: val.name\n } : {}\n };\n } else {\n serialized[key] = val;\n }\n }\n return serialized;\n}\nfunction getStatelessNavigator() {\n return {\n createHref,\n encodeLocation,\n push(to) {\n throw new Error(\n `You cannot use navigator.push() on the server because it is a stateless environment. This error was probably triggered when you did a \\`navigate(${JSON.stringify(to)})\\` somewhere in your app.`\n );\n },\n replace(to) {\n throw new Error(\n `You cannot use navigator.replace() on the server because it is a stateless environment. This error was probably triggered when you did a \\`navigate(${JSON.stringify(to)}, { replace: true })\\` somewhere in your app.`\n );\n },\n go(delta) {\n throw new Error(\n `You cannot use navigator.go() on the server because it is a stateless environment. This error was probably triggered when you did a \\`navigate(${delta})\\` somewhere in your app.`\n );\n },\n back() {\n throw new Error(\n `You cannot use navigator.back() on the server because it is a stateless environment.`\n );\n },\n forward() {\n throw new Error(\n `You cannot use navigator.forward() on the server because it is a stateless environment.`\n );\n }\n };\n}\nfunction createStaticHandler2(routes, opts) {\n return createStaticHandler(routes, {\n ...opts,\n mapRouteProperties\n });\n}\nfunction createStaticRouter(routes, context, opts = {}) {\n let manifest = {};\n let dataRoutes = convertRoutesToDataRoutes(\n routes,\n mapRouteProperties,\n void 0,\n manifest\n );\n let matches = context.matches.map((match) => {\n let route = manifest[match.route.id] || match.route;\n return {\n ...match,\n route\n };\n });\n let msg = (method) => `You cannot use router.${method}() on the server because it is a stateless environment`;\n return {\n get basename() {\n return context.basename;\n },\n get future() {\n return {\n ...opts?.future\n };\n },\n get state() {\n return {\n historyAction: \"POP\" /* Pop */,\n location: context.location,\n matches,\n loaderData: context.loaderData,\n actionData: context.actionData,\n errors: context.errors,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n restoreScrollPosition: null,\n preventScrollReset: false,\n revalidation: \"idle\",\n fetchers: /* @__PURE__ */ new Map(),\n blockers: /* @__PURE__ */ new Map()\n };\n },\n get routes() {\n return dataRoutes;\n },\n get window() {\n return void 0;\n },\n initialize() {\n throw msg(\"initialize\");\n },\n subscribe() {\n throw msg(\"subscribe\");\n },\n enableScrollRestoration() {\n throw msg(\"enableScrollRestoration\");\n },\n navigate() {\n throw msg(\"navigate\");\n },\n fetch() {\n throw msg(\"fetch\");\n },\n revalidate() {\n throw msg(\"revalidate\");\n },\n createHref,\n encodeLocation,\n getFetcher() {\n return IDLE_FETCHER;\n },\n deleteFetcher() {\n throw msg(\"deleteFetcher\");\n },\n dispose() {\n throw msg(\"dispose\");\n },\n getBlocker() {\n return IDLE_BLOCKER;\n },\n deleteBlocker() {\n throw msg(\"deleteBlocker\");\n },\n patchRoutes() {\n throw msg(\"patchRoutes\");\n },\n _internalFetchControllers: /* @__PURE__ */ new Map(),\n _internalSetRoutes() {\n throw msg(\"_internalSetRoutes\");\n }\n };\n}\nfunction createHref(to) {\n return typeof to === \"string\" ? to : createPath(to);\n}\nfunction encodeLocation(to) {\n let href = typeof to === \"string\" ? to : createPath(to);\n href = href.replace(/ $/, \"%20\");\n let encoded = ABSOLUTE_URL_REGEX3.test(href) ? new URL(href) : new URL(href, \"http://localhost\");\n return {\n pathname: encoded.pathname,\n search: encoded.search,\n hash: encoded.hash\n };\n}\nvar ABSOLUTE_URL_REGEX3 = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\nvar ESCAPE_LOOKUP2 = {\n \"&\": \"\\\\u0026\",\n \">\": \"\\\\u003e\",\n \"<\": \"\\\\u003c\",\n \"\\u2028\": \"\\\\u2028\",\n \"\\u2029\": \"\\\\u2029\"\n};\nvar ESCAPE_REGEX2 = /[&><\\u2028\\u2029]/g;\nfunction htmlEscape(str) {\n return str.replace(ESCAPE_REGEX2, (match) => ESCAPE_LOOKUP2[match]);\n}\n\n// lib/dom/ssr/server.tsx\nimport * as React12 from \"react\";\nfunction ServerRouter({\n context,\n url,\n nonce\n}) {\n if (typeof url === \"string\") {\n url = new URL(url);\n }\n let { manifest, routeModules, criticalCss, serverHandoffString } = context;\n let routes = createServerRoutes(\n manifest.routes,\n routeModules,\n context.future,\n context.isSpaMode\n );\n context.staticHandlerContext.loaderData = {\n ...context.staticHandlerContext.loaderData\n };\n for (let match of context.staticHandlerContext.matches) {\n let routeId = match.route.id;\n let route = routeModules[routeId];\n let manifestRoute = context.manifest.routes[routeId];\n if (route && manifestRoute && shouldHydrateRouteLoader(manifestRoute, route, context.isSpaMode) && (route.HydrateFallback || !manifestRoute.hasLoader)) {\n delete context.staticHandlerContext.loaderData[routeId];\n }\n }\n let router = createStaticRouter(routes, context.staticHandlerContext);\n return /* @__PURE__ */ React12.createElement(React12.Fragment, null, /* @__PURE__ */ React12.createElement(\n FrameworkContext.Provider,\n {\n value: {\n manifest,\n routeModules,\n criticalCss,\n serverHandoffString,\n future: context.future,\n isSpaMode: context.isSpaMode,\n serializeError: context.serializeError,\n renderMeta: context.renderMeta\n }\n },\n /* @__PURE__ */ React12.createElement(RemixErrorBoundary, { location: router.state.location }, /* @__PURE__ */ React12.createElement(\n StaticRouterProvider,\n {\n router,\n context: context.staticHandlerContext,\n hydrate: false\n }\n ))\n ), context.serverHandoffStream ? /* @__PURE__ */ React12.createElement(React12.Suspense, null, /* @__PURE__ */ React12.createElement(\n StreamTransfer,\n {\n context,\n identifier: 0,\n reader: context.serverHandoffStream.getReader(),\n textDecoder: new TextDecoder(),\n nonce\n }\n )) : null);\n}\n\n// lib/dom/ssr/routes-test-stub.tsx\nimport * as React13 from \"react\";\nfunction createRoutesStub(routes, context = {}) {\n return function RoutesTestStub({\n initialEntries,\n initialIndex,\n hydrationData,\n future\n }) {\n let routerRef = React13.useRef();\n let remixContextRef = React13.useRef();\n if (routerRef.current == null) {\n remixContextRef.current = {\n future: {},\n manifest: {\n routes: {},\n entry: { imports: [], module: \"\" },\n url: \"\",\n version: \"\"\n },\n routeModules: {},\n isSpaMode: false\n };\n let patched = processRoutes(\n // @ts-expect-error loader/action context types don't match :/\n convertRoutesToDataRoutes(routes, (r) => r),\n context,\n remixContextRef.current.manifest,\n remixContextRef.current.routeModules\n );\n routerRef.current = createMemoryRouter(patched, {\n initialEntries,\n initialIndex,\n hydrationData\n });\n }\n return /* @__PURE__ */ React13.createElement(FrameworkContext.Provider, { value: remixContextRef.current }, /* @__PURE__ */ React13.createElement(RouterProvider, { router: routerRef.current }));\n };\n}\nfunction processRoutes(routes, context, manifest, routeModules, parentId) {\n return routes.map((route) => {\n if (!route.id) {\n throw new Error(\n \"Expected a route.id in @remix-run/testing processRoutes() function\"\n );\n }\n let { loader, action } = route;\n let newRoute = {\n id: route.id,\n path: route.path,\n index: route.index,\n Component: route.Component,\n HydrateFallback: route.HydrateFallback,\n ErrorBoundary: route.ErrorBoundary,\n action: action ? (args) => action({ ...args, context }) : void 0,\n loader: loader ? (args) => loader({ ...args, context }) : void 0,\n handle: route.handle,\n shouldRevalidate: route.shouldRevalidate\n };\n let entryRoute = {\n id: route.id,\n path: route.path,\n index: route.index,\n parentId,\n hasAction: route.action != null,\n hasLoader: route.loader != null,\n // When testing routes, you should just be stubbing loader/action, not\n // trying to re-implement the full loader/clientLoader/SSR/hydration flow.\n // That is better tested via E2E tests.\n hasClientAction: false,\n hasClientLoader: false,\n hasErrorBoundary: route.ErrorBoundary != null,\n module: \"build/stub-path-to-module.js\"\n // any need for this?\n };\n manifest.routes[newRoute.id] = entryRoute;\n routeModules[route.id] = {\n default: route.Component || Outlet,\n ErrorBoundary: route.ErrorBoundary || void 0,\n handle: route.handle,\n links: route.links,\n meta: route.meta,\n shouldRevalidate: route.shouldRevalidate\n };\n if (route.children) {\n newRoute.children = processRoutes(\n route.children,\n context,\n manifest,\n routeModules,\n newRoute.id\n );\n }\n return newRoute;\n });\n}\n\n// lib/server-runtime/cookies.ts\nimport { parse, serialize } from \"cookie\";\n\n// lib/server-runtime/crypto.ts\nvar encoder = new TextEncoder();\nvar sign = async (value, secret) => {\n let data2 = encoder.encode(value);\n let key = await createKey2(secret, [\"sign\"]);\n let signature = await crypto.subtle.sign(\"HMAC\", key, data2);\n let hash = btoa(String.fromCharCode(...new Uint8Array(signature))).replace(\n /=+$/,\n \"\"\n );\n return value + \".\" + hash;\n};\nvar unsign = async (cookie, secret) => {\n let index = cookie.lastIndexOf(\".\");\n let value = cookie.slice(0, index);\n let hash = cookie.slice(index + 1);\n let data2 = encoder.encode(value);\n let key = await createKey2(secret, [\"verify\"]);\n let signature = byteStringToUint8Array(atob(hash));\n let valid = await crypto.subtle.verify(\"HMAC\", key, signature, data2);\n return valid ? value : false;\n};\nvar createKey2 = async (secret, usages) => crypto.subtle.importKey(\n \"raw\",\n encoder.encode(secret),\n { name: \"HMAC\", hash: \"SHA-256\" },\n false,\n usages\n);\nfunction byteStringToUint8Array(byteString) {\n let array = new Uint8Array(byteString.length);\n for (let i = 0; i < byteString.length; i++) {\n array[i] = byteString.charCodeAt(i);\n }\n return array;\n}\n\n// lib/server-runtime/cookies.ts\nvar createCookie = (name, cookieOptions = {}) => {\n let { secrets = [], ...options } = {\n path: \"/\",\n sameSite: \"lax\",\n ...cookieOptions\n };\n warnOnceAboutExpiresCookie(name, options.expires);\n return {\n get name() {\n return name;\n },\n get isSigned() {\n return secrets.length > 0;\n },\n get expires() {\n return typeof options.maxAge !== \"undefined\" ? new Date(Date.now() + options.maxAge * 1e3) : options.expires;\n },\n async parse(cookieHeader, parseOptions) {\n if (!cookieHeader) return null;\n let cookies = parse(cookieHeader, { ...options, ...parseOptions });\n if (name in cookies) {\n let value = cookies[name];\n if (typeof value === \"string\" && value !== \"\") {\n let decoded = await decodeCookieValue(value, secrets);\n return decoded;\n } else {\n return \"\";\n }\n } else {\n return null;\n }\n },\n async serialize(value, serializeOptions) {\n return serialize(\n name,\n value === \"\" ? \"\" : await encodeCookieValue(value, secrets),\n {\n ...options,\n ...serializeOptions\n }\n );\n }\n };\n};\nvar isCookie = (object) => {\n return object != null && typeof object.name === \"string\" && typeof object.isSigned === \"boolean\" && typeof object.parse === \"function\" && typeof object.serialize === \"function\";\n};\nasync function encodeCookieValue(value, secrets) {\n let encoded = encodeData(value);\n if (secrets.length > 0) {\n encoded = await sign(encoded, secrets[0]);\n }\n return encoded;\n}\nasync function decodeCookieValue(value, secrets) {\n if (secrets.length > 0) {\n for (let secret of secrets) {\n let unsignedValue = await unsign(value, secret);\n if (unsignedValue !== false) {\n return decodeData(unsignedValue);\n }\n }\n return null;\n }\n return decodeData(value);\n}\nfunction encodeData(value) {\n return btoa(myUnescape(encodeURIComponent(JSON.stringify(value))));\n}\nfunction decodeData(value) {\n try {\n return JSON.parse(decodeURIComponent(myEscape(atob(value))));\n } catch (error) {\n return {};\n }\n}\nfunction myEscape(value) {\n let str = value.toString();\n let result = \"\";\n let index = 0;\n let chr, code;\n while (index < str.length) {\n chr = str.charAt(index++);\n if (/[\\w*+\\-./@]/.exec(chr)) {\n result += chr;\n } else {\n code = chr.charCodeAt(0);\n if (code < 256) {\n result += \"%\" + hex(code, 2);\n } else {\n result += \"%u\" + hex(code, 4).toUpperCase();\n }\n }\n }\n return result;\n}\nfunction hex(code, length) {\n let result = code.toString(16);\n while (result.length < length) result = \"0\" + result;\n return result;\n}\nfunction myUnescape(value) {\n let str = value.toString();\n let result = \"\";\n let index = 0;\n let chr, part;\n while (index < str.length) {\n chr = str.charAt(index++);\n if (chr === \"%\") {\n if (str.charAt(index) === \"u\") {\n part = str.slice(index + 1, index + 5);\n if (/^[\\da-f]{4}$/i.exec(part)) {\n result += String.fromCharCode(parseInt(part, 16));\n index += 5;\n continue;\n }\n } else {\n part = str.slice(index, index + 2);\n if (/^[\\da-f]{2}$/i.exec(part)) {\n result += String.fromCharCode(parseInt(part, 16));\n index += 2;\n continue;\n }\n }\n }\n result += chr;\n }\n return result;\n}\nfunction warnOnceAboutExpiresCookie(name, expires) {\n warnOnce(\n !expires,\n `The \"${name}\" cookie has an \"expires\" property set. This will cause the expires value to not be updated when the session is committed. Instead, you should set the expires value when serializing the cookie. You can use \\`commitSession(session, { expires })\\` if using a session storage object, or \\`cookie.serialize(\"value\", { expires })\\` if you're using the cookie directly.`\n );\n}\n\n// lib/server-runtime/entry.ts\nfunction createEntryRouteModules(manifest) {\n return Object.keys(manifest).reduce((memo2, routeId) => {\n let route = manifest[routeId];\n if (route) {\n memo2[routeId] = route.module;\n }\n return memo2;\n }, {});\n}\n\n// lib/server-runtime/mode.ts\nvar ServerMode = /* @__PURE__ */ ((ServerMode2) => {\n ServerMode2[\"Development\"] = \"development\";\n ServerMode2[\"Production\"] = \"production\";\n ServerMode2[\"Test\"] = \"test\";\n return ServerMode2;\n})(ServerMode || {});\nfunction isServerMode(value) {\n return value === \"development\" /* Development */ || value === \"production\" /* Production */ || value === \"test\" /* Test */;\n}\n\n// lib/server-runtime/errors.ts\nfunction sanitizeError(error, serverMode) {\n if (error instanceof Error && serverMode !== \"development\" /* Development */) {\n let sanitized = new Error(\"Unexpected Server Error\");\n sanitized.stack = void 0;\n return sanitized;\n }\n return error;\n}\nfunction sanitizeErrors(errors, serverMode) {\n return Object.entries(errors).reduce((acc, [routeId, error]) => {\n return Object.assign(acc, { [routeId]: sanitizeError(error, serverMode) });\n }, {});\n}\nfunction serializeError(error, serverMode) {\n let sanitized = sanitizeError(error, serverMode);\n return {\n message: sanitized.message,\n stack: sanitized.stack\n };\n}\nfunction serializeErrors2(errors, serverMode) {\n if (!errors) return null;\n let entries = Object.entries(errors);\n let serialized = {};\n for (let [key, val] of entries) {\n if (isRouteErrorResponse(val)) {\n serialized[key] = { ...val, __type: \"RouteErrorResponse\" };\n } else if (val instanceof Error) {\n let sanitized = sanitizeError(val, serverMode);\n serialized[key] = {\n message: sanitized.message,\n stack: sanitized.stack,\n __type: \"Error\",\n // If this is a subclass (i.e., ReferenceError), send up the type so we\n // can re-create the same type during hydration. This will only apply\n // in dev mode since all production errors are sanitized to normal\n // Error instances\n ...sanitized.name !== \"Error\" ? {\n __subType: sanitized.name\n } : {}\n };\n } else {\n serialized[key] = val;\n }\n }\n return serialized;\n}\n\n// lib/server-runtime/routeMatching.ts\nfunction matchServerRoutes(routes, pathname, basename) {\n let matches = matchRoutes(\n routes,\n pathname,\n basename\n );\n if (!matches) return null;\n return matches.map((match) => ({\n params: match.params,\n pathname: match.pathname,\n route: match.route\n }));\n}\n\n// lib/server-runtime/data.ts\nasync function callRouteHandler(handler, args) {\n let result = await handler({\n request: stripRoutesParam(stripIndexParam2(args.request)),\n params: args.params,\n context: args.context\n });\n if (isDataWithResponseInit(result) && result.init && result.init.status && isRedirectStatusCode(result.init.status)) {\n throw new Response(null, result.init);\n }\n return result;\n}\nfunction stripIndexParam2(request) {\n let url = new URL(request.url);\n let indexValues = url.searchParams.getAll(\"index\");\n url.searchParams.delete(\"index\");\n let indexValuesToKeep = [];\n for (let indexValue of indexValues) {\n if (indexValue) {\n indexValuesToKeep.push(indexValue);\n }\n }\n for (let toKeep of indexValuesToKeep) {\n url.searchParams.append(\"index\", toKeep);\n }\n let init = {\n method: request.method,\n body: request.body,\n headers: request.headers,\n signal: request.signal\n };\n if (init.body) {\n init.duplex = \"half\";\n }\n return new Request(url.href, init);\n}\nfunction stripRoutesParam(request) {\n let url = new URL(request.url);\n url.searchParams.delete(\"_routes\");\n let init = {\n method: request.method,\n body: request.body,\n headers: request.headers,\n signal: request.signal\n };\n if (init.body) {\n init.duplex = \"half\";\n }\n return new Request(url.href, init);\n}\n\n// lib/server-runtime/invariant.ts\nfunction invariant3(value, message) {\n if (value === false || value === null || typeof value === \"undefined\") {\n console.error(\n \"The following error is a bug in React Router; please open an issue! https://github.com/remix-run/react-router/issues/new/choose\"\n );\n throw new Error(message);\n }\n}\n\n// lib/server-runtime/routes.ts\nfunction groupRoutesByParentId2(manifest) {\n let routes = {};\n Object.values(manifest).forEach((route) => {\n if (route) {\n let parentId = route.parentId || \"\";\n if (!routes[parentId]) {\n routes[parentId] = [];\n }\n routes[parentId].push(route);\n }\n });\n return routes;\n}\nfunction createRoutes(manifest, parentId = \"\", routesByParentId = groupRoutesByParentId2(manifest)) {\n return (routesByParentId[parentId] || []).map((route) => ({\n ...route,\n children: createRoutes(manifest, route.id, routesByParentId)\n }));\n}\nfunction createStaticHandlerDataRoutes(manifest, future, parentId = \"\", routesByParentId = groupRoutesByParentId2(manifest)) {\n return (routesByParentId[parentId] || []).map((route) => {\n let commonRoute = {\n // Always include root due to default boundaries\n hasErrorBoundary: route.id === \"root\" || route.module.ErrorBoundary != null,\n id: route.id,\n path: route.path,\n // Need to use RR's version in the param typed here to permit the optional\n // context even though we know it'll always be provided in remix\n loader: route.module.loader ? async (args) => {\n if (args.request.headers.has(\"X-React-Router-Prerender-Data\")) {\n const preRenderedData = args.request.headers.get(\n \"X-React-Router-Prerender-Data\"\n );\n let encoded = preRenderedData ? decodeURI(preRenderedData) : preRenderedData;\n invariant3(encoded, \"Missing prerendered data for route\");\n let uint8array = new TextEncoder().encode(encoded);\n let stream = new ReadableStream({\n start(controller) {\n controller.enqueue(uint8array);\n controller.close();\n }\n });\n let decoded = await decodeViaTurboStream(stream, global);\n let data2 = decoded.value;\n invariant3(\n data2 && route.id in data2,\n \"Unable to decode prerendered data\"\n );\n let result = data2[route.id];\n invariant3(\"data\" in result, \"Unable to process prerendered data\");\n return result.data;\n }\n let val = await callRouteHandler(route.module.loader, args);\n return val;\n } : void 0,\n action: route.module.action ? (args) => callRouteHandler(route.module.action, args) : void 0,\n handle: route.module.handle\n };\n return route.index ? {\n index: true,\n ...commonRoute\n } : {\n caseSensitive: route.caseSensitive,\n children: createStaticHandlerDataRoutes(\n manifest,\n future,\n route.id,\n routesByParentId\n ),\n ...commonRoute\n };\n });\n}\n\n// lib/server-runtime/markup.ts\nvar ESCAPE_LOOKUP3 = {\n \"&\": \"\\\\u0026\",\n \">\": \"\\\\u003e\",\n \"<\": \"\\\\u003c\",\n \"\\u2028\": \"\\\\u2028\",\n \"\\u2029\": \"\\\\u2029\"\n};\nvar ESCAPE_REGEX3 = /[&><\\u2028\\u2029]/g;\nfunction escapeHtml2(html) {\n return html.replace(ESCAPE_REGEX3, (match) => ESCAPE_LOOKUP3[match]);\n}\n\n// lib/server-runtime/serverHandoff.ts\nfunction createServerHandoffString(serverHandoff) {\n return escapeHtml2(JSON.stringify(serverHandoff));\n}\n\n// lib/server-runtime/dev.ts\nvar globalDevServerHooksKey = \"__reactRouterDevServerHooks\";\nfunction setDevServerHooks(devServerHooks) {\n globalThis[globalDevServerHooksKey] = devServerHooks;\n}\nfunction getDevServerHooks() {\n return globalThis[globalDevServerHooksKey];\n}\n\n// lib/server-runtime/single-fetch.ts\nimport { encode } from \"turbo-stream\";\n\n// lib/server-runtime/headers.ts\nimport { splitCookiesString } from \"set-cookie-parser\";\nfunction getDocumentHeaders(build, context) {\n let boundaryIdx = context.errors ? context.matches.findIndex((m) => context.errors[m.route.id]) : -1;\n let matches = boundaryIdx >= 0 ? context.matches.slice(0, boundaryIdx + 1) : context.matches;\n let errorHeaders;\n if (boundaryIdx >= 0) {\n let { actionHeaders, actionData, loaderHeaders, loaderData } = context;\n context.matches.slice(boundaryIdx).some((match) => {\n let id = match.route.id;\n if (actionHeaders[id] && (!actionData || !actionData.hasOwnProperty(id))) {\n errorHeaders = actionHeaders[id];\n } else if (loaderHeaders[id] && !loaderData.hasOwnProperty(id)) {\n errorHeaders = loaderHeaders[id];\n }\n return errorHeaders != null;\n });\n }\n return matches.reduce((parentHeaders, match, idx) => {\n let { id } = match.route;\n let route = build.routes[id];\n invariant3(route, `Route with id \"${id}\" not found in build`);\n let routeModule = route.module;\n let loaderHeaders = context.loaderHeaders[id] || new Headers();\n let actionHeaders = context.actionHeaders[id] || new Headers();\n let includeErrorHeaders = errorHeaders != null && idx === matches.length - 1;\n let includeErrorCookies = includeErrorHeaders && errorHeaders !== loaderHeaders && errorHeaders !== actionHeaders;\n if (routeModule.headers == null) {\n let headers2 = new Headers(parentHeaders);\n if (includeErrorCookies) {\n prependCookies(errorHeaders, headers2);\n }\n prependCookies(actionHeaders, headers2);\n prependCookies(loaderHeaders, headers2);\n return headers2;\n }\n let headers = new Headers(\n routeModule.headers ? typeof routeModule.headers === \"function\" ? routeModule.headers({\n loaderHeaders,\n parentHeaders,\n actionHeaders,\n errorHeaders: includeErrorHeaders ? errorHeaders : void 0\n }) : routeModule.headers : void 0\n );\n if (includeErrorCookies) {\n prependCookies(errorHeaders, headers);\n }\n prependCookies(actionHeaders, headers);\n prependCookies(loaderHeaders, headers);\n prependCookies(parentHeaders, headers);\n return headers;\n }, new Headers());\n}\nfunction prependCookies(parentHeaders, childHeaders) {\n let parentSetCookieString = parentHeaders.get(\"Set-Cookie\");\n if (parentSetCookieString) {\n let cookies = splitCookiesString(parentSetCookieString);\n cookies.forEach((cookie) => {\n childHeaders.append(\"Set-Cookie\", cookie);\n });\n }\n}\n\n// lib/server-runtime/single-fetch.ts\nvar SINGLE_FETCH_REDIRECT_STATUS = 202;\nfunction getSingleFetchDataStrategy2({\n isActionDataRequest,\n loadRouteIds\n} = {}) {\n return async ({ request, matches }) => {\n if (isActionDataRequest && request.method === \"GET\") {\n return {};\n }\n let matchesToLoad = loadRouteIds ? matches.filter((m) => loadRouteIds.includes(m.route.id)) : matches;\n let results = await Promise.all(\n matchesToLoad.map((match) => match.resolve())\n );\n return results.reduce(\n (acc, result, i) => Object.assign(acc, { [matchesToLoad[i].route.id]: result }),\n {}\n );\n };\n}\nasync function singleFetchAction(build, serverMode, staticHandler, request, handlerUrl, loadContext, handleError) {\n try {\n let handlerRequest = new Request(handlerUrl, {\n method: request.method,\n body: request.body,\n headers: request.headers,\n signal: request.signal,\n ...request.body ? { duplex: \"half\" } : void 0\n });\n let result = await staticHandler.query(handlerRequest, {\n requestContext: loadContext,\n skipLoaderErrorBubbling: true,\n dataStrategy: getSingleFetchDataStrategy2({\n isActionDataRequest: true\n })\n });\n if (isResponse(result)) {\n return {\n result: getSingleFetchRedirect(\n result.status,\n result.headers,\n build.basename\n ),\n headers: result.headers,\n status: SINGLE_FETCH_REDIRECT_STATUS\n };\n }\n let context = result;\n let headers = getDocumentHeaders(build, context);\n if (isRedirectStatusCode(context.statusCode) && headers.has(\"Location\")) {\n return {\n result: getSingleFetchRedirect(\n context.statusCode,\n headers,\n build.basename\n ),\n headers,\n status: SINGLE_FETCH_REDIRECT_STATUS\n };\n }\n if (context.errors) {\n Object.values(context.errors).forEach((err) => {\n if (!isRouteErrorResponse(err) || err.error) {\n handleError(err);\n }\n });\n context.errors = sanitizeErrors(context.errors, serverMode);\n }\n let singleFetchResult;\n if (context.errors) {\n singleFetchResult = { error: Object.values(context.errors)[0] };\n } else {\n singleFetchResult = { data: Object.values(context.actionData || {})[0] };\n }\n return {\n result: singleFetchResult,\n headers,\n status: context.statusCode\n };\n } catch (error) {\n handleError(error);\n return {\n result: { error },\n headers: new Headers(),\n status: 500\n };\n }\n}\nasync function singleFetchLoaders(build, serverMode, staticHandler, request, handlerUrl, loadContext, handleError) {\n try {\n let handlerRequest = new Request(handlerUrl, {\n headers: request.headers,\n signal: request.signal\n });\n let loadRouteIds = new URL(request.url).searchParams.get(\"_routes\")?.split(\",\") || void 0;\n let result = await staticHandler.query(handlerRequest, {\n requestContext: loadContext,\n skipLoaderErrorBubbling: true,\n dataStrategy: getSingleFetchDataStrategy2({\n loadRouteIds\n })\n });\n if (isResponse(result)) {\n return {\n result: {\n [SingleFetchRedirectSymbol]: getSingleFetchRedirect(\n result.status,\n result.headers,\n build.basename\n )\n },\n headers: result.headers,\n status: SINGLE_FETCH_REDIRECT_STATUS\n };\n }\n let context = result;\n let headers = getDocumentHeaders(build, context);\n if (isRedirectStatusCode(context.statusCode) && headers.has(\"Location\")) {\n return {\n result: {\n [SingleFetchRedirectSymbol]: getSingleFetchRedirect(\n context.statusCode,\n headers,\n build.basename\n )\n },\n headers,\n status: SINGLE_FETCH_REDIRECT_STATUS\n };\n }\n if (context.errors) {\n Object.values(context.errors).forEach((err) => {\n if (!isRouteErrorResponse(err) || err.error) {\n handleError(err);\n }\n });\n context.errors = sanitizeErrors(context.errors, serverMode);\n }\n let results = {};\n let loadedMatches = loadRouteIds ? context.matches.filter(\n (m) => m.route.loader && loadRouteIds.includes(m.route.id)\n ) : context.matches;\n loadedMatches.forEach((m) => {\n let { id } = m.route;\n if (context.errors && context.errors.hasOwnProperty(id)) {\n results[id] = { error: context.errors[id] };\n } else if (context.loaderData.hasOwnProperty(id)) {\n results[id] = { data: context.loaderData[id] };\n }\n });\n return {\n result: results,\n headers,\n status: context.statusCode\n };\n } catch (error) {\n handleError(error);\n return {\n result: { root: { error } },\n headers: new Headers(),\n status: 500\n };\n }\n}\nfunction getSingleFetchRedirect(status, headers, basename) {\n let redirect2 = headers.get(\"Location\");\n if (basename) {\n redirect2 = stripBasename(redirect2, basename) || redirect2;\n }\n return {\n redirect: redirect2,\n status,\n revalidate: (\n // Technically X-Remix-Revalidate isn't needed here - that was an implementation\n // detail of ?_data requests as our way to tell the front end to revalidate when\n // we didn't have a response body to include that information in.\n // With single fetch, we tell the front end via this revalidate boolean field.\n // However, we're respecting it for now because it may be something folks have\n // used in their own responses\n // TODO(v3): Consider removing or making this official public API\n headers.has(\"X-Remix-Revalidate\") || headers.has(\"Set-Cookie\")\n ),\n reload: headers.has(\"X-Remix-Reload-Document\"),\n replace: headers.has(\"X-Remix-Replace\")\n };\n}\nfunction encodeViaTurboStream(data2, requestSignal, streamTimeout, serverMode) {\n let controller = new AbortController();\n let timeoutId = setTimeout(\n () => controller.abort(new Error(\"Server Timeout\")),\n typeof streamTimeout === \"number\" ? streamTimeout : 4950\n );\n requestSignal.addEventListener(\"abort\", () => clearTimeout(timeoutId));\n return encode(data2, {\n signal: controller.signal,\n plugins: [\n (value) => {\n if (value instanceof Error) {\n let { name, message, stack } = serverMode === \"production\" /* Production */ ? sanitizeError(value, serverMode) : value;\n return [\"SanitizedError\", name, message, stack];\n }\n if (value instanceof ErrorResponseImpl) {\n let { data: data3, status, statusText } = value;\n return [\"ErrorResponse\", data3, status, statusText];\n }\n if (value && typeof value === \"object\" && SingleFetchRedirectSymbol in value) {\n return [\"SingleFetchRedirect\", value[SingleFetchRedirectSymbol]];\n }\n }\n ],\n postPlugins: [\n (value) => {\n if (!value) return;\n if (typeof value !== \"object\") return;\n return [\n \"SingleFetchClassInstance\",\n Object.fromEntries(Object.entries(value))\n ];\n },\n () => [\"SingleFetchFallback\"]\n ]\n });\n}\n\n// lib/server-runtime/server.ts\nfunction derive(build, mode) {\n let routes = createRoutes(build.routes);\n let dataRoutes = createStaticHandlerDataRoutes(build.routes, build.future);\n let serverMode = isServerMode(mode) ? mode : \"production\" /* Production */;\n let staticHandler = createStaticHandler(dataRoutes, {\n basename: build.basename\n });\n let errorHandler = build.entry.module.handleError || ((error, { request }) => {\n if (serverMode !== \"test\" /* Test */ && !request.signal.aborted) {\n console.error(\n // @ts-expect-error This is \"private\" from users but intended for internal use\n isRouteErrorResponse(error) && error.error ? error.error : error\n );\n }\n });\n return {\n routes,\n dataRoutes,\n serverMode,\n staticHandler,\n errorHandler\n };\n}\nvar createRequestHandler = (build, mode) => {\n let _build;\n let routes;\n let serverMode;\n let staticHandler;\n let errorHandler;\n return async function requestHandler(request, loadContext = {}) {\n _build = typeof build === \"function\" ? await build() : build;\n if (typeof build === \"function\") {\n let derived = derive(_build, mode);\n routes = derived.routes;\n serverMode = derived.serverMode;\n staticHandler = derived.staticHandler;\n errorHandler = derived.errorHandler;\n } else if (!routes || !serverMode || !staticHandler || !errorHandler) {\n let derived = derive(_build, mode);\n routes = derived.routes;\n serverMode = derived.serverMode;\n staticHandler = derived.staticHandler;\n errorHandler = derived.errorHandler;\n }\n let url = new URL(request.url);\n let params = {};\n let handleError = (error) => {\n if (mode === \"development\" /* Development */) {\n getDevServerHooks()?.processRequestError?.(error);\n }\n errorHandler(error, {\n context: loadContext,\n params,\n request\n });\n };\n let manifestUrl = `${_build.basename ?? \"/\"}/__manifest`.replace(\n /\\/+/g,\n \"/\"\n );\n if (url.pathname === manifestUrl) {\n try {\n let res = await handleManifestRequest(_build, routes, url);\n return res;\n } catch (e) {\n handleError(e);\n return new Response(\"Unknown Server Error\", { status: 500 });\n }\n }\n let matches = matchServerRoutes(routes, url.pathname, _build.basename);\n if (matches && matches.length > 0) {\n Object.assign(params, matches[0].params);\n }\n let response;\n if (url.pathname.endsWith(\".data\")) {\n let handlerUrl = new URL(request.url);\n handlerUrl.pathname = handlerUrl.pathname.replace(/\\.data$/, \"\").replace(/^\\/_root$/, \"/\");\n let singleFetchMatches = matchServerRoutes(\n routes,\n handlerUrl.pathname,\n _build.basename\n );\n response = await handleSingleFetchRequest(\n serverMode,\n _build,\n staticHandler,\n request,\n handlerUrl,\n loadContext,\n handleError\n );\n if (_build.entry.module.handleDataRequest) {\n response = await _build.entry.module.handleDataRequest(response, {\n context: loadContext,\n params: singleFetchMatches ? singleFetchMatches[0].params : {},\n request\n });\n if (isRedirectResponse(response)) {\n let result = getSingleFetchRedirect(\n response.status,\n response.headers,\n _build.basename\n );\n if (request.method === \"GET\") {\n result = {\n [SingleFetchRedirectSymbol]: result\n };\n }\n let headers = new Headers(response.headers);\n headers.set(\"Content-Type\", \"text/x-script\");\n return new Response(\n encodeViaTurboStream(\n result,\n request.signal,\n _build.entry.module.streamTimeout,\n serverMode\n ),\n {\n status: SINGLE_FETCH_REDIRECT_STATUS,\n headers\n }\n );\n }\n }\n } else if (matches && matches[matches.length - 1].route.module.default == null && matches[matches.length - 1].route.module.ErrorBoundary == null) {\n response = await handleResourceRequest(\n serverMode,\n staticHandler,\n matches.slice(-1)[0].route.id,\n request,\n loadContext,\n handleError\n );\n } else {\n let criticalCss = mode === \"development\" /* Development */ ? await getDevServerHooks()?.getCriticalCss?.(_build, url.pathname) : void 0;\n response = await handleDocumentRequest(\n serverMode,\n _build,\n staticHandler,\n request,\n loadContext,\n handleError,\n criticalCss\n );\n }\n if (request.method === \"HEAD\") {\n return new Response(null, {\n headers: response.headers,\n status: response.status,\n statusText: response.statusText\n });\n }\n return response;\n };\n};\nasync function handleManifestRequest(build, routes, url) {\n let patches = {};\n if (url.searchParams.has(\"p\")) {\n for (let path of url.searchParams.getAll(\"p\")) {\n let matches = matchServerRoutes(routes, path, build.basename);\n if (matches) {\n for (let match of matches) {\n let routeId = match.route.id;\n let route = build.assets.routes[routeId];\n if (route) {\n patches[routeId] = route;\n }\n }\n }\n }\n return Response.json(patches, {\n headers: {\n \"Cache-Control\": \"public, max-age=31536000, immutable\"\n }\n });\n }\n return new Response(\"Invalid Request\", { status: 400 });\n}\nasync function handleSingleFetchRequest(serverMode, build, staticHandler, request, handlerUrl, loadContext, handleError) {\n let { result, headers, status } = request.method !== \"GET\" ? await singleFetchAction(\n build,\n serverMode,\n staticHandler,\n request,\n handlerUrl,\n loadContext,\n handleError\n ) : await singleFetchLoaders(\n build,\n serverMode,\n staticHandler,\n request,\n handlerUrl,\n loadContext,\n handleError\n );\n let resultHeaders = new Headers(headers);\n resultHeaders.set(\"X-Remix-Response\", \"yes\");\n if (status === 304) {\n return new Response(null, { status: 304, headers: resultHeaders });\n }\n resultHeaders.set(\"Content-Type\", \"text/x-script\");\n return new Response(\n encodeViaTurboStream(\n result,\n request.signal,\n build.entry.module.streamTimeout,\n serverMode\n ),\n {\n status: status || 200,\n headers: resultHeaders\n }\n );\n}\nasync function handleDocumentRequest(serverMode, build, staticHandler, request, loadContext, handleError, criticalCss) {\n let context;\n try {\n context = await staticHandler.query(request, {\n requestContext: loadContext\n });\n } catch (error) {\n handleError(error);\n return new Response(null, { status: 500 });\n }\n if (isResponse(context)) {\n return context;\n }\n let headers = getDocumentHeaders(build, context);\n if (context.statusCode === 304) {\n return new Response(null, { status: 304, headers });\n }\n if (context.errors) {\n Object.values(context.errors).forEach((err) => {\n if (!isRouteErrorResponse(err) || err.error) {\n handleError(err);\n }\n });\n context.errors = sanitizeErrors(context.errors, serverMode);\n }\n let state = {\n loaderData: context.loaderData,\n actionData: context.actionData,\n errors: serializeErrors2(context.errors, serverMode)\n };\n let entryContext = {\n manifest: build.assets,\n routeModules: createEntryRouteModules(build.routes),\n staticHandlerContext: context,\n criticalCss,\n serverHandoffString: createServerHandoffString({\n basename: build.basename,\n criticalCss,\n future: build.future,\n isSpaMode: build.isSpaMode\n }),\n serverHandoffStream: encodeViaTurboStream(\n state,\n request.signal,\n build.entry.module.streamTimeout,\n serverMode\n ),\n renderMeta: {},\n future: build.future,\n isSpaMode: build.isSpaMode,\n serializeError: (err) => serializeError(err, serverMode)\n };\n let handleDocumentRequestFunction = build.entry.module.default;\n try {\n return await handleDocumentRequestFunction(\n request,\n context.statusCode,\n headers,\n entryContext,\n loadContext\n );\n } catch (error) {\n handleError(error);\n let errorForSecondRender = error;\n if (isResponse(error)) {\n try {\n let data2 = await unwrapResponse(error);\n errorForSecondRender = new ErrorResponseImpl(\n error.status,\n error.statusText,\n data2\n );\n } catch (e) {\n }\n }\n context = getStaticContextFromError(\n staticHandler.dataRoutes,\n context,\n errorForSecondRender\n );\n if (context.errors) {\n context.errors = sanitizeErrors(context.errors, serverMode);\n }\n let state2 = {\n loaderData: context.loaderData,\n actionData: context.actionData,\n errors: serializeErrors2(context.errors, serverMode)\n };\n entryContext = {\n ...entryContext,\n staticHandlerContext: context,\n serverHandoffString: createServerHandoffString({\n basename: build.basename,\n future: build.future,\n isSpaMode: build.isSpaMode\n }),\n serverHandoffStream: encodeViaTurboStream(\n state2,\n request.signal,\n build.entry.module.streamTimeout,\n serverMode\n ),\n renderMeta: {}\n };\n try {\n return await handleDocumentRequestFunction(\n request,\n context.statusCode,\n headers,\n entryContext,\n loadContext\n );\n } catch (error2) {\n handleError(error2);\n return returnLastResortErrorResponse(error2, serverMode);\n }\n }\n}\nasync function handleResourceRequest(serverMode, staticHandler, routeId, request, loadContext, handleError) {\n try {\n let response = await staticHandler.queryRoute(request, {\n routeId,\n requestContext: loadContext\n });\n invariant3(\n isResponse(response),\n \"Expected a Response to be returned from resource route handler\"\n );\n return response;\n } catch (error) {\n if (isResponse(error)) {\n error.headers.set(\"X-Remix-Catch\", \"yes\");\n return error;\n }\n if (isRouteErrorResponse(error)) {\n if (error) {\n handleError(error);\n }\n return errorResponseToJson(error, serverMode);\n }\n handleError(error);\n return returnLastResortErrorResponse(error, serverMode);\n }\n}\nfunction errorResponseToJson(errorResponse, serverMode) {\n return Response.json(\n serializeError(\n // @ts-expect-error This is \"private\" from users but intended for internal use\n errorResponse.error || new Error(\"Unexpected Server Error\"),\n serverMode\n ),\n {\n status: errorResponse.status,\n statusText: errorResponse.statusText,\n headers: {\n \"X-Remix-Error\": \"yes\"\n }\n }\n );\n}\nfunction returnLastResortErrorResponse(error, serverMode) {\n let message = \"Unexpected Server Error\";\n if (serverMode !== \"production\" /* Production */) {\n message += `\n\n${String(error)}`;\n }\n return new Response(message, {\n status: 500,\n headers: {\n \"Content-Type\": \"text/plain\"\n }\n });\n}\nfunction unwrapResponse(response) {\n let contentType = response.headers.get(\"Content-Type\");\n return contentType && /\\bapplication\\/json\\b/.test(contentType) ? response.body == null ? null : response.json() : response.text();\n}\n\n// lib/server-runtime/sessions.ts\nfunction flash(name) {\n return `__flash_${name}__`;\n}\nvar createSession = (initialData = {}, id = \"\") => {\n let map = new Map(Object.entries(initialData));\n return {\n get id() {\n return id;\n },\n get data() {\n return Object.fromEntries(map);\n },\n has(name) {\n return map.has(name) || map.has(flash(name));\n },\n get(name) {\n if (map.has(name)) return map.get(name);\n let flashName = flash(name);\n if (map.has(flashName)) {\n let value = map.get(flashName);\n map.delete(flashName);\n return value;\n }\n return void 0;\n },\n set(name, value) {\n map.set(name, value);\n },\n flash(name, value) {\n map.set(flash(name), value);\n },\n unset(name) {\n map.delete(name);\n }\n };\n};\nvar isSession = (object) => {\n return object != null && typeof object.id === \"string\" && typeof object.data !== \"undefined\" && typeof object.has === \"function\" && typeof object.get === \"function\" && typeof object.set === \"function\" && typeof object.flash === \"function\" && typeof object.unset === \"function\";\n};\nfunction createSessionStorage({\n cookie: cookieArg,\n createData,\n readData,\n updateData,\n deleteData\n}) {\n let cookie = isCookie(cookieArg) ? cookieArg : createCookie(cookieArg?.name || \"__session\", cookieArg);\n warnOnceAboutSigningSessionCookie(cookie);\n return {\n async getSession(cookieHeader, options) {\n let id = cookieHeader && await cookie.parse(cookieHeader, options);\n let data2 = id && await readData(id);\n return createSession(data2 || {}, id || \"\");\n },\n async commitSession(session, options) {\n let { id, data: data2 } = session;\n let expires = options?.maxAge != null ? new Date(Date.now() + options.maxAge * 1e3) : options?.expires != null ? options.expires : cookie.expires;\n if (id) {\n await updateData(id, data2, expires);\n } else {\n id = await createData(data2, expires);\n }\n return cookie.serialize(id, options);\n },\n async destroySession(session, options) {\n await deleteData(session.id);\n return cookie.serialize(\"\", {\n ...options,\n maxAge: void 0,\n expires: /* @__PURE__ */ new Date(0)\n });\n }\n };\n}\nfunction warnOnceAboutSigningSessionCookie(cookie) {\n warnOnce(\n cookie.isSigned,\n `The \"${cookie.name}\" cookie is not signed, but session cookies should be signed to prevent tampering on the client before they are sent back to the server. See https://remix.run/utils/cookies#signing-cookies for more information.`\n );\n}\n\n// lib/server-runtime/sessions/cookieStorage.ts\nfunction createCookieSessionStorage({ cookie: cookieArg } = {}) {\n let cookie = isCookie(cookieArg) ? cookieArg : createCookie(cookieArg?.name || \"__session\", cookieArg);\n warnOnceAboutSigningSessionCookie(cookie);\n return {\n async getSession(cookieHeader, options) {\n return createSession(\n cookieHeader && await cookie.parse(cookieHeader, options) || {}\n );\n },\n async commitSession(session, options) {\n let serializedCookie = await cookie.serialize(session.data, options);\n if (serializedCookie.length > 4096) {\n throw new Error(\n \"Cookie length will exceed browser maximum. Length: \" + serializedCookie.length\n );\n }\n return serializedCookie;\n },\n async destroySession(_session, options) {\n return cookie.serialize(\"\", {\n ...options,\n maxAge: void 0,\n expires: /* @__PURE__ */ new Date(0)\n });\n }\n };\n}\n\n// lib/server-runtime/sessions/memoryStorage.ts\nfunction createMemorySessionStorage({ cookie } = {}) {\n let map = /* @__PURE__ */ new Map();\n return createSessionStorage({\n cookie,\n async createData(data2, expires) {\n let id = Math.random().toString(36).substring(2, 10);\n map.set(id, { data: data2, expires });\n return id;\n },\n async readData(id) {\n if (map.has(id)) {\n let { data: data2, expires } = map.get(id);\n if (!expires || expires > /* @__PURE__ */ new Date()) {\n return data2;\n }\n if (expires) map.delete(id);\n }\n return null;\n },\n async updateData(id, data2, expires) {\n map.set(id, { data: data2, expires });\n },\n async deleteData(id) {\n map.delete(id);\n }\n });\n}\n\n// lib/dom/ssr/errors.ts\nfunction deserializeErrors2(errors) {\n if (!errors) return null;\n let entries = Object.entries(errors);\n let serialized = {};\n for (let [key, val] of entries) {\n if (val && val.__type === \"RouteErrorResponse\") {\n serialized[key] = new ErrorResponseImpl(\n val.status,\n val.statusText,\n val.data,\n val.internal === true\n );\n } else if (val && val.__type === \"Error\") {\n if (val.__subType) {\n let ErrorConstructor = window[val.__subType];\n if (typeof ErrorConstructor === \"function\") {\n try {\n let error = new ErrorConstructor(val.message);\n error.stack = val.stack;\n serialized[key] = error;\n } catch (e) {\n }\n }\n }\n if (serialized[key] == null) {\n let error = new Error(val.message);\n error.stack = val.stack;\n serialized[key] = error;\n }\n } else {\n serialized[key] = val;\n }\n }\n return serialized;\n}\n\nexport {\n Action,\n createBrowserHistory,\n invariant,\n createPath,\n parsePath,\n matchRoutes,\n generatePath,\n matchPath,\n resolvePath,\n data,\n redirect,\n redirectDocument,\n replace,\n ErrorResponseImpl,\n isRouteErrorResponse,\n IDLE_NAVIGATION,\n IDLE_FETCHER,\n IDLE_BLOCKER,\n createRouter,\n DataRouterContext,\n DataRouterStateContext,\n ViewTransitionContext,\n FetchersContext,\n NavigationContext,\n LocationContext,\n RouteContext,\n useHref,\n useInRouterContext,\n useLocation,\n useNavigationType,\n useMatch,\n useNavigate,\n useOutletContext,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useNavigation,\n useRevalidator,\n useMatches,\n useLoaderData,\n useRouteLoaderData,\n useActionData,\n useRouteError,\n useAsyncValue,\n useAsyncError,\n useBlocker,\n mapRouteProperties,\n createMemoryRouter,\n RouterProvider,\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n Await,\n createRoutesFromChildren,\n createRoutesFromElements,\n renderMatches,\n createSearchParams,\n SingleFetchRedirectSymbol,\n getSingleFetchDataStrategy,\n decodeViaTurboStream,\n RemixErrorBoundary,\n createClientRoutesWithHMRRevalidationOptOut,\n createClientRoutes,\n shouldHydrateRouteLoader,\n getPatchRoutesOnNavigationFunction,\n useFogOFWarDiscovery,\n FrameworkContext,\n Links,\n PrefetchPageLinks,\n Meta,\n Scripts,\n createBrowserRouter,\n createHashRouter,\n BrowserRouter,\n HashRouter,\n HistoryRouter,\n Link,\n NavLink,\n Form,\n ScrollRestoration,\n useLinkClickHandler,\n useSearchParams,\n useSubmit,\n useFormAction,\n useFetcher,\n useFetchers,\n useScrollRestoration,\n useBeforeUnload,\n usePrompt,\n useViewTransitionState,\n StaticRouter,\n StaticRouterProvider,\n createStaticHandler2 as createStaticHandler,\n createStaticRouter,\n ServerRouter,\n createRoutesStub,\n createCookie,\n isCookie,\n ServerMode,\n setDevServerHooks,\n createRequestHandler,\n createSession,\n isSession,\n createSessionStorage,\n createCookieSessionStorage,\n createMemorySessionStorage,\n deserializeErrors2 as deserializeErrors\n};\n","/**\n * react-router v7.1.1\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport {\n FrameworkContext,\n RemixErrorBoundary,\n RouterProvider,\n createBrowserHistory,\n createClientRoutes,\n createClientRoutesWithHMRRevalidationOptOut,\n createRouter,\n decodeViaTurboStream,\n deserializeErrors,\n getPatchRoutesOnNavigationFunction,\n getSingleFetchDataStrategy,\n invariant,\n mapRouteProperties,\n matchRoutes,\n shouldHydrateRouteLoader,\n useFogOFWarDiscovery\n} from \"./chunk-K6AXKMTT.mjs\";\n\n// lib/dom-export/dom-router-provider.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nfunction RouterProvider2(props) {\n return /* @__PURE__ */ React.createElement(RouterProvider, { flushSync: ReactDOM.flushSync, ...props });\n}\n\n// lib/dom-export/hydrated-router.tsx\nimport * as React2 from \"react\";\nvar ssrInfo = null;\nvar router = null;\nfunction initSsrInfo() {\n if (!ssrInfo && window.__reactRouterContext && window.__reactRouterManifest && window.__reactRouterRouteModules) {\n ssrInfo = {\n context: window.__reactRouterContext,\n manifest: window.__reactRouterManifest,\n routeModules: window.__reactRouterRouteModules,\n stateDecodingPromise: void 0,\n router: void 0,\n routerInitialized: false\n };\n }\n}\nfunction createHydratedRouter() {\n initSsrInfo();\n if (!ssrInfo) {\n throw new Error(\n \"You must be using the SSR features of React Router in order to skip passing a `router` prop to `<RouterProvider>`\"\n );\n }\n let localSsrInfo = ssrInfo;\n if (!ssrInfo.stateDecodingPromise) {\n let stream = ssrInfo.context.stream;\n invariant(stream, \"No stream found for single fetch decoding\");\n ssrInfo.context.stream = void 0;\n ssrInfo.stateDecodingPromise = decodeViaTurboStream(stream, window).then((value) => {\n ssrInfo.context.state = value.value;\n localSsrInfo.stateDecodingPromise.value = true;\n }).catch((e) => {\n localSsrInfo.stateDecodingPromise.error = e;\n });\n }\n if (ssrInfo.stateDecodingPromise.error) {\n throw ssrInfo.stateDecodingPromise.error;\n }\n if (!ssrInfo.stateDecodingPromise.value) {\n throw ssrInfo.stateDecodingPromise;\n }\n let routes = createClientRoutes(\n ssrInfo.manifest.routes,\n ssrInfo.routeModules,\n ssrInfo.context.state,\n ssrInfo.context.isSpaMode\n );\n let hydrationData = void 0;\n if (!ssrInfo.context.isSpaMode) {\n hydrationData = {\n ...ssrInfo.context.state,\n loaderData: { ...ssrInfo.context.state.loaderData }\n };\n let initialMatches = matchRoutes(\n routes,\n window.location,\n window.__reactRouterContext?.basename\n );\n if (initialMatches) {\n for (let match of initialMatches) {\n let routeId = match.route.id;\n let route = ssrInfo.routeModules[routeId];\n let manifestRoute = ssrInfo.manifest.routes[routeId];\n if (route && manifestRoute && shouldHydrateRouteLoader(\n manifestRoute,\n route,\n ssrInfo.context.isSpaMode\n ) && (route.HydrateFallback || !manifestRoute.hasLoader)) {\n delete hydrationData.loaderData[routeId];\n } else if (manifestRoute && !manifestRoute.hasLoader) {\n hydrationData.loaderData[routeId] = null;\n }\n }\n }\n if (hydrationData && hydrationData.errors) {\n hydrationData.errors = deserializeErrors(hydrationData.errors);\n }\n }\n let router2 = createRouter({\n routes,\n history: createBrowserHistory(),\n basename: ssrInfo.context.basename,\n hydrationData,\n mapRouteProperties,\n dataStrategy: getSingleFetchDataStrategy(\n ssrInfo.manifest,\n ssrInfo.routeModules,\n () => router2\n ),\n patchRoutesOnNavigation: getPatchRoutesOnNavigationFunction(\n ssrInfo.manifest,\n ssrInfo.routeModules,\n ssrInfo.context.isSpaMode,\n ssrInfo.context.basename\n )\n });\n ssrInfo.router = router2;\n if (router2.state.initialized) {\n ssrInfo.routerInitialized = true;\n router2.initialize();\n }\n router2.createRoutesForHMR = /* spacer so ts-ignore does not affect the right hand of the assignment */\n createClientRoutesWithHMRRevalidationOptOut;\n window.__reactRouterDataRouter = router2;\n return router2;\n}\nfunction HydratedRouter() {\n if (!router) {\n router = createHydratedRouter();\n }\n let [criticalCss, setCriticalCss] = React2.useState(\n process.env.NODE_ENV === \"development\" ? ssrInfo?.context.criticalCss : void 0\n );\n if (process.env.NODE_ENV === \"development\") {\n if (ssrInfo) {\n window.__reactRouterClearCriticalCss = () => setCriticalCss(void 0);\n }\n }\n let [location, setLocation] = React2.useState(router.state.location);\n React2.useLayoutEffect(() => {\n if (ssrInfo && ssrInfo.router && !ssrInfo.routerInitialized) {\n ssrInfo.routerInitialized = true;\n ssrInfo.router.initialize();\n }\n }, []);\n React2.useLayoutEffect(() => {\n if (ssrInfo && ssrInfo.router) {\n return ssrInfo.router.subscribe((newState) => {\n if (newState.location !== location) {\n setLocation(newState.location);\n }\n });\n }\n }, [location]);\n invariant(ssrInfo, \"ssrInfo unavailable for HydratedRouter\");\n useFogOFWarDiscovery(\n router,\n ssrInfo.manifest,\n ssrInfo.routeModules,\n ssrInfo.context.isSpaMode\n );\n return (\n // This fragment is important to ensure we match the <ServerRouter> JSX\n // structure so that useId values hydrate correctly\n /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(\n FrameworkContext.Provider,\n {\n value: {\n manifest: ssrInfo.manifest,\n routeModules: ssrInfo.routeModules,\n future: ssrInfo.context.future,\n criticalCss,\n isSpaMode: ssrInfo.context.isSpaMode\n }\n },\n /* @__PURE__ */ React2.createElement(RemixErrorBoundary, { location }, /* @__PURE__ */ React2.createElement(RouterProvider2, { router }))\n ), /* @__PURE__ */ React2.createElement(React2.Fragment, null))\n );\n}\nexport {\n HydratedRouter,\n RouterProvider2 as RouterProvider\n};\n","/**\n * react-router v7.1.1\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport {\n Action,\n Await,\n BrowserRouter,\n DataRouterContext,\n DataRouterStateContext,\n ErrorResponseImpl,\n FetchersContext,\n Form,\n FrameworkContext,\n HashRouter,\n HistoryRouter,\n IDLE_BLOCKER,\n IDLE_FETCHER,\n IDLE_NAVIGATION,\n Link,\n Links,\n LocationContext,\n MemoryRouter,\n Meta,\n NavLink,\n Navigate,\n NavigationContext,\n Outlet,\n PrefetchPageLinks,\n RemixErrorBoundary,\n Route,\n RouteContext,\n Router,\n RouterProvider,\n Routes,\n Scripts,\n ScrollRestoration,\n ServerMode,\n ServerRouter,\n SingleFetchRedirectSymbol,\n StaticRouter,\n StaticRouterProvider,\n ViewTransitionContext,\n createBrowserHistory,\n createBrowserRouter,\n createClientRoutes,\n createClientRoutesWithHMRRevalidationOptOut,\n createCookie,\n createCookieSessionStorage,\n createHashRouter,\n createMemoryRouter,\n createMemorySessionStorage,\n createPath,\n createRequestHandler,\n createRouter,\n createRoutesFromChildren,\n createRoutesFromElements,\n createRoutesStub,\n createSearchParams,\n createSession,\n createSessionStorage,\n createStaticHandler,\n createStaticRouter,\n data,\n decodeViaTurboStream,\n deserializeErrors,\n generatePath,\n getPatchRoutesOnNavigationFunction,\n getSingleFetchDataStrategy,\n invariant,\n isCookie,\n isRouteErrorResponse,\n isSession,\n mapRouteProperties,\n matchPath,\n matchRoutes,\n parsePath,\n redirect,\n redirectDocument,\n renderMatches,\n replace,\n resolvePath,\n setDevServerHooks,\n shouldHydrateRouteLoader,\n useActionData,\n useAsyncError,\n useAsyncValue,\n useBeforeUnload,\n useBlocker,\n useFetcher,\n useFetchers,\n useFogOFWarDiscovery,\n useFormAction,\n useHref,\n useInRouterContext,\n useLinkClickHandler,\n useLoaderData,\n useLocation,\n useMatch,\n useMatches,\n useNavigate,\n useNavigation,\n useNavigationType,\n useOutlet,\n useOutletContext,\n useParams,\n usePrompt,\n useResolvedPath,\n useRevalidator,\n useRouteError,\n useRouteLoaderData,\n useRoutes,\n useScrollRestoration,\n useSearchParams,\n useSubmit,\n useViewTransitionState\n} from \"./chunk-K6AXKMTT.mjs\";\nexport {\n Await,\n BrowserRouter,\n Form,\n HashRouter,\n IDLE_BLOCKER,\n IDLE_FETCHER,\n IDLE_NAVIGATION,\n Link,\n Links,\n MemoryRouter,\n Meta,\n NavLink,\n Navigate,\n Action as NavigationType,\n Outlet,\n PrefetchPageLinks,\n Route,\n Router,\n RouterProvider,\n Routes,\n Scripts,\n ScrollRestoration,\n ServerRouter,\n StaticRouter,\n StaticRouterProvider,\n DataRouterContext as UNSAFE_DataRouterContext,\n DataRouterStateContext as UNSAFE_DataRouterStateContext,\n ErrorResponseImpl as UNSAFE_ErrorResponseImpl,\n FetchersContext as UNSAFE_FetchersContext,\n FrameworkContext as UNSAFE_FrameworkContext,\n LocationContext as UNSAFE_LocationContext,\n NavigationContext as UNSAFE_NavigationContext,\n RemixErrorBoundary as UNSAFE_RemixErrorBoundary,\n RouteContext as UNSAFE_RouteContext,\n ServerMode as UNSAFE_ServerMode,\n SingleFetchRedirectSymbol as UNSAFE_SingleFetchRedirectSymbol,\n ViewTransitionContext as UNSAFE_ViewTransitionContext,\n createBrowserHistory as UNSAFE_createBrowserHistory,\n createClientRoutes as UNSAFE_createClientRoutes,\n createClientRoutesWithHMRRevalidationOptOut as UNSAFE_createClientRoutesWithHMRRevalidationOptOut,\n createRouter as UNSAFE_createRouter,\n decodeViaTurboStream as UNSAFE_decodeViaTurboStream,\n deserializeErrors as UNSAFE_deserializeErrors,\n getPatchRoutesOnNavigationFunction as UNSAFE_getPatchRoutesOnNavigationFunction,\n getSingleFetchDataStrategy as UNSAFE_getSingleFetchDataStrategy,\n invariant as UNSAFE_invariant,\n mapRouteProperties as UNSAFE_mapRouteProperties,\n shouldHydrateRouteLoader as UNSAFE_shouldHydrateRouteLoader,\n useFogOFWarDiscovery as UNSAFE_useFogOFWarDiscovery,\n useScrollRestoration as UNSAFE_useScrollRestoration,\n createBrowserRouter,\n createCookie,\n createCookieSessionStorage,\n createHashRouter,\n createMemoryRouter,\n createMemorySessionStorage,\n createPath,\n createRequestHandler,\n createRoutesFromChildren,\n createRoutesFromElements,\n createRoutesStub,\n createSearchParams,\n createSession,\n createSessionStorage,\n createStaticHandler,\n createStaticRouter,\n data,\n generatePath,\n isCookie,\n isRouteErrorResponse,\n isSession,\n matchPath,\n matchRoutes,\n parsePath,\n redirect,\n redirectDocument,\n renderMatches,\n replace,\n resolvePath,\n HistoryRouter as unstable_HistoryRouter,\n setDevServerHooks as unstable_setDevServerHooks,\n usePrompt as unstable_usePrompt,\n useActionData,\n useAsyncError,\n useAsyncValue,\n useBeforeUnload,\n useBlocker,\n useFetcher,\n useFetchers,\n useFormAction,\n useHref,\n useInRouterContext,\n useLinkClickHandler,\n useLoaderData,\n useLocation,\n useMatch,\n useMatches,\n useNavigate,\n useNavigation,\n useNavigationType,\n useOutlet,\n useOutletContext,\n useParams,\n useResolvedPath,\n useRevalidator,\n useRouteError,\n useRouteLoaderData,\n useRoutes,\n useSearchParams,\n useSubmit,\n useViewTransitionState\n};\n","\"use strict\";\n\nvar defaultParseOptions = {\n decodeValues: true,\n map: false,\n silent: false,\n};\n\nfunction isNonEmptyString(str) {\n return typeof str === \"string\" && !!str.trim();\n}\n\nfunction parseString(setCookieValue, options) {\n var parts = setCookieValue.split(\";\").filter(isNonEmptyString);\n\n var nameValuePairStr = parts.shift();\n var parsed = parseNameValuePair(nameValuePairStr);\n var name = parsed.name;\n var value = parsed.value;\n\n options = options\n ? Object.assign({}, defaultParseOptions, options)\n : defaultParseOptions;\n\n try {\n value = options.decodeValues ? decodeURIComponent(value) : value; // decode cookie value\n } catch (e) {\n console.error(\n \"set-cookie-parser encountered an error while decoding a cookie with value '\" +\n value +\n \"'. Set options.decodeValues to false to disable this feature.\",\n e\n );\n }\n\n var cookie = {\n name: name,\n value: value,\n };\n\n parts.forEach(function (part) {\n var sides = part.split(\"=\");\n var key = sides.shift().trimLeft().toLowerCase();\n var value = sides.join(\"=\");\n if (key === \"expires\") {\n cookie.expires = new Date(value);\n } else if (key === \"max-age\") {\n cookie.maxAge = parseInt(value, 10);\n } else if (key === \"secure\") {\n cookie.secure = true;\n } else if (key === \"httponly\") {\n cookie.httpOnly = true;\n } else if (key === \"samesite\") {\n cookie.sameSite = value;\n } else if (key === \"partitioned\") {\n cookie.partitioned = true;\n } else {\n cookie[key] = value;\n }\n });\n\n return cookie;\n}\n\nfunction parseNameValuePair(nameValuePairStr) {\n // Parses name-value-pair according to rfc6265bis draft\n\n var name = \"\";\n var value = \"\";\n var nameValueArr = nameValuePairStr.split(\"=\");\n if (nameValueArr.length > 1) {\n name = nameValueArr.shift();\n value = nameValueArr.join(\"=\"); // everything after the first =, joined by a \"=\" if there was more than one part\n } else {\n value = nameValuePairStr;\n }\n\n return { name: name, value: value };\n}\n\nfunction parse(input, options) {\n options = options\n ? Object.assign({}, defaultParseOptions, options)\n : defaultParseOptions;\n\n if (!input) {\n if (!options.map) {\n return [];\n } else {\n return {};\n }\n }\n\n if (input.headers) {\n if (typeof input.headers.getSetCookie === \"function\") {\n // for fetch responses - they combine headers of the same type in the headers array,\n // but getSetCookie returns an uncombined array\n input = input.headers.getSetCookie();\n } else if (input.headers[\"set-cookie\"]) {\n // fast-path for node.js (which automatically normalizes header names to lower-case\n input = input.headers[\"set-cookie\"];\n } else {\n // slow-path for other environments - see #25\n var sch =\n input.headers[\n Object.keys(input.headers).find(function (key) {\n return key.toLowerCase() === \"set-cookie\";\n })\n ];\n // warn if called on a request-like object with a cookie header rather than a set-cookie header - see #34, 36\n if (!sch && input.headers.cookie && !options.silent) {\n console.warn(\n \"Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning.\"\n );\n }\n input = sch;\n }\n }\n if (!Array.isArray(input)) {\n input = [input];\n }\n\n if (!options.map) {\n return input.filter(isNonEmptyString).map(function (str) {\n return parseString(str, options);\n });\n } else {\n var cookies = {};\n return input.filter(isNonEmptyString).reduce(function (cookies, str) {\n var cookie = parseString(str, options);\n cookies[cookie.name] = cookie;\n return cookies;\n }, cookies);\n }\n}\n\n/*\n Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas\n that are within a single set-cookie field-value, such as in the Expires portion.\n\n This is uncommon, but explicitly allowed - see https://tools.ietf.org/html/rfc2616#section-4.2\n Node.js does this for every header *except* set-cookie - see https://github.com/nodejs/node/blob/d5e363b77ebaf1caf67cd7528224b651c86815c1/lib/_http_incoming.js#L128\n React Native's fetch does this for *every* header, including set-cookie.\n\n Based on: https://github.com/google/j2objc/commit/16820fdbc8f76ca0c33472810ce0cb03d20efe25\n Credits to: https://github.com/tomball for original and https://github.com/chrusart for JavaScript implementation\n*/\nfunction splitCookiesString(cookiesString) {\n if (Array.isArray(cookiesString)) {\n return cookiesString;\n }\n if (typeof cookiesString !== \"string\") {\n return [];\n }\n\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n\n function skipWhitespace() {\n while (pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))) {\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n\n while (pos < cookiesString.length) {\n start = pos;\n cookiesSeparatorFound = false;\n\n while (skipWhitespace()) {\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n // ',' is a cookie separator if we have later first '=', not ';' or ','\n lastComma = pos;\n pos += 1;\n\n skipWhitespace();\n nextStart = pos;\n\n while (pos < cookiesString.length && notSpecialChar()) {\n pos += 1;\n }\n\n // currently special character\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n // we found cookies separator\n cookiesSeparatorFound = true;\n // pos is inside the next cookie, so back up and return it.\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n // in param ',' or param separator ';',\n // we continue from that comma\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n\n return cookiesStrings;\n}\n\nmodule.exports = parse;\nmodule.exports.parse = parse;\nmodule.exports.parseString = parseString;\nmodule.exports.splitCookiesString = splitCookiesString;\n","// src/utils.ts\nvar HOLE = -1;\nvar NAN = -2;\nvar NEGATIVE_INFINITY = -3;\nvar NEGATIVE_ZERO = -4;\nvar NULL = -5;\nvar POSITIVE_INFINITY = -6;\nvar UNDEFINED = -7;\nvar TYPE_BIGINT = \"B\";\nvar TYPE_DATE = \"D\";\nvar TYPE_ERROR = \"E\";\nvar TYPE_MAP = \"M\";\nvar TYPE_NULL_OBJECT = \"N\";\nvar TYPE_PROMISE = \"P\";\nvar TYPE_REGEXP = \"R\";\nvar TYPE_SET = \"S\";\nvar TYPE_SYMBOL = \"Y\";\nvar TYPE_URL = \"U\";\nvar TYPE_PREVIOUS_RESOLVED = \"Z\";\nvar Deferred = class {\n promise;\n resolve;\n reject;\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n};\nfunction createLineSplittingTransform() {\n const decoder = new TextDecoder();\n let leftover = \"\";\n return new TransformStream({\n transform(chunk, controller) {\n const str = decoder.decode(chunk, { stream: true });\n const parts = (leftover + str).split(\"\\n\");\n leftover = parts.pop() || \"\";\n for (const part of parts) {\n controller.enqueue(part);\n }\n },\n flush(controller) {\n if (leftover) {\n controller.enqueue(leftover);\n }\n }\n });\n}\n\n// src/flatten.ts\nfunction flatten(input) {\n const { indices } = this;\n const existing = indices.get(input);\n if (existing)\n return [existing];\n if (input === void 0)\n return UNDEFINED;\n if (input === null)\n return NULL;\n if (Number.isNaN(input))\n return NAN;\n if (input === Number.POSITIVE_INFINITY)\n return POSITIVE_INFINITY;\n if (input === Number.NEGATIVE_INFINITY)\n return NEGATIVE_INFINITY;\n if (input === 0 && 1 / input < 0)\n return NEGATIVE_ZERO;\n const index = this.index++;\n indices.set(input, index);\n stringify.call(this, input, index);\n return index;\n}\nfunction stringify(input, index) {\n const { deferred, plugins, postPlugins } = this;\n const str = this.stringified;\n const stack = [[input, index]];\n while (stack.length > 0) {\n const [input2, index2] = stack.pop();\n const partsForObj = (obj) => Object.keys(obj).map((k) => `\"_${flatten.call(this, k)}\":${flatten.call(this, obj[k])}`).join(\",\");\n let error = null;\n switch (typeof input2) {\n case \"boolean\":\n case \"number\":\n case \"string\":\n str[index2] = JSON.stringify(input2);\n break;\n case \"bigint\":\n str[index2] = `[\"${TYPE_BIGINT}\",\"${input2}\"]`;\n break;\n case \"symbol\": {\n const keyFor = Symbol.keyFor(input2);\n if (!keyFor) {\n error = new Error(\n \"Cannot encode symbol unless created with Symbol.for()\"\n );\n } else {\n str[index2] = `[\"${TYPE_SYMBOL}\",${JSON.stringify(keyFor)}]`;\n }\n break;\n }\n case \"object\": {\n if (!input2) {\n str[index2] = `${NULL}`;\n break;\n }\n const isArray = Array.isArray(input2);\n let pluginHandled = false;\n if (!isArray && plugins) {\n for (const plugin of plugins) {\n const pluginResult = plugin(input2);\n if (Array.isArray(pluginResult)) {\n pluginHandled = true;\n const [pluginIdentifier, ...rest] = pluginResult;\n str[index2] = `[${JSON.stringify(pluginIdentifier)}`;\n if (rest.length > 0) {\n str[index2] += `,${rest.map((v) => flatten.call(this, v)).join(\",\")}`;\n }\n str[index2] += \"]\";\n break;\n }\n }\n }\n if (!pluginHandled) {\n let result = isArray ? \"[\" : \"{\";\n if (isArray) {\n for (let i = 0; i < input2.length; i++)\n result += (i ? \",\" : \"\") + (i in input2 ? flatten.call(this, input2[i]) : HOLE);\n str[index2] = `${result}]`;\n } else if (input2 instanceof Date) {\n str[index2] = `[\"${TYPE_DATE}\",${input2.getTime()}]`;\n } else if (input2 instanceof URL) {\n str[index2] = `[\"${TYPE_URL}\",${JSON.stringify(input2.href)}]`;\n } else if (input2 instanceof RegExp) {\n str[index2] = `[\"${TYPE_REGEXP}\",${JSON.stringify(\n input2.source\n )},${JSON.stringify(input2.flags)}]`;\n } else if (input2 instanceof Set) {\n if (input2.size > 0) {\n str[index2] = `[\"${TYPE_SET}\",${[...input2].map((val) => flatten.call(this, val)).join(\",\")}]`;\n } else {\n str[index2] = `[\"${TYPE_SET}\"]`;\n }\n } else if (input2 instanceof Map) {\n if (input2.size > 0) {\n str[index2] = `[\"${TYPE_MAP}\",${[...input2].flatMap(([k, v]) => [\n flatten.call(this, k),\n flatten.call(this, v)\n ]).join(\",\")}]`;\n } else {\n str[index2] = `[\"${TYPE_MAP}\"]`;\n }\n } else if (input2 instanceof Promise) {\n str[index2] = `[\"${TYPE_PROMISE}\",${index2}]`;\n deferred[index2] = input2;\n } else if (input2 instanceof Error) {\n str[index2] = `[\"${TYPE_ERROR}\",${JSON.stringify(input2.message)}`;\n if (input2.name !== \"Error\") {\n str[index2] += `,${JSON.stringify(input2.name)}`;\n }\n str[index2] += \"]\";\n } else if (Object.getPrototypeOf(input2) === null) {\n str[index2] = `[\"${TYPE_NULL_OBJECT}\",{${partsForObj(input2)}}]`;\n } else if (isPlainObject(input2)) {\n str[index2] = `{${partsForObj(input2)}}`;\n } else {\n error = new Error(\"Cannot encode object with prototype\");\n }\n }\n break;\n }\n default: {\n const isArray = Array.isArray(input2);\n let pluginHandled = false;\n if (!isArray && plugins) {\n for (const plugin of plugins) {\n const pluginResult = plugin(input2);\n if (Array.isArray(pluginResult)) {\n pluginHandled = true;\n const [pluginIdentifier, ...rest] = pluginResult;\n str[index2] = `[${JSON.stringify(pluginIdentifier)}`;\n if (rest.length > 0) {\n str[index2] += `,${rest.map((v) => flatten.call(this, v)).join(\",\")}`;\n }\n str[index2] += \"]\";\n break;\n }\n }\n }\n if (!pluginHandled) {\n error = new Error(\"Cannot encode function or unexpected type\");\n }\n }\n }\n if (error) {\n let pluginHandled = false;\n if (postPlugins) {\n for (const plugin of postPlugins) {\n const pluginResult = plugin(input2);\n if (Array.isArray(pluginResult)) {\n pluginHandled = true;\n const [pluginIdentifier, ...rest] = pluginResult;\n str[index2] = `[${JSON.stringify(pluginIdentifier)}`;\n if (rest.length > 0) {\n str[index2] += `,${rest.map((v) => flatten.call(this, v)).join(\",\")}`;\n }\n str[index2] += \"]\";\n break;\n }\n }\n }\n if (!pluginHandled) {\n throw error;\n }\n }\n }\n}\nvar objectProtoNames = Object.getOwnPropertyNames(Object.prototype).sort().join(\"\\0\");\nfunction isPlainObject(thing) {\n const proto = Object.getPrototypeOf(thing);\n return proto === Object.prototype || proto === null || Object.getOwnPropertyNames(proto).sort().join(\"\\0\") === objectProtoNames;\n}\n\n// src/unflatten.ts\nvar globalObj = typeof window !== \"undefined\" ? window : typeof globalThis !== \"undefined\" ? globalThis : void 0;\nfunction unflatten(parsed) {\n const { hydrated, values } = this;\n if (typeof parsed === \"number\")\n return hydrate.call(this, parsed);\n if (!Array.isArray(parsed) || !parsed.length)\n throw new SyntaxError();\n const startIndex = values.length;\n for (const value of parsed) {\n values.push(value);\n }\n hydrated.length = values.length;\n return hydrate.call(this, startIndex);\n}\nfunction hydrate(index) {\n const { hydrated, values, deferred, plugins } = this;\n let result;\n const stack = [\n [\n index,\n (v) => {\n result = v;\n }\n ]\n ];\n let postRun = [];\n while (stack.length > 0) {\n const [index2, set] = stack.pop();\n switch (index2) {\n case UNDEFINED:\n set(void 0);\n continue;\n case NULL:\n set(null);\n continue;\n case NAN:\n set(NaN);\n continue;\n case POSITIVE_INFINITY:\n set(Infinity);\n continue;\n case NEGATIVE_INFINITY:\n set(-Infinity);\n continue;\n case NEGATIVE_ZERO:\n set(-0);\n continue;\n }\n if (hydrated[index2]) {\n set(hydrated[index2]);\n continue;\n }\n const value = values[index2];\n if (!value || typeof value !== \"object\") {\n hydrated[index2] = value;\n set(value);\n continue;\n }\n if (Array.isArray(value)) {\n if (typeof value[0] === \"string\") {\n const [type, b, c] = value;\n switch (type) {\n case TYPE_DATE:\n set(hydrated[index2] = new Date(b));\n continue;\n case TYPE_URL:\n set(hydrated[index2] = new URL(b));\n continue;\n case TYPE_BIGINT:\n set(hydrated[index2] = BigInt(b));\n continue;\n case TYPE_REGEXP:\n set(hydrated[index2] = new RegExp(b, c));\n continue;\n case TYPE_SYMBOL:\n set(hydrated[index2] = Symbol.for(b));\n continue;\n case TYPE_SET:\n const newSet = /* @__PURE__ */ new Set();\n hydrated[index2] = newSet;\n for (let i = 1; i < value.length; i++)\n stack.push([\n value[i],\n (v) => {\n newSet.add(v);\n }\n ]);\n set(newSet);\n continue;\n case TYPE_MAP:\n const map = /* @__PURE__ */ new Map();\n hydrated[index2] = map;\n for (let i = 1; i < value.length; i += 2) {\n const r = [];\n stack.push([\n value[i + 1],\n (v) => {\n r[1] = v;\n }\n ]);\n stack.push([\n value[i],\n (k) => {\n r[0] = k;\n }\n ]);\n postRun.push(() => {\n map.set(r[0], r[1]);\n });\n }\n set(map);\n continue;\n case TYPE_NULL_OBJECT:\n const obj = /* @__PURE__ */ Object.create(null);\n hydrated[index2] = obj;\n for (const key of Object.keys(b).reverse()) {\n const r = [];\n stack.push([\n b[key],\n (v) => {\n r[1] = v;\n }\n ]);\n stack.push([\n Number(key.slice(1)),\n (k) => {\n r[0] = k;\n }\n ]);\n postRun.push(() => {\n obj[r[0]] = r[1];\n });\n }\n set(obj);\n continue;\n case TYPE_PROMISE:\n if (hydrated[b]) {\n set(hydrated[index2] = hydrated[b]);\n } else {\n const d = new Deferred();\n deferred[b] = d;\n set(hydrated[index2] = d.promise);\n }\n continue;\n case TYPE_ERROR:\n const [, message, errorType] = value;\n let error = errorType && globalObj && globalObj[errorType] ? new globalObj[errorType](message) : new Error(message);\n hydrated[index2] = error;\n set(error);\n continue;\n case TYPE_PREVIOUS_RESOLVED:\n set(hydrated[index2] = hydrated[b]);\n continue;\n default:\n if (Array.isArray(plugins)) {\n const r = [];\n const vals = value.slice(1);\n for (let i = 0; i < vals.length; i++) {\n const v = vals[i];\n stack.push([\n v,\n (v2) => {\n r[i] = v2;\n }\n ]);\n }\n postRun.push(() => {\n for (const plugin of plugins) {\n const result2 = plugin(value[0], ...r);\n if (result2) {\n set(hydrated[index2] = result2.value);\n return;\n }\n }\n throw new SyntaxError();\n });\n continue;\n }\n throw new SyntaxError();\n }\n } else {\n const array = [];\n hydrated[index2] = array;\n for (let i = 0; i < value.length; i++) {\n const n = value[i];\n if (n !== HOLE) {\n stack.push([\n n,\n (v) => {\n array[i] = v;\n }\n ]);\n }\n }\n set(array);\n continue;\n }\n } else {\n const object = {};\n hydrated[index2] = object;\n for (const key of Object.keys(value).reverse()) {\n const r = [];\n stack.push([\n value[key],\n (v) => {\n r[1] = v;\n }\n ]);\n stack.push([\n Number(key.slice(1)),\n (k) => {\n r[0] = k;\n }\n ]);\n postRun.push(() => {\n object[r[0]] = r[1];\n });\n }\n set(object);\n continue;\n }\n }\n while (postRun.length > 0) {\n postRun.pop()();\n }\n return result;\n}\n\n// src/turbo-stream.ts\nasync function decode(readable, options) {\n const { plugins } = options ?? {};\n const done = new Deferred();\n const reader = readable.pipeThrough(createLineSplittingTransform()).getReader();\n const decoder = {\n values: [],\n hydrated: [],\n deferred: {},\n plugins\n };\n const decoded = await decodeInitial.call(decoder, reader);\n let donePromise = done.promise;\n if (decoded.done) {\n done.resolve();\n } else {\n donePromise = decodeDeferred.call(decoder, reader).then(done.resolve).catch((reason) => {\n for (const deferred of Object.values(decoder.deferred)) {\n deferred.reject(reason);\n }\n done.reject(reason);\n });\n }\n return {\n done: donePromise.then(() => reader.closed),\n value: decoded.value\n };\n}\nasync function decodeInitial(reader) {\n const read = await reader.read();\n if (!read.value) {\n throw new SyntaxError();\n }\n let line;\n try {\n line = JSON.parse(read.value);\n } catch (reason) {\n throw new SyntaxError();\n }\n return {\n done: read.done,\n value: unflatten.call(this, line)\n };\n}\nasync function decodeDeferred(reader) {\n let read = await reader.read();\n while (!read.done) {\n if (!read.value)\n continue;\n const line = read.value;\n switch (line[0]) {\n case TYPE_PROMISE: {\n const colonIndex = line.indexOf(\":\");\n const deferredId = Number(line.slice(1, colonIndex));\n const deferred = this.deferred[deferredId];\n if (!deferred) {\n throw new Error(`Deferred ID ${deferredId} not found in stream`);\n }\n const lineData = line.slice(colonIndex + 1);\n let jsonLine;\n try {\n jsonLine = JSON.parse(lineData);\n } catch (reason) {\n throw new SyntaxError();\n }\n const value = unflatten.call(this, jsonLine);\n deferred.resolve(value);\n break;\n }\n case TYPE_ERROR: {\n const colonIndex = line.indexOf(\":\");\n const deferredId = Number(line.slice(1, colonIndex));\n const deferred = this.deferred[deferredId];\n if (!deferred) {\n throw new Error(`Deferred ID ${deferredId} not found in stream`);\n }\n const lineData = line.slice(colonIndex + 1);\n let jsonLine;\n try {\n jsonLine = JSON.parse(lineData);\n } catch (reason) {\n throw new SyntaxError();\n }\n const value = unflatten.call(this, jsonLine);\n deferred.reject(value);\n break;\n }\n default:\n throw new SyntaxError();\n }\n read = await reader.read();\n }\n}\nfunction encode(input, options) {\n const { plugins, postPlugins, signal } = options ?? {};\n const encoder = {\n deferred: {},\n index: 0,\n indices: /* @__PURE__ */ new Map(),\n stringified: [],\n plugins,\n postPlugins,\n signal\n };\n const textEncoder = new TextEncoder();\n let lastSentIndex = 0;\n const readable = new ReadableStream({\n async start(controller) {\n const id = flatten.call(encoder, input);\n if (Array.isArray(id)) {\n throw new Error(\"This should never happen\");\n }\n if (id < 0) {\n controller.enqueue(textEncoder.encode(`${id}\n`));\n } else {\n controller.enqueue(\n textEncoder.encode(`[${encoder.stringified.join(\",\")}]\n`)\n );\n lastSentIndex = encoder.stringified.length - 1;\n }\n const seenPromises = /* @__PURE__ */ new WeakSet();\n while (Object.keys(encoder.deferred).length > 0) {\n for (const [deferredId, deferred] of Object.entries(encoder.deferred)) {\n if (seenPromises.has(deferred))\n continue;\n seenPromises.add(\n encoder.deferred[Number(deferredId)] = raceSignal(\n deferred,\n encoder.signal\n ).then(\n (resolved) => {\n const id2 = flatten.call(encoder, resolved);\n if (Array.isArray(id2)) {\n controller.enqueue(\n textEncoder.encode(\n `${TYPE_PROMISE}${deferredId}:[[\"${TYPE_PREVIOUS_RESOLVED}\",${id2[0]}]]\n`\n )\n );\n encoder.index++;\n lastSentIndex++;\n } else if (id2 < 0) {\n controller.enqueue(\n textEncoder.encode(`${TYPE_PROMISE}${deferredId}:${id2}\n`)\n );\n } else {\n const values = encoder.stringified.slice(lastSentIndex + 1).join(\",\");\n controller.enqueue(\n textEncoder.encode(\n `${TYPE_PROMISE}${deferredId}:[${values}]\n`\n )\n );\n lastSentIndex = encoder.stringified.length - 1;\n }\n },\n (reason) => {\n if (!reason || typeof reason !== \"object\" || !(reason instanceof Error)) {\n reason = new Error(\"An unknown error occurred\");\n }\n const id2 = flatten.call(encoder, reason);\n if (Array.isArray(id2)) {\n controller.enqueue(\n textEncoder.encode(\n `${TYPE_ERROR}${deferredId}:[[\"${TYPE_PREVIOUS_RESOLVED}\",${id2[0]}]]\n`\n )\n );\n encoder.index++;\n lastSentIndex++;\n } else if (id2 < 0) {\n controller.enqueue(\n textEncoder.encode(`${TYPE_ERROR}${deferredId}:${id2}\n`)\n );\n } else {\n const values = encoder.stringified.slice(lastSentIndex + 1).join(\",\");\n controller.enqueue(\n textEncoder.encode(\n `${TYPE_ERROR}${deferredId}:[${values}]\n`\n )\n );\n lastSentIndex = encoder.stringified.length - 1;\n }\n }\n ).finally(() => {\n delete encoder.deferred[Number(deferredId)];\n })\n );\n }\n await Promise.race(Object.values(encoder.deferred));\n }\n await Promise.all(Object.values(encoder.deferred));\n controller.close();\n }\n });\n return readable;\n}\nfunction raceSignal(promise, signal) {\n if (!signal)\n return promise;\n if (signal.aborted)\n return Promise.reject(signal.reason || new Error(\"Signal was aborted.\"));\n const abort = new Promise((resolve, reject) => {\n signal.addEventListener(\"abort\", (event) => {\n reject(signal.reason || new Error(\"Signal was aborted.\"));\n });\n promise.then(resolve).catch(reject);\n });\n abort.catch(() => {\n });\n return Promise.race([abort, promise]);\n}\nexport {\n decode,\n encode\n};\n","import clsx from 'clsx';\nimport { StringParam, useQueryParams } from '@popup-maker/use-query-params';\n\nimport { __ } from '@popup-maker/i18n';\nimport { applyFilters } from '@wordpress/hooks';\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { Popover } from '@wordpress/components';\nimport { AppLayout, AppHeader, AppContent } from '@popup-maker/layout';\n\nimport { CallToActionsView } from './components';\nimport { getGlobalVars } from './utils';\n\nimport type { TabComponent } from '@popup-maker/types';\n\nconst App = () => {\n\tconst { permissions = { edit_ctas: false } } = getGlobalVars();\n\tconst { edit_ctas: userCanEditCallToActions } = permissions;\n\n\tconst [ { view = 'call-to-actions' }, setParams ] = useQueryParams( {\n\t\ttab: StringParam,\n\t\tview: StringParam,\n\t} );\n\n\tconst views: TabComponent[] = useMemo( () => {\n\t\tlet _views: TabComponent[] = [];\n\n\t\tif ( userCanEditCallToActions ) {\n\t\t\t_views.push( {\n\t\t\t\tname: 'call-to-actions',\n\t\t\t\ttitle: __( 'Call to Actions', 'popup-maker' ),\n\t\t\t\tclassName: 'call-to-actions',\n\t\t\t\tpageTitle: __( 'Popup Maker - Call to Actions', 'popup-maker' ),\n\t\t\t\theading: __( 'Popup Maker - Call to Actions', 'popup-maker' ),\n\t\t\t\tcomp: CallToActionsView,\n\t\t\t} );\n\t\t}\n\n\t\t/**\n\t\t * Filter the list of views.\n\t\t *\n\t\t * @param {TabComponent[]} views List of views.\n\t\t *\n\t\t * @return {TabComponent[]} Filtered list of views.\n\t\t */\n\t\t_views = applyFilters(\n\t\t\t'popupMaker.callToActionEditor.views',\n\t\t\t[ ..._views ],\n\t\t\t{\n\t\t\t\tview,\n\t\t\t\tsetParams,\n\t\t\t}\n\t\t) as TabComponent[];\n\n\t\treturn _views;\n\t}, [ view, setParams, userCanEditCallToActions ] );\n\n\t// Assign the current view from the list of views.\n\tconst currentView = views.find( ( _view ) => _view.name === view );\n\n\t// Create a generic component from currentView.\n\tconst ViewComponent = currentView?.comp ? currentView.comp : () => <></>;\n\n\t// Update page title with contextual info based on current view.\n\tuseEffect( () => {\n\t\tdocument.title =\n\t\t\tviews.find( ( obj ) => obj.name === view )?.pageTitle ??\n\t\t\t__( 'Popup Maker', 'popup-maker' );\n\t}, [ view, views ] );\n\n\tconst { adminUrl } = getGlobalVars();\n\n\treturn (\n\t\t<AppLayout\n\t\t\tclassName={ clsx( [\n\t\t\t\t'popup-maker-call-to-actions-page',\n\t\t\t\t`view-${ view }`,\n\t\t\t] ) }\n\t\t>\n\t\t\t<AppHeader\n\t\t\t\ttabs={ views }\n\t\t\t\tcurrentTab={ view ?? undefined }\n\t\t\t\tonTabChange={ ( tabName ) => setParams( { view: tabName } ) }\n\t\t\t\tadminUrl={ adminUrl }\n\t\t\t/>\n\t\t\t<AppContent>\n\t\t\t\t<ViewComponent />\n\t\t\t</AppContent>\n\t\t\t{ /*\n\t\t\t// @ts-ignore */ }\n\t\t\t<Popover.Slot />\n\t\t</AppLayout>\n\t);\n};\n\nexport default App;\n","export { default as List } from './list';\nexport { default as CallToActionsView } from './list-view';\n","// extracted by mini-css-extract-plugin\nexport {};","import { useDispatch, useSelect } from '@wordpress/data';\nimport { __, _n, sprintf } from '@popup-maker/i18n';\nimport { Button, Spinner } from '@wordpress/components';\n\nimport { callToActionStore } from '@popup-maker/core-data';\n\nimport { useEditor } from '@popup-maker/cta-editor';\n\nconst Header = () => {\n\tconst { setEditorId } = useEditor();\n\n\t// Fetch needed data from the @popup-maker/core-data & @wordpress/data stores.\n\tconst callToActions = useSelect(\n\t\t( select ) => select( callToActionStore ).getCallToActions(),\n\t\t[]\n\t);\n\tconst isLoading = useSelect(\n\t\t( select ) =>\n\t\t\tselect( callToActionStore ).isResolving( 'getCallToActions' ),\n\t\t[]\n\t);\n\n\tconst { createCallToAction } = useDispatch( callToActionStore );\n\n\tconst count = callToActions?.length ?? 0;\n\n\treturn (\n\t\t<header className=\"popup-maker-call-to-actions-view__header\">\n\t\t\t<h1 className=\"view-title wp-heading-inline\">\n\t\t\t\t{ __( 'Call to Actions', 'popup-maker' ) }\n\t\t\t</h1>\n\t\t\t<span className=\"item-count\">\n\t\t\t\t{ isLoading ? (\n\t\t\t\t\t<Spinner />\n\t\t\t\t) : (\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t/* translators: 1. Number of items */\n\t\t\t\t\t\t_n( '%d item', '%d items', count, 'popup-maker' ),\n\t\t\t\t\t\tcount\n\t\t\t\t\t)\n\t\t\t\t) }\n\t\t\t</span>\n\t\t\t<Button\n\t\t\t\tclassName=\"add-call-to-action\"\n\t\t\t\tonClick={ async () => {\n\t\t\t\t\tconst newCta = await createCallToAction( {\n\t\t\t\t\t\ttitle: __( 'New Call to Action', 'popup-maker' ),\n\t\t\t\t\t} );\n\n\t\t\t\t\tif ( newCta ) {\n\t\t\t\t\t\tsetEditorId( newCta.id );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tvariant=\"primary\"\n\t\t\t>\n\t\t\t\t{ __( 'Add Call to Action', 'popup-maker' ) }\n\t\t\t</Button>\n\t\t</header>\n\t);\n};\n\nexport default Header;\n","import './editor.scss';\n\nimport { __ } from '@popup-maker/i18n';\n\nimport Header from './header';\nimport List from '../list';\nimport Notices from './notices';\nimport { getGlobalVars } from '../../utils';\nimport {\n\tEditor as BaseEditor,\n\twithModal,\n\twithQueryParams,\n} from '@popup-maker/cta-editor';\n\n/**\n * Generates the Call To Actions tab component & sub-app.\n */\nconst CallToActionsView = () => {\n\tconst { permissions = { edit_ctas: false } } = getGlobalVars();\n\tconst { edit_ctas: userCanEditCallToActions } = permissions;\n\n\t// If the user doesn't have the manage_settings permission, show a message.\n\tif ( ! userCanEditCallToActions ) {\n\t\treturn (\n\t\t\t<div className=\"call-to-action-list permission-denied\">\n\t\t\t\t<Notices />\n\t\t\t\t<h3>{ __( 'Permission Denied', 'popup-maker' ) }</h3>\n\t\t\t\t<p>\n\t\t\t\t\t<strong>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'You do not have permission to manage Call To Actions.',\n\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</strong>\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst Editor = withQueryParams( withModal( BaseEditor ) );\n\n\treturn (\n\t\t<div className=\"call-to-action-list\">\n\t\t\t<Notices />\n\t\t\t<Header />\n\t\t\t<List />\n\t\t\t<Editor />\n\t\t</div>\n\t);\n};\n\nexport default CallToActionsView;\n","import { Notice } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useCallback, useLayoutEffect, useRef } from '@wordpress/element';\n\nimport { callToActionStore } from '@popup-maker/core-data';\nimport type { WPNotice } from '@popup-maker/core-data';\nimport { DEBUG_MODE } from '@popup-maker/cta-editor';\n\n// REVIEW: We need to create our own notice store to handle the notices.\n// REVIEW: This one doesn't allow for extra options such as closeDelay.\n// REVIEW: We also need to allow typing/grouping of notices, such as toast or editor etc.\n\nconst Notices = () => {\n\tconst noticeTimerRef = useRef< {\n\t\t[ key: WPNotice[ 'id' ] ]: ReturnType< typeof setTimeout >;\n\t} >( {} );\n\n\tconst { notices, isEditorActive } = useSelect(\n\t\t( select ) => ( {\n\t\t\t// TODO: Segment this with a notice type based selector.\n\t\t\t// TODO: These should be notices under the notice type, other types might be toast or editor etc.\n\t\t\tnotices: select( callToActionStore ).getNotices(),\n\t\t\tisEditorActive: select( callToActionStore ).isEditorActive(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst { removeNotice } = useDispatch( callToActionStore );\n\n\tconst handleDismiss = useCallback(\n\t\t( id: string ) => {\n\t\t\t// Clear the timer if it exists.\n\t\t\tif ( noticeTimerRef.current[ id ] ) {\n\t\t\t\tclearTimeout( noticeTimerRef.current[ id ] );\n\t\t\t\tdelete noticeTimerRef.current[ id ];\n\t\t\t}\n\n\t\t\tremoveNotice( id );\n\t\t},\n\t\t[ removeNotice ]\n\t);\n\n\t// Handle auto-dismissing notices. Should this use effect and ref list?\n\tuseLayoutEffect( () => {\n\t\tnotices.forEach( ( notice ) => {\n\t\t\t// If existing timer, skip.\n\t\t\tif ( noticeTimerRef.current[ notice.id ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Don't auto-dismiss field errors - they're cleared when the field is updated\n\t\t\tconst isFieldError = notice.id?.startsWith( 'field-error-' );\n\t\t\tif ( isFieldError ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set a timer to dismiss the notice after the delay.\n\t\t\t// When DEBUG_MODE is enabled, notices stay visible for debugging\n\t\t\tif ( ! DEBUG_MODE ) {\n\t\t\t\tnoticeTimerRef.current[ notice.id ] = setTimeout( () => {\n\t\t\t\t\thandleDismiss( notice.id );\n\t\t\t\t}, 3000 );\n\t\t\t}\n\t\t} );\n\t}, [ notices, handleDismiss ] );\n\n\t// Hide notices when editor is active to avoid duplicate error displays\n\tif ( ! notices.length || isEditorActive ) {\n\t\treturn null;\n\t}\n\n\t// Render each notice, some notices have a closeDelay which will automatically dismiss the notice after a set time.\n\treturn (\n\t\t<div className=\"notices\">\n\t\t\t{ notices.map( ( notice ) => (\n\t\t\t\t<Notice\n\t\t\t\t\tkey={ notice.id }\n\t\t\t\t\tstatus={\n\t\t\t\t\t\tnotice.status as\n\t\t\t\t\t\t\t| 'warning'\n\t\t\t\t\t\t\t| 'success'\n\t\t\t\t\t\t\t| 'error'\n\t\t\t\t\t\t\t| 'info'\n\t\t\t\t\t}\n\t\t\t\t\tisDismissible={ notice.isDismissible }\n\t\t\t\t\tonRemove={ () => handleDismiss( notice.id ) }\n\t\t\t\t\t// actions={ notice.actions }\n\t\t\t\t>\n\t\t\t\t\t{ notice.content }\n\t\t\t\t</Notice>\n\t\t\t) ) }\n\t\t</div>\n\t);\n};\n\nexport default Notices;\n","// extracted by mini-css-extract-plugin\nexport {};","import './bulk-actions.scss';\n\nimport { CheckAll } from '@popup-maker/icons';\nimport { __, _n, sprintf } from '@popup-maker/i18n';\n\nimport {\n\tButton,\n\tDropdown,\n\tFlex,\n\tIcon,\n\tNavigableMenu,\n} from '@wordpress/components';\nimport { Fragment, useRef, useState } from '@wordpress/element';\nimport { chevronDown, chevronUp } from '@wordpress/icons';\n\nimport { useList } from '../../../context';\nimport { useListBulkActions } from '../../../registry';\n\nconst ListBulkActions = () => {\n\tconst lastGroup = useRef< string | undefined >( undefined );\n\tconst btnRef = useRef< HTMLButtonElement >();\n\tconst [ isOpen, setIsOpen ] = useState( false );\n\tconst listBulkActions = useListBulkActions();\n\n\tconst { bulkSelection = [] } = useList();\n\n\tconst bulkActionsContext = {};\n\n\tif ( bulkSelection.length === 0 ) {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Separates new groups of options with a horizontal line.\n\t * @param {Object} props\n\t * @param {string} props.group\n\t */\n\tconst GroupSeparator = ( { group }: { group?: string } ) => {\n\t\tif ( ! group || group === lastGroup.current ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst previousGroup = lastGroup.current;\n\t\tlastGroup.current = group;\n\n\t\treturn previousGroup ? <hr /> : null;\n\t};\n\n\tconst renderContent = ( { onClose }: { onClose: () => void } ) => {\n\t\tlastGroup.current = undefined;\n\n\t\treturn (\n\t\t\t<NavigableMenu orientation=\"vertical\">\n\t\t\t\t{ listBulkActions.map( ( { id, group, render: Component } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t\t\t<GroupSeparator group={ group } />\n\t\t\t\t\t\t\t<Component\n\t\t\t\t\t\t\t\t{ ...bulkActionsContext }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</NavigableMenu>\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Dropdown\n\t\t\t\tclassName=\"list-table-bulk-actions\"\n\t\t\t\tcontentClassName=\"list-table-bulk-actions__popover\"\n\t\t\t\tplacement=\"bottom left\"\n\t\t\t\tfocusOnMount=\"firstElement\"\n\t\t\t\topen={ isOpen }\n\t\t\t\tpopoverProps={ {\n\t\t\t\t\tnoArrow: false,\n\t\t\t\t\tanchor: {\n\t\t\t\t\t\tgetBoundingClientRect: () => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\tbtnRef.current?.getBoundingClientRect() ||\n\t\t\t\t\t\t\t\tnew DOMRect()\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tonClose: () => {\n\t\t\t\t\t\tsetIsOpen( false );\n\t\t\t\t\t},\n\t\t\t\t\tonFocusOutside: () => {\n\t\t\t\t\t\tsetIsOpen( false );\n\t\t\t\t\t},\n\t\t\t\t} }\n\t\t\t\trenderToggle={ () => (\n\t\t\t\t\t<Flex>\n\t\t\t\t\t\t<span className=\"selected-items\">\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t// translators: 1. number of items.\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'%d item selected',\n\t\t\t\t\t\t\t\t\t'%d items selected',\n\t\t\t\t\t\t\t\t\tbulkSelection.length,\n\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tbulkSelection.length\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"popover-toggle\"\n\t\t\t\t\t\t\tref={ ( ref: HTMLButtonElement ) => {\n\t\t\t\t\t\t\t\tbtnRef.current = ref;\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-label={ __( 'Bulk Actions', 'popup-maker' ) }\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ () => setIsOpen( ! isOpen ) }\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\ticon={ CheckAll }\n\t\t\t\t\t\t\ticonSize={ 20 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Bulk Actions', 'popup-maker' ) }\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclassName=\"toggle-icon\"\n\t\t\t\t\t\t\t\ticon={ isOpen ? chevronUp : chevronDown }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Flex>\n\t\t\t\t) }\n\t\t\t\trenderContent={ renderContent }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default ListBulkActions;\n","// extracted by mini-css-extract-plugin\nexport {};","import './filters.scss';\n\nimport { Fragment, useCallback, useRef } from '@wordpress/element';\nimport { useList } from '../../../context';\nimport { useListFilters } from '../../../registry';\n\nconst ListFilters = () => {\n\tconst {\n\t\tfilters = {},\n\t\tsetFilters,\n\t\tcallToActions = [],\n\t\tfilteredCallToActions = [],\n\t} = useList();\n\n\tconst registeredFilters = useListFilters();\n\tconst lastGroup = useRef< string | undefined >( undefined );\n\n\t/**\n\t * Separates new groups of options with a separator (currently returns null).\n\t * @param {Object} props\n\t * @param {string} props.group\n\t */\n\tconst GroupSeparator = useCallback( ( { group }: { group?: string } ) => {\n\t\tif ( ! group || group === lastGroup.current ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst previousGroup = lastGroup.current;\n\t\tlastGroup.current = group;\n\n\t\t// Currently returning null as we don't need separators yet,\n\t\t// but following the pattern for future extensibility\n\t\treturn previousGroup ? null : null;\n\t}, [] );\n\n\tconst renderContent = useCallback( () => {\n\t\tlastGroup.current = undefined;\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ registeredFilters.map(\n\t\t\t\t\t( { id, group, render: FilterComponent } ) => (\n\t\t\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t\t\t<GroupSeparator group={ group } />\n\t\t\t\t\t\t\t<FilterComponent\n\t\t\t\t\t\t\t\tfilters={ filters }\n\t\t\t\t\t\t\t\tsetFilters={ setFilters }\n\t\t\t\t\t\t\t\tonClose={ () => {} }\n\t\t\t\t\t\t\t\titems={ callToActions }\n\t\t\t\t\t\t\t\tfilteredItems={ filteredCallToActions }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t)\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}, [\n\t\tregisteredFilters,\n\t\tfilters,\n\t\tsetFilters,\n\t\tcallToActions,\n\t\tfilteredCallToActions,\n\t\tGroupSeparator,\n\t] );\n\n\tif ( registeredFilters.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn <div className=\"list-table-filters\">{ renderContent() }</div>;\n};\n\nexport default ListFilters;\n","import {\n\tButton,\n\tIcon,\n\tSpinner,\n\tTextControl,\n\tToggleControl,\n\tTooltip,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { info, search, trash } from '@wordpress/icons';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nimport { __ } from '@popup-maker/i18n';\nimport { noop } from '@popup-maker/utils';\nimport { FilterLines } from '@popup-maker/icons';\nimport { useEditor } from '@popup-maker/cta-editor';\nimport { ConfirmDialogue, ListTable } from '@popup-maker/components';\n\nimport { ListConsumer, ListProvider } from '../../context';\nimport ListBulkActions from './bulk-actions';\nimport ListQuickActions from './quick-actions';\nimport ListFilters from './filters';\nimport ListOptions from './options';\n\nimport type { CallToAction } from '@popup-maker/core-data';\n\nconst { cta_types: callToActions } = window.popupMakerCtaAdmin;\n\nconst List = () => {\n\t// Get the shared method for setting editor Id & query params.\n\tconst { setEditorId } = useEditor();\n\n\tconst [ showFilters, setShowFilters ] = useState< boolean >( false );\n\n\tconst [ confirmDialogue, setConfirmDialogue ] = useState< {\n\t\tmessage: string;\n\t\tcallback: () => void;\n\t\tisDestructive?: boolean;\n\t} >();\n\n\tconst clearConfirm = () => setConfirmDialogue( undefined );\n\n\tconst getCtaLabel = ( typeKey: string ) => {\n\t\tconst ctaType = Object.values( callToActions ).find(\n\t\t\t( { key } ) => key === typeKey\n\t\t);\n\n\t\treturn ctaType?.label ?? '';\n\t};\n\n\treturn (\n\t\t<ListProvider>\n\t\t\t<ListConsumer>\n\t\t\t\t{ ( {\n\t\t\t\t\tisLoading,\n\t\t\t\t\tbulkSelection = [],\n\t\t\t\t\tsetBulkSelection = noop,\n\t\t\t\t\tfilteredCallToActions = [],\n\t\t\t\t\tupdateCallToAction = noop,\n\t\t\t\t\tfilters: { searchText = '' },\n\t\t\t\t\tsetFilters,\n\t\t\t\t\tsortConfig,\n\t\t\t\t\tsetSortConfig,\n\t\t\t\t} ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ConfirmDialogue\n\t\t\t\t\t\t\t{ ...confirmDialogue }\n\t\t\t\t\t\t\tonClose={ clearConfirm }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"list-table-container\">\n\t\t\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t\t\t<div className=\"is-loading\">\n\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t<div className=\"list-table-header\">\n\t\t\t\t\t\t\t\t<div className=\"list-search\">\n\t\t\t\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Search Call to Actions…',\n\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tvalue={ searchText ?? '' }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\t\tsetFilters( {\n\t\t\t\t\t\t\t\t\t\t\t\tsearchText:\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue !== ''\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<ListBulkActions />\n\n\t\t\t\t\t\t\t\t{ bulkSelection.length === 0 && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tclassName=\"filters-toggle\"\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetShowFilters( ! showFilters );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taria-expanded={ showFilters }\n\t\t\t\t\t\t\t\t\t\ticon={ FilterLines }\n\t\t\t\t\t\t\t\t\t\ticonSize={ 20 }\n\t\t\t\t\t\t\t\t\t\ttext={\n\t\t\t\t\t\t\t\t\t\t\t! showFilters\n\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Filters', 'popup-maker' )\n\t\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Hide Filters',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t\t<ListOptions />\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{ showFilters && <ListFilters /> }\n\n\t\t\t\t\t\t\t<ListTable\n\t\t\t\t\t\t\t\tselectedItems={ bulkSelection }\n\t\t\t\t\t\t\t\tonSelectItems={ ( newSelection ) =>\n\t\t\t\t\t\t\t\t\tsetBulkSelection( newSelection )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\titems={\n\t\t\t\t\t\t\t\t\t! isLoading ? filteredCallToActions : []\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcolumns={ {\n\t\t\t\t\t\t\t\t\tenabled: () => (\n\t\t\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Enable or disable the call to action',\n\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tplacement=\"top-end\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ info } />\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: __( 'Name', 'popup-maker' ),\n\t\t\t\t\t\t\t\t\tdescription: __(\n\t\t\t\t\t\t\t\t\t\t'Description',\n\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttype: __( 'Type', 'popup-maker' ),\n\t\t\t\t\t\t\t\t\tconversions: __(\n\t\t\t\t\t\t\t\t\t\t'Conversions',\n\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tstatus: __( 'Status', 'popup-maker' ),\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tsortableColumns={ [\n\t\t\t\t\t\t\t\t\t'type',\n\t\t\t\t\t\t\t\t\t'title',\n\t\t\t\t\t\t\t\t\t'conversions',\n\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\tonSort={ ( orderby, order ) => {\n\t\t\t\t\t\t\t\t\tsetSortConfig( {\n\t\t\t\t\t\t\t\t\t\torderby,\n\t\t\t\t\t\t\t\t\t\torder,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tinitialSort={ sortConfig }\n\t\t\t\t\t\t\t\trowClasses={ ( callToAction ) => {\n\t\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\t\t`call-to-action-${ callToAction.id }`,\n\t\t\t\t\t\t\t\t\t\t`status-${ callToAction.status }`,\n\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\trenderCell={ (\n\t\t\t\t\t\t\t\t\tcol:\n\t\t\t\t\t\t\t\t\t\t| string\n\t\t\t\t\t\t\t\t\t\t| keyof Pick<\n\t\t\t\t\t\t\t\t\t\t\t\tCallToAction< 'view' >,\n\t\t\t\t\t\t\t\t\t\t\t\t'id' | 'title' | 'excerpt'\n\t\t\t\t\t\t\t\t\t\t >\n\t\t\t\t\t\t\t\t\t\t| keyof CallToAction[ 'settings' ],\n\t\t\t\t\t\t\t\t\tcallToAction\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst status = callToAction.status;\n\t\t\t\t\t\t\t\t\tconst isTrash =\n\t\t\t\t\t\t\t\t\t\tstatus ===\n\t\t\t\t\t\t\t\t\t\t( 'trash' as typeof callToAction.status );\n\t\t\t\t\t\t\t\t\tconst isPublish = status === 'publish';\n\n\t\t\t\t\t\t\t\t\tswitch ( col ) {\n\t\t\t\t\t\t\t\t\t\tcase 'enabled':\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={ '' }\n\t\t\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Enable or disable the call to action',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={ isPublish }\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={ isTrash }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={ ( checked ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateCallToAction( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: callToAction.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus: checked\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'publish'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'draft',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\tcase 'status':\n\t\t\t\t\t\t\t\t\t\t\treturn isTrash ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'In Trash',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ trash }\n\t\t\t\t\t\t\t\t\t\t\t\t\tsize={ 20 }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isPublish\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Enabled',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Disabled',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\tcase 'title': {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditorId(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcallToAction.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcallToAction.title\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.rendered\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ListQuickActions\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalues={ callToAction }\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tcase 'conversions':\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\tcallToAction.stats\n\t\t\t\t\t\t\t\t\t\t\t\t\t?.conversions ?? 0\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\tcase 'type':\n\t\t\t\t\t\t\t\t\t\t\treturn getCtaLabel(\n\t\t\t\t\t\t\t\t\t\t\t\tcallToAction.settings.type\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\tcase 'description':\n\t\t\t\t\t\t\t\t\t\t\treturn decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\t\tcallToAction.excerpt?.raw || ''\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\tcallToAction[ col ] ??\n\t\t\t\t\t\t\t\t\t\t\t\tcallToAction.settings[ col ] ??\n\t\t\t\t\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</ListConsumer>\n\t\t</ListProvider>\n\t);\n};\n\nexport default List;\n","import './options.scss';\n\nimport { __ } from '@popup-maker/i18n';\nimport { Fragment, useRef, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\nimport { Button, Dropdown, NavigableMenu } from '@wordpress/components';\n\nimport { useListOptions } from '../../../registry';\n\nconst ListOptions = () => {\n\tconst listOptionsBtnRef = useRef< HTMLButtonElement >();\n\tconst lastGroup = useRef< string | undefined >( undefined );\n\tconst [ isOpen, setIsOpen ] = useState( false );\n\tconst listOptions = useListOptions();\n\n\tconst listOptionsContext = {};\n\n\tif ( listOptions.length === 0 ) {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Separates new groups of options with a horizontal line.\n\t * @param {Object} props\n\t * @param {string} props.group\n\t */\n\tconst GroupSeparator = ( { group }: { group?: string } ) => {\n\t\tif ( ! group || group === lastGroup.current ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst previousGroup = lastGroup.current;\n\t\tlastGroup.current = group;\n\n\t\treturn previousGroup ? <hr /> : null;\n\t};\n\n\tconst renderContent = ( { onClose }: { onClose: () => void } ) => {\n\t\tlastGroup.current = undefined;\n\n\t\treturn (\n\t\t\t<NavigableMenu orientation=\"vertical\">\n\t\t\t\t{ listOptions.map( ( { id, group, render: Component } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t\t\t<GroupSeparator group={ group } />\n\t\t\t\t\t\t\t<Component\n\t\t\t\t\t\t\t\t{ ...listOptionsContext }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</NavigableMenu>\n\t\t);\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tclassName=\"list-table-options-menu\"\n\t\t\tcontentClassName=\"list-table-options-menu__popover\"\n\t\t\tplacement=\"bottom left\"\n\t\t\tfocusOnMount=\"firstElement\"\n\t\t\topen={ isOpen }\n\t\t\tpopoverProps={ {\n\t\t\t\tnoArrow: false,\n\t\t\t\tanchor: {\n\t\t\t\t\tgetBoundingClientRect: () => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tlistOptionsBtnRef.current?.getBoundingClientRect() ||\n\t\t\t\t\t\t\tnew DOMRect()\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tonClose: () => {\n\t\t\t\t\tsetIsOpen( false );\n\t\t\t\t},\n\t\t\t\tonFocusOutside: () => {\n\t\t\t\t\tsetIsOpen( false );\n\t\t\t\t},\n\t\t\t} }\n\t\t\trenderToggle={ () => (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"popover-toggle\"\n\t\t\t\t\taria-label={ __( 'Additional options', 'popup-maker' ) }\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tonClick={ () => setIsOpen( ! isOpen ) }\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\tref={ ( ref: HTMLButtonElement ) => {\n\t\t\t\t\t\tlistOptionsBtnRef.current = ref;\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\trenderContent={ renderContent }\n\t\t/>\n\t);\n};\n\nexport default ListOptions;\n","// extracted by mini-css-extract-plugin\nexport {};","import { Fragment, useRef } from '@wordpress/element';\n\nimport { useListQuickActions } from '../../../registry';\nimport type { CallToAction } from '@popup-maker/core-data';\n\ntype Props = {\n\tvalues: CallToAction< 'edit' >;\n};\n\nconst ListQuickActions = ( { values }: Props ) => {\n\tconst lastGroup = useRef< string | undefined >( undefined );\n\n\tconst listQuickActions = useListQuickActions();\n\n\tconst quickActionsContext = {\n\t\tvalues,\n\t};\n\n\tif ( listQuickActions.length === 0 ) {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Separates new groups of options with a horizontal line.\n\t * @param {Object} props\n\t * @param {string} props.group\n\t */\n\tconst GroupSeparator = ( { group }: { group?: string } ) => {\n\t\tif ( ! group || group === lastGroup.current ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst previousGroup = lastGroup.current;\n\t\tlastGroup.current = group;\n\n\t\treturn previousGroup ? <span>|</span> : null;\n\t};\n\n\tconst renderContent = () => {\n\t\tlastGroup.current = undefined;\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ listQuickActions.map(\n\t\t\t\t\t( { id, group, render: Component } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t\t\t\t<GroupSeparator group={ group } />\n\t\t\t\t\t\t\t\t<Component { ...quickActionsContext } />\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\n\treturn <div className=\"item-actions\">{ renderContent() }</div>;\n};\n\nexport default ListQuickActions;\n","import {\n\tStringParam,\n\tuseQueryParams,\n\twithDefault,\n} from '@popup-maker/use-query-params';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseMemo,\n\tuseState,\n\tuseEffect,\n\tuseContext,\n\tcreateContext,\n} from '@wordpress/element';\n\nimport { callToActionStore } from '@popup-maker/core-data';\nimport { SortDirection, type SortConfig } from '@popup-maker/components';\n\nimport type {\n\tCallToAction,\n\tCallToActionStore,\n\tEditableCta,\n} from '@popup-maker/core-data';\nimport type { ActionCreatorsOf, ConfigOf } from '@wordpress/data/src/types';\n\ntype Filters = {\n\tstatus?: string;\n\tsearchText?: string;\n\ttype?: string;\n};\n\ntype ListContext = {\n\tcallToActions: CallToAction< 'edit' >[];\n\tfilteredCallToActions: CallToAction< 'edit' >[];\n\tupdateCallToAction: ActionCreatorsOf<\n\t\tConfigOf< CallToActionStore >\n\t>[ 'updateCallToAction' ];\n\tdeleteCallToAction: ActionCreatorsOf<\n\t\tConfigOf< CallToActionStore >\n\t>[ 'deleteCallToAction' ];\n\tbulkSelection: number[];\n\tsetBulkSelection: ( bulkSelection: number[] ) => void;\n\tisLoading: boolean;\n\tisDeleting: boolean;\n\tfilters: Filters;\n\tsetFilters: ( filters: Partial< Filters > ) => void;\n\tsortConfig: SortConfig;\n\tsetSortConfig: ( config: SortConfig ) => void;\n};\n\nconst noop = () => {};\n\nconst defaultContext: ListContext = {\n\tcallToActions: [],\n\tfilteredCallToActions: [],\n\tbulkSelection: [],\n\tsetBulkSelection: () => {},\n\tupdateCallToAction: (\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t_callToAction: Partial< EditableCta > & { id: number },\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t_validate?: boolean\n\t) => Promise.resolve( false ),\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tdeleteCallToAction: ( _id: number, _forceDelete: boolean = false ) =>\n\t\tPromise.resolve( false ),\n\tisLoading: false,\n\tisDeleting: false,\n\tfilters: {\n\t\tstatus: 'all',\n\t\tsearchText: '',\n\t\ttype: 'all',\n\t},\n\tsetFilters: noop,\n\tsortConfig: {\n\t\torderby: 'id',\n\t\torder: SortDirection.ASC,\n\t},\n\tsetSortConfig: noop,\n};\n\nconst Context = createContext< ListContext >( defaultContext );\n\nconst { Provider, Consumer } = Context as React.Context< ListContext >;\n\ntype ProviderProps = {\n\tvalue?: Partial< ListContext >;\n\tchildren: React.ReactNode;\n};\n\nexport const ListProvider = ( { value = {}, children }: ProviderProps ) => {\n\tconst [ bulkSelection, setBulkSelection ] = useState< number[] >( [] );\n\n\t// Allow setting sort config from query params.\n\tconst [ sortConfig, setSortConfig ] = useQueryParams( {\n\t\torderby: withDefault( StringParam, 'id' ),\n\t\torder: withDefault( StringParam, SortDirection.ASC ),\n\t} );\n\n\t// Allow initiating the editor directly from a url.\n\tconst [ filters, setFilters ] = useQueryParams( {\n\t\tstatus: withDefault( StringParam, 'all' ),\n\t\tsearchText: withDefault( StringParam, '' ),\n\t\ttype: withDefault( StringParam, 'all' ),\n\t} );\n\n\t// Quick helper to reset all query params.\n\tconst clearFilterParams = () =>\n\t\tsetFilters( {\n\t\t\tstatus: undefined,\n\t\t\tsearchText: undefined,\n\t\t\ttype: undefined,\n\t\t} );\n\n\t// Self clear query params when component is removed.\n\tuseEffect(\n\t\t() => clearFilterParams,\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[]\n\t);\n\n\t// Fetch needed data from the @popup-maker/core-data & @wordpress/data stores.\n\tconst callToActions = useSelect(\n\t\t( select ) => select( callToActionStore ).getCallToActions(),\n\t\t[]\n\t);\n\tconst isLoading = useSelect(\n\t\t( select ) =>\n\t\t\tselect( callToActionStore ).isResolving( 'getCallToActions' ),\n\t\t[]\n\t);\n\tconst isDeleting = useSelect(\n\t\t( select ) =>\n\t\t\tselect( callToActionStore ).isResolving( 'deleteCallToAction' ),\n\t\t[]\n\t);\n\n\t// Get action dispatchers.\n\tconst { updateCallToAction, deleteCallToAction } =\n\t\tuseDispatch( callToActionStore );\n\n\t// Filtered list of callToActions for the current status filter.\n\tconst filteredCallToActions = useMemo( () => {\n\t\tif ( ! callToActions ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst filtered = callToActions\n\t\t\t.filter( ( r ) =>\n\t\t\t\tfilters.status === 'all' ? true : filters.status === r.status\n\t\t\t)\n\t\t\t.filter(\n\t\t\t\t( r ) =>\n\t\t\t\t\t! filters.searchText ||\n\t\t\t\t\t! filters.searchText.length ||\n\t\t\t\t\tr.title.rendered\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.indexOf( filters.searchText.toLowerCase() ) >= 0 ||\n\t\t\t\t\t( r.excerpt.rendered &&\n\t\t\t\t\t\tr.excerpt.rendered\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.indexOf( filters.searchText.toLowerCase() ) >= 0 )\n\t\t\t)\n\t\t\t.filter( ( r ) =>\n\t\t\t\tfilters.type === 'all' ? true : filters.type === r.settings.type\n\t\t\t);\n\n\t\t// Apply sorting if sort config exists\n\t\tif ( sortConfig !== null ) {\n\t\t\tfiltered.sort( ( a, b ) => {\n\t\t\t\tconst aValue =\n\t\t\t\t\t// TODO This will use TableColumnRegistry\n\t\t\t\t\tsortConfig.orderby === 'type'\n\t\t\t\t\t\t? a.settings.type\n\t\t\t\t\t\t: a.title.rendered.toLowerCase();\n\n\t\t\t\tconst bValue =\n\t\t\t\t\t// TODO This will use TableColumnRegistry\n\t\t\t\t\tsortConfig.orderby === 'type'\n\t\t\t\t\t\t? b.settings.type\n\t\t\t\t\t\t: b.title.rendered.toLowerCase();\n\n\t\t\t\tif ( aValue < bValue ) {\n\t\t\t\t\treturn sortConfig.order === SortDirection.ASC ? -1 : 1;\n\t\t\t\t}\n\n\t\t\t\tif ( aValue > bValue ) {\n\t\t\t\t\treturn sortConfig.order === SortDirection.ASC ? 1 : -1;\n\t\t\t\t}\n\n\t\t\t\treturn 0;\n\t\t\t} );\n\t\t}\n\n\t\treturn filtered;\n\t}, [ callToActions, filters, sortConfig ] );\n\n\treturn (\n\t\t<Provider\n\t\t\tvalue={ {\n\t\t\t\t...value,\n\t\t\t\tbulkSelection,\n\t\t\t\tsetBulkSelection,\n\t\t\t\tfilters,\n\t\t\t\tsetFilters,\n\t\t\t\tcallToActions,\n\t\t\t\tfilteredCallToActions,\n\t\t\t\tisLoading,\n\t\t\t\tisDeleting,\n\t\t\t\tupdateCallToAction,\n\t\t\t\tdeleteCallToAction,\n\t\t\t\tsortConfig: sortConfig as SortConfig,\n\t\t\t\tsetSortConfig,\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</Provider>\n\t);\n};\n\nexport { Consumer as ListConsumer };\n\nexport const useList = () => {\n\tconst context = useContext( Context );\n\n\treturn context;\n};\n","// extracted by mini-css-extract-plugin\nexport {};","import {\n\tregisterListBulkAction,\n\tregisterListFilter,\n\tregisterListOption,\n\tregisterListQuickAction,\n} from './registry';\n\nimport {\n\tlistBulkActions,\n\tlistQuickActions,\n\tlistOptions,\n\tlistFilters,\n} from './registries';\n\nconst init = () => {\n\t// Register core bulk list actions.\n\tObject.values( listBulkActions ).forEach( ( action ) => {\n\t\tregisterListBulkAction( action );\n\t} );\n\n\t// Register core list options.\n\tObject.values( listOptions ).forEach( ( option ) => {\n\t\tregisterListOption( option );\n\t} );\n\n\t// Register core list quick actions.\n\tObject.values( listQuickActions ).forEach( ( action ) => {\n\t\tregisterListQuickAction( action );\n\t} );\n\n\t// Register core list filters.\n\tObject.values( listFilters ).forEach( ( filter ) => {\n\t\tregisterListFilter( filter );\n\t} );\n};\n\nexport default init;\n","export * as listBulkActions from './list-bulk-actions';\nexport * as listFilters from './list-filters';\nexport * as listOptions from './list-options';\nexport * as listQuickActions from './list-quick-actions';\n","import { __, _n, sprintf } from '@popup-maker/i18n';\nimport { ConfirmDialogue } from '@popup-maker/components';\nimport { callToActionStore } from '@popup-maker/core-data';\n\nimport { useState } from '@wordpress/element';\nimport { Button } from '@wordpress/components';\nimport { cancelCircleFilled } from '@wordpress/icons';\nimport { useRegistry, useDispatch } from '@wordpress/data';\n\nimport { useList } from '../../context';\n\nconst DeleteBulkAction = () => {\n\tconst [ confirm, setConfirm ] = useState< {\n\t\tmessage: string;\n\t\tcallback: () => void;\n\t\tisDestructive?: boolean;\n\t} >();\n\n\tconst { bulkSelection = [], setBulkSelection } = useList();\n\n\tconst registry = useRegistry();\n\n\tconst { createNotice, deleteCallToAction } =\n\t\tuseDispatch( callToActionStore );\n\n\tif ( bulkSelection.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ confirm && (\n\t\t\t\t<ConfirmDialogue\n\t\t\t\t\t{ ...confirm }\n\t\t\t\t\tonClose={ () => setConfirm( undefined ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Button\n\t\t\t\ttext={ __( 'Delete Permanently', 'popup-maker' ) }\n\t\t\t\ticon={ cancelCircleFilled }\n\t\t\t\tisDestructive={ true }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetConfirm( {\n\t\t\t\t\t\tisDestructive: true,\n\t\t\t\t\t\tmessage: sprintf(\n\t\t\t\t\t\t\t// translators: 1. call to action label.\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Are you sure you want to premanently delete %d items?',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tbulkSelection.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\t\t// This will only rerender the components once.\n\t\t\t\t\t\t\t// @ts-ignore not yet typed in WP.\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tconst count = bulkSelection.length;\n\n\t\t\t\t\t\t\t\tbulkSelection.forEach( ( id ) =>\n\t\t\t\t\t\t\t\t\tdeleteCallToAction( id, true, false )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetBulkSelection( [] );\n\n\t\t\t\t\t\t\t\tcreateNotice(\n\t\t\t\t\t\t\t\t\t'success',\n\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: 1. number of items\n\t\t\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t\t\t'%d call to action deleted.',\n\t\t\t\t\t\t\t\t\t\t\t'%d call to actions deleted.',\n\t\t\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\tcount\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: 'bulk-delete',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\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/>\n\t\t</>\n\t);\n};\n\nexport default {\n\tid: 'delete',\n\tgroup: 'trash',\n\tpriority: 6,\n\trender: DeleteBulkAction,\n};\n","import { linkOff } from '@wordpress/icons';\nimport { Button } from '@wordpress/components';\nimport { useRegistry, useSelect, useDispatch } from '@wordpress/data';\n\nimport { __, _n, sprintf } from '@popup-maker/i18n';\nimport { callToActionStore } from '@popup-maker/core-data';\n\nimport { useList } from '../../context';\n\nconst DisableBulkAction = () => {\n\tconst { bulkSelection = [], setBulkSelection } = useList();\n\n\tconst registry = useRegistry();\n\n\tconst { getCallToAction } = useSelect(\n\t\t( select ) => ( {\n\t\t\tgetCallToAction: select( callToActionStore ).getCallToAction,\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst { createNotice, updateCallToAction } =\n\t\tuseDispatch( callToActionStore );\n\n\tif ( bulkSelection.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst otherThanDisabled = bulkSelection.some( ( id ) => {\n\t\tconst callToAction = getCallToAction( id );\n\t\treturn callToAction?.status !== 'draft';\n\t} );\n\n\tif ( ! otherThanDisabled ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\ticon={ linkOff }\n\t\t\t\ttext={ __( 'Disable', 'popup-maker' ) }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\t// This will only rerender the components once.\n\t\t\t\t\t// @ts-ignore not yet typed in WP.\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tconst count = bulkSelection.length;\n\n\t\t\t\t\t\tbulkSelection.forEach( ( id ) => {\n\t\t\t\t\t\t\tconst callToAction = getCallToAction( id );\n\n\t\t\t\t\t\t\tif ( callToAction?.id === id ) {\n\t\t\t\t\t\t\t\tupdateCallToAction(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tsetBulkSelection( [] );\n\n\t\t\t\t\t\tcreateNotice(\n\t\t\t\t\t\t\t'success',\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: 1. number of items\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'%d call to action disabled.',\n\t\t\t\t\t\t\t\t\t'%d call to actions disabled.',\n\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tcount\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'bulk-disable',\n\t\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/>\n\t\t</>\n\t);\n};\n\nexport default {\n\tid: 'disable',\n\tgroup: 'status',\n\tpriority: 6,\n\trender: DisableBulkAction,\n};\n","import { link } from '@wordpress/icons';\nimport { Button } from '@wordpress/components';\nimport { useRegistry, useSelect, useDispatch } from '@wordpress/data';\n\nimport { __, _n, sprintf } from '@popup-maker/i18n';\nimport { callToActionStore } from '@popup-maker/core-data';\n\nimport { useList } from '../../context';\n\nexport const EnableBulkAction = () => {\n\tconst registry = useRegistry();\n\tconst { bulkSelection = [], setBulkSelection } = useList();\n\n\tconst { getCallToAction } = useSelect(\n\t\t( select ) => ( {\n\t\t\tgetCallToAction: select( callToActionStore ).getCallToAction,\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst { createNotice, updateCallToAction } =\n\t\tuseDispatch( callToActionStore );\n\n\tif ( bulkSelection.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst otherThanEnabled = bulkSelection.some( ( id ) => {\n\t\tconst callToAction = getCallToAction( id );\n\t\treturn callToAction?.status !== 'publish';\n\t} );\n\n\tif ( ! otherThanEnabled ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\ticon={ link }\n\t\t\ttext={ __( 'Enable', 'popup-maker' ) }\n\t\t\tonClick={ () => {\n\t\t\t\t// This will only rerender the components once.\n\t\t\t\t// @ts-ignore not yet typed in WP.\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tconst count = bulkSelection.length;\n\n\t\t\t\t\tbulkSelection.forEach( ( id ) => {\n\t\t\t\t\t\tconst callToAction = getCallToAction( id );\n\n\t\t\t\t\t\tif ( callToAction?.id === id ) {\n\t\t\t\t\t\t\tupdateCallToAction(\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t\tsetBulkSelection( [] );\n\n\t\t\t\t\tcreateNotice(\n\t\t\t\t\t\t'success',\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t// translators: 1. number of items\n\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t'%d call to action enabled.',\n\t\t\t\t\t\t\t\t'%d call to actions enabled.',\n\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tcount\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'bulk-enable',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t} }\n\t\t/>\n\t);\n};\n\nexport default {\n\tid: 'enable',\n\tgroup: 'status',\n\tpriority: 5,\n\trender: EnableBulkAction,\n};\n","import { __ } from '@popup-maker/i18n';\nimport { Mark } from '@popup-maker/icons';\nimport { download } from '@wordpress/icons';\nimport { useRef, useState } from '@wordpress/element';\nimport { Button, Flex, Icon, Popover } from '@wordpress/components';\n\nexport const ExportBulkAction = () => {\n\tconst [ showPopover, setShowPopover ] = useState( false );\n\tconst btnRef = useRef< HTMLButtonElement | null >( null );\n\n\treturn (\n\t\t<>\n\t\t\t{ showPopover && (\n\t\t\t\t<Popover\n\t\t\t\t\tanchor={ btnRef.current }\n\t\t\t\t\tonClose={ () => setShowPopover( false ) }\n\t\t\t\t\t// placement=\"bottom-start\"\n\t\t\t\t>\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\tgap=\"16px\"\n\t\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tclassName=\"pmp-popover-content\"\n\t\t\t\t\t\tstyle={ { padding: '16px', minWidth: '350px' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ Mark } size={ 28 } />\n\n\t\t\t\t\t\t<h3 style={ { margin: 0 } }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Quick exports with Popup Maker Pro',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</h3>\n\n\t\t\t\t\t\t<p style={ { margin: 0 } }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Popup Maker Pro gives you the power to import & export your call to actions to a JSON file in seconds.',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\thref=\"https://wppopupmaker.com/pricing/?utm_source=popup-maker&utm_medium=cta-editor&utm_campaign=export-cta\"\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Learn more or upgrade today',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Flex>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t<Flex\n\t\t\t\tdirection=\"row\"\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tonMouseEnter={ () => setShowPopover( true ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\tpaddingRight: '10px',\n\t\t\t\t\tpointerEvents: 'all',\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ download }\n\t\t\t\t\ttext={ __( 'Export', 'popup-maker' ) }\n\t\t\t\t\tdisabled={ true }\n\t\t\t\t\tshowTooltip={ true }\n\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t'Export is available with Popup Maker Pro',\n\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t) }\n\t\t\t\t\tref={ btnRef }\n\t\t\t\t/>\n\t\t\t\t<Icon icon={ Mark } size={ 14 } />\n\t\t\t</Flex>\n\t\t</>\n\t);\n};\n\nexport default {\n\tid: 'export',\n\tgroup: 'export',\n\tpriority: 5,\n\trender: ExportBulkAction,\n};\n","export { default as enableBulkAction } from './enable';\nexport { default as disableBulkAction } from './disable';\nexport { default as trashBulkAction } from './trash';\nexport { default as deleteBulkAction } from './delete';\nexport { default as exportBulkAction } from './export';\n","import { __, _n, sprintf } from '@popup-maker/i18n';\nimport { ConfirmDialogue } from '@popup-maker/components';\n\nimport { trash } from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\nimport { Button } from '@wordpress/components';\n\nimport { useDispatch, useRegistry, useSelect } from '@wordpress/data';\nimport { useList } from '../../context';\nimport { callToActionStore } from '@popup-maker/core-data';\n\nconst TrashBulkAction = () => {\n\tconst [ confirm, setConfirm ] = useState< {\n\t\tmessage: string;\n\t\tcallback: () => void;\n\t\tisDestructive?: boolean;\n\t} >();\n\n\tconst {\n\t\tbulkSelection = [],\n\t\tsetBulkSelection,\n\t\tdeleteCallToAction,\n\t} = useList();\n\n\tconst registry = useRegistry();\n\n\tconst { getCallToAction } = useSelect(\n\t\t( select ) => ( {\n\t\t\tgetCallToAction: select( callToActionStore ).getCallToAction,\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst { createNotice } = useDispatch( callToActionStore );\n\n\tif ( bulkSelection.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst otherThanTrashed = bulkSelection.some( ( id ) => {\n\t\tconst callToAction = getCallToAction( id );\n\t\treturn callToAction?.status !== 'trash';\n\t} );\n\n\tif ( ! otherThanTrashed ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ confirm && (\n\t\t\t\t<ConfirmDialogue\n\t\t\t\t\t{ ...confirm }\n\t\t\t\t\tonClose={ () => setConfirm( undefined ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Button\n\t\t\t\ttext={ __( 'Trash', 'popup-maker' ) }\n\t\t\t\ticon={ trash }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetConfirm( {\n\t\t\t\t\t\tisDestructive: true,\n\t\t\t\t\t\tmessage: sprintf(\n\t\t\t\t\t\t\t// translators: 1. number of items\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Are you sure you want to trash %d items?',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tbulkSelection.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\t\t// This will only rerender the components once.\n\t\t\t\t\t\t\t// @ts-ignore not yet typed in WP.\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tconst count = bulkSelection.length;\n\n\t\t\t\t\t\t\t\tbulkSelection.forEach( ( id ) =>\n\t\t\t\t\t\t\t\t\tdeleteCallToAction( id, false, false )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetBulkSelection( [] );\n\n\t\t\t\t\t\t\t\tcreateNotice(\n\t\t\t\t\t\t\t\t\t'success',\n\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: 1. number of items\n\t\t\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t\t\t'%d call to action moved to trash.',\n\t\t\t\t\t\t\t\t\t\t\t'%d call to actions moved to trash.',\n\t\t\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\tcount\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: 'bulk-trash',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\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/>\n\t\t</>\n\t);\n};\n\nexport default {\n\tid: 'trash',\n\tgroup: 'trash',\n\tpriority: 5,\n\trender: TrashBulkAction,\n};\n","export { default as statusFilter } from './status';\nexport { default as typeFilter } from './type';\n","import clsx from 'clsx';\nimport { __ } from '@popup-maker/i18n';\nimport { chevronDown, chevronUp } from '@wordpress/icons';\nimport { useMemo, useRef, useState } from '@wordpress/element';\nimport { Button, Icon, Popover, RadioControl } from '@wordpress/components';\n\nimport type { CallToActionStatuses } from '@popup-maker/core-data';\nimport type { ListFilterContext } from '../../registry';\n\nexport type ValidStatuses = CallToActionStatuses | 'trash' | 'all';\nexport type StatusFilterKey = 'status';\nexport type StatusFilterValue = ValidStatuses;\n\nexport const statusOptionLabels: Record< ValidStatuses, string > = {\n\tall: __( 'All', 'popup-maker' ),\n\tpublish: __( 'Enabled', 'popup-maker' ),\n\tdraft: __( 'Disabled', 'popup-maker' ),\n\tpending: __( 'Pending', 'popup-maker' ),\n\ttrash: __( 'Trash', 'popup-maker' ),\n\tfuture: __( 'Future', 'popup-maker' ),\n\tprivate: __( 'Private', 'popup-maker' ),\n};\n\nexport type StatusCounts = { all: number } & Partial<\n\tRecord< Exclude< ValidStatuses, 'all' >, number >\n>;\n\nexport const StatusFilter = ( {\n\tfilters,\n\tsetFilters,\n\tonClose,\n\titems,\n\tfilteredItems,\n}: ListFilterContext< StatusFilterKey, StatusFilterValue > ) => {\n\tconst [ isOpen, setIsOpen ] = useState( false );\n\tconst buttonRef = useRef< HTMLButtonElement >( null );\n\n\t// List of unique statuses from all items.\n\tconst totalStatusCounts = useMemo(\n\t\t() =>\n\t\t\titems.reduce< StatusCounts >(\n\t\t\t\t( s, r ) => {\n\t\t\t\t\ts[ r.status ] = ( s[ r.status ] ?? 0 ) + 1;\n\t\t\t\t\ts.all++;\n\t\t\t\t\treturn s;\n\t\t\t\t},\n\t\t\t\t{ all: 0 }\n\t\t\t),\n\t\t[ items ]\n\t);\n\n\t// List of unique statuses from filtered items.\n\tconst activeStatusCounts = useMemo(\n\t\t() =>\n\t\t\tfilteredItems.reduce< StatusCounts >(\n\t\t\t\t( s, r ) => {\n\t\t\t\t\ts[ r.status ] = ( s[ r.status ] ?? 0 ) + 1;\n\t\t\t\t\ts.all++;\n\t\t\t\t\treturn s;\n\t\t\t\t},\n\t\t\t\t{ all: 0 }\n\t\t\t),\n\t\t[ filteredItems ]\n\t);\n\n\tconst isStatusActive = ( status: ValidStatuses ): boolean =>\n\t\tBoolean( activeStatusCounts?.[ status ] );\n\n\tconst currentStatus = filters?.status ?? 'all';\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx( [\n\t\t\t\t'list-table-filter list-table-filter--status',\n\t\t\t\tisOpen ? 'is-active' : '',\n\t\t\t] ) }\n\t\t>\n\t\t\t<Button\n\t\t\t\tclassName=\"filter-button\"\n\t\t\t\tonClick={ () => setIsOpen( ! isOpen ) }\n\t\t\t\tref={ buttonRef }\n\t\t\t>\n\t\t\t\t<span className=\"filter-label\">\n\t\t\t\t\t{ __( 'Status', 'popup-maker' ) }:\n\t\t\t\t</span>\n\t\t\t\t \n\t\t\t\t<span className=\"filter-selection\">\n\t\t\t\t\t{ statusOptionLabels[ currentStatus ] }\n\t\t\t\t</span>\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"filter-icon\"\n\t\t\t\t\ticon={ isOpen ? chevronUp : chevronDown }\n\t\t\t\t/>\n\t\t\t</Button>\n\t\t\t{ isOpen && buttonRef.current && (\n\t\t\t\t<Popover\n\t\t\t\t\tclassName=\"list-table-filters__popover\"\n\t\t\t\t\tanchor={ buttonRef.current }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsOpen( false );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t\tonFocusOutside={ () => {\n\t\t\t\t\t\tsetIsOpen( false );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<RadioControl\n\t\t\t\t\t\tlabel={ __( 'Status', 'popup-maker' ) }\n\t\t\t\t\t\thideLabelFromVision={ true }\n\t\t\t\t\t\tselected={ currentStatus }\n\t\t\t\t\t\toptions={ Object.entries( statusOptionLabels )\n\t\t\t\t\t\t\t// Filter statuses with 0 items.\n\t\t\t\t\t\t\t.filter( ( [ value ] ) =>\n\t\t\t\t\t\t\t\t// If the current status has no items, show all statuses that have items.\n\t\t\t\t\t\t\t\t( totalStatusCounts[ currentStatus ] ?? 0 ) > 0\n\t\t\t\t\t\t\t\t\t? isStatusActive( value as ValidStatuses )\n\t\t\t\t\t\t\t\t\t: ( totalStatusCounts[\n\t\t\t\t\t\t\t\t\t\t\tvalue as ValidStatuses\n\t\t\t\t\t\t\t\t\t ] ?? 0 ) > 0\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t// Map statuses to options.\n\t\t\t\t\t\t\t.map( ( [ value, label ] ) => ( {\n\t\t\t\t\t\t\t\tlabel: `${ label } (${\n\t\t\t\t\t\t\t\t\tactiveStatusCounts[\n\t\t\t\t\t\t\t\t\t\tvalue as ValidStatuses\n\t\t\t\t\t\t\t\t\t] ?? 0\n\t\t\t\t\t\t\t\t})`,\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t} ) ) }\n\t\t\t\t\t\tonChange={ ( status: string ) => {\n\t\t\t\t\t\t\tsetFilters( {\n\t\t\t\t\t\t\t\tstatus: status as StatusFilterValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetIsOpen( false );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport default {\n\tid: 'status',\n\tpriority: 10,\n\tgroup: 'core',\n\trender: StatusFilter,\n};\n","import clsx from 'clsx';\nimport { __ } from '@popup-maker/i18n';\nimport { chevronDown, chevronUp } from '@wordpress/icons';\nimport { useMemo, useRef, useState } from '@wordpress/element';\nimport { Button, Icon, Popover, RadioControl } from '@wordpress/components';\n\nimport type { ListFilterContext } from '../../registry';\n\nexport type TypeFilterKey = 'type';\nexport type TypeFilterValue = string;\nexport type TypeCounts = { all: number } & Record< string, number >;\n\nexport const TypeFilter = ( {\n\tfilters,\n\tsetFilters,\n\tonClose,\n\titems,\n\tfilteredItems,\n}: ListFilterContext< TypeFilterKey, TypeFilterValue > ) => {\n\tconst [ isOpen, setIsOpen ] = useState( false );\n\tconst buttonRef = useRef< HTMLButtonElement >( null );\n\n\t// Get all types from the call to actions\n\tconst typeOptionLabels = useMemo( () => {\n\t\tconst { cta_types: callToActions } = window.popupMakerCtaAdmin;\n\n\t\treturn Object.values( callToActions ).reduce(\n\t\t\t( acc, { key, label } ) => ( {\n\t\t\t\t...acc,\n\t\t\t\t[ key ]: label,\n\t\t\t} ),\n\t\t\t{ all: __( 'All', 'popup-maker' ) }\n\t\t);\n\t}, [] );\n\n\t// List of unique types from all items\n\tconst totalTypeCounts = useMemo(\n\t\t() =>\n\t\t\titems.reduce< TypeCounts >(\n\t\t\t\t( counts, item ) => {\n\t\t\t\t\tconst type = item.settings.type;\n\t\t\t\t\tcounts[ type ] = ( counts[ type ] ?? 0 ) + 1;\n\t\t\t\t\tcounts.all++;\n\t\t\t\t\treturn counts;\n\t\t\t\t},\n\t\t\t\t{ all: 0 }\n\t\t\t),\n\t\t[ items ]\n\t);\n\n\t// List of unique types from filtered items\n\tconst activeTypeCounts = useMemo(\n\t\t() =>\n\t\t\tfilteredItems.reduce< TypeCounts >(\n\t\t\t\t( counts, item ) => {\n\t\t\t\t\tconst type = item.settings.type;\n\t\t\t\t\tcounts[ type ] = ( counts[ type ] ?? 0 ) + 1;\n\t\t\t\t\tcounts.all++;\n\t\t\t\t\treturn counts;\n\t\t\t\t},\n\t\t\t\t{ all: 0 }\n\t\t\t),\n\t\t[ filteredItems ]\n\t);\n\n\tconst isTypeActive = ( type: string ) =>\n\t\tBoolean( activeTypeCounts?.[ type ] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx( [\n\t\t\t\t'list-table-filter list-table-filter--type',\n\t\t\t\tisOpen ? 'is-active' : '',\n\t\t\t] ) }\n\t\t>\n\t\t\t<Button\n\t\t\t\tclassName=\"filter-button\"\n\t\t\t\tonClick={ () => setIsOpen( ! isOpen ) }\n\t\t\t\tref={ buttonRef }\n\t\t\t>\n\t\t\t\t<span className=\"filter-label\">\n\t\t\t\t\t{ __( 'Type', 'popup-maker' ) }:\n\t\t\t\t</span>\n\t\t\t\t \n\t\t\t\t<span className=\"filter-selection\">\n\t\t\t\t\t{ typeOptionLabels[ filters?.type ?? 'all' ] }\n\t\t\t\t</span>\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"filter-icon\"\n\t\t\t\t\ticon={ isOpen ? chevronUp : chevronDown }\n\t\t\t\t/>\n\t\t\t</Button>\n\t\t\t{ isOpen && buttonRef.current && (\n\t\t\t\t<Popover\n\t\t\t\t\tclassName=\"list-table-filters__popover\"\n\t\t\t\t\tanchor={ buttonRef.current }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsOpen( false );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t\tonFocusOutside={ () => {\n\t\t\t\t\t\tsetIsOpen( false );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<RadioControl\n\t\t\t\t\t\tlabel={ __( 'Type', 'popup-maker' ) }\n\t\t\t\t\t\thideLabelFromVision={ true }\n\t\t\t\t\t\tselected={ filters?.type ?? 'all' }\n\t\t\t\t\t\toptions={ Object.entries( typeOptionLabels )\n\t\t\t\t\t\t\t// Filter types with 0 items\n\t\t\t\t\t\t\t.filter( ( [ value ] ) =>\n\t\t\t\t\t\t\t\t( totalTypeCounts[ filters?.type ?? 'all' ] ??\n\t\t\t\t\t\t\t\t\t0 ) > 0\n\t\t\t\t\t\t\t\t\t? isTypeActive( value )\n\t\t\t\t\t\t\t\t\t: ( totalTypeCounts[ value ] ?? 0 ) > 0\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t// Map types to options\n\t\t\t\t\t\t\t.map( ( [ value, label ] ) => ( {\n\t\t\t\t\t\t\t\tlabel: `${ label } (${\n\t\t\t\t\t\t\t\t\tactiveTypeCounts[ value ] ?? 0\n\t\t\t\t\t\t\t\t})`,\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t} ) ) }\n\t\t\t\t\t\tonChange={ ( type: string ) => {\n\t\t\t\t\t\t\tsetFilters( {\n\t\t\t\t\t\t\t\ttype: type === 'all' ? undefined : type,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetIsOpen( false );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport default {\n\tid: 'type',\n\tgroup: 'core',\n\trender: TypeFilter,\n};\n","import { __ } from '@popup-maker/i18n';\nimport { Mark } from '@popup-maker/icons';\nimport { download } from '@wordpress/icons';\nimport { useRef, useState } from '@wordpress/element';\nimport { Button, Flex, Icon, Popover } from '@wordpress/components';\n\nexport const ExportListOption = () => {\n\tconst [ showPopover, setShowPopover ] = useState( false );\n\tconst btnRef = useRef< HTMLButtonElement | null >( null );\n\n\treturn (\n\t\t<>\n\t\t\t{ showPopover && (\n\t\t\t\t<Popover\n\t\t\t\t\tanchor={ btnRef.current }\n\t\t\t\t\tonClose={ () => setShowPopover( false ) }\n\t\t\t\t\t// placement=\"bottom-start\"\n\t\t\t\t>\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\tgap=\"16px\"\n\t\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tclassName=\"pmp-popover-content\"\n\t\t\t\t\t\tstyle={ { padding: '16px', minWidth: '350px' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ Mark } size={ 28 } />\n\n\t\t\t\t\t\t<h3 style={ { margin: 0 } }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Quick exports with Popup Maker Pro',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</h3>\n\n\t\t\t\t\t\t<p style={ { margin: 0 } }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Popup Maker Pro gives you the power to import & export your call to actions to a JSON file in seconds.',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\thref=\"https://wppopupmaker.com/pricing/?utm_source=popup-maker&utm_medium=cta-editor&utm_campaign=export-cta\"\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Learn more or upgrade today',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Flex>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t<Flex\n\t\t\t\tdirection=\"row\"\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tonMouseEnter={ () => setShowPopover( true ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\tpaddingRight: '10px',\n\t\t\t\t\tpointerEvents: 'all',\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ download }\n\t\t\t\t\ttext={ __( 'Export', 'popup-maker' ) }\n\t\t\t\t\tdisabled={ true }\n\t\t\t\t\tshowTooltip={ true }\n\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t'Export is available with Popup Maker Pro',\n\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t) }\n\t\t\t\t\tref={ btnRef }\n\t\t\t\t/>\n\t\t\t\t<Icon icon={ Mark } size={ 14 } />\n\t\t\t</Flex>\n\t\t</>\n\t);\n};\n\nexport default {\n\tid: 'export',\n\tgroup: 'export',\n\trender: ExportListOption,\n};\n","import { __ } from '@popup-maker/i18n';\nimport { Mark } from '@popup-maker/icons';\nimport { upload } from '@wordpress/icons';\nimport { useRef, useState } from '@wordpress/element';\nimport { Button, Flex, Icon, Popover } from '@wordpress/components';\n\nexport const ImportListOption = () => {\n\tconst [ showPopover, setShowPopover ] = useState( false );\n\tconst btnRef = useRef< HTMLButtonElement | null >( null );\n\n\treturn (\n\t\t<>\n\t\t\t{ showPopover && (\n\t\t\t\t<Popover\n\t\t\t\t\tanchor={ btnRef.current }\n\t\t\t\t\tonClose={ () => setShowPopover( false ) }\n\t\t\t\t\t// placement=\"bottom-start\"\n\t\t\t\t>\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\tgap=\"16px\"\n\t\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tstyle={ { padding: '16px', minWidth: '350px' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ Mark } size={ 28 } />\n\n\t\t\t\t\t\t<h3 style={ { margin: 0 } }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Quick imports with Popup Maker Pro',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</h3>\n\n\t\t\t\t\t\t<p style={ { margin: 0 } }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Popup Maker Pro gives you the power to import your call to actions from a JSON file in seconds.',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\thref=\"https://wppopupmaker.com/pricing/?utm_source=popup-maker&utm_medium=cta-editor&utm_campaign=import-cta\"\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Learn more or upgrade today',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Flex>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t<Flex\n\t\t\t\tdirection=\"row\"\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tonMouseEnter={ () => setShowPopover( true ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\tpaddingRight: '10px',\n\t\t\t\t\tpointerEvents: 'all',\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ upload }\n\t\t\t\t\ttext={ __( 'Import', 'popup-maker' ) }\n\t\t\t\t\tdisabled={ true }\n\t\t\t\t\tshowTooltip={ true }\n\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t'Import is available with Popup Maker Pro',\n\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t) }\n\t\t\t\t\tref={ btnRef }\n\t\t\t\t/>\n\t\t\t\t<Icon icon={ Mark } size={ 14 } />\n\t\t\t</Flex>\n\t\t</>\n\t);\n};\n\nexport default {\n\tid: 'import',\n\tgroup: 'export',\n\trender: ImportListOption,\n};\n","export { default as importListOption } from './import';\nexport { default as exportListOption } from './export';\n","import { __ } from '@popup-maker/i18n';\nimport { ConfirmDialogue } from '@popup-maker/components';\nimport { callToActionStore } from '@popup-maker/core-data';\n\nimport { useState } from '@wordpress/element';\nimport { Button } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\nimport type { ListQuickActionContext } from '../../registry';\n\nconst DeleteQuickAction = ( { values }: ListQuickActionContext ) => {\n\tconst [ confirm, setConfirm ] = useState< {\n\t\tmessage: string;\n\t\tcallback: () => void;\n\t\tisDestructive?: boolean;\n\t} >();\n\n\t// Fetch needed data from the @popup-maker/core-data & @wordpress/data stores.\n\tconst isDeleting = useSelect(\n\t\t( select ) =>\n\t\t\tselect( callToActionStore ).isResolving( 'deleteCallToAction' ),\n\t\t[]\n\t);\n\n\tconst { deleteCallToAction } = useDispatch( callToActionStore );\n\n\tconst status = values.status;\n\tconst isTrash = status === ( 'trash' as typeof values.status );\n\n\tif ( ! isTrash ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ confirm && (\n\t\t\t\t<ConfirmDialogue\n\t\t\t\t\t{ ...confirm }\n\t\t\t\t\tonClose={ () => setConfirm( undefined ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Button\n\t\t\t\ttext={ __( 'Delete Permanently', 'popup-maker' ) }\n\t\t\t\tvariant=\"link\"\n\t\t\t\tisDestructive={ true }\n\t\t\t\tisBusy={ !! isDeleting }\n\t\t\t\tonClick={ () =>\n\t\t\t\t\tsetConfirm( {\n\t\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t\t'Are you sure you want to premanently delete this call to action?',\n\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\t\t// This will only rerender the components once.\n\t\t\t\t\t\t\tdeleteCallToAction( values.id, true );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisDestructive: true,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default {\n\tid: 'delete',\n\tgroup: 'trash',\n\tpriority: 12,\n\trender: DeleteQuickAction,\n};\n","import { __ } from '@popup-maker/i18n';\nimport { useEditor } from '@popup-maker/cta-editor';\nimport { Button } from '@wordpress/components';\nimport type { ListQuickActionContext } from '../../registry';\n\nexport const EditItemQuickAction = ( { values }: ListQuickActionContext ) => {\n\t// Get the shared method for setting editor Id & query params.\n\tconst { setEditorId } = useEditor();\n\n\treturn (\n\t\t<>\n\t\t\t{ `${ __( 'ID', 'popup-maker' ) }: ${ values.id }` }\n\t\t\t<Button\n\t\t\t\ttext={ __( 'Edit', 'popup-maker' ) }\n\t\t\t\tvariant=\"link\"\n\t\t\t\tonClick={ () => setEditorId( values.id ) }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default {\n\tid: 'edit',\n\tgroup: 'general',\n\tpriority: -1,\n\trender: EditItemQuickAction,\n};\n","export { default as editQuickAction } from './edit';\nexport { default as trashQuickAction } from './trash';\nexport { default as deleteQuickAction } from './delete';\n// export { default as exportQuickAction } from './export';\n","import { __ } from '@popup-maker/i18n';\nimport { ConfirmDialogue } from '@popup-maker/components';\nimport { callToActionStore } from '@popup-maker/core-data';\n\nimport { useState } from '@wordpress/element';\nimport { Button } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\nimport type { ListQuickActionContext } from '../../registry';\n\nconst TrashQuickAction = ( { values }: ListQuickActionContext ) => {\n\tconst [ confirm, setConfirm ] = useState< {\n\t\tmessage: string;\n\t\tcallback: () => void;\n\t\tisDestructive?: boolean;\n\t} >();\n\n\t// Fetch needed data from the @popup-maker/core-data & @wordpress/data stores.\n\tconst isDeleting = useSelect(\n\t\t( select ) =>\n\t\t\tselect( callToActionStore ).isResolving( 'deleteCallToAction' ),\n\t\t[]\n\t);\n\n\tconst { deleteCallToAction, updateCallToAction } =\n\t\tuseDispatch( callToActionStore );\n\n\tconst status = values.status;\n\tconst isTrash = status === ( 'trash' as typeof values.status );\n\n\treturn (\n\t\t<>\n\t\t\t{ confirm && (\n\t\t\t\t<ConfirmDialogue\n\t\t\t\t\t{ ...confirm }\n\t\t\t\t\tonClose={ () => setConfirm( undefined ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Button\n\t\t\t\ttext={\n\t\t\t\t\tisTrash\n\t\t\t\t\t\t? __( 'Untrash', 'popup-maker' )\n\t\t\t\t\t\t: __( 'Trash', 'popup-maker' )\n\t\t\t\t}\n\t\t\t\tvariant=\"link\"\n\t\t\t\tisDestructive={ true }\n\t\t\t\tisBusy={ !! isDeleting }\n\t\t\t\tonClick={ () =>\n\t\t\t\t\tisTrash\n\t\t\t\t\t\t? updateCallToAction( {\n\t\t\t\t\t\t\t\tid: values.id,\n\t\t\t\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: deleteCallToAction( values.id )\n\t\t\t\t}\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default {\n\tid: 'trash',\n\tgroup: 'trash',\n\tpriority: 11,\n\trender: TrashQuickAction,\n};\n","export * from './list-bulk-actions';\nexport * from './list-quick-actions';\nexport * from './list-filters';\nexport * from './list-options';\n","import {\n\tcreateRegistry,\n\ttype PopupMaker as BasePopupMaker,\n} from '@popup-maker/registry';\n\nexport type ListBulkActionContext = {\n\t/**\n\t * Close dropdown.\n\t */\n\tonClose: () => void;\n};\n\ndeclare namespace PopupMaker {\n\tinterface BaseListBulkAction extends BasePopupMaker.RegistryItem {\n\t\trender: React.FC< ListBulkActionContext >;\n\t}\n\n\texport type ListBulkAction = BaseListBulkAction;\n}\n\nexport const ListBulkActionsRegistry =\n\tcreateRegistry< PopupMaker.ListBulkAction >( {\n\t\tname: 'cta-editor/list-bulk-actions',\n\t\tgroups: {\n\t\t\tstatus: { priority: 10, label: 'Status' },\n\t\t\ttrash: { priority: 20, label: 'Trash' },\n\t\t\texport: { priority: 30, label: 'Export' },\n\t\t},\n\t} );\n\n// Helper hook for components\nexport const useListBulkActions = () => ListBulkActionsRegistry.useItems();\n\nexport const registerListBulkAction = ListBulkActionsRegistry.register;\n\nexport const registerListBulkActionGroup =\n\tListBulkActionsRegistry.registerGroup;\n\nexport const getListBulkActions = () => ListBulkActionsRegistry.getItems();\n","import type { CallToAction } from '@popup-maker/core-data';\nimport {\n\tcreateRegistry,\n\ttype PopupMaker as BasePopupMaker,\n} from '@popup-maker/registry';\n\nexport type ListFilterContext< K extends string = string, V = unknown > = {\n\t/** The current filters */\n\tfilters: Partial< Record< K, V > >;\n\t/** Set filters callback */\n\tsetFilters: ( filters: Partial< Record< K, V > > ) => void;\n\t/** Close filter dropdown */\n\tonClose: () => void;\n\t/** All items */\n\titems: CallToAction< 'edit' >[];\n\t/** Filtered items */\n\tfilteredItems: CallToAction< 'edit' >[];\n};\n\ndeclare namespace PopupMaker {\n\tinterface BaseListFilter< K extends string = string, V = unknown >\n\t\textends BasePopupMaker.RegistryItem {\n\t\trender: React.FC< ListFilterContext< K, V > >;\n\t}\n\n\texport type ListFilter<\n\t\tK extends string = string,\n\t\tV = unknown,\n\t> = BaseListFilter< K, V >;\n}\n\nexport const ListFiltersRegistry = createRegistry< PopupMaker.ListFilter >( {\n\tname: 'cta-editor/list-filters',\n\tgroups: {\n\t\tcore: { priority: 10, label: 'Core' },\n\t\tadvanced: { priority: 20, label: 'Advanced' },\n\t},\n\tdefaultGroup: 'core',\n} );\n\n// Helper hook for components\nexport const useListFilters = () => ListFiltersRegistry.useItems();\n\nexport const registerListFilter = ListFiltersRegistry.register;\n\nexport const registerListFilterGroup = ListFiltersRegistry.registerGroup;\n\nexport const getListFilters = () => ListFiltersRegistry.getItems();\n","import {\n\tcreateRegistry,\n\ttype PopupMaker as BasePopupMaker,\n} from '@popup-maker/registry';\n\nexport type ListOptionContext = {\n\tonClose: () => void;\n};\n\ndeclare namespace PopupMaker {\n\tinterface BaseListOption extends BasePopupMaker.RegistryItem {\n\t\tid: string;\n\t\tpriority?: number;\n\t\tgroup?: string;\n\t\trender: React.FC< ListOptionContext >;\n\t}\n\n\texport type ListOption = BaseListOption;\n}\n\nexport const ListOptionsRegistry = createRegistry< PopupMaker.ListOption >( {\n\tname: 'cta-editor/list-options',\n\tgroups: {\n\t\timport: { priority: 10, label: 'Import' },\n\t},\n} );\n\n// Helper hook for components\nexport const useListOptions = () => ListOptionsRegistry.useItems();\n\nexport const registerListOption = ListOptionsRegistry.register;\n\nexport const registerListOptionGroup = ListOptionsRegistry.registerGroup;\n\nexport const getListOptions = () => ListOptionsRegistry.getItems();\n","import type { CallToAction } from '@popup-maker/core-data';\nimport {\n\tcreateRegistry,\n\ttype PopupMaker as BasePopupMaker,\n} from '@popup-maker/registry';\n\nexport type ListQuickActionContext<\n\tT extends CallToAction< 'edit' > = CallToAction< 'edit' >,\n> = {\n\tvalues: T;\n};\n\ndeclare namespace PopupMaker {\n\tinterface BaseListQuickAction<\n\t\tT extends CallToAction< 'edit' > = CallToAction< 'edit' >,\n\t> extends BasePopupMaker.RegistryItem {\n\t\trender: React.FC< ListQuickActionContext< T > >;\n\t}\n\n\texport type ListQuickAction<\n\t\tT extends CallToAction< 'edit' > = CallToAction< 'edit' >,\n\t> = BaseListQuickAction< T >;\n}\n\nexport const ListQuickActionsRegistry = createRegistry<\n\tPopupMaker.ListQuickAction< CallToAction< 'edit' > >\n>( {\n\tname: 'cta-editor/list-quick-actions',\n\tgroups: {\n\t\tgeneral: { priority: 10 },\n\t\ttrash: { priority: 20 },\n\t},\n} );\n\n// Helper hook for components\nexport const useListQuickActions = () => ListQuickActionsRegistry.useItems();\n\nexport const registerListQuickAction = ListQuickActionsRegistry.register;\n\nexport const registerListQuickActionGroup =\n\tListQuickActionsRegistry.registerGroup;\n\nexport const getListQuickActions = () => ListQuickActionsRegistry.getItems();\n","import type { PopupMakerGlobalVars } from '@popup-maker/types';\n\n/**\n * Get the Popup Maker global variables\n */\nexport const getGlobalVars = (): Partial< PopupMakerGlobalVars > => {\n\tif ( typeof window === 'undefined' || ! window.popupMaker.globalVars ) {\n\t\t// Provide fallback values when running in block editor or SSR\n\t\treturn {\n\t\t\tversion: '1.0.0',\n\t\t\twpVersion: 6.5,\n\t\t\tpluginUrl: '',\n\t\t\tassetsUrl: '',\n\t\t\tadminUrl: '',\n\t\t\tnonce: '',\n\t\t\tpermissions: {\n\t\t\t\tedit_ctas: false,\n\t\t\t\tedit_popups: false,\n\t\t\t\tedit_popup_themes: false,\n\t\t\t\tmange_settings: false,\n\t\t\t},\n\t\t};\n\t}\n\treturn window.popupMaker.globalVars;\n};\n","export * from 'use-query-params/adapters/react-router-6';\n","import { useContext } from \"react\";\nimport {\n UNSAFE_NavigationContext,\n useNavigate,\n useLocation,\n UNSAFE_DataRouterContext\n} from \"react-router-dom\";\nconst ReactRouter6Adapter = ({\n children\n}) => {\n var _a;\n const { navigator } = useContext(UNSAFE_NavigationContext);\n const navigate = useNavigate();\n const router = (_a = useContext(UNSAFE_DataRouterContext)) == null ? void 0 : _a.router;\n const location = useLocation();\n const adapter = {\n replace(location2) {\n navigate(location2.search || \"?\", {\n replace: true,\n state: location2.state\n });\n },\n push(location2) {\n navigate(location2.search || \"?\", {\n replace: false,\n state: location2.state\n });\n },\n get location() {\n var _a2, _b, _c;\n return (_c = (_b = (_a2 = router == null ? void 0 : router.state) == null ? void 0 : _a2.location) != null ? _b : navigator == null ? void 0 : navigator.location) != null ? _c : location;\n }\n };\n return children(adapter);\n};\nexport {\n ReactRouter6Adapter\n};\n","module.exports = window[\"popupMaker\"][\"components\"];","module.exports = window[\"popupMaker\"][\"coreData\"];","module.exports = window[\"popupMaker\"][\"ctaEditor\"];","module.exports = window[\"popupMaker\"][\"data\"];","module.exports = window[\"popupMaker\"][\"i18n\"];","module.exports = window[\"popupMaker\"][\"icons\"];","module.exports = window[\"popupMaker\"][\"layout\"];","module.exports = window[\"popupMaker\"][\"registry\"];","module.exports = window[\"popupMaker\"][\"useQueryParams\"];","module.exports = window[\"popupMaker\"][\"utils\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"domReady\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"hooks\"];","module.exports = window[\"wp\"][\"htmlEntities\"];","module.exports = window[\"wp\"][\"primitives\"];","module.exports = window[\"React\"];","module.exports = window[\"ReactDOM\"];","module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './editor.scss';\n\nimport { BrowserRouter } from 'react-router-dom';\nimport { QueryParamProvider } from '@popup-maker/use-query-params';\nimport { ReactRouter6Adapter } from '@popup-maker/use-query-params/adapters/react-router-6';\n\nimport domReady from '@wordpress/dom-ready';\nimport { doAction } from '@wordpress/hooks';\nimport { createRoot } from '@wordpress/element';\nimport { RegistryProvider } from '@wordpress/data';\n\nimport { registry } from '@popup-maker/data';\n\nimport App from './App';\nimport initApp from './init';\n\nimport type { OldField } from '@popup-maker/fields';\n\nexport * from './context';\nexport * from './registry';\nexport * from './utils';\nexport type * from './registry';\n\ndeclare global {\n\tinterface Window {\n\t\tpopupMakerCtaAdmin: {\n\t\t\tcta_types: {\n\t\t\t\tkey: string;\n\t\t\t\tlabel: string;\n\t\t\t\tfields: OldField[];\n\t\t\t}[];\n\t\t};\n\t}\n}\n\nconst renderer = () => {\n\treturn (\n\t\t<BrowserRouter>\n\t\t\t<QueryParamProvider adapter={ ReactRouter6Adapter }>\n\t\t\t\t<RegistryProvider value={ registry }>\n\t\t\t\t\t<App />\n\t\t\t\t</RegistryProvider>\n\t\t\t</QueryParamProvider>\n\t\t</BrowserRouter>\n\t);\n};\n\nexport const init = () => {\n\tconst root = document.getElementById(\n\t\t'popup-maker-call-to-actions-root-container'\n\t);\n\n\tif ( ! root ) {\n\t\treturn;\n\t}\n\n\t// Initialize the app registries and filters.\n\tinitApp();\n\n\t// Allow for other plugins to hook into the admin app.\n\tdoAction( 'popupMaker.ctaAdmin.init' );\n\n\t// createRoot was added in WP 6.2, so we need to check for it first.\n\tcreateRoot( root ).render( renderer() );\n};\n\ndomReady( init );\n"],"names":["clsx","StringParam","useQueryParams","__","applyFilters","useEffect","useMemo","Popover","AppLayout","AppHeader","AppContent","CallToActionsView","getGlobalVars","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","App","permissions","edit_ctas","userCanEditCallToActions","view","setParams","tab","views","_views","push","name","title","className","pageTitle","heading","comp","currentView","find","_view","ViewComponent","_views$find$pageTitle","document","obj","adminUrl","children","tabs","currentTab","undefined","onTabChange","tabName","Slot","default","List","useDispatch","useSelect","_n","sprintf","Button","Spinner","callToActionStore","useEditor","Header","_callToActions$length","setEditorId","callToActions","select","getCallToActions","isLoading","isResolving","createCallToAction","count","length","onClick","newCta","id","variant","Notices","Editor","BaseEditor","withModal","withQueryParams","Notice","useCallback","useLayoutEffect","useRef","DEBUG_MODE","noticeTimerRef","notices","isEditorActive","getNotices","removeNotice","handleDismiss","current","clearTimeout","forEach","notice","isFieldError","startsWith","setTimeout","map","status","isDismissible","onRemove","content","CheckAll","Dropdown","Flex","Icon","NavigableMenu","useState","chevronDown","chevronUp","useList","useListBulkActions","ListBulkActions","lastGroup","btnRef","isOpen","setIsOpen","listBulkActions","bulkSelection","bulkActionsContext","GroupSeparator","group","previousGroup","renderContent","onClose","orientation","render","Component","contentClassName","placement","focusOnMount","open","popoverProps","noArrow","anchor","getBoundingClientRect","DOMRect","onFocusOutside","renderToggle","ref","icon","iconSize","useListFilters","ListFilters","filters","setFilters","filteredCallToActions","registeredFilters","FilterComponent","items","filteredItems","TextControl","ToggleControl","Tooltip","info","search","trash","decodeEntities","noop","FilterLines","ConfirmDialogue","ListTable","ListConsumer","ListProvider","ListQuickActions","ListOptions","cta_types","window","popupMakerCtaAdmin","showFilters","setShowFilters","confirmDialogue","setConfirmDialogue","clearConfirm","getCtaLabel","typeKey","_ctaType$label","ctaType","Object","values","key","label","setBulkSelection","updateCallToAction","searchText","sortConfig","setSortConfig","placeholder","value","onChange","__next40pxDefaultSize","__nextHasNoMarginBottom","text","selectedItems","onSelectItems","newSelection","columns","enabled","description","type","conversions","sortableColumns","onSort","orderby","order","initialSort","rowClasses","callToAction","renderCell","col","_callToAction$stats$c","_ref","_callToAction$col","isTrash","isPublish","checked","disabled","size","rendered","stats","settings","excerpt","raw","moreVertical","useListOptions","listOptionsBtnRef","listOptions","listOptionsContext","useListQuickActions","listQuickActions","quickActionsContext","withDefault","useContext","createContext","SortDirection","defaultContext","_callToAction","_validate","Promise","resolve","deleteCallToAction","_id","_forceDelete","isDeleting","ASC","Context","Provider","Consumer","clearFilterParams","filtered","filter","r","toLowerCase","indexOf","sort","a","b","aValue","bValue","context","registerListBulkAction","registerListFilter","registerListOption","registerListQuickAction","listFilters","init","action","option","cancelCircleFilled","useRegistry","DeleteBulkAction","confirm","setConfirm","registry","createNotice","isDestructive","message","callback","batch","priority","linkOff","DisableBulkAction","getCallToAction","otherThanDisabled","some","link","EnableBulkAction","otherThanEnabled","Mark","download","ExportBulkAction","showPopover","setShowPopover","direction","gap","justify","align","style","padding","minWidth","margin","href","target","onMouseEnter","cursor","paddingRight","pointerEvents","showTooltip","enableBulkAction","disableBulkAction","trashBulkAction","deleteBulkAction","exportBulkAction","TrashBulkAction","otherThanTrashed","statusFilter","typeFilter","RadioControl","statusOptionLabels","all","publish","draft","pending","future","private","StatusFilter","_filters$status","buttonRef","totalStatusCounts","reduce","s","_s$r$status","activeStatusCounts","_s$r$status2","isStatusActive","Boolean","currentStatus","position","hideLabelFromVision","selected","options","entries","_totalStatusCounts$cu","_totalStatusCounts","_activeStatusCounts","TypeFilter","_filters$type","_filters$type2","typeOptionLabels","acc","totalTypeCounts","counts","item","_counts$type","activeTypeCounts","_counts$type2","isTypeActive","_totalTypeCounts","_filters$type3","_totalTypeCounts$valu","_activeTypeCounts$val","ExportListOption","upload","ImportListOption","importListOption","exportListOption","DeleteQuickAction","isBusy","EditItemQuickAction","editQuickAction","trashQuickAction","deleteQuickAction","TrashQuickAction","createRegistry","ListBulkActionsRegistry","groups","export","useItems","register","registerListBulkActionGroup","registerGroup","getListBulkActions","getItems","ListFiltersRegistry","core","advanced","defaultGroup","registerListFilterGroup","getListFilters","ListOptionsRegistry","import","registerListOptionGroup","getListOptions","ListQuickActionsRegistry","general","registerListQuickActionGroup","getListQuickActions","popupMaker","globalVars","version","wpVersion","pluginUrl","assetsUrl","nonce","edit_popups","edit_popup_themes","mange_settings","BrowserRouter","QueryParamProvider","ReactRouter6Adapter","domReady","doAction","createRoot","RegistryProvider","initApp","renderer","adapter","root","getElementById"],"sourceRoot":""} dist/packages/admin-bar.js.map 0000644 00000072001 15174671772 0012252 0 ustar 00 {"version":3,"file":"admin-bar.js","mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E,YAAY;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA,uBAAuB,cAAc,IAAI,MAAM;AAC/C;AACA;AACA,uBAAuB,cAAc,EAAE,MAAM;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,IAAI;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,sBAAsB,IAAI,uBAAuB;AACnE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,EAAE;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,wBAAwB,qBAAqB;AAC7C;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC5QuB;AACgB;AACD;AAyBtC,SAASG,WAAWA,CAAEC,OAAqB,EAAgB;EAC1D,MAAMC,SAAS,GAAGC,QAAQ,CAACC,aAAa,CAAE,KAAM,CAAC;EACjD,MAAMC,WAAW,GAAGJ,OAAO,CAACK,OAAO,GAChC;AACJ;AACA,KACIL,OAAO,CAACK,OAAO,CAACC,OAAO,GACpB;AACP;AACA,OAAQN,OAAO,CAACK,OAAO,CAACC,OAAO,CAACC,IAAI;AACpC;AACA,IAAI,GACG,EAAE;AACT,KAEIP,OAAO,CAACK,OAAO,CAACG,SAAS,GACtB;AACP;AACA,OAAQR,OAAO,CAACK,OAAO,CAACG,SAAS,CAACD,IAAI;AACtC;AACA,IAAI,GACG,EAAE;AACT;AACA,EACE,GACE,EAAE;EAELN,SAAS,CAACQ,SAAS,GAAG;AACvB;AACA;AACA;AACA,UAAWT,OAAO,CAACU,KAAK;AACxB;AACA;AACA,wCACMV,OAAO,CAACW,SAAS,IAAId,qDAAE,CAAE,OAAO,EAAE,aAAc,CAAC;AACvD;AACA;AACA;AACA,MACOG,OAAO,CAACY,OAAO;AACtB,MAAOR,WAAW;AAClB;AACA;AACA,QAAQ;EAEPF,QAAQ,CAACW,IAAI,CAACC,WAAW,CAAEb,SAAU,CAAC;;EAEtC;EACA,MAAMc,KAAK,GAAGA,CAAA,KAAM;IACnB;IACAnB,6CAAC,CAAEM,QAAS,CAAC,CAACc,GAAG,CAAE,SAAS,EAAEC,YAAa,CAAC;IAC5CrB,6CAAC,CAAEM,QAAS,CAAC,CAACc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","sources":["webpack://popup-maker/core/./node_modules/@medv/finder/finder.js?","webpack://popup-maker/core/./packages/admin-bar/src/AdminBar.ts?","webpack://popup-maker/core/./packages/admin-bar/src/styles.scss?1029","webpack://popup-maker/core/external window [\"popupMaker\",\"i18n\"]?","webpack://popup-maker/core/external window \"jQuery\"?","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/compat get default export?","webpack://popup-maker/core/webpack/runtime/define property getters?","webpack://popup-maker/core/webpack/runtime/hasOwnProperty shorthand?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/admin-bar/src/index.ts?"],"sourcesContent":["// License: MIT\n// Author: Anton Medvedev <anton@medv.io>\n// Source: https://github.com/antonmedv/finder\nlet config;\nlet rootDocument;\nlet start;\nexport function finder(input, options) {\n start = new Date();\n if (input.nodeType !== Node.ELEMENT_NODE) {\n throw new Error(`Can't generate CSS selector for non-element node type.`);\n }\n if ('html' === input.tagName.toLowerCase()) {\n return 'html';\n }\n const defaults = {\n root: document.body,\n idName: (name) => true,\n className: (name) => true,\n tagName: (name) => true,\n attr: (name, value) => false,\n seedMinLength: 1,\n optimizedMinLength: 2,\n threshold: 1000,\n maxNumberOfTries: 10000,\n timeoutMs: undefined,\n };\n config = { ...defaults, ...options };\n rootDocument = findRootDocument(config.root, defaults);\n let path = bottomUpSearch(input, 'all', () => bottomUpSearch(input, 'two', () => bottomUpSearch(input, 'one', () => bottomUpSearch(input, 'none'))));\n if (path) {\n const optimized = sort(optimize(path, input));\n if (optimized.length > 0) {\n path = optimized[0];\n }\n return selector(path);\n }\n else {\n throw new Error(`Selector was not found.`);\n }\n}\nfunction findRootDocument(rootNode, defaults) {\n if (rootNode.nodeType === Node.DOCUMENT_NODE) {\n return rootNode;\n }\n if (rootNode === defaults.root) {\n return rootNode.ownerDocument;\n }\n return rootNode;\n}\nfunction bottomUpSearch(input, limit, fallback) {\n let path = null;\n let stack = [];\n let current = input;\n let i = 0;\n while (current) {\n const elapsedTime = new Date().getTime() - start.getTime();\n if (config.timeoutMs !== undefined && elapsedTime > config.timeoutMs) {\n throw new Error(`Timeout: Can't find a unique selector after ${elapsedTime}ms`);\n }\n let level = maybe(id(current)) ||\n maybe(...attr(current)) ||\n maybe(...classNames(current)) ||\n maybe(tagName(current)) || [any()];\n const nth = index(current);\n if (limit == 'all') {\n if (nth) {\n level = level.concat(level.filter(dispensableNth).map((node) => nthChild(node, nth)));\n }\n }\n else if (limit == 'two') {\n level = level.slice(0, 1);\n if (nth) {\n level = level.concat(level.filter(dispensableNth).map((node) => nthChild(node, nth)));\n }\n }\n else if (limit == 'one') {\n const [node] = (level = level.slice(0, 1));\n if (nth && dispensableNth(node)) {\n level = [nthChild(node, nth)];\n }\n }\n else if (limit == 'none') {\n level = [any()];\n if (nth) {\n level = [nthChild(level[0], nth)];\n }\n }\n for (let node of level) {\n node.level = i;\n }\n stack.push(level);\n if (stack.length >= config.seedMinLength) {\n path = findUniquePath(stack, fallback);\n if (path) {\n break;\n }\n }\n current = current.parentElement;\n i++;\n }\n if (!path) {\n path = findUniquePath(stack, fallback);\n }\n if (!path && fallback) {\n return fallback();\n }\n return path;\n}\nfunction findUniquePath(stack, fallback) {\n const paths = sort(combinations(stack));\n if (paths.length > config.threshold) {\n return fallback ? fallback() : null;\n }\n for (let candidate of paths) {\n if (unique(candidate)) {\n return candidate;\n }\n }\n return null;\n}\nfunction selector(path) {\n let node = path[0];\n let query = node.name;\n for (let i = 1; i < path.length; i++) {\n const level = path[i].level || 0;\n if (node.level === level - 1) {\n query = `${path[i].name} > ${query}`;\n }\n else {\n query = `${path[i].name} ${query}`;\n }\n node = path[i];\n }\n return query;\n}\nfunction penalty(path) {\n return path.map((node) => node.penalty).reduce((acc, i) => acc + i, 0);\n}\nfunction unique(path) {\n const css = selector(path);\n switch (rootDocument.querySelectorAll(css).length) {\n case 0:\n throw new Error(`Can't select any node with this selector: ${css}`);\n case 1:\n return true;\n default:\n return false;\n }\n}\nfunction id(input) {\n const elementId = input.getAttribute('id');\n if (elementId && config.idName(elementId)) {\n return {\n name: '#' + CSS.escape(elementId),\n penalty: 0,\n };\n }\n return null;\n}\nfunction attr(input) {\n const attrs = Array.from(input.attributes).filter((attr) => config.attr(attr.name, attr.value));\n return attrs.map((attr) => ({\n name: `[${CSS.escape(attr.name)}=\"${CSS.escape(attr.value)}\"]`,\n penalty: 0.5,\n }));\n}\nfunction classNames(input) {\n const names = Array.from(input.classList).filter(config.className);\n return names.map((name) => ({\n name: '.' + CSS.escape(name),\n penalty: 1,\n }));\n}\nfunction tagName(input) {\n const name = input.tagName.toLowerCase();\n if (config.tagName(name)) {\n return {\n name,\n penalty: 2,\n };\n }\n return null;\n}\nfunction any() {\n return {\n name: '*',\n penalty: 3,\n };\n}\nfunction index(input) {\n const parent = input.parentNode;\n if (!parent) {\n return null;\n }\n let child = parent.firstChild;\n if (!child) {\n return null;\n }\n let i = 0;\n while (child) {\n if (child.nodeType === Node.ELEMENT_NODE) {\n i++;\n }\n if (child === input) {\n break;\n }\n child = child.nextSibling;\n }\n return i;\n}\nfunction nthChild(node, i) {\n return {\n name: node.name + `:nth-child(${i})`,\n penalty: node.penalty + 1,\n };\n}\nfunction dispensableNth(node) {\n return node.name !== 'html' && !node.name.startsWith('#');\n}\nfunction maybe(...level) {\n const list = level.filter(notEmpty);\n if (list.length > 0) {\n return list;\n }\n return null;\n}\nfunction notEmpty(value) {\n return value !== null && value !== undefined;\n}\nfunction* combinations(stack, path = []) {\n if (stack.length > 0) {\n for (let node of stack[0]) {\n yield* combinations(stack.slice(1, stack.length), path.concat(node));\n }\n }\n else {\n yield path;\n }\n}\nfunction sort(paths) {\n return [...paths].sort((a, b) => penalty(a) - penalty(b));\n}\nfunction* optimize(path, input, scope = {\n counter: 0,\n visited: new Map(),\n}) {\n if (path.length > 2 && path.length > config.optimizedMinLength) {\n for (let i = 1; i < path.length - 1; i++) {\n if (scope.counter > config.maxNumberOfTries) {\n return; // Okay At least I tried!\n }\n scope.counter += 1;\n const newPath = [...path];\n newPath.splice(i, 1);\n const newPathKey = selector(newPath);\n if (scope.visited.has(newPathKey)) {\n return;\n }\n if (unique(newPath) && same(newPath, input)) {\n yield newPath;\n scope.visited.set(newPathKey, true);\n yield* optimize(newPath, input, scope);\n }\n }\n }\n}\nfunction same(path, input) {\n return rootDocument.querySelector(selector(path)) === input;\n}\n","import $ from 'jquery';\nimport { __ } from '@popup-maker/i18n';\nimport { finder } from '@medv/finder';\nimport { AdminBarText } from './types';\n\ndeclare const popupMakerAdminBar:\n\t| {\n\t\t\ti18n: AdminBarText;\n\t }\n\t| undefined;\n\ninterface ModalOptions {\n\ttitle: string;\n\tcontent: string;\n\tcloseText?: string;\n\tactions?: {\n\t\tprimary?: {\n\t\t\ttext: string;\n\t\t\tonClick: () => void;\n\t\t};\n\t\tsecondary?: {\n\t\t\ttext: string;\n\t\t\tonClick: () => void;\n\t\t};\n\t};\n}\n\nfunction createModal( options: ModalOptions ): HTMLElement {\n\tconst container = document.createElement( 'div' );\n\tconst actionsHtml = options.actions\n\t\t? `\n\t\t<div class=\"pum-modal-actions\">\n\t\t\t${\n\t\t\t\toptions.actions.primary\n\t\t\t\t\t? `\n\t\t\t\t<button class=\"button button-primary pum-modal-proceed\">\n\t\t\t\t\t${ options.actions.primary.text }\n\t\t\t\t</button>\n\t\t\t`\n\t\t\t\t\t: ''\n\t\t\t}\n\t\t\t${\n\t\t\t\toptions.actions.secondary\n\t\t\t\t\t? `\n\t\t\t\t<button class=\"button button-secondary pum-modal-cancel\">\n\t\t\t\t\t${ options.actions.secondary.text }\n\t\t\t\t</button>\n\t\t\t`\n\t\t\t\t\t: ''\n\t\t\t}\n\t\t</div>\n\t`\n\t\t: '';\n\n\tcontainer.innerHTML = `<div class=\"pum-modal pum-modal-overlay\">\n\t\t<div class=\"pum-modal-content\">\n\t\t\t<div class=\"pum-modal-header\">\n\t\t\t\t<div class=\"pum-logo\"></div>\n\t\t\t\t<h4>${ options.title }</h4>\n\t\t\t\t<button class=\"pum-modal-close\">\n\t\t\t\t\t<span class=\"dashicons dashicons-no-alt\"></span>\n\t\t\t\t\t<span class=\"screen-reader-text\">${\n\t\t\t\t\t\toptions.closeText || __( 'Close', 'popup-maker' )\n\t\t\t\t\t}</span>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div class=\"pum-modal-body\">\n\t\t\t\t${ options.content }\n\t\t\t\t${ actionsHtml }\n\t\t\t</div>\n\t\t</div>\n\t</div>`;\n\n\tdocument.body.appendChild( container );\n\n\t// Setup close handlers\n\tconst close = () => {\n\t\t// Remove all event listeners\n\t\t$( document ).off( 'keydown', handleEscKey );\n\t\t$( document ).off( 'mousedown', handleClickOutside );\n\t\t$( '.pum-modal-close, .pum-modal-cancel', container ).off(\n\t\t\t'click',\n\t\t\tclose\n\t\t);\n\t\t$( '.pum-modal-proceed', container ).off(\n\t\t\t'click',\n\t\t\thandlePrimaryAction\n\t\t);\n\t\t$( '.pum-modal-cancel', container ).off(\n\t\t\t'click',\n\t\t\thandleSecondaryAction\n\t\t);\n\n\t\t// Fade out and remove\n\t\t$( container ).fadeOut( 200, () => {\n\t\t\tcontainer.remove();\n\t\t} );\n\t};\n\n\t// Handle ESC key\n\tconst handleEscKey = ( event: JQuery.KeyDownEvent ) => {\n\t\tif ( event.key === 'Escape' ) {\n\t\t\tclose();\n\t\t}\n\t};\n\n\t// Handle click outside\n\tconst handleClickOutside = ( event: JQuery.MouseDownEvent ) => {\n\t\tconst $target = $( event.target );\n\t\tif ( $target.hasClass( 'pum-modal-overlay' ) ) {\n\t\t\tclose();\n\t\t}\n\t};\n\n\t// Handle primary action\n\tconst handlePrimaryAction = () => {\n\t\tif ( options.actions?.primary?.onClick ) {\n\t\t\toptions.actions.primary.onClick();\n\t\t}\n\t\tclose();\n\t};\n\n\t// Handle secondary action\n\tconst handleSecondaryAction = () => {\n\t\tif ( options.actions?.secondary?.onClick ) {\n\t\t\toptions.actions.secondary.onClick();\n\t\t}\n\t\tclose();\n\t};\n\n\t// Bind all event handlers\n\t$( document ).on( 'keydown', handleEscKey );\n\t$( document ).on( 'mousedown', handleClickOutside );\n\t$( '.pum-modal-close, .pum-modal-cancel', container ).on( 'click', close );\n\n\tif ( options.actions?.primary ) {\n\t\t$( '.pum-modal-proceed', container ).on( 'click', handlePrimaryAction );\n\t}\n\n\tif ( options.actions?.secondary ) {\n\t\t$( '.pum-modal-cancel', container ).on(\n\t\t\t'click',\n\t\t\thandleSecondaryAction\n\t\t);\n\t}\n\n\treturn container;\n}\n\nexport class AdminBar {\n\tprivate readonly text: AdminBarText;\n\tprivate readonly defaultText: AdminBarText = {\n\t\tinstructions: __(\n\t\t\t'After clicking ok, click the element you want a selector for.',\n\t\t\t'popup-maker'\n\t\t),\n\t\tresults: __( 'Selector', 'popup-maker' ),\n\t\tcopy: __( 'Copy', 'popup-maker' ),\n\t\tclose: __( 'Close', 'popup-maker' ),\n\t\tcopied: __( 'Copied to clipboard', 'popup-maker' ),\n\t};\n\n\tconstructor() {\n\t\tthis.text = popupMakerAdminBar?.i18n || this.defaultText;\n\t\tthis.initialize();\n\t}\n\n\tprivate async copyToClipboard( text: string ): Promise< boolean > {\n\t\ttry {\n\t\t\tif ( navigator.clipboard && window.isSecureContext ) {\n\t\t\t\tawait navigator.clipboard.writeText( text );\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn this.fallbackCopyToClipboard( text );\n\t\t} catch ( error ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( 'Failed to copy text:', error );\n\t\t\treturn this.fallbackCopyToClipboard( text );\n\t\t}\n\t}\n\n\tprivate fallbackCopyToClipboard( text: string ): boolean {\n\t\tconst textarea = document.createElement( 'textarea' );\n\t\ttry {\n\t\t\ttextarea.value = text;\n\t\t\ttextarea.style.position = 'fixed';\n\t\t\ttextarea.style.opacity = '0';\n\t\t\tdocument.body.appendChild( textarea );\n\t\t\ttextarea.select();\n\t\t\tconst success = document.execCommand( 'copy' );\n\t\t\treturn success;\n\t\t} catch ( error ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( 'Fallback copy failed:', error );\n\t\t\treturn false;\n\t\t} finally {\n\t\t\tdocument.body.removeChild( textarea );\n\t\t}\n\t}\n\n\tprivate showCopiedNotice( modalBody: JQuery ): void {\n\t\tconst notice = document.createElement( 'div' );\n\t\tnotice.classList.add( 'notice', 'notice-success' );\n\t\tnotice.innerHTML = `<p>${ this.text.copied }</p>`;\n\t\tmodalBody.append( notice );\n\n\t\tsetTimeout( () => {\n\t\t\t$( notice ).fadeOut( 200, () => {\n\t\t\t\t$( notice ).remove();\n\t\t\t} );\n\t\t}, 3000 );\n\t}\n\n\tprivate handleSelectorClick = async (\n\t\tevent: JQuery.ClickEvent\n\t): Promise< void > => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\tconst selector = finder( event.target, {\n\t\t\tseedMinLength: 3,\n\t\t\t// optimizedMinLength: 2,\n\t\t} );\n\t\tconst container = createModal( {\n\t\t\ttitle: this.text.results,\n\t\t\tcontent: `\n\t\t\t\t<div class=\"pum-modal-copy\">\n\t\t\t\t\t<p>${ selector }</p>\n\t\t\t\t\t<button class=\"copy-clipboard button button-secondary\">\n\t\t\t\t\t\t<span class=\"dashicons dashicons-clipboard\"></span>\n\t\t\t\t\t\t<span class=\"screen-reader-text\">${ this.text.copy }</span>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t`,\n\t\t\tcloseText: this.text.close,\n\t\t} );\n\n\t\t// Setup copy handler\n\t\t$( '.copy-clipboard', container ).on( 'click', async () => {\n\t\t\tconst success = await this.copyToClipboard( selector );\n\t\t\tif ( success ) {\n\t\t\t\tthis.showCopiedNotice( $( '.pum-modal-body', container ) );\n\t\t\t}\n\t\t} );\n\t};\n\n\tprivate initialize(): void {\n\t\tconst { PUM } = window;\n\n\t\t$( document ).on(\n\t\t\t'click',\n\t\t\t'#wp-admin-bar-pum-get-selector',\n\t\t\t( event: JQuery.ClickEvent ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\n\t\t\t\tcreateModal( {\n\t\t\t\t\ttitle: __( 'Get Element Selector', 'popup-maker' ),\n\t\t\t\t\tcontent: this.text.instructions,\n\t\t\t\t\tcloseText: this.text.close,\n\t\t\t\t\tactions: {\n\t\t\t\t\t\tprimary: {\n\t\t\t\t\t\t\ttext: __( 'Start Selection', 'popup-maker' ),\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t// Add small delay to prevent immediate trigger\n\t\t\t\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\t\t\t\t$( document ).one(\n\t\t\t\t\t\t\t\t\t\t'click',\n\t\t\t\t\t\t\t\t\t\tthis.handleSelectorClick\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}, 250 );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsecondary: {\n\t\t\t\t\t\t\ttext: __( 'Cancel', 'popup-maker' ),\n\t\t\t\t\t\t\tonClick: () => {}, // No-op since close is handled automatically\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\t$( document ).on(\n\t\t\t'click',\n\t\t\t'.pum-toolbar-action',\n\t\t\t( event: JQuery.ClickEvent ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\n\t\t\t\tconst href = $( event.target ).attr( 'href' );\n\n\t\t\t\tif ( ! href ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst [ action, popupId ] = href\n\t\t\t\t\t.split( '__' )[ 1 ]\n\t\t\t\t\t.split( '--' );\n\n\t\t\t\tswitch ( action ) {\n\t\t\t\t\tcase 'open':\n\t\t\t\t\t\tPUM.open( popupId );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'close':\n\t\t\t\t\t\tPUM.close( popupId );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'check-conditions':\n\t\t\t\t\t\tcreateModal( {\n\t\t\t\t\t\t\ttitle: __( 'Conditions Check', 'popup-maker' ),\n\t\t\t\t\t\t\tcontent: PUM.checkConditions( popupId )\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'The conditions were met.',\n\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t'The conditions were not met.',\n\t\t\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t\t ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'reset-cookies':\n\t\t\t\t\t\tPUM.clearCookies( popupId );\n\t\t\t\t\t\tcreateModal( {\n\t\t\t\t\t\t\ttitle: __( 'Cookies Reset', 'popup-maker' ),\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'The cookies were reset successfully.',\n\t\t\t\t\t\t\t\t'popup-maker'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n}\n","// extracted by mini-css-extract-plugin\nexport {};","module.exports = window[\"popupMaker\"][\"i18n\"];","module.exports = window[\"jQuery\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './styles.scss';\n\nimport $ from 'jquery';\nimport { AdminBar } from './AdminBar';\n\n// Initialize the admin bar when the document is ready\n$( () => {\n\tnew AdminBar();\n} );\n"],"names":["$","__","finder","createModal","options","container","document","createElement","actionsHtml","actions","primary","text","secondary","innerHTML","title","closeText","content","body","appendChild","close","off","handleEscKey","handleClickOutside","handlePrimaryAction","handleSecondaryAction","fadeOut","remove","event","key","$target","target","hasClass","onClick","on","AdminBar","defaultText","instructions","results","copy","copied","constructor","popupMakerAdminBar","i18n","initialize","copyToClipboard","navigator","clipboard","window","isSecureContext","writeText","fallbackCopyToClipboard","error","console","textarea","value","style","position","opacity","select","success","execCommand","removeChild","showCopiedNotice","modalBody","notice","classList","add","append","setTimeout","handleSelectorClick","preventDefault","stopPropagation","selector","seedMinLength","PUM","one","href","attr","action","popupId","split","open","checkConditions","clearCookies"],"sourceRoot":""} dist/packages/i18n.js.map 0000644 00000011766 15174671772 0011212 0 ustar 00 {"version":3,"file":"i18n.js","mappings":";;;;;;;;;;AAAA,sC;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA,E;;;;;WCPA,wF;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;;;;;;;;;;;;;;;;;;ACNwC;;AAExC;AACA;AACA;AAFA,IAGiBC,UAAU;AAa3B;;AAGO,MAAMC,OAAO,GAAGA,CACtBC,MAAc,EACd,GAAGC,IAA8B,KAC7B;EACJ,OAAOJ,oDAAY,CAAEG,MAAM,EAAE,GAAKC,IAAa,CAAC;AACjD,CAAC;AAEM,MAAMC,EAAE,GAAGA,CAAEC,IAAY,EAAEC,MAAkB,KAAM;EACzD;EACA,OAAOP,+CAAO,CAAEM,IAAI,EAAEC,MAAO,CAAC;AAC/B,CAAC;AAEM,MAAMC,EAAE,GAAGA,CAAEF,IAAY,EAAEG,OAAe,EAAEF,MAAkB,KAAM;EAC1E;EACA,OAAOP,+CAAO,CAAEM,IAAI,EAAEG,OAAO,EAAEF,MAAO,CAAC;AACxC,CAAC;AAEM,MAAMG,EAAE,GAAGA,CACjBC,MAAc,EACdC,MAAc,EACdC,MAAc,EACdN,MAAkB,KACd;EACJ;EACA,OAAOP,+CAAO,CAAEW,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEN,MAAO,CAAC;AACjD,CAAC;AAEM,MAAMO,GAAG,GAAGA,CAClBR,IAAY,EACZG,OAAe,EACfI,MAAc,EACdN,MAAkB,KACd;EACJ;EACA,OAAOP,gDAAQ,CAAEM,IAAI,EAAEG,OAAO,EAAEI,MAAM,EAAEN,MAAO,CAAC;AACjD,CAAC;AAEM,MAAMQ,KAAK,GAAGA,CAAA,KAAMf,kDAAU,CAAC,CAAC,C","sources":["webpack://popup-maker/core/external window [\"wp\",\"i18n\"]?","webpack://popup-maker/core/webpack/bootstrap?","webpack://popup-maker/core/webpack/runtime/compat get default export?","webpack://popup-maker/core/webpack/runtime/define property getters?","webpack://popup-maker/core/webpack/runtime/hasOwnProperty shorthand?","webpack://popup-maker/core/webpack/runtime/make namespace object?","webpack://popup-maker/core/./packages/i18n/src/index.ts?"],"sourcesContent":["module.exports = window[\"wp\"][\"i18n\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import * as i18n from '@wordpress/i18n';\n\n/**\n * Base namespace for Popup Maker i18n types\n */\nexport namespace PopupMaker {\n\t/**\n\t * Base interface for text domains.\n\t */\n\texport interface TextDomains {\n\t\tdefault: never;\n\t\t'popup-maker': never;\n\t}\n\n\t// Add this type alias for better type inference\n\texport type TextDomain = keyof TextDomains;\n}\n\n// Export the type separately to make it easier to extend\nexport type TextDomain = PopupMaker.TextDomain;\n\nexport const sprintf = (\n\tformat: string,\n\t...args: Array< string | number >\n) => {\n\treturn i18n.sprintf( format, ...( args as [] ) );\n};\n\nexport const __ = ( text: string, domain: TextDomain ) => {\n\t// eslint-disable-next-line @wordpress/i18n-text-domain, @wordpress/i18n-no-variables\n\treturn i18n.__( text, domain );\n};\n\nexport const _x = ( text: string, context: string, domain: TextDomain ) => {\n\t// eslint-disable-next-line @wordpress/i18n-text-domain, @wordpress/i18n-no-variables\n\treturn i18n._x( text, context, domain );\n};\n\nexport const _n = (\n\tsingle: string,\n\tplural: string,\n\tnumber: number,\n\tdomain: TextDomain\n) => {\n\t// eslint-disable-next-line @wordpress/i18n-text-domain, @wordpress/i18n-no-variables\n\treturn i18n._n( single, plural, number, domain );\n};\n\nexport const _nx = (\n\ttext: string,\n\tcontext: string,\n\tnumber: number,\n\tdomain: TextDomain\n) => {\n\t// eslint-disable-next-line @wordpress/i18n-text-domain, @wordpress/i18n-no-variables\n\treturn i18n._nx( text, context, number, domain );\n};\n\nexport const isRTL = () => i18n.isRTL();\n"],"names":["i18n","PopupMaker","sprintf","format","args","__","text","domain","_x","context","_n","single","plural","number","_nx","isRTL"],"sourceRoot":""} dist/packages/admin-bar.css.map 0000644 00000006707 15174671772 0012440 0 ustar 00 {"version":3,"file":"admin-bar.css","mappings":";;;AAAA;AACA;EACC;AACD;;AAGC;EACC;AAAF;AAGC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADF;AAIC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAFF;;AAMA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHD;AAKC;EACC;EACA;EACA;EACA;EACA;EACA;AAHF;AAMC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAJF;AAME;EACC;EACA;EACA;AAJH;AAQE;EACC;EACA;EACA;AANH;AAUC;EACC;AARF;AAUE;EACC;AARH;AAUG;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AARJ;AAWG;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AATJ;AAWI;EACC;EACA;EACA;EACA;AATL;AAcE;EACC;AAZH;AAgBC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAdF;AAgBE;EACC;AAdH;AAiBE;EACC;EACA;EACA;AAfH,C","sources":["webpack://popup-maker/core/./packages/admin-bar/src/styles.scss?"],"sourcesContent":["/* Layer admin bar over popups. */\n#wpadminbar {\n\tz-index: 999999999998;\n}\n\n#wp-admin-bar-popup-maker {\n\tli#wp-admin-bar-flush-popup-cache a {\n\t\tcolor: hsl(120, 33%, 55%) !important;\n\t}\n\n\t> .ab-item::before {\n\t\tcontent: \"\";\n\t\ttop: 3px;\n\t\theight: 1em;\n\t\taspect-ratio: 1/1;\n\t\tbackground-image: url(\"~assets/images/mark-light.svg\") !important;\n\t\tbackground-position: center center;\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: contain;\n\t}\n\n\t.counter {\n\t\tdisplay: inline-block;\n\t\ttext-align: center;\n\t\theight: 1.5em;\n\t\tline-height: 1.5;\n\t\taspect-ratio: 1/1;\n\t\tborder-radius: 100%;\n\t\tbackground-color: #1dbe61;\n\t\tcolor: #fff;\n\t\tmargin-left: 2px;\n\t\tpadding-right: 1px;\n\t}\n}\n\n.pum-modal {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n\tbackground: rgba(0, 0, 0, 0.5);\n\tz-index: 999999999999;\n\tdisplay: flex;\n\talign-items: flex-start;\n\tjustify-content: center;\n\tpadding-top: 50px;\n\n\t.pum-modal-content {\n\t\tposition: relative;\n\t\twidth: 500px;\n\t\tbackground-color: #fff;\n\t\tborder-radius: 8px;\n\t\tbox-shadow: 0 2px 30px rgba(0, 0, 0, 0.2);\n\t\toverflow: hidden;\n\t}\n\n\t.pum-modal-header {\n\t\tbackground: #1a191b;\n\t\tcolor: #fff;\n\t\tpadding: 15px 20px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: space-between;\n\t\tgap: 10px;\n\n\t\t.pum-logo {\n\t\t\twidth: 24px;\n\t\t\theight: 24px;\n\t\t\tbackground: url(\"~assets/images/mark-light.svg\") center/contain\n\t\t\t\tno-repeat;\n\t\t}\n\n\t\th4 {\n\t\t\tmargin: 0;\n\t\t\tcolor: #fff;\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n\n\t.pum-modal-body {\n\t\tpadding: 20px;\n\n\t\t.pum-modal-copy {\n\t\t\tposition: relative;\n\n\t\t\tp {\n\t\t\t\tmargin: 0 0 15px;\n\t\t\t\tfont-family: monospace;\n\t\t\t\tbackground: #f5f5f5;\n\t\t\t\tpadding: 10px;\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tborder: 1px solid #ddd;\n\t\t\t\tword-break: break-all;\n\t\t\t}\n\n\t\t\t.button {\n\t\t\t\tposition: absolute;\n\t\t\t\tbottom: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbackground-color: #fff;\n\t\t\t\tpadding: 0.25em;\n\t\t\t\tborder: 1px solid #ddd;\n\t\t\t\tcursor: pointer;\n\n\t\t\t\t.dashicons {\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t\twidth: 16px;\n\t\t\t\t\theight: 16px;\n\t\t\t\t\tmargin: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.notice-success {\n\t\t\tcolor: #1dbe61;\n\t\t}\n\t}\n\n\t.pum-modal-close {\n\t\tcolor: rgba(255, 255, 255, 0.8);\n\t\tborder: none;\n\t\tbackground: none;\n\t\tpadding: 0;\n\t\twidth: 24px;\n\t\theight: 24px;\n\t\ttransition: color 0.2s;\n\t\tcursor: pointer;\n\n\t\t&:hover {\n\t\t\tcolor: #fff;\n\t\t}\n\n\t\t.dashicons {\n\t\t\twidth: 24px;\n\t\t\theight: 24px;\n\t\t\tfont-size: 24px;\n\t\t}\n\t}\n}\n"],"names":[],"sourceRoot":""} dist/index.php 0000644 00000000200 15174671772 0007340 0 ustar 00 <?php /** * Popup Maker Silence is Golden. * * @package PopupMaker * @copyright Copyright (c) 2024, Code Atlantic LLC */ dist/package-assets.php 0000644 00000007312 15174671772 0011137 0 ustar 00 <?php return array('admin-bar.js' => array('dependencies' => array('jquery', 'popup-maker-i18n'), 'version' => 'b6725ec2f8cc0533fdc1'), 'admin-marketing.js' => array('dependencies' => array('jquery'), 'version' => 'b8df22c1cebfae4b838c'), 'block-editor.js' => array('dependencies' => array('popup-maker-components', 'popup-maker-core-data', 'popup-maker-i18n', 'popup-maker-icons', 'react-jsx-runtime', 'wp-a11y', 'wp-block-editor', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-keycodes', 'wp-rich-text'), 'version' => 'eb17a6148e7a0c893e8f'), 'block-library.js' => array('dependencies' => array('popup-maker-components', 'popup-maker-core-data', 'popup-maker-cta-editor', 'popup-maker-i18n', 'popup-maker-icons', 'react', 'react-jsx-runtime', 'wp-blob', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-dom-ready', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-keycodes', 'wp-primitives'), 'version' => 'dbea705cfafe089d65f1'), 'components.js' => array('dependencies' => array('lodash', 'popup-maker-core-data', 'popup-maker-i18n', 'popup-maker-utils', 'react', 'react-jsx-runtime', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-keycodes', 'wp-primitives'), 'version' => '5113cc780776b1738ba3'), 'core-data.js' => array('dependencies' => array('lodash', 'popup-maker-i18n', 'wp-api-fetch', 'wp-data', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-notices'), 'version' => '1deefc00f81a9d22aa17'), 'cta-admin.js' => array('dependencies' => array('popup-maker-components', 'popup-maker-core-data', 'popup-maker-cta-editor', 'popup-maker-data', 'popup-maker-i18n', 'popup-maker-icons', 'popup-maker-layout', 'popup-maker-registry', 'popup-maker-use-query-params', 'popup-maker-utils', 'react', 'react-dom', 'react-jsx-runtime', 'wp-components', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-primitives'), 'version' => 'fe744d6b7abcbbbcf9b8'), 'cta-editor.js' => array('dependencies' => array('lodash', 'popup-maker-components', 'popup-maker-core-data', 'popup-maker-fields', 'popup-maker-i18n', 'popup-maker-registry', 'popup-maker-use-query-params', 'popup-maker-utils', 'react', 'react-jsx-runtime', 'wp-components', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-hooks', 'wp-notices', 'wp-primitives', 'wp-url'), 'version' => '01ae3e2743578f2fbb27'), 'dashboard.js' => array('dependencies' => array(), 'version' => '5b259afd3833eca4453e'), 'data.js' => array('dependencies' => array('popup-maker-core-data', 'wp-core-data', 'wp-data', 'wp-hooks', 'wp-notices'), 'version' => 'f6a280e64df74f913826'), 'fields.js' => array('dependencies' => array('popup-maker-components', 'popup-maker-core-data', 'popup-maker-i18n', 'popup-maker-utils', 'react-jsx-runtime', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-element', 'wp-hooks', 'wp-html-entities'), 'version' => 'd366f77d183bbcdd91b1'), 'i18n.js' => array('dependencies' => array('wp-i18n'), 'version' => '272646b24b25ca47ab62'), 'icons.js' => array('dependencies' => array('react-jsx-runtime', 'wp-primitives'), 'version' => '3bd1ac11550cbdf2c42b'), 'layout.js' => array('dependencies' => array('popup-maker-components', 'popup-maker-i18n', 'react-jsx-runtime', 'wp-components', 'wp-element', 'wp-primitives'), 'version' => '15f622616d4e94806d85'), 'popup-admin.js' => array('dependencies' => array(), 'version' => 'fd7d49ce3fae38539625'), 'registry.js' => array('dependencies' => array('wp-element'), 'version' => '65c5eb8f85d5f09cacd5'), 'use-query-params.js' => array('dependencies' => array('react'), 'version' => '226fd063bc65a507046f'), 'utils.js' => array('dependencies' => array(), 'version' => '7cdb6084003c02c92364')); assets/images/icon-256x256.jpg 0000644 00000040504 15174671772 0011730 0 ustar 00 ��� JFIF �� � �� �� �� �� ����ϴ~%| >�Mļ� �wA2ɽBT�O@ ��|汘�;O<�P����X� *��m� �&]���v�n��������R b��ͳ��T�;M����y�� �7C����CL[ �ކ���#�� P� ���I�� 1�u�N�5� �x�kag<h���i�<i�O� =e���<s��5�r����� &��v��[ې-ߔۏ�X�i� G��͓�E��1�jy�LA�v��m?�Xo�ʂo=�NK)μ������8��=hj��EE3��䲜븳�D�Qk��Y�}����4���B)}0��-? �t���p}�$�{� .��� �"�蘊M&� �ǔކW]P���Y� *�$�*����Q�7 �>�j�m-,��P�Ms��Q�FC�D�ߓ ���Z�"�$�S��o�|ʶ����ڌ��p!TREΝ8ٯ�͜�K]��\�žP|���i_k����2=��J�9�CH͢�*�&���r�����g�|���� �$���P����E�dp`@�Nu��.E�$ �Q.4��e5����@3��9T�� �� �� �c^|�&� ���~1�y�����^�@ ����D�b pm7G(P�#�v� ��4oh��*$ʎ%�f�1�o� ��v�R���\���~�jv=~m� �"��<